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

/* Begin PBXBuildFile section */
		1C60FF1614E6E3F7006CD77D /* localizedStrings.js in Resources */ = {isa = PBXBuildFile; fileRef = 1C60FF1314E6E35D006CD77D /* localizedStrings.js */; };
		1C78EE1717611340002F6AA5 /* WebInspectorUI.c in Sources */ = {isa = PBXBuildFile; fileRef = 1C78EE1617611340002F6AA5 /* WebInspectorUI.c */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		1C60FE2F14E5F3CD006CD77D /* Base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
		1C60FE3114E5F3CD006CD77D /* DebugRelease.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
		1C60FE3214E5F3CD006CD77D /* Version.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = "<group>"; };
		1C60FE3314E5F3CD006CD77D /* WebInspectorUIFramework.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebInspectorUIFramework.xcconfig; sourceTree = "<group>"; };
		1C60FF1014E6D992006CD77D /* UserInterface */ = {isa = PBXFileReference; lastKnownFileType = folder; path = UserInterface; sourceTree = "<group>"; };
		1C60FF1414E6E35D006CD77D /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = en; path = Localizations/en.lproj/localizedStrings.js; sourceTree = "<group>"; };
		1C60FF1914E73C64006CD77D /* combine-resources.pl */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = "combine-resources.pl"; sourceTree = "<group>"; };
		1C60FF1A14E73DCA006CD77D /* remove-console-asserts.pl */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = "remove-console-asserts.pl"; sourceTree = "<group>"; };
		1C60FFE114E79B0F006CD77D /* copy-user-interface-resources.pl */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = "copy-user-interface-resources.pl"; sourceTree = "<group>"; };
		1C78EE131760E115002F6AA5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		1C78EE1617611340002F6AA5 /* WebInspectorUI.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = WebInspectorUI.c; sourceTree = "<group>"; };
		A54C2257148B23DF00373FA3 /* WebInspectorUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WebInspectorUI.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXGroup section */
		1C60FE2E14E5F3CD006CD77D /* Configurations */ = {
			isa = PBXGroup;
			children = (
				1C60FE2F14E5F3CD006CD77D /* Base.xcconfig */,
				1C60FE3114E5F3CD006CD77D /* DebugRelease.xcconfig */,
				1C60FE3214E5F3CD006CD77D /* Version.xcconfig */,
				1C60FE3314E5F3CD006CD77D /* WebInspectorUIFramework.xcconfig */,
			);
			path = Configurations;
			sourceTree = "<group>";
		};
		1C60FF1514E6E39B006CD77D /* Resources */ = {
			isa = PBXGroup;
			children = (
				1C78EE131760E115002F6AA5 /* Info.plist */,
				1C60FF1314E6E35D006CD77D /* localizedStrings.js */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		1C60FFE014E79B0F006CD77D /* Scripts */ = {
			isa = PBXGroup;
			children = (
				1C60FF1914E73C64006CD77D /* combine-resources.pl */,
				1C60FFE114E79B0F006CD77D /* copy-user-interface-resources.pl */,
				1C60FF1A14E73DCA006CD77D /* remove-console-asserts.pl */,
			);
			path = Scripts;
			sourceTree = "<group>";
		};
		A54C224B148B23DE00373FA3 = {
			isa = PBXGroup;
			children = (
				1C60FE2E14E5F3CD006CD77D /* Configurations */,
				A54C2258148B23DF00373FA3 /* Products */,
				1C60FF1514E6E39B006CD77D /* Resources */,
				1C60FFE014E79B0F006CD77D /* Scripts */,
				1C60FF1014E6D992006CD77D /* UserInterface */,
				1C78EE1617611340002F6AA5 /* WebInspectorUI.c */,
			);
			sourceTree = "<group>";
		};
		A54C2258148B23DF00373FA3 /* Products */ = {
			isa = PBXGroup;
			children = (
				A54C2257148B23DF00373FA3 /* WebInspectorUI.framework */,
			);
			name = Products;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		A54C2256148B23DF00373FA3 /* WebInspectorUI */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A54C226C148B23DF00373FA3 /* Build configuration list for PBXNativeTarget "WebInspectorUI" */;
			buildPhases = (
				A54C2255148B23DF00373FA3 /* Resources */,
				1C60FF1214E6D9AF006CD77D /* Copy User Interface Resources */,
				1C78EE1417611302002F6AA5 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = WebInspectorUI;
			productName = WebInspector;
			productReference = A54C2257148B23DF00373FA3 /* WebInspectorUI.framework */;
			productType = "com.apple.product-type.framework";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		A54C224D148B23DE00373FA3 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 0700;
				ORGANIZATIONNAME = Apple;
			};
			buildConfigurationList = A54C2250148B23DE00373FA3 /* Build configuration list for PBXProject "WebInspectorUI" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = A54C224B148B23DE00373FA3;
			productRefGroup = A54C2258148B23DF00373FA3 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				A54C2256148B23DF00373FA3 /* WebInspectorUI */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		A54C2255148B23DF00373FA3 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1C60FF1614E6E3F7006CD77D /* localizedStrings.js in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		1C60FF1214E6D9AF006CD77D /* Copy User Interface Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			name = "Copy User Interface Resources";
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "/usr/bin/perl \"${SRCROOT}/Scripts/copy-user-interface-resources.pl\"";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		1C78EE1417611302002F6AA5 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1C78EE1717611340002F6AA5 /* WebInspectorUI.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
		1C60FF1314E6E35D006CD77D /* localizedStrings.js */ = {
			isa = PBXVariantGroup;
			children = (
				1C60FF1414E6E35D006CD77D /* en */,
			);
			name = localizedStrings.js;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		1C60FE3514E5F47E006CD77D /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE2F14E5F3CD006CD77D /* Base.xcconfig */;
			buildSettings = {
				DEBUG_DEFINES = NDEBUG;
			};
			name = Production;
		};
		1C60FE3614E5F47E006CD77D /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE3314E5F3CD006CD77D /* WebInspectorUIFramework.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		A54C226A148B23DF00373FA3 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE3114E5F3CD006CD77D /* DebugRelease.xcconfig */;
			buildSettings = {
				DEBUG_DEFINES = "";
			};
			name = Debug;
		};
		A54C226B148B23DF00373FA3 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE3114E5F3CD006CD77D /* DebugRelease.xcconfig */;
			buildSettings = {
				DEBUG_DEFINES = NDEBUG;
			};
			name = Release;
		};
		A54C226D148B23DF00373FA3 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE3314E5F3CD006CD77D /* WebInspectorUIFramework.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		A54C226E148B23DF00373FA3 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE3314E5F3CD006CD77D /* WebInspectorUIFramework.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		A54C2250148B23DE00373FA3 /* Build configuration list for PBXProject "WebInspectorUI" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A54C226A148B23DF00373FA3 /* Debug */,
				A54C226B148B23DF00373FA3 /* Release */,
				1C60FE3514E5F47E006CD77D /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		A54C226C148B23DF00373FA3 /* Build configuration list for PBXNativeTarget "WebInspectorUI" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A54C226D148B23DF00373FA3 /* Debug */,
				A54C226E148B23DF00373FA3 /* Release */,
				1C60FE3614E5F47E006CD77D /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
/* End XCConfigurationList section */
	};
	rootObject = A54C224D148B23DE00373FA3 /* Project object */;
}
