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

/* Begin PBXBuildFile section */
		1C023D3F27449070001DB734 /* WGSLUnitTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C023D3E27449070001DB734 /* WGSLUnitTests.mm */; };
		1C023D4027449070001DB734 /* libwgsl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CEBD7F22716B2CC00A5254D /* libwgsl.a */; };
		1C023D4B274495B9001DB734 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C023D4A274495B9001DB734 /* JavaScriptCore.framework */; };
		1C2CEDEE271E8A7300EDC16F /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C2CEDED271E8A7300EDC16F /* Metal.framework */; };
		1C5ACA94273A41C20095F8D5 /* Instance.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACA92273A41C20095F8D5 /* Instance.mm */; };
		1C5ACAB6273A426D0095F8D5 /* RenderPipeline.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACA98273A426D0095F8D5 /* RenderPipeline.mm */; };
		1C5ACABB273A426D0095F8D5 /* Buffer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACA9D273A426D0095F8D5 /* Buffer.mm */; };
		1C5ACABD273A426D0095F8D5 /* QuerySet.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACA9F273A426D0095F8D5 /* QuerySet.mm */; };
		1C5ACABF273A426D0095F8D5 /* SwapChain.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAA1273A426D0095F8D5 /* SwapChain.mm */; };
		1C5ACAC0273A426D0095F8D5 /* ComputePipeline.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAA2273A426D0095F8D5 /* ComputePipeline.mm */; };
		1C5ACAC1273A426D0095F8D5 /* Device.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAA3273A426D0095F8D5 /* Device.mm */; };
		1C5ACAC2273A426D0095F8D5 /* RenderPassEncoder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAA4273A426D0095F8D5 /* RenderPassEncoder.mm */; };
		1C5ACAC6273A426D0095F8D5 /* ComputePassEncoder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAA8273A426D0095F8D5 /* ComputePassEncoder.mm */; };
		1C5ACAC7273A426D0095F8D5 /* Adapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAA9273A426D0095F8D5 /* Adapter.mm */; };
		1C5ACAC9273A426E0095F8D5 /* CommandEncoder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAAB273A426D0095F8D5 /* CommandEncoder.mm */; };
		1C5ACACB273A426E0095F8D5 /* Queue.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAAD273A426D0095F8D5 /* Queue.mm */; };
		1C5ACACC273A426E0095F8D5 /* RenderBundleEncoder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAAE273A426D0095F8D5 /* RenderBundleEncoder.mm */; };
		1C5ACACE273A426E0095F8D5 /* ShaderModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAB0273A426D0095F8D5 /* ShaderModule.mm */; };
		1C5ACACF273A426E0095F8D5 /* Texture.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAB1273A426D0095F8D5 /* Texture.mm */; };
		1C5ACAD1273A426E0095F8D5 /* Surface.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAB3273A426D0095F8D5 /* Surface.mm */; };
		1C5ACAD3273A4C860095F8D5 /* WebGPUExt.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C5ACAD2273A4C860095F8D5 /* WebGPUExt.h */; settings = {ATTRIBUTES = (Public, ); }; };
		1C5ACAD7273A4D700095F8D5 /* BindGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C5ACAD5273A4D700095F8D5 /* BindGroup.h */; };
		1C5ACADF273A55AF0095F8D5 /* BindGroup.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACADE273A55AF0095F8D5 /* BindGroup.mm */; };
		1C5ACAE1273A55C10095F8D5 /* BindGroupLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAE0273A55C10095F8D5 /* BindGroupLayout.mm */; };
		1C5ACAE3273A55CD0095F8D5 /* CommandBuffer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAE2273A55CD0095F8D5 /* CommandBuffer.mm */; };
		1C5ACAE5273A55DD0095F8D5 /* PipelineLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAE4273A55DD0095F8D5 /* PipelineLayout.mm */; };
		1C5ACAE7273A55EF0095F8D5 /* RenderBundle.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAE6273A55EF0095F8D5 /* RenderBundle.mm */; };
		1C5ACAE9273A55FD0095F8D5 /* Sampler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAE8273A55FD0095F8D5 /* Sampler.mm */; };
		1C5ACAEB273A560D0095F8D5 /* TextureView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C5ACAEA273A560D0095F8D5 /* TextureView.mm */; };
		1CBAB0922718CCA0006080BB /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CBAB0912718CCA0006080BB /* JavaScriptCore.framework */; };
		1CEBD7E72716AFBA00A5254D /* WebGPU.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CEBD7E62716AFBA00A5254D /* WebGPU.h */; settings = {ATTRIBUTES = (Public, ); }; };
		1CEBD7F82716B34400A5254D /* WGSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CEBD7F72716B34400A5254D /* WGSL.h */; settings = {ATTRIBUTES = (Public, ); }; };
		1CEBD8032716BF8200A5254D /* WGSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1CEBD8022716BF8200A5254D /* WGSL.cpp */; };
		1CEBD8262716CACC00A5254D /* libwgsl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CEBD7F22716B2CC00A5254D /* libwgsl.a */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		1C023D4127449070001DB734 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 1CEBD7DA2716AFBA00A5254D /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 1CEBD7F12716B2CC00A5254D;
			remoteInfo = WGSL;
		};
		1CEBD8272716CACC00A5254D /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 1CEBD7DA2716AFBA00A5254D /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 1CEBD7F12716B2CC00A5254D;
			remoteInfo = WGSL;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		1C023D3C27449070001DB734 /* WGSLUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WGSLUnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		1C023D3E27449070001DB734 /* WGSLUnitTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WGSLUnitTests.mm; sourceTree = "<group>"; };
		1C023D472744916D001DB734 /* WGSLUnitTests.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WGSLUnitTests.xcconfig; sourceTree = "<group>"; };
		1C023D4A274495B9001DB734 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JavaScriptCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		1C2CEDED271E8A7300EDC16F /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
		1C5ACA92273A41C20095F8D5 /* Instance.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = Instance.mm; sourceTree = "<group>"; };
		1C5ACA96273A426D0095F8D5 /* Surface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Surface.h; sourceTree = "<group>"; };
		1C5ACA97273A426D0095F8D5 /* SwapChain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SwapChain.h; sourceTree = "<group>"; };
		1C5ACA98273A426D0095F8D5 /* RenderPipeline.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RenderPipeline.mm; sourceTree = "<group>"; };
		1C5ACA99273A426D0095F8D5 /* Texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Texture.h; sourceTree = "<group>"; };
		1C5ACA9A273A426D0095F8D5 /* RenderPassEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderPassEncoder.h; sourceTree = "<group>"; };
		1C5ACA9B273A426D0095F8D5 /* Device.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Device.h; sourceTree = "<group>"; };
		1C5ACA9C273A426D0095F8D5 /* Queue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Queue.h; sourceTree = "<group>"; };
		1C5ACA9D273A426D0095F8D5 /* Buffer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Buffer.mm; sourceTree = "<group>"; };
		1C5ACA9E273A426D0095F8D5 /* CommandEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommandEncoder.h; sourceTree = "<group>"; };
		1C5ACA9F273A426D0095F8D5 /* QuerySet.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = QuerySet.mm; sourceTree = "<group>"; };
		1C5ACAA0273A426D0095F8D5 /* Instance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Instance.h; sourceTree = "<group>"; };
		1C5ACAA1273A426D0095F8D5 /* SwapChain.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SwapChain.mm; sourceTree = "<group>"; };
		1C5ACAA2273A426D0095F8D5 /* ComputePipeline.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ComputePipeline.mm; sourceTree = "<group>"; };
		1C5ACAA3273A426D0095F8D5 /* Device.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Device.mm; sourceTree = "<group>"; };
		1C5ACAA4273A426D0095F8D5 /* RenderPassEncoder.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RenderPassEncoder.mm; sourceTree = "<group>"; };
		1C5ACAA5273A426D0095F8D5 /* Buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Buffer.h; sourceTree = "<group>"; };
		1C5ACAA6273A426D0095F8D5 /* RenderBundleEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderBundleEncoder.h; sourceTree = "<group>"; };
		1C5ACAA7273A426D0095F8D5 /* ComputePipeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComputePipeline.h; sourceTree = "<group>"; };
		1C5ACAA8273A426D0095F8D5 /* ComputePassEncoder.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ComputePassEncoder.mm; sourceTree = "<group>"; };
		1C5ACAA9273A426D0095F8D5 /* Adapter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Adapter.mm; sourceTree = "<group>"; };
		1C5ACAAA273A426D0095F8D5 /* ComputePassEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComputePassEncoder.h; sourceTree = "<group>"; };
		1C5ACAAB273A426D0095F8D5 /* CommandEncoder.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CommandEncoder.mm; sourceTree = "<group>"; };
		1C5ACAAC273A426D0095F8D5 /* QuerySet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuerySet.h; sourceTree = "<group>"; };
		1C5ACAAD273A426D0095F8D5 /* Queue.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Queue.mm; sourceTree = "<group>"; };
		1C5ACAAE273A426D0095F8D5 /* RenderBundleEncoder.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RenderBundleEncoder.mm; sourceTree = "<group>"; };
		1C5ACAAF273A426D0095F8D5 /* RenderPipeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderPipeline.h; sourceTree = "<group>"; };
		1C5ACAB0273A426D0095F8D5 /* ShaderModule.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ShaderModule.mm; sourceTree = "<group>"; };
		1C5ACAB1273A426D0095F8D5 /* Texture.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Texture.mm; sourceTree = "<group>"; };
		1C5ACAB2273A426D0095F8D5 /* Adapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Adapter.h; sourceTree = "<group>"; };
		1C5ACAB3273A426D0095F8D5 /* Surface.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Surface.mm; sourceTree = "<group>"; };
		1C5ACAD2273A4C860095F8D5 /* WebGPUExt.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPUExt.h; sourceTree = "<group>"; };
		1C5ACAD5273A4D700095F8D5 /* BindGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BindGroup.h; sourceTree = "<group>"; };
		1C5ACAD8273A4DC10095F8D5 /* BindGroupLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BindGroupLayout.h; sourceTree = "<group>"; };
		1C5ACAD9273A4DE90095F8D5 /* CommandBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CommandBuffer.h; sourceTree = "<group>"; };
		1C5ACADA273A4E710095F8D5 /* PipelineLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PipelineLayout.h; sourceTree = "<group>"; };
		1C5ACADB273A4EB80095F8D5 /* RenderBundle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RenderBundle.h; sourceTree = "<group>"; };
		1C5ACADC273A4EFC0095F8D5 /* Sampler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sampler.h; sourceTree = "<group>"; };
		1C5ACADD273A4F3D0095F8D5 /* TextureView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureView.h; sourceTree = "<group>"; };
		1C5ACADE273A55AF0095F8D5 /* BindGroup.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BindGroup.mm; sourceTree = "<group>"; };
		1C5ACAE0273A55C10095F8D5 /* BindGroupLayout.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BindGroupLayout.mm; sourceTree = "<group>"; };
		1C5ACAE2273A55CD0095F8D5 /* CommandBuffer.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = CommandBuffer.mm; sourceTree = "<group>"; };
		1C5ACAE4273A55DD0095F8D5 /* PipelineLayout.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = PipelineLayout.mm; sourceTree = "<group>"; };
		1C5ACAE6273A55EF0095F8D5 /* RenderBundle.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = RenderBundle.mm; sourceTree = "<group>"; };
		1C5ACAE8273A55FD0095F8D5 /* Sampler.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = Sampler.mm; sourceTree = "<group>"; };
		1C5ACAEA273A560D0095F8D5 /* TextureView.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = TextureView.mm; sourceTree = "<group>"; };
		1CBAB0912718CCA0006080BB /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JavaScriptCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		1CC0C8C9273A7D8900D0B481 /* WebGPU.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = WebGPU.modulemap; sourceTree = "<group>"; };
		1CC0C8CA273A819100D0B481 /* Version.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = "<group>"; };
		1CEBD7E32716AFBA00A5254D /* WebGPU.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WebGPU.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		1CEBD7E62716AFBA00A5254D /* WebGPU.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebGPU.h; sourceTree = "<group>"; };
		1CEBD7F22716B2CC00A5254D /* libwgsl.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwgsl.a; sourceTree = BUILT_PRODUCTS_DIR; };
		1CEBD7F72716B34400A5254D /* WGSL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WGSL.h; sourceTree = "<group>"; };
		1CEBD7FA2716B3D500A5254D /* Base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
		1CEBD7FB2716B5B400A5254D /* DebugRelease.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
		1CEBD7FC2716B64400A5254D /* WebGPU.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebGPU.xcconfig; sourceTree = "<group>"; };
		1CEBD7FD2716B64F00A5254D /* WGSL.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WGSL.xcconfig; sourceTree = "<group>"; };
		1CEBD8012716B9AB00A5254D /* SDKVariant.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = SDKVariant.xcconfig; sourceTree = "<group>"; };
		1CEBD8022716BF8200A5254D /* WGSL.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WGSL.cpp; sourceTree = "<group>"; };
		1CEBD8042716BFAB00A5254D /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
		1CEBD8072716C2C000A5254D /* AST.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AST.h; sourceTree = "<group>"; };
		1CEBD80A2716C36C00A5254D /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
		1CEBD80B2716C37900A5254D /* ExportMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExportMacros.h; sourceTree = "<group>"; };
		1CEBD80D2716C3D800A5254D /* ShaderModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShaderModule.h; sourceTree = "<group>"; };
		1CEBD8242716C81400A5254D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		1CEBD8292716CAE700A5254D /* libWTF.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libWTF.a; sourceTree = BUILT_PRODUCTS_DIR; };
		1CEBD82B2716CAFB00A5254D /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
		1CEBD82D2716CB1600A5254D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		1CEBD8302716CB3800A5254D /* libicucore.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libicucore.tbd; path = usr/lib/libicucore.tbd; sourceTree = SDKROOT; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		1C023D3927449070001DB734 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1C023D4B274495B9001DB734 /* JavaScriptCore.framework in Frameworks */,
				1C023D4027449070001DB734 /* libwgsl.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1CEBD7E02716AFBA00A5254D /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1CBAB0922718CCA0006080BB /* JavaScriptCore.framework in Frameworks */,
				1CEBD8262716CACC00A5254D /* libwgsl.a in Frameworks */,
				1C2CEDEE271E8A7300EDC16F /* Metal.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1CEBD7F02716B2CC00A5254D /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		1C023D3D27449070001DB734 /* WGSLUnitTests */ = {
			isa = PBXGroup;
			children = (
				1C023D3E27449070001DB734 /* WGSLUnitTests.mm */,
			);
			path = WGSLUnitTests;
			sourceTree = "<group>";
		};
		1CEBD7D92716AFBA00A5254D = {
			isa = PBXGroup;
			children = (
				1CEBD8242716C81400A5254D /* Info.plist */,
				1CEBD7F92716B38600A5254D /* Configurations */,
				1CEBD7F62716B33100A5254D /* WGSL */,
				1CEBD7E52716AFBA00A5254D /* WebGPU */,
				1C023D3D27449070001DB734 /* WGSLUnitTests */,
				1CEBD7E42716AFBA00A5254D /* Products */,
				1CEBD8252716CACC00A5254D /* Frameworks */,
			);
			sourceTree = "<group>";
		};
		1CEBD7E42716AFBA00A5254D /* Products */ = {
			isa = PBXGroup;
			children = (
				1CEBD7F22716B2CC00A5254D /* libwgsl.a */,
				1CEBD7E32716AFBA00A5254D /* WebGPU.framework */,
				1C023D3C27449070001DB734 /* WGSLUnitTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		1CEBD7E52716AFBA00A5254D /* WebGPU */ = {
			isa = PBXGroup;
			children = (
				1C5ACAB2273A426D0095F8D5 /* Adapter.h */,
				1C5ACAA9273A426D0095F8D5 /* Adapter.mm */,
				1C5ACAD5273A4D700095F8D5 /* BindGroup.h */,
				1C5ACADE273A55AF0095F8D5 /* BindGroup.mm */,
				1C5ACAD8273A4DC10095F8D5 /* BindGroupLayout.h */,
				1C5ACAE0273A55C10095F8D5 /* BindGroupLayout.mm */,
				1C5ACAA5273A426D0095F8D5 /* Buffer.h */,
				1C5ACA9D273A426D0095F8D5 /* Buffer.mm */,
				1C5ACAD9273A4DE90095F8D5 /* CommandBuffer.h */,
				1C5ACAE2273A55CD0095F8D5 /* CommandBuffer.mm */,
				1C5ACA9E273A426D0095F8D5 /* CommandEncoder.h */,
				1C5ACAAB273A426D0095F8D5 /* CommandEncoder.mm */,
				1C5ACAAA273A426D0095F8D5 /* ComputePassEncoder.h */,
				1C5ACAA8273A426D0095F8D5 /* ComputePassEncoder.mm */,
				1C5ACAA7273A426D0095F8D5 /* ComputePipeline.h */,
				1C5ACAA2273A426D0095F8D5 /* ComputePipeline.mm */,
				1CEBD80A2716C36C00A5254D /* config.h */,
				1C5ACA9B273A426D0095F8D5 /* Device.h */,
				1C5ACAA3273A426D0095F8D5 /* Device.mm */,
				1CEBD80B2716C37900A5254D /* ExportMacros.h */,
				1C5ACAA0273A426D0095F8D5 /* Instance.h */,
				1C5ACA92273A41C20095F8D5 /* Instance.mm */,
				1C5ACADA273A4E710095F8D5 /* PipelineLayout.h */,
				1C5ACAE4273A55DD0095F8D5 /* PipelineLayout.mm */,
				1C5ACAAC273A426D0095F8D5 /* QuerySet.h */,
				1C5ACA9F273A426D0095F8D5 /* QuerySet.mm */,
				1C5ACA9C273A426D0095F8D5 /* Queue.h */,
				1C5ACAAD273A426D0095F8D5 /* Queue.mm */,
				1C5ACADB273A4EB80095F8D5 /* RenderBundle.h */,
				1C5ACAE6273A55EF0095F8D5 /* RenderBundle.mm */,
				1C5ACAA6273A426D0095F8D5 /* RenderBundleEncoder.h */,
				1C5ACAAE273A426D0095F8D5 /* RenderBundleEncoder.mm */,
				1C5ACA9A273A426D0095F8D5 /* RenderPassEncoder.h */,
				1C5ACAA4273A426D0095F8D5 /* RenderPassEncoder.mm */,
				1C5ACAAF273A426D0095F8D5 /* RenderPipeline.h */,
				1C5ACA98273A426D0095F8D5 /* RenderPipeline.mm */,
				1C5ACADC273A4EFC0095F8D5 /* Sampler.h */,
				1C5ACAE8273A55FD0095F8D5 /* Sampler.mm */,
				1CEBD80D2716C3D800A5254D /* ShaderModule.h */,
				1C5ACAB0273A426D0095F8D5 /* ShaderModule.mm */,
				1C5ACA96273A426D0095F8D5 /* Surface.h */,
				1C5ACAB3273A426D0095F8D5 /* Surface.mm */,
				1C5ACA97273A426D0095F8D5 /* SwapChain.h */,
				1C5ACAA1273A426D0095F8D5 /* SwapChain.mm */,
				1C5ACA99273A426D0095F8D5 /* Texture.h */,
				1C5ACAB1273A426D0095F8D5 /* Texture.mm */,
				1C5ACADD273A4F3D0095F8D5 /* TextureView.h */,
				1C5ACAEA273A560D0095F8D5 /* TextureView.mm */,
				1CEBD7E62716AFBA00A5254D /* WebGPU.h */,
				1CC0C8C9273A7D8900D0B481 /* WebGPU.modulemap */,
				1C5ACAD2273A4C860095F8D5 /* WebGPUExt.h */,
			);
			path = WebGPU;
			sourceTree = "<group>";
		};
		1CEBD7F62716B33100A5254D /* WGSL */ = {
			isa = PBXGroup;
			children = (
				1CEBD8072716C2C000A5254D /* AST.h */,
				1CEBD8042716BFAB00A5254D /* config.h */,
				1CEBD8022716BF8200A5254D /* WGSL.cpp */,
				1CEBD7F72716B34400A5254D /* WGSL.h */,
			);
			path = WGSL;
			sourceTree = "<group>";
		};
		1CEBD7F92716B38600A5254D /* Configurations */ = {
			isa = PBXGroup;
			children = (
				1CEBD7FA2716B3D500A5254D /* Base.xcconfig */,
				1CEBD7FB2716B5B400A5254D /* DebugRelease.xcconfig */,
				1CEBD8012716B9AB00A5254D /* SDKVariant.xcconfig */,
				1CC0C8CA273A819100D0B481 /* Version.xcconfig */,
				1CEBD7FC2716B64400A5254D /* WebGPU.xcconfig */,
				1CEBD7FD2716B64F00A5254D /* WGSL.xcconfig */,
				1C023D472744916D001DB734 /* WGSLUnitTests.xcconfig */,
			);
			path = Configurations;
			sourceTree = "<group>";
		};
		1CEBD8252716CACC00A5254D /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				1CEBD82B2716CAFB00A5254D /* CoreFoundation.framework */,
				1CEBD82D2716CB1600A5254D /* Foundation.framework */,
				1C023D4A274495B9001DB734 /* JavaScriptCore.framework */,
				1CBAB0912718CCA0006080BB /* JavaScriptCore.framework */,
				1CEBD8302716CB3800A5254D /* libicucore.tbd */,
				1CEBD8292716CAE700A5254D /* libWTF.a */,
				1C2CEDED271E8A7300EDC16F /* Metal.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		1CEBD7DE2716AFBA00A5254D /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1C5ACAD7273A4D700095F8D5 /* BindGroup.h in Headers */,
				1CEBD7E72716AFBA00A5254D /* WebGPU.h in Headers */,
				1C5ACAD3273A4C860095F8D5 /* WebGPUExt.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1CEBD7EE2716B2CC00A5254D /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1CEBD7F82716B34400A5254D /* WGSL.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		1C023D3B27449070001DB734 /* WGSLUnitTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1C023D4627449070001DB734 /* Build configuration list for PBXNativeTarget "WGSLUnitTests" */;
			buildPhases = (
				1C023D3827449070001DB734 /* Sources */,
				1C023D3927449070001DB734 /* Frameworks */,
				1C023D3A27449070001DB734 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				1C023D4227449070001DB734 /* PBXTargetDependency */,
			);
			name = WGSLUnitTests;
			productName = WGSLUnitTests;
			productReference = 1C023D3C27449070001DB734 /* WGSLUnitTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		1CEBD7E22716AFBA00A5254D /* WebGPU */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1CEBD7EA2716AFBA00A5254D /* Build configuration list for PBXNativeTarget "WebGPU" */;
			buildPhases = (
				1CEBD7DE2716AFBA00A5254D /* Headers */,
				1CEBD7DF2716AFBA00A5254D /* Sources */,
				1CEBD7E02716AFBA00A5254D /* Frameworks */,
				1CEBD7E12716AFBA00A5254D /* Resources */,
				6577FFC8276ACA060011AEC8 /* Create Symlink to Alt Root Path */,
			);
			buildRules = (
			);
			dependencies = (
				1CEBD8282716CACC00A5254D /* PBXTargetDependency */,
			);
			name = WebGPU;
			productName = WebGPU;
			productReference = 1CEBD7E32716AFBA00A5254D /* WebGPU.framework */;
			productType = "com.apple.product-type.framework";
		};
		1CEBD7F12716B2CC00A5254D /* WGSL */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1CEBD7F32716B2CC00A5254D /* Build configuration list for PBXNativeTarget "WGSL" */;
			buildPhases = (
				1CEBD7EE2716B2CC00A5254D /* Headers */,
				1CEBD7EF2716B2CC00A5254D /* Sources */,
				1CEBD7F02716B2CC00A5254D /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = WGSL;
			productName = WGSL;
			productReference = 1CEBD7F22716B2CC00A5254D /* libwgsl.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		1CEBD7DA2716AFBA00A5254D /* Project object */ = {
			isa = PBXProject;
			attributes = {
				BuildIndependentTargetsInParallel = NO;
				DefaultBuildSystemTypeForWorkspace = Original;
				LastUpgradeCheck = 1330;
				TargetAttributes = {
					1C023D3B27449070001DB734 = {
						CreatedOnToolsVersion = 13.3;
					};
					1CEBD7E22716AFBA00A5254D = {
						CreatedOnToolsVersion = 13.3;
					};
					1CEBD7F12716B2CC00A5254D = {
						CreatedOnToolsVersion = 13.3;
					};
				};
			};
			buildConfigurationList = 1CEBD7DD2716AFBA00A5254D /* Build configuration list for PBXProject "WebGPU" */;
			compatibilityVersion = "Xcode 13.0";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 1CEBD7D92716AFBA00A5254D;
			productRefGroup = 1CEBD7E42716AFBA00A5254D /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				1CEBD7E22716AFBA00A5254D /* WebGPU */,
				1CEBD7F12716B2CC00A5254D /* WGSL */,
				1C023D3B27449070001DB734 /* WGSLUnitTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		1C023D3A27449070001DB734 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1CEBD7E12716AFBA00A5254D /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		6577FFC8276ACA060011AEC8 /* Create Symlink to Alt Root Path */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 8;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Create Symlink to Alt Root Path";
			outputFileListPaths = (
			);
			outputPaths = (
				"${OUTPUT_ALTERNATE_ROOT_PATH}",
			);
			runOnlyForDeploymentPostprocessing = 1;
			shellPath = /bin/zsh;
			shellScript = "\"${SRCROOT}/Scripts/create-symlink-to-altroot.sh\"\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		1C023D3827449070001DB734 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1C023D3F27449070001DB734 /* WGSLUnitTests.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1CEBD7DF2716AFBA00A5254D /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1C5ACAC7273A426D0095F8D5 /* Adapter.mm in Sources */,
				1C5ACADF273A55AF0095F8D5 /* BindGroup.mm in Sources */,
				1C5ACAE1273A55C10095F8D5 /* BindGroupLayout.mm in Sources */,
				1C5ACABB273A426D0095F8D5 /* Buffer.mm in Sources */,
				1C5ACAE3273A55CD0095F8D5 /* CommandBuffer.mm in Sources */,
				1C5ACAC9273A426E0095F8D5 /* CommandEncoder.mm in Sources */,
				1C5ACAC6273A426D0095F8D5 /* ComputePassEncoder.mm in Sources */,
				1C5ACAC0273A426D0095F8D5 /* ComputePipeline.mm in Sources */,
				1C5ACAC1273A426D0095F8D5 /* Device.mm in Sources */,
				1C5ACA94273A41C20095F8D5 /* Instance.mm in Sources */,
				1C5ACAE5273A55DD0095F8D5 /* PipelineLayout.mm in Sources */,
				1C5ACABD273A426D0095F8D5 /* QuerySet.mm in Sources */,
				1C5ACACB273A426E0095F8D5 /* Queue.mm in Sources */,
				1C5ACAE7273A55EF0095F8D5 /* RenderBundle.mm in Sources */,
				1C5ACACC273A426E0095F8D5 /* RenderBundleEncoder.mm in Sources */,
				1C5ACAC2273A426D0095F8D5 /* RenderPassEncoder.mm in Sources */,
				1C5ACAB6273A426D0095F8D5 /* RenderPipeline.mm in Sources */,
				1C5ACAE9273A55FD0095F8D5 /* Sampler.mm in Sources */,
				1C5ACACE273A426E0095F8D5 /* ShaderModule.mm in Sources */,
				1C5ACAD1273A426E0095F8D5 /* Surface.mm in Sources */,
				1C5ACABF273A426D0095F8D5 /* SwapChain.mm in Sources */,
				1C5ACACF273A426E0095F8D5 /* Texture.mm in Sources */,
				1C5ACAEB273A560D0095F8D5 /* TextureView.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1CEBD7EF2716B2CC00A5254D /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1CEBD8032716BF8200A5254D /* WGSL.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		1C023D4227449070001DB734 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 1CEBD7F12716B2CC00A5254D /* WGSL */;
			targetProxy = 1C023D4127449070001DB734 /* PBXContainerItemProxy */;
		};
		1CEBD8282716CACC00A5254D /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 1CEBD7F12716B2CC00A5254D /* WGSL */;
			targetProxy = 1CEBD8272716CACC00A5254D /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		1C023D4327449070001DB734 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C023D472744916D001DB734 /* WGSLUnitTests.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		1C023D4427449070001DB734 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C023D472744916D001DB734 /* WGSLUnitTests.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		1C023D4527449070001DB734 /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C023D472744916D001DB734 /* WGSLUnitTests.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		1CEBD7E82716AFBA00A5254D /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1CEBD7FB2716B5B400A5254D /* DebugRelease.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		1CEBD7E92716AFBA00A5254D /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1CEBD7FB2716B5B400A5254D /* DebugRelease.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		1CEBD7EB2716AFBA00A5254D /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1CEBD7FC2716B64400A5254D /* WebGPU.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		1CEBD7EC2716AFBA00A5254D /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1CEBD7FC2716B64400A5254D /* WebGPU.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		1CEBD7F42716B2CC00A5254D /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1CEBD7FD2716B64F00A5254D /* WGSL.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		1CEBD7F52716B2CC00A5254D /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1CEBD7FD2716B64F00A5254D /* WGSL.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		1CEBD7FE2716B6BE00A5254D /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1CEBD7FA2716B3D500A5254D /* Base.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		1CEBD7FF2716B6BE00A5254D /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1CEBD7FC2716B64400A5254D /* WebGPU.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		1CEBD8002716B6BE00A5254D /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1CEBD7FD2716B64F00A5254D /* WGSL.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		1C023D4627449070001DB734 /* Build configuration list for PBXNativeTarget "WGSLUnitTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1C023D4327449070001DB734 /* Debug */,
				1C023D4427449070001DB734 /* Release */,
				1C023D4527449070001DB734 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		1CEBD7DD2716AFBA00A5254D /* Build configuration list for PBXProject "WebGPU" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1CEBD7E82716AFBA00A5254D /* Debug */,
				1CEBD7E92716AFBA00A5254D /* Release */,
				1CEBD7FE2716B6BE00A5254D /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		1CEBD7EA2716AFBA00A5254D /* Build configuration list for PBXNativeTarget "WebGPU" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1CEBD7EB2716AFBA00A5254D /* Debug */,
				1CEBD7EC2716AFBA00A5254D /* Release */,
				1CEBD7FF2716B6BE00A5254D /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		1CEBD7F32716B2CC00A5254D /* Build configuration list for PBXNativeTarget "WGSL" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1CEBD7F42716B2CC00A5254D /* Debug */,
				1CEBD7F52716B2CC00A5254D /* Release */,
				1CEBD8002716B6BE00A5254D /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
/* End XCConfigurationList section */
	};
	rootObject = 1CEBD7DA2716AFBA00A5254D /* Project object */;
}
