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

/* Begin PBXAggregateTarget section */
		48547E030DD882170047AC8A /* symlinks */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = 48547E080DD8823B0047AC8A /* Build configuration list for PBXAggregateTarget "symlinks" */;
			buildPhases = (
				48547E020DD882170047AC8A /* Make symlink */,
			);
			comments = "This will create a symlink in ~/Library/Internet Plug-Ins to the plugin";
			dependencies = (
				48547E070DD8821D0047AC8A /* PBXTargetDependency */,
			);
			name = symlinks;
			productName = oophm.symlink;
		};
/* End PBXAggregateTarget section */

/* Begin PBXBuildFile section */
		45283765103BCCB100153ABF /* CheckVersionsMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45283764103BCCB100153ABF /* CheckVersionsMessage.cpp */; };
		4528376F103BCCDF00153ABF /* ChooseTransportMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45283767103BCCDF00153ABF /* ChooseTransportMessage.cpp */; };
		45283770103BCCDF00153ABF /* FatalErrorMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45283769103BCCDF00153ABF /* FatalErrorMessage.cpp */; };
		45283771103BCCDF00153ABF /* ProtocolVersionMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4528376B103BCCDF00153ABF /* ProtocolVersionMessage.cpp */; };
		45283772103BCCDF00153ABF /* SwitchTransportMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4528376D103BCCDF00153ABF /* SwitchTransportMessage.cpp */; };
		480DDCAA0E381E22000711F4 /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 48A23BB50DD0E688004EF5CA /* AppController.m */; };
		480DDCAB0E381E23000711F4 /* BrowserWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 48A23C770DD0F545004EF5CA /* BrowserWindow.m */; };
		480DDCAC0E381E28000711F4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 48A23BB60DD0E688004EF5CA /* main.m */; };
		48108DDF0E2C15BD007FA76C /* AllowedConnections.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48108DDB0E2C15BD007FA76C /* AllowedConnections.cpp */; };
		48108DE00E2C15BD007FA76C /* Socket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48108DDD0E2C15BD007FA76C /* Socket.cpp */; };
		48338DDF0E4A2CA7008ACF0F /* oophm_bypass.plist in Resources */ = {isa = PBXBuildFile; fileRef = 48338DDB0E4A2C49008ACF0F /* oophm_bypass.plist */; };
		48420D410DD51A3D001F3839 /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */; };
		4851A9D50DD1198300C577B2 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */; };
		48547F000DD889DA0047AC8A /* GTMSystemVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */; };
		48547F4B0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m in Sources */ = {isa = PBXBuildFile; fileRef = 48547F4A0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m */; };
		485505ED0DCD475C0009536F /* SlowScriptProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 485505EC0DCD475C0009536F /* SlowScriptProxy.m */; };
		4856DF890DCF95B8000BF47C /* HostChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF750DCF95B8000BF47C /* HostChannel.cpp */; };
		4856DF8A0DCF95B8000BF47C /* InvokeMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF770DCF95B8000BF47C /* InvokeMessage.cpp */; };
		4856DF8B0DCF95B8000BF47C /* LoadModuleMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF790DCF95B8000BF47C /* LoadModuleMessage.cpp */; };
		4856DF8E0DCF95B8000BF47C /* ReturnMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF7F0DCF95B8000BF47C /* ReturnMessage.cpp */; };
		4856DF8F0DCF95B8000BF47C /* README.google in Resources */ = {isa = PBXBuildFile; fileRef = 4856DF820DCF95B8000BF47C /* README.google */; };
		4856DF900DCF95B8000BF47C /* ServerMethods.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF840DCF95B8000BF47C /* ServerMethods.cpp */; };
		485CCFF00DDDDEA400AEE666 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 485CCFEF0DDDDEA400AEE666 /* CoreFoundation.framework */; };
		485CD0AA0DDDEAF300AEE666 /* Debug.mm in Sources */ = {isa = PBXBuildFile; fileRef = 485CD0A90DDDEAF300AEE666 /* Debug.mm */; };
		486DA8F50DD22BD50065980B /* crash.html in Resources */ = {isa = PBXBuildFile; fileRef = 486DA8F40DD22BD50065980B /* crash.html */; };
		48A237D10DCFB46D004EF5CA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
		48A23BC60DD0E6EE004EF5CA /* browser.nib in Resources */ = {isa = PBXBuildFile; fileRef = 48A23BC50DD0E6EE004EF5CA /* browser.nib */; };
		48A23BE00DD0E8B1004EF5CA /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A10DC62FD800E011A2 /* WebKit.framework */; };
		48A23BE10DD0E8B6004EF5CA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
		48A23C510DD0F2D6004EF5CA /* Browser-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 48A23C500DD0F2D6004EF5CA /* Browser-Info.plist */; };
		48A23C530DD0F302004EF5CA /* gwtlogo.icns in Resources */ = {isa = PBXBuildFile; fileRef = 48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */; };
		48ABDDC50DCBA04800B0159A /* WebScriptSessionHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48ABDDC40DCBA04800B0159A /* WebScriptSessionHandler.cpp */; };
		48C4D72E0DCA2B6900C34919 /* gwtlogo.icns in Resources */ = {isa = PBXBuildFile; fileRef = 48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */; };
		48C9EA4A0E37863700E691C6 /* FreeValueMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C9EA440E37863700E691C6 /* FreeValueMessage.cpp */; };
		48C9EA4B0E37863700E691C6 /* InvokeSpecialMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C9EA460E37863700E691C6 /* InvokeSpecialMessage.cpp */; };
		48C9EA4C0E37863700E691C6 /* LoadJsniMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C9EA480E37863700E691C6 /* LoadJsniMessage.cpp */; };
		48EF692D0E318E200050F5D6 /* ObjectFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48EF692C0E318E200050F5D6 /* ObjectFunctions.cpp */; };
		48FD98900DC62E7400E011A2 /* OophmPlugin.mm in Sources */ = {isa = PBXBuildFile; fileRef = 48FD988F0DC62E7400E011A2 /* OophmPlugin.mm */; };
		48FD98A20DC62FD800E011A2 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */; };
		48FD98A30DC62FD800E011A2 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A10DC62FD800E011A2 /* WebKit.framework */; };
		48FD99540DC6349F00E011A2 /* OophmWebScriptObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = 48FD99530DC6349F00E011A2 /* OophmWebScriptObject.mm */; };
		8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		48547E060DD8821D0047AC8A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8D5B49AC048680CD000E48DA;
			remoteInfo = oophm;
		};
		485CD0C40DDDED1700AEE666 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 48547E030DD882170047AC8A;
			remoteInfo = symlinks;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
		089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
		1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
		32DBCF630370AF2F00C91783 /* oophm_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oophm_Prefix.pch; sourceTree = "<group>"; };
		45283764103BCCB100153ABF /* CheckVersionsMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CheckVersionsMessage.cpp; sourceTree = "<group>"; };
		45283766103BCCDF00153ABF /* CheckVersionsMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CheckVersionsMessage.h; sourceTree = "<group>"; };
		45283767103BCCDF00153ABF /* ChooseTransportMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ChooseTransportMessage.cpp; sourceTree = "<group>"; };
		45283768103BCCDF00153ABF /* ChooseTransportMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChooseTransportMessage.h; sourceTree = "<group>"; };
		45283769103BCCDF00153ABF /* FatalErrorMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FatalErrorMessage.cpp; sourceTree = "<group>"; };
		4528376A103BCCDF00153ABF /* FatalErrorMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FatalErrorMessage.h; sourceTree = "<group>"; };
		4528376B103BCCDF00153ABF /* ProtocolVersionMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ProtocolVersionMessage.cpp; sourceTree = "<group>"; };
		4528376C103BCCDF00153ABF /* ProtocolVersionMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ProtocolVersionMessage.h; sourceTree = "<group>"; };
		4528376D103BCCDF00153ABF /* SwitchTransportMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SwitchTransportMessage.cpp; sourceTree = "<group>"; };
		4528376E103BCCDF00153ABF /* SwitchTransportMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SwitchTransportMessage.h; sourceTree = "<group>"; };
		48108DDB0E2C15BD007FA76C /* AllowedConnections.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AllowedConnections.cpp; sourceTree = "<group>"; };
		48108DDC0E2C15BD007FA76C /* AllowedConnections.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AllowedConnections.h; sourceTree = "<group>"; };
		48108DDD0E2C15BD007FA76C /* Socket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Socket.cpp; sourceTree = "<group>"; };
		48108DDE0E2C15BD007FA76C /* Socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Socket.h; sourceTree = "<group>"; };
		48338DDB0E4A2C49008ACF0F /* oophm_bypass.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = oophm_bypass.plist; sourceTree = "<group>"; };
		48420D3C0DD51A23001F3839 /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMDefines.h; path = GTM/GTMDefines.h; sourceTree = "<group>"; };
		48420D3D0DD51A3D001F3839 /* GTMNSString+HTML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "GTMNSString+HTML.h"; path = "GTM/Foundation/GTMNSString+HTML.h"; sourceTree = "<group>"; };
		48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "GTMNSString+HTML.m"; path = "GTM/Foundation/GTMNSString+HTML.m"; sourceTree = "<group>"; };
		48547EFE0DD889DA0047AC8A /* GTMSystemVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMSystemVersion.h; path = GTM/Foundation/GTMSystemVersion.h; sourceTree = "<group>"; };
		48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GTMSystemVersion.m; path = GTM/Foundation/GTMSystemVersion.m; sourceTree = "<group>"; };
		48547F490DD88D110047AC8A /* NSMutableString+HtmlReplacement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableString+HtmlReplacement.h"; sourceTree = "<group>"; };
		48547F4A0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableString+HtmlReplacement.m"; sourceTree = "<group>"; };
		485505EB0DCD475C0009536F /* SlowScriptProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SlowScriptProxy.h; sourceTree = "<group>"; };
		485505EC0DCD475C0009536F /* SlowScriptProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SlowScriptProxy.m; sourceTree = "<group>"; };
		4856DF740DCF95B8000BF47C /* BrowserChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BrowserChannel.h; path = ../common/BrowserChannel.h; sourceTree = SOURCE_ROOT; };
		4856DF750DCF95B8000BF47C /* HostChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HostChannel.cpp; path = ../common/HostChannel.cpp; sourceTree = SOURCE_ROOT; };
		4856DF760DCF95B8000BF47C /* HostChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HostChannel.h; path = ../common/HostChannel.h; sourceTree = SOURCE_ROOT; };
		4856DF770DCF95B8000BF47C /* InvokeMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InvokeMessage.cpp; path = ../common/InvokeMessage.cpp; sourceTree = SOURCE_ROOT; };
		4856DF780DCF95B8000BF47C /* InvokeMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InvokeMessage.h; path = ../common/InvokeMessage.h; sourceTree = SOURCE_ROOT; };
		4856DF790DCF95B8000BF47C /* LoadModuleMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LoadModuleMessage.cpp; path = ../common/LoadModuleMessage.cpp; sourceTree = SOURCE_ROOT; };
		4856DF7A0DCF95B8000BF47C /* LoadModuleMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LoadModuleMessage.h; path = ../common/LoadModuleMessage.h; sourceTree = SOURCE_ROOT; };
		4856DF7D0DCF95B8000BF47C /* Message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Message.h; path = ../common/Message.h; sourceTree = SOURCE_ROOT; };
		4856DF7E0DCF95B8000BF47C /* QuitMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QuitMessage.h; path = ../common/QuitMessage.h; sourceTree = SOURCE_ROOT; };
		4856DF7F0DCF95B8000BF47C /* ReturnMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ReturnMessage.cpp; path = ../common/ReturnMessage.cpp; sourceTree = SOURCE_ROOT; };
		4856DF800DCF95B8000BF47C /* ReturnMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ReturnMessage.h; path = ../common/ReturnMessage.h; sourceTree = SOURCE_ROOT; };
		4856DF820DCF95B8000BF47C /* README.google */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README.google; path = ../common/scoped_ptr/README.google; sourceTree = SOURCE_ROOT; };
		4856DF830DCF95B8000BF47C /* scoped_ptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scoped_ptr.h; path = ../common/scoped_ptr/scoped_ptr.h; sourceTree = SOURCE_ROOT; };
		4856DF840DCF95B8000BF47C /* ServerMethods.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ServerMethods.cpp; path = ../common/ServerMethods.cpp; sourceTree = SOURCE_ROOT; };
		4856DF850DCF95B8000BF47C /* ServerMethods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ServerMethods.h; path = ../common/ServerMethods.h; sourceTree = SOURCE_ROOT; };
		4856DF860DCF95B8000BF47C /* SessionHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SessionHandler.h; path = ../common/SessionHandler.h; sourceTree = SOURCE_ROOT; };
		4856DF880DCF95B8000BF47C /* Value.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Value.h; path = ../common/Value.h; sourceTree = SOURCE_ROOT; };
		485CCE650DDDC5E900AEE666 /* HashMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HashMap.h; sourceTree = "<group>"; };
		485CCFEF0DDDDEA400AEE666 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
		485CD0A90DDDEAF300AEE666 /* Debug.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Debug.mm; sourceTree = "<group>"; };
		486DA8ED0DD22B850065980B /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = English; path = English.lproj/crash.html; sourceTree = "<group>"; wrapsLines = 0; };
		48A23BA20DD0E5B4004EF5CA /* Browser.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Browser.app; sourceTree = BUILT_PRODUCTS_DIR; };
		48A23BB40DD0E688004EF5CA /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = "<group>"; };
		48A23BB50DD0E688004EF5CA /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = "<group>"; };
		48A23BB60DD0E688004EF5CA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		48A23BC50DD0E6EE004EF5CA /* browser.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = browser.nib; sourceTree = "<group>"; };
		48A23C500DD0F2D6004EF5CA /* Browser-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Browser-Info.plist"; sourceTree = "<group>"; };
		48A23C760DD0F545004EF5CA /* BrowserWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BrowserWindow.h; sourceTree = "<group>"; };
		48A23C770DD0F545004EF5CA /* BrowserWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BrowserWindow.m; sourceTree = "<group>"; };
		48ABDDC30DCBA04800B0159A /* WebScriptSessionHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptSessionHandler.h; sourceTree = "<group>"; };
		48ABDDC40DCBA04800B0159A /* WebScriptSessionHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebScriptSessionHandler.cpp; sourceTree = "<group>"; };
		48ABDDC80DCBA09D00B0159A /* TrackingData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrackingData.h; sourceTree = "<group>"; };
		48ABE1050DCBB67600B0159A /* SessionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SessionData.h; sourceTree = "<group>"; };
		48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = gwtlogo.icns; sourceTree = "<group>"; };
		48C9EA440E37863700E691C6 /* FreeValueMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FreeValueMessage.cpp; sourceTree = "<group>"; };
		48C9EA450E37863700E691C6 /* FreeValueMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FreeValueMessage.h; sourceTree = "<group>"; };
		48C9EA460E37863700E691C6 /* InvokeSpecialMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InvokeSpecialMessage.cpp; sourceTree = "<group>"; };
		48C9EA470E37863700E691C6 /* InvokeSpecialMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InvokeSpecialMessage.h; sourceTree = "<group>"; };
		48C9EA480E37863700E691C6 /* LoadJsniMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadJsniMessage.cpp; sourceTree = "<group>"; };
		48C9EA490E37863700E691C6 /* LoadJsniMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadJsniMessage.h; sourceTree = "<group>"; };
		48D5795D0DDB8C03005A3498 /* Debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Debug.h; sourceTree = "<group>"; };
		48D5795E0DDB8C03005A3498 /* DebugLevel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebugLevel.h; sourceTree = "<group>"; };
		48EF692B0E318E200050F5D6 /* ObjectFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectFunctions.h; sourceTree = "<group>"; };
		48EF692C0E318E200050F5D6 /* ObjectFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ObjectFunctions.cpp; sourceTree = "<group>"; };
		48FD988E0DC62E7400E011A2 /* OophmPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OophmPlugin.h; sourceTree = "<group>"; };
		48FD988F0DC62E7400E011A2 /* OophmPlugin.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OophmPlugin.mm; sourceTree = "<group>"; };
		48FD989B0DC62F8800E011A2 /* WebFrameNonTigerHeaders.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebFrameNonTigerHeaders.h; sourceTree = "<group>"; };
		48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = /System/Library/Frameworks/JavaScriptCore.framework; sourceTree = "<absolute>"; };
		48FD98A10DC62FD800E011A2 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = /System/Library/Frameworks/WebKit.framework; sourceTree = "<absolute>"; };
		48FD99520DC6349F00E011A2 /* OophmWebScriptObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OophmWebScriptObject.h; sourceTree = "<group>"; };
		48FD99530DC6349F00E011A2 /* OophmWebScriptObject.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OophmWebScriptObject.mm; sourceTree = "<group>"; };
		48FFCFC80DD35DA900805659 /* Platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Platform.h; sourceTree = "<group>"; };
		8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "gwt-dev.webplugin"; sourceTree = BUILT_PRODUCTS_DIR; };
		8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		48A23BA00DD0E5B4004EF5CA /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				48A23BE00DD0E8B1004EF5CA /* WebKit.framework in Frameworks */,
				48A23BE10DD0E8B6004EF5CA /* Cocoa.framework in Frameworks */,
				4851A9D50DD1198300C577B2 /* JavaScriptCore.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8D5B49B3048680CD000E48DA /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				48FD98A20DC62FD800E011A2 /* JavaScriptCore.framework in Frameworks */,
				48FD98A30DC62FD800E011A2 /* WebKit.framework in Frameworks */,
				48A237D10DCFB46D004EF5CA /* Cocoa.framework in Frameworks */,
				485CCFF00DDDDEA400AEE666 /* CoreFoundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		089C166AFE841209C02AAC07 /* oophm */ = {
			isa = PBXGroup;
			children = (
				485506C90DCD54180009536F /* Classes */,
				48420D3B0DD51A0F001F3839 /* GTM */,
				32C88E010371C26100C91783 /* Other Sources */,
				089C167CFE841241C02AAC07 /* Resources */,
				089C1671FE841209C02AAC07 /* Frameworks and Libraries */,
				19C28FB8FE9D52D311CA2CBB /* Products */,
			);
			comments = "/*\n * Copyright 2008 Google Inc.\n * \n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n";
			name = oophm;
			sourceTree = "<group>";
		};
		089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = {
			isa = PBXGroup;
			children = (
				1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */,
				1058C7AEFEA557BF11CA2CBB /* Other Frameworks */,
			);
			name = "Frameworks and Libraries";
			sourceTree = "<group>";
		};
		089C167CFE841241C02AAC07 /* Resources */ = {
			isa = PBXGroup;
			children = (
				48338DDB0E4A2C49008ACF0F /* oophm_bypass.plist */,
				486DA8F40DD22BD50065980B /* crash.html */,
				48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */,
				8D5B49B7048680CD000E48DA /* Info.plist */,
				089C167DFE841241C02AAC07 /* InfoPlist.strings */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = {
			isa = PBXGroup;
			children = (
				485CCFEF0DDDDEA400AEE666 /* CoreFoundation.framework */,
				48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */,
				48FD98A10DC62FD800E011A2 /* WebKit.framework */,
				1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */,
			);
			name = "Linked Frameworks";
			sourceTree = "<group>";
		};
		1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = {
			isa = PBXGroup;
			children = (
				089C167FFE841241C02AAC07 /* AppKit.framework */,
				D2F7E65807B2D6F200F64583 /* CoreData.framework */,
				089C1672FE841209C02AAC07 /* Foundation.framework */,
			);
			name = "Other Frameworks";
			sourceTree = "<group>";
		};
		19C28FB8FE9D52D311CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */,
				48A23BA20DD0E5B4004EF5CA /* Browser.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		32C88E010371C26100C91783 /* Other Sources */ = {
			isa = PBXGroup;
			children = (
				4856DF730DCF95B8000BF47C /* common */,
				32DBCF630370AF2F00C91783 /* oophm_Prefix.pch */,
			);
			name = "Other Sources";
			sourceTree = "<group>";
		};
		48420D3B0DD51A0F001F3839 /* GTM */ = {
			isa = PBXGroup;
			children = (
				48547EFE0DD889DA0047AC8A /* GTMSystemVersion.h */,
				48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */,
				48420D3D0DD51A3D001F3839 /* GTMNSString+HTML.h */,
				48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */,
				48420D3C0DD51A23001F3839 /* GTMDefines.h */,
			);
			comments = "We just need a subset of the functionality available in GTM, so we'll pull in only the files we need as opposed to creating a cross-project dependency and having to package the framework in the plugin.";
			name = GTM;
			sourceTree = "<group>";
		};
		485506C90DCD54180009536F /* Classes */ = {
			isa = PBXGroup;
			children = (
				48A23B9D0DD0E57E004EF5CA /* Browser */,
				4856DFFB0DCFAEFD000BF47C /* Plugin */,
				4856DFFA0DCFAEBC000BF47C /* Core */,
			);
			name = Classes;
			sourceTree = "<group>";
		};
		4856DF730DCF95B8000BF47C /* common */ = {
			isa = PBXGroup;
			children = (
				45283766103BCCDF00153ABF /* CheckVersionsMessage.h */,
				45283767103BCCDF00153ABF /* ChooseTransportMessage.cpp */,
				45283768103BCCDF00153ABF /* ChooseTransportMessage.h */,
				45283769103BCCDF00153ABF /* FatalErrorMessage.cpp */,
				4528376A103BCCDF00153ABF /* FatalErrorMessage.h */,
				4528376B103BCCDF00153ABF /* ProtocolVersionMessage.cpp */,
				4528376C103BCCDF00153ABF /* ProtocolVersionMessage.h */,
				4528376D103BCCDF00153ABF /* SwitchTransportMessage.cpp */,
				4528376E103BCCDF00153ABF /* SwitchTransportMessage.h */,
				48C9EA440E37863700E691C6 /* FreeValueMessage.cpp */,
				48C9EA450E37863700E691C6 /* FreeValueMessage.h */,
				48C9EA460E37863700E691C6 /* InvokeSpecialMessage.cpp */,
				48C9EA470E37863700E691C6 /* InvokeSpecialMessage.h */,
				48C9EA480E37863700E691C6 /* LoadJsniMessage.cpp */,
				48C9EA490E37863700E691C6 /* LoadJsniMessage.h */,
				48108DDB0E2C15BD007FA76C /* AllowedConnections.cpp */,
				48108DDC0E2C15BD007FA76C /* AllowedConnections.h */,
				48108DDD0E2C15BD007FA76C /* Socket.cpp */,
				48108DDE0E2C15BD007FA76C /* Socket.h */,
				485CCE650DDDC5E900AEE666 /* HashMap.h */,
				48D5795D0DDB8C03005A3498 /* Debug.h */,
				48D5795E0DDB8C03005A3498 /* DebugLevel.h */,
				48FFCFC80DD35DA900805659 /* Platform.h */,
				4856DF740DCF95B8000BF47C /* BrowserChannel.h */,
				4856DF750DCF95B8000BF47C /* HostChannel.cpp */,
				4856DF760DCF95B8000BF47C /* HostChannel.h */,
				4856DF770DCF95B8000BF47C /* InvokeMessage.cpp */,
				4856DF780DCF95B8000BF47C /* InvokeMessage.h */,
				4856DF790DCF95B8000BF47C /* LoadModuleMessage.cpp */,
				4856DF7A0DCF95B8000BF47C /* LoadModuleMessage.h */,
				4856DF7D0DCF95B8000BF47C /* Message.h */,
				4856DF7E0DCF95B8000BF47C /* QuitMessage.h */,
				4856DF7F0DCF95B8000BF47C /* ReturnMessage.cpp */,
				4856DF800DCF95B8000BF47C /* ReturnMessage.h */,
				4856DF810DCF95B8000BF47C /* scoped_ptr */,
				4856DF840DCF95B8000BF47C /* ServerMethods.cpp */,
				4856DF850DCF95B8000BF47C /* ServerMethods.h */,
				4856DF860DCF95B8000BF47C /* SessionHandler.h */,
				4856DF880DCF95B8000BF47C /* Value.h */,
				45283764103BCCB100153ABF /* CheckVersionsMessage.cpp */,
			);
			name = common;
			path = ../common;
			sourceTree = SOURCE_ROOT;
		};
		4856DF810DCF95B8000BF47C /* scoped_ptr */ = {
			isa = PBXGroup;
			children = (
				4856DF820DCF95B8000BF47C /* README.google */,
				4856DF830DCF95B8000BF47C /* scoped_ptr.h */,
			);
			name = scoped_ptr;
			path = ../common/scoped_ptr;
			sourceTree = SOURCE_ROOT;
		};
		4856DFFA0DCFAEBC000BF47C /* Core */ = {
			isa = PBXGroup;
			children = (
				48ABDDC30DCBA04800B0159A /* WebScriptSessionHandler.h */,
				48ABDDC40DCBA04800B0159A /* WebScriptSessionHandler.cpp */,
				48ABDDC80DCBA09D00B0159A /* TrackingData.h */,
				48ABE1050DCBB67600B0159A /* SessionData.h */,
				48EF692B0E318E200050F5D6 /* ObjectFunctions.h */,
				48EF692C0E318E200050F5D6 /* ObjectFunctions.cpp */,
			);
			path = Core;
			sourceTree = "<group>";
		};
		4856DFFB0DCFAEFD000BF47C /* Plugin */ = {
			isa = PBXGroup;
			children = (
				485CD0A90DDDEAF300AEE666 /* Debug.mm */,
				48FD988E0DC62E7400E011A2 /* OophmPlugin.h */,
				48FD988F0DC62E7400E011A2 /* OophmPlugin.mm */,
				48FD99520DC6349F00E011A2 /* OophmWebScriptObject.h */,
				485505EB0DCD475C0009536F /* SlowScriptProxy.h */,
				48FD99530DC6349F00E011A2 /* OophmWebScriptObject.mm */,
				485505EC0DCD475C0009536F /* SlowScriptProxy.m */,
				48FD989B0DC62F8800E011A2 /* WebFrameNonTigerHeaders.h */,
				48547F490DD88D110047AC8A /* NSMutableString+HtmlReplacement.h */,
				48547F4A0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m */,
			);
			path = Plugin;
			sourceTree = "<group>";
		};
		48A23B9D0DD0E57E004EF5CA /* Browser */ = {
			isa = PBXGroup;
			children = (
				48A23C760DD0F545004EF5CA /* BrowserWindow.h */,
				48A23C770DD0F545004EF5CA /* BrowserWindow.m */,
				48A23C500DD0F2D6004EF5CA /* Browser-Info.plist */,
				48A23BB40DD0E688004EF5CA /* AppController.h */,
				48A23BB50DD0E688004EF5CA /* AppController.m */,
				48A23BB60DD0E688004EF5CA /* main.m */,
				48A23BC50DD0E6EE004EF5CA /* browser.nib */,
			);
			path = Browser;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		48A23BA10DD0E5B4004EF5CA /* Browser */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 48A23BA70DD0E5B5004EF5CA /* Build configuration list for PBXNativeTarget "Browser" */;
			buildPhases = (
				48A23B9E0DD0E5B4004EF5CA /* Resources */,
				48A23B9F0DD0E5B4004EF5CA /* Sources */,
				48A23BA00DD0E5B4004EF5CA /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				485CD0C50DDDED1700AEE666 /* PBXTargetDependency */,
			);
			name = Browser;
			productName = Browser;
			productReference = 48A23BA20DD0E5B4004EF5CA /* Browser.app */;
			productType = "com.apple.product-type.application";
		};
		8D5B49AC048680CD000E48DA /* gwt-dev */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "gwt-dev" */;
			buildPhases = (
				8D5B49AF048680CD000E48DA /* Resources */,
				8D5B49B1048680CD000E48DA /* Sources */,
				8D5B49B3048680CD000E48DA /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "gwt-dev";
			productInstallPath = "$(HOME)/Library/Bundles";
			productName = oophm;
			productReference = 8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */;
			productType = "com.apple.product-type.bundle";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		089C1669FE841209C02AAC07 /* Project object */ = {
			isa = PBXProject;
			buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "oophm" */;
			compatibilityVersion = "Xcode 3.1";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				en,
			);
			mainGroup = 089C166AFE841209C02AAC07 /* oophm */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				48A23BA10DD0E5B4004EF5CA /* Browser */,
				8D5B49AC048680CD000E48DA /* gwt-dev */,
				48547E030DD882170047AC8A /* symlinks */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		48A23B9E0DD0E5B4004EF5CA /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				48A23BC60DD0E6EE004EF5CA /* browser.nib in Resources */,
				48A23C510DD0F2D6004EF5CA /* Browser-Info.plist in Resources */,
				48A23C530DD0F302004EF5CA /* gwtlogo.icns in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8D5B49AF048680CD000E48DA /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */,
				48C4D72E0DCA2B6900C34919 /* gwtlogo.icns in Resources */,
				4856DF8F0DCF95B8000BF47C /* README.google in Resources */,
				486DA8F50DD22BD50065980B /* crash.html in Resources */,
				48338DDF0E4A2CA7008ACF0F /* oophm_bypass.plist in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		48547E020DD882170047AC8A /* Make symlink */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"$(BUILT_PRODUCTS_DIR)/{$PluginShortName}.webplugin",
			);
			name = "Make symlink";
			outputPaths = (
				"$(USER_LIBRARY_DIR)/Internet Plug-Ins/${PluginShortName}.webplugin/Contents",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "set -x\nrm -r \"${USER_LIBRARY_DIR}/Internet Plug-Ins/${PluginShortName}.webplugin\"\nln -sf \"${BUILT_PRODUCTS_DIR}/${PluginShortName}.webplugin\" \"${USER_LIBRARY_DIR}/Internet Plug-Ins/.\"";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		48A23B9F0DD0E5B4004EF5CA /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				480DDCAA0E381E22000711F4 /* AppController.m in Sources */,
				480DDCAB0E381E23000711F4 /* BrowserWindow.m in Sources */,
				480DDCAC0E381E28000711F4 /* main.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8D5B49B1048680CD000E48DA /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				48FD98900DC62E7400E011A2 /* OophmPlugin.mm in Sources */,
				48FD99540DC6349F00E011A2 /* OophmWebScriptObject.mm in Sources */,
				48ABDDC50DCBA04800B0159A /* WebScriptSessionHandler.cpp in Sources */,
				485505ED0DCD475C0009536F /* SlowScriptProxy.m in Sources */,
				4856DF890DCF95B8000BF47C /* HostChannel.cpp in Sources */,
				4856DF8A0DCF95B8000BF47C /* InvokeMessage.cpp in Sources */,
				4856DF8B0DCF95B8000BF47C /* LoadModuleMessage.cpp in Sources */,
				4856DF8E0DCF95B8000BF47C /* ReturnMessage.cpp in Sources */,
				4856DF900DCF95B8000BF47C /* ServerMethods.cpp in Sources */,
				48420D410DD51A3D001F3839 /* GTMNSString+HTML.m in Sources */,
				48547F000DD889DA0047AC8A /* GTMSystemVersion.m in Sources */,
				48547F4B0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m in Sources */,
				485CD0AA0DDDEAF300AEE666 /* Debug.mm in Sources */,
				48108DDF0E2C15BD007FA76C /* AllowedConnections.cpp in Sources */,
				48108DE00E2C15BD007FA76C /* Socket.cpp in Sources */,
				48EF692D0E318E200050F5D6 /* ObjectFunctions.cpp in Sources */,
				48C9EA4A0E37863700E691C6 /* FreeValueMessage.cpp in Sources */,
				48C9EA4B0E37863700E691C6 /* InvokeSpecialMessage.cpp in Sources */,
				48C9EA4C0E37863700E691C6 /* LoadJsniMessage.cpp in Sources */,
				45283765103BCCB100153ABF /* CheckVersionsMessage.cpp in Sources */,
				4528376F103BCCDF00153ABF /* ChooseTransportMessage.cpp in Sources */,
				45283770103BCCDF00153ABF /* FatalErrorMessage.cpp in Sources */,
				45283771103BCCDF00153ABF /* ProtocolVersionMessage.cpp in Sources */,
				45283772103BCCDF00153ABF /* SwitchTransportMessage.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		48547E070DD8821D0047AC8A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8D5B49AC048680CD000E48DA /* gwt-dev */;
			targetProxy = 48547E060DD8821D0047AC8A /* PBXContainerItemProxy */;
		};
		485CD0C50DDDED1700AEE666 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 48547E030DD882170047AC8A /* symlinks */;
			targetProxy = 485CD0C40DDDED1700AEE666 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				089C167EFE841241C02AAC07 /* English */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
		486DA8F40DD22BD50065980B /* crash.html */ = {
			isa = PBXVariantGroup;
			children = (
				486DA8ED0DD22B850065980B /* English */,
			);
			name = crash.html;
			path = Plugin;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		1DEB913B08733D840010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/GTM/build/TigerOrLater-Release\"";
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_ENABLE_FIX_AND_CONTINUE = YES;
				GCC_MODEL_TUNING = G5;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = oophm_Prefix.pch;
				GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
				GCC_WARN_PEDANTIC = NO;
				INFOPLIST_FILE = Info.plist;
				INSTALL_PATH = "$(HOME)/Library/Bundles";
				PRODUCT_NAME = "${PluginShortName}";
				SDKROOT = macosx10.6;
				WRAPPER_EXTENSION = webplugin;
				ZERO_LINK = YES;
			};
			name = Debug;
		};
		1DEB913C08733D840010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/GTM/build/TigerOrLater-Release\"";
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
				GCC_MODEL_TUNING = G5;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = oophm_Prefix.pch;
				GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
				GCC_WARN_PEDANTIC = NO;
				INFOPLIST_FILE = Info.plist;
				INSTALL_PATH = "$(HOME)/Library/Bundles";
				PRODUCT_NAME = "${PluginShortName}";
				SDKROOT = macosx10.6;
				STRIP_INSTALLED_PRODUCT = YES;
				STRIP_STYLE = "non-global";
				WRAPPER_EXTENSION = webplugin;
			};
			name = Release;
		};
		1DEB913F08733D840010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = "GWT_DEBUGLEVEL=Debugging";
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				OTHER_CFLAGS = "-mmacosx-version-min=10.5";
				PREBINDING = NO;
				PluginShortName = "gwt-dev";
				SDKROOT = macosx10.5;
				STRIP_INSTALLED_PRODUCT = NO;
				STRIP_STYLE = "non-global";
				SYMROOT = build;
			};
			name = Debug;
		};
		1DEB914008733D840010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_OPTIMIZATION_LEVEL = 3;
				GCC_PREPROCESSOR_DEFINITIONS = GWT_DEBUGDISABLE;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				OTHER_CFLAGS = "-mmacosx-version-min=10.5";
				PREBINDING = NO;
				PluginShortName = "gwt-dev";
				SDKROOT = macosx10.5;
				STRIP_STYLE = "non-global";
				SYMROOT = build;
			};
			name = Release;
		};
		48547E040DD882170047AC8A /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				PRODUCT_NAME = "${PluginShortName}.symlinks";
				SDKROOT = macosx10.6;
			};
			name = Debug;
		};
		48547E050DD882170047AC8A /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_ENABLE_FIX_AND_CONTINUE = NO;
				PRODUCT_NAME = "${PluginShortName}.symlinks";
				SDKROOT = macosx10.6;
				ZERO_LINK = NO;
			};
			name = Release;
		};
		48A23BA50DD0E5B5004EF5CA /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_ENABLE_FIX_AND_CONTINUE = YES;
				GCC_MODEL_TUNING = G5;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = oophm_Prefix.pch;
				INFOPLIST_FILE = "Browser/Browser-Info.plist";
				INSTALL_PATH = "$(HOME)/Applications";
				OTHER_LDFLAGS = (
					"-framework",
					Foundation,
					"-framework",
					AppKit,
				);
				PREBINDING = NO;
				PRODUCT_NAME = Browser;
				SDKROOT = macosx10.6;
				WRAPPER_EXTENSION = app;
				ZERO_LINK = YES;
			};
			name = Debug;
		};
		48A23BA60DD0E5B5004EF5CA /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = (
					i386,
					ppc,
				);
				COPY_PHASE_STRIP = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_ENABLE_FIX_AND_CONTINUE = NO;
				GCC_MODEL_TUNING = G5;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = oophm_Prefix.pch;
				INFOPLIST_FILE = "Browser/Browser-Info.plist";
				INSTALL_PATH = "$(HOME)/Applications";
				OTHER_LDFLAGS = (
					"-framework",
					Foundation,
					"-framework",
					AppKit,
				);
				PREBINDING = NO;
				PRODUCT_NAME = Browser;
				SDKROOT = macosx10.6;
				STRIP_INSTALLED_PRODUCT = YES;
				STRIP_STYLE = "non-global";
				VALID_ARCHS = "ppc64 ppc7400 ppc970 i386 x86_64 ppc";
				WRAPPER_EXTENSION = app;
				ZERO_LINK = NO;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "gwt-dev" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB913B08733D840010E9CD /* Debug */,
				1DEB913C08733D840010E9CD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "oophm" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB913F08733D840010E9CD /* Debug */,
				1DEB914008733D840010E9CD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		48547E080DD8823B0047AC8A /* Build configuration list for PBXAggregateTarget "symlinks" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				48547E040DD882170047AC8A /* Debug */,
				48547E050DD882170047AC8A /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		48A23BA70DD0E5B5004EF5CA /* Build configuration list for PBXNativeTarget "Browser" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				48A23BA50DD0E5B5004EF5CA /* Debug */,
				48A23BA60DD0E5B5004EF5CA /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 089C1669FE841209C02AAC07 /* Project object */;
}
