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

/* Begin PBXBuildFile section */
		DC87A6F91525AEA3005A09B0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC87A6F81525AEA3005A09B0 /* Cocoa.framework */; };
		DC87A7031525AEA3005A09B0 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC87A7011525AEA3005A09B0 /* InfoPlist.strings */; };
		DC87A7051525AEA3005A09B0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC87A7041525AEA3005A09B0 /* main.m */; };
		DC87A7091525AEA3005A09B0 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DC87A7071525AEA3005A09B0 /* Credits.rtf */; };
		DC87A70C1525AEA3005A09B0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC87A70B1525AEA3005A09B0 /* AppDelegate.m */; };
		DC87A70F1525AEA3005A09B0 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC87A70D1525AEA3005A09B0 /* MainMenu.xib */; };
		DC87A7261525AEB3005A09B0 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC87A7171525AEB3005A09B0 /* DDAbstractDatabaseLogger.m */; };
		DC87A7271525AEB3005A09B0 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC87A7191525AEB3005A09B0 /* DDASLLogger.m */; };
		DC87A7281525AEB3005A09B0 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC87A71B1525AEB3005A09B0 /* DDFileLogger.m */; };
		DC87A7291525AEB3005A09B0 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC87A71D1525AEB3005A09B0 /* DDLog.m */; };
		DC87A72A1525AEB3005A09B0 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC87A71F1525AEB3005A09B0 /* DDTTYLogger.m */; };
		DC87A72B1525AEB3005A09B0 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DC87A7221525AEB3005A09B0 /* DDContextFilterLogFormatter.m */; };
		DC87A72C1525AEB3005A09B0 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DC87A7241525AEB3005A09B0 /* DDDispatchQueueLogFormatter.m */; };
		DC87A72D1525AEB3005A09B0 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC87A7251525AEB3005A09B0 /* README.txt */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		DC28B92D15263ED00043126F /* LumberjackUser.bash */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = LumberjackUser.bash; path = Scripts/LumberjackUser.bash; sourceTree = SOURCE_ROOT; };
		DC87A6F41525AEA3005A09B0 /* PerUserLogLevels.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PerUserLogLevels.app; sourceTree = BUILT_PRODUCTS_DIR; };
		DC87A6F81525AEA3005A09B0 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
		DC87A6FB1525AEA3005A09B0 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
		DC87A6FC1525AEA3005A09B0 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
		DC87A6FD1525AEA3005A09B0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		DC87A7001525AEA3005A09B0 /* PerUserLogLevels-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PerUserLogLevels-Info.plist"; sourceTree = "<group>"; };
		DC87A7021525AEA3005A09B0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		DC87A7041525AEA3005A09B0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		DC87A7061525AEA3005A09B0 /* PerUserLogLevels-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PerUserLogLevels-Prefix.pch"; sourceTree = "<group>"; };
		DC87A7081525AEA3005A09B0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = "<group>"; };
		DC87A70A1525AEA3005A09B0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
		DC87A70B1525AEA3005A09B0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
		DC87A70E1525AEA3005A09B0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = "<group>"; };
		DC87A7161525AEB3005A09B0 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDAbstractDatabaseLogger.h; sourceTree = "<group>"; };
		DC87A7171525AEB3005A09B0 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDAbstractDatabaseLogger.m; sourceTree = "<group>"; };
		DC87A7181525AEB3005A09B0 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDASLLogger.h; sourceTree = "<group>"; };
		DC87A7191525AEB3005A09B0 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDASLLogger.m; sourceTree = "<group>"; };
		DC87A71A1525AEB3005A09B0 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDFileLogger.h; sourceTree = "<group>"; };
		DC87A71B1525AEB3005A09B0 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDFileLogger.m; sourceTree = "<group>"; };
		DC87A71C1525AEB3005A09B0 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDLog.h; sourceTree = "<group>"; };
		DC87A71D1525AEB3005A09B0 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDLog.m; sourceTree = "<group>"; };
		DC87A71E1525AEB3005A09B0 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDTTYLogger.h; sourceTree = "<group>"; };
		DC87A71F1525AEB3005A09B0 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDTTYLogger.m; sourceTree = "<group>"; };
		DC87A7211525AEB3005A09B0 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = "<group>"; };
		DC87A7221525AEB3005A09B0 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = "<group>"; };
		DC87A7231525AEB3005A09B0 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = "<group>"; };
		DC87A7241525AEB3005A09B0 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = "<group>"; };
		DC87A7251525AEB3005A09B0 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = "<group>"; };
		DC87A72E1525B051005A09B0 /* LumberjackUser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LumberjackUser.h; path = ../Xcode/PerUserLogLevels/PerUserLogLevels/LumberjackUser.h; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		DC87A6F11525AEA3005A09B0 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				DC87A6F91525AEA3005A09B0 /* Cocoa.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		DC87A6E91525AEA2005A09B0 = {
			isa = PBXGroup;
			children = (
				DC87A7151525AEB3005A09B0 /* Lumberjack */,
				DC87A7301525B10C005A09B0 /* LumberjackUser */,
				DC87A6FE1525AEA3005A09B0 /* PerUserLogLevels */,
				DC87A6F71525AEA3005A09B0 /* Frameworks */,
				DC87A6F51525AEA3005A09B0 /* Products */,
			);
			sourceTree = "<group>";
		};
		DC87A6F51525AEA3005A09B0 /* Products */ = {
			isa = PBXGroup;
			children = (
				DC87A6F41525AEA3005A09B0 /* PerUserLogLevels.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		DC87A6F71525AEA3005A09B0 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				DC87A6F81525AEA3005A09B0 /* Cocoa.framework */,
				DC87A6FA1525AEA3005A09B0 /* Other Frameworks */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		DC87A6FA1525AEA3005A09B0 /* Other Frameworks */ = {
			isa = PBXGroup;
			children = (
				DC87A6FB1525AEA3005A09B0 /* AppKit.framework */,
				DC87A6FC1525AEA3005A09B0 /* CoreData.framework */,
				DC87A6FD1525AEA3005A09B0 /* Foundation.framework */,
			);
			name = "Other Frameworks";
			sourceTree = "<group>";
		};
		DC87A6FE1525AEA3005A09B0 /* PerUserLogLevels */ = {
			isa = PBXGroup;
			children = (
				DC87A70A1525AEA3005A09B0 /* AppDelegate.h */,
				DC87A70B1525AEA3005A09B0 /* AppDelegate.m */,
				DC87A70D1525AEA3005A09B0 /* MainMenu.xib */,
				DC87A6FF1525AEA3005A09B0 /* Supporting Files */,
			);
			path = PerUserLogLevels;
			sourceTree = "<group>";
		};
		DC87A6FF1525AEA3005A09B0 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				DC87A7001525AEA3005A09B0 /* PerUserLogLevels-Info.plist */,
				DC87A7011525AEA3005A09B0 /* InfoPlist.strings */,
				DC87A7041525AEA3005A09B0 /* main.m */,
				DC87A7061525AEA3005A09B0 /* PerUserLogLevels-Prefix.pch */,
				DC87A7071525AEA3005A09B0 /* Credits.rtf */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		DC87A7151525AEB3005A09B0 /* Lumberjack */ = {
			isa = PBXGroup;
			children = (
				DC87A7161525AEB3005A09B0 /* DDAbstractDatabaseLogger.h */,
				DC87A7171525AEB3005A09B0 /* DDAbstractDatabaseLogger.m */,
				DC87A7181525AEB3005A09B0 /* DDASLLogger.h */,
				DC87A7191525AEB3005A09B0 /* DDASLLogger.m */,
				DC87A71A1525AEB3005A09B0 /* DDFileLogger.h */,
				DC87A71B1525AEB3005A09B0 /* DDFileLogger.m */,
				DC87A71C1525AEB3005A09B0 /* DDLog.h */,
				DC87A71D1525AEB3005A09B0 /* DDLog.m */,
				DC87A71E1525AEB3005A09B0 /* DDTTYLogger.h */,
				DC87A71F1525AEB3005A09B0 /* DDTTYLogger.m */,
				DC87A7201525AEB3005A09B0 /* Extensions */,
			);
			name = Lumberjack;
			path = ../../Lumberjack;
			sourceTree = "<group>";
		};
		DC87A7201525AEB3005A09B0 /* Extensions */ = {
			isa = PBXGroup;
			children = (
				DC87A7211525AEB3005A09B0 /* DDContextFilterLogFormatter.h */,
				DC87A7221525AEB3005A09B0 /* DDContextFilterLogFormatter.m */,
				DC87A7231525AEB3005A09B0 /* DDDispatchQueueLogFormatter.h */,
				DC87A7241525AEB3005A09B0 /* DDDispatchQueueLogFormatter.m */,
				DC87A7251525AEB3005A09B0 /* README.txt */,
			);
			path = Extensions;
			sourceTree = "<group>";
		};
		DC87A7301525B10C005A09B0 /* LumberjackUser */ = {
			isa = PBXGroup;
			children = (
				DC28B92D15263ED00043126F /* LumberjackUser.bash */,
				DC87A72E1525B051005A09B0 /* LumberjackUser.h */,
			);
			name = LumberjackUser;
			path = ../../Lumberjack;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		DC87A6F31525AEA3005A09B0 /* PerUserLogLevels */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DC87A7121525AEA3005A09B0 /* Build configuration list for PBXNativeTarget "PerUserLogLevels" */;
			buildPhases = (
				DC87A7341525B41D005A09B0 /* ShellScript */,
				DC87A6F01525AEA3005A09B0 /* Sources */,
				DC87A6F11525AEA3005A09B0 /* Frameworks */,
				DC87A6F21525AEA3005A09B0 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = PerUserLogLevels;
			productName = PerUserLogLevels;
			productReference = DC87A6F41525AEA3005A09B0 /* PerUserLogLevels.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		DC87A6EB1525AEA2005A09B0 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0500;
			};
			buildConfigurationList = DC87A6EE1525AEA2005A09B0 /* Build configuration list for PBXProject "PerUserLogLevels" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = DC87A6E91525AEA2005A09B0;
			productRefGroup = DC87A6F51525AEA3005A09B0 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				DC87A6F31525AEA3005A09B0 /* PerUserLogLevels */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		DC87A6F21525AEA3005A09B0 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				DC87A7031525AEA3005A09B0 /* InfoPlist.strings in Resources */,
				DC87A7091525AEA3005A09B0 /* Credits.rtf in Resources */,
				DC87A70F1525AEA3005A09B0 /* MainMenu.xib in Resources */,
				DC87A72D1525AEB3005A09B0 /* README.txt in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		DC87A7341525B41D005A09B0 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "${PROJECT_DIR}/Scripts/LumberjackUser.bash";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		DC87A6F01525AEA3005A09B0 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				DC87A7051525AEA3005A09B0 /* main.m in Sources */,
				DC87A70C1525AEA3005A09B0 /* AppDelegate.m in Sources */,
				DC87A7261525AEB3005A09B0 /* DDAbstractDatabaseLogger.m in Sources */,
				DC87A7271525AEB3005A09B0 /* DDASLLogger.m in Sources */,
				DC87A7281525AEB3005A09B0 /* DDFileLogger.m in Sources */,
				DC87A7291525AEB3005A09B0 /* DDLog.m in Sources */,
				DC87A72A1525AEB3005A09B0 /* DDTTYLogger.m in Sources */,
				DC87A72B1525AEB3005A09B0 /* DDContextFilterLogFormatter.m in Sources */,
				DC87A72C1525AEB3005A09B0 /* DDDispatchQueueLogFormatter.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
		DC87A7011525AEA3005A09B0 /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				DC87A7021525AEA3005A09B0 /* en */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
		DC87A7071525AEA3005A09B0 /* Credits.rtf */ = {
			isa = PBXVariantGroup;
			children = (
				DC87A7081525AEA3005A09B0 /* en */,
			);
			name = Credits.rtf;
			sourceTree = "<group>";
		};
		DC87A70D1525AEA3005A09B0 /* MainMenu.xib */ = {
			isa = PBXVariantGroup;
			children = (
				DC87A70E1525AEA3005A09B0 /* en */,
			);
			name = MainMenu.xib;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		DC87A7101525AEA3005A09B0 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.7;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		DC87A7111525AEA3005A09B0 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.7;
				SDKROOT = macosx;
			};
			name = Release;
		};
		DC87A7131525AEA3005A09B0 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COMBINE_HIDPI_IMAGES = YES;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "PerUserLogLevels/PerUserLogLevels-Prefix.pch";
				INFOPLIST_FILE = "PerUserLogLevels/PerUserLogLevels-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Debug;
		};
		DC87A7141525AEA3005A09B0 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COMBINE_HIDPI_IMAGES = YES;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "PerUserLogLevels/PerUserLogLevels-Prefix.pch";
				INFOPLIST_FILE = "PerUserLogLevels/PerUserLogLevels-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		DC87A6EE1525AEA2005A09B0 /* Build configuration list for PBXProject "PerUserLogLevels" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				DC87A7101525AEA3005A09B0 /* Debug */,
				DC87A7111525AEA3005A09B0 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		DC87A7121525AEA3005A09B0 /* Build configuration list for PBXNativeTarget "PerUserLogLevels" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				DC87A7131525AEA3005A09B0 /* Debug */,
				DC87A7141525AEA3005A09B0 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = DC87A6EB1525AEA2005A09B0 /* Project object */;
}
