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

/* Begin PBXBuildFile section */
		70BD673E18FF9DAE00A1EFCF /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70BD673D18FF9DAE00A1EFCF /* Cocoa.framework */; };
		70BD679718FFA12D00A1EFCF /* CDVBridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD676F18FFA12D00A1EFCF /* CDVBridge.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD679818FFA12D00A1EFCF /* CDVBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD677018FFA12D00A1EFCF /* CDVBridge.m */; };
		70BD679918FFA12D00A1EFCF /* CDVViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD677118FFA12D00A1EFCF /* CDVViewController.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD679A18FFA12D00A1EFCF /* CDVViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD677218FFA12D00A1EFCF /* CDVViewController.m */; };
		70BD679B18FFA12D00A1EFCF /* CDVWebViewDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD677318FFA12D00A1EFCF /* CDVWebViewDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD679C18FFA12D00A1EFCF /* CDVWebViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD677418FFA12D00A1EFCF /* CDVWebViewDelegate.m */; };
		70BD679D18FFA12D00A1EFCF /* CDV.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD677618FFA12D00A1EFCF /* CDV.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD679E18FFA12D00A1EFCF /* CDVAvailability.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD677718FFA12D00A1EFCF /* CDVAvailability.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD679F18FFA12D00A1EFCF /* CDVCommandDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD677818FFA12D00A1EFCF /* CDVCommandDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD67A018FFA12D00A1EFCF /* CDVCommandDelegateImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD677918FFA12D00A1EFCF /* CDVCommandDelegateImpl.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD67A118FFA12D00A1EFCF /* CDVCommandDelegateImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD677A18FFA12D00A1EFCF /* CDVCommandDelegateImpl.m */; };
		70BD67A218FFA12D00A1EFCF /* CDVCommandQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD677B18FFA12D00A1EFCF /* CDVCommandQueue.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD67A318FFA12D00A1EFCF /* CDVCommandQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD677C18FFA12D00A1EFCF /* CDVCommandQueue.m */; };
		70BD67A418FFA12D00A1EFCF /* CDVConfigParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD677D18FFA12D00A1EFCF /* CDVConfigParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD67A518FFA12D00A1EFCF /* CDVConfigParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD677E18FFA12D00A1EFCF /* CDVConfigParser.m */; };
		70BD67A818FFA12D00A1EFCF /* CDVConsole.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD678118FFA12D00A1EFCF /* CDVConsole.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD67A918FFA12D00A1EFCF /* CDVConsole.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD678218FFA12D00A1EFCF /* CDVConsole.m */; };
		70BD67AA18FFA12D00A1EFCF /* CDVDebug.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD678318FFA12D00A1EFCF /* CDVDebug.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD67AD18FFA12D00A1EFCF /* CDVInvokedUrlCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD678618FFA12D00A1EFCF /* CDVInvokedUrlCommand.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD67AE18FFA12D00A1EFCF /* CDVInvokedUrlCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD678718FFA12D00A1EFCF /* CDVInvokedUrlCommand.m */; };
		70BD67AF18FFA12D00A1EFCF /* CDVJSON.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD678818FFA12D00A1EFCF /* CDVJSON.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD67B018FFA12D00A1EFCF /* CDVJSON.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD678918FFA12D00A1EFCF /* CDVJSON.m */; };
		70BD67B118FFA12D00A1EFCF /* CDVPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD678A18FFA12D00A1EFCF /* CDVPlugin.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD67B218FFA12D00A1EFCF /* CDVPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD678B18FFA12D00A1EFCF /* CDVPlugin.m */; };
		70BD67B318FFA12D00A1EFCF /* CDVPluginResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD678C18FFA12D00A1EFCF /* CDVPluginResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD67B418FFA12D00A1EFCF /* CDVPluginResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD678D18FFA12D00A1EFCF /* CDVPluginResult.m */; };
		70BD67B718FFA12D00A1EFCF /* NSData+Base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD679118FFA12D00A1EFCF /* NSData+Base64.h */; settings = {ATTRIBUTES = (Public, ); }; };
		70BD67B818FFA12D00A1EFCF /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD679218FFA12D00A1EFCF /* NSData+Base64.m */; };
		70BD67B918FFA12D00A1EFCF /* NSWindow+Utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD679318FFA12D00A1EFCF /* NSWindow+Utils.h */; };
		70BD67BA18FFA12D00A1EFCF /* NSWindow+Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BD679418FFA12D00A1EFCF /* NSWindow+Utils.m */; };
		CC6A01B9AD6ECF2D913FF418 /* CDVWindowSizeCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = CC6A03B1971BACCB9183AEFE /* CDVWindowSizeCommand.h */; };
		CC6A03130738A1F299369195 /* CDVCursorMonitorService.m in Sources */ = {isa = PBXBuildFile; fileRef = CC6A07666A2CE3AE46F85AD6 /* CDVCursorMonitorService.m */; };
		CC6A051516599A029D1ECA50 /* CDVMainWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CC6A0F82EDAFA619D95D3392 /* CDVMainWindow.m */; };
		CC6A0567D3BA91121C2D643C /* CookieJar.m in Sources */ = {isa = PBXBuildFile; fileRef = CC6A01435C5B9099EA0BF004 /* CookieJar.m */; };
		CC6A060DFE3B49803140B568 /* CDVCursorMonitorService.h in Headers */ = {isa = PBXBuildFile; fileRef = CC6A08BE679E9B2A17CB995E /* CDVCursorMonitorService.h */; };
		CC6A061F0987401A5AB7FE69 /* NSScreen+Utils.h in Headers */ = {isa = PBXBuildFile; fileRef = CC6A00E23A9BC2910E28D36E /* NSScreen+Utils.h */; };
		CC6A07272E088962F187CA76 /* CookieJar.h in Headers */ = {isa = PBXBuildFile; fileRef = CC6A0412F2FA8BB2F08FEF21 /* CookieJar.h */; };
		CC6A07EE3FA39E9ED21FC2AD /* CDVWindowSizeCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = CC6A0DB9905DAB3A94C6BCC8 /* CDVWindowSizeCommand.m */; };
		CC6A0C2EAD9E57810677CE21 /* NSScreen+Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = CC6A01EC9D87C6FC66791911 /* NSScreen+Utils.m */; };
		CC6A0EC955BC7E3B3BF31EA3 /* CDVMainWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = CC6A04379104F7E27DB88C08 /* CDVMainWindow.h */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		70BD673A18FF9DAE00A1EFCF /* libCordova.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCordova.a; sourceTree = BUILT_PRODUCTS_DIR; };
		70BD673D18FF9DAE00A1EFCF /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
		70BD674018FF9DAE00A1EFCF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		70BD674118FF9DAE00A1EFCF /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
		70BD674218FF9DAE00A1EFCF /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
		70BD674518FF9DAE00A1EFCF /* CordovaLib-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CordovaLib-Prefix.pch"; sourceTree = "<group>"; };
		70BD674E18FF9DAE00A1EFCF /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
		70BD676F18FFA12D00A1EFCF /* CDVBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVBridge.h; sourceTree = "<group>"; };
		70BD677018FFA12D00A1EFCF /* CDVBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVBridge.m; sourceTree = "<group>"; };
		70BD677118FFA12D00A1EFCF /* CDVViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVViewController.h; sourceTree = "<group>"; };
		70BD677218FFA12D00A1EFCF /* CDVViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVViewController.m; sourceTree = "<group>"; };
		70BD677318FFA12D00A1EFCF /* CDVWebViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVWebViewDelegate.h; sourceTree = "<group>"; };
		70BD677418FFA12D00A1EFCF /* CDVWebViewDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVWebViewDelegate.m; sourceTree = "<group>"; };
		70BD677618FFA12D00A1EFCF /* CDV.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDV.h; sourceTree = "<group>"; };
		70BD677718FFA12D00A1EFCF /* CDVAvailability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVAvailability.h; sourceTree = "<group>"; };
		70BD677818FFA12D00A1EFCF /* CDVCommandDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVCommandDelegate.h; sourceTree = "<group>"; };
		70BD677918FFA12D00A1EFCF /* CDVCommandDelegateImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVCommandDelegateImpl.h; sourceTree = "<group>"; };
		70BD677A18FFA12D00A1EFCF /* CDVCommandDelegateImpl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVCommandDelegateImpl.m; sourceTree = "<group>"; };
		70BD677B18FFA12D00A1EFCF /* CDVCommandQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVCommandQueue.h; sourceTree = "<group>"; };
		70BD677C18FFA12D00A1EFCF /* CDVCommandQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVCommandQueue.m; sourceTree = "<group>"; };
		70BD677D18FFA12D00A1EFCF /* CDVConfigParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVConfigParser.h; sourceTree = "<group>"; };
		70BD677E18FFA12D00A1EFCF /* CDVConfigParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVConfigParser.m; sourceTree = "<group>"; };
		70BD678118FFA12D00A1EFCF /* CDVConsole.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVConsole.h; sourceTree = "<group>"; };
		70BD678218FFA12D00A1EFCF /* CDVConsole.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVConsole.m; sourceTree = "<group>"; };
		70BD678318FFA12D00A1EFCF /* CDVDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVDebug.h; sourceTree = "<group>"; };
		70BD678618FFA12D00A1EFCF /* CDVInvokedUrlCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVInvokedUrlCommand.h; sourceTree = "<group>"; };
		70BD678718FFA12D00A1EFCF /* CDVInvokedUrlCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVInvokedUrlCommand.m; sourceTree = "<group>"; };
		70BD678818FFA12D00A1EFCF /* CDVJSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVJSON.h; sourceTree = "<group>"; };
		70BD678918FFA12D00A1EFCF /* CDVJSON.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVJSON.m; sourceTree = "<group>"; };
		70BD678A18FFA12D00A1EFCF /* CDVPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVPlugin.h; sourceTree = "<group>"; };
		70BD678B18FFA12D00A1EFCF /* CDVPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVPlugin.m; sourceTree = "<group>"; };
		70BD678C18FFA12D00A1EFCF /* CDVPluginResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVPluginResult.h; sourceTree = "<group>"; };
		70BD678D18FFA12D00A1EFCF /* CDVPluginResult.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVPluginResult.m; sourceTree = "<group>"; };
		70BD679118FFA12D00A1EFCF /* NSData+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+Base64.h"; sourceTree = "<group>"; };
		70BD679218FFA12D00A1EFCF /* NSData+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+Base64.m"; sourceTree = "<group>"; };
		70BD679318FFA12D00A1EFCF /* NSWindow+Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSWindow+Utils.h"; sourceTree = "<group>"; };
		70BD679418FFA12D00A1EFCF /* NSWindow+Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSWindow+Utils.m"; sourceTree = "<group>"; };
		70DAA9241908E82600AF3749 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
		70E382C81909BBFF0029A2F0 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
		CC6A00E23A9BC2910E28D36E /* NSScreen+Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSScreen+Utils.h"; sourceTree = "<group>"; };
		CC6A01435C5B9099EA0BF004 /* CookieJar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CookieJar.m; sourceTree = "<group>"; };
		CC6A01EC9D87C6FC66791911 /* NSScreen+Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSScreen+Utils.m"; sourceTree = "<group>"; };
		CC6A03B1971BACCB9183AEFE /* CDVWindowSizeCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVWindowSizeCommand.h; sourceTree = "<group>"; };
		CC6A0412F2FA8BB2F08FEF21 /* CookieJar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CookieJar.h; sourceTree = "<group>"; };
		CC6A04147D67DAA53ABBFD7C /* Localizable.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; };
		CC6A04379104F7E27DB88C08 /* CDVMainWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVMainWindow.h; sourceTree = "<group>"; };
		CC6A07666A2CE3AE46F85AD6 /* CDVCursorMonitorService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVCursorMonitorService.m; sourceTree = "<group>"; };
		CC6A08BE679E9B2A17CB995E /* CDVCursorMonitorService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDVCursorMonitorService.h; sourceTree = "<group>"; };
		CC6A0DB9905DAB3A94C6BCC8 /* CDVWindowSizeCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVWindowSizeCommand.m; sourceTree = "<group>"; };
		CC6A0F82EDAFA619D95D3392 /* CDVMainWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDVMainWindow.m; sourceTree = "<group>"; };
/* End PBXFileReference section */

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

/* Begin PBXGroup section */
		70BD673118FF9DAE00A1EFCF = {
			isa = PBXGroup;
			children = (
				70BD674318FF9DAE00A1EFCF /* CordovaLib */,
				70BD673C18FF9DAE00A1EFCF /* Frameworks */,
				70BD673B18FF9DAE00A1EFCF /* Products */,
			);
			sourceTree = "<group>";
		};
		70BD673B18FF9DAE00A1EFCF /* Products */ = {
			isa = PBXGroup;
			children = (
				70BD673A18FF9DAE00A1EFCF /* libCordova.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		70BD673C18FF9DAE00A1EFCF /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				70E382C81909BBFF0029A2F0 /* SenTestingKit.framework */,
				70DAA9241908E82600AF3749 /* WebKit.framework */,
				70BD673D18FF9DAE00A1EFCF /* Cocoa.framework */,
				70BD674E18FF9DAE00A1EFCF /* XCTest.framework */,
				70BD673F18FF9DAE00A1EFCF /* Other Frameworks */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		70BD673F18FF9DAE00A1EFCF /* Other Frameworks */ = {
			isa = PBXGroup;
			children = (
				70BD674018FF9DAE00A1EFCF /* Foundation.framework */,
				70BD674118FF9DAE00A1EFCF /* CoreData.framework */,
				70BD674218FF9DAE00A1EFCF /* AppKit.framework */,
			);
			name = "Other Frameworks";
			sourceTree = "<group>";
		};
		70BD674318FF9DAE00A1EFCF /* CordovaLib */ = {
			isa = PBXGroup;
			children = (
				70BD676E18FFA12D00A1EFCF /* Classes */,
				70BD674418FF9DAE00A1EFCF /* Supporting Files */,
			);
			path = CordovaLib;
			sourceTree = "<group>";
		};
		70BD674418FF9DAE00A1EFCF /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				70BD674518FF9DAE00A1EFCF /* CordovaLib-Prefix.pch */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		70BD676E18FFA12D00A1EFCF /* Classes */ = {
			isa = PBXGroup;
			children = (
				70BD676F18FFA12D00A1EFCF /* CDVBridge.h */,
				70BD677018FFA12D00A1EFCF /* CDVBridge.m */,
				70BD677118FFA12D00A1EFCF /* CDVViewController.h */,
				70BD677218FFA12D00A1EFCF /* CDVViewController.m */,
				70BD677318FFA12D00A1EFCF /* CDVWebViewDelegate.h */,
				70BD677418FFA12D00A1EFCF /* CDVWebViewDelegate.m */,
				70BD677518FFA12D00A1EFCF /* Commands */,
				70BD679018FFA12D00A1EFCF /* Utils */,
				CC6A04379104F7E27DB88C08 /* CDVMainWindow.h */,
				CC6A0F82EDAFA619D95D3392 /* CDVMainWindow.m */,
				CC6A01435C5B9099EA0BF004 /* CookieJar.m */,
				CC6A0412F2FA8BB2F08FEF21 /* CookieJar.h */,
				CC6A04147D67DAA53ABBFD7C /* Localizable.strings */,
			);
			path = Classes;
			sourceTree = "<group>";
		};
		70BD677518FFA12D00A1EFCF /* Commands */ = {
			isa = PBXGroup;
			children = (
				70BD677618FFA12D00A1EFCF /* CDV.h */,
				70BD677718FFA12D00A1EFCF /* CDVAvailability.h */,
				70BD677818FFA12D00A1EFCF /* CDVCommandDelegate.h */,
				70BD677918FFA12D00A1EFCF /* CDVCommandDelegateImpl.h */,
				70BD677A18FFA12D00A1EFCF /* CDVCommandDelegateImpl.m */,
				70BD677B18FFA12D00A1EFCF /* CDVCommandQueue.h */,
				70BD677C18FFA12D00A1EFCF /* CDVCommandQueue.m */,
				70BD677D18FFA12D00A1EFCF /* CDVConfigParser.h */,
				70BD677E18FFA12D00A1EFCF /* CDVConfigParser.m */,
				70BD678118FFA12D00A1EFCF /* CDVConsole.h */,
				70BD678218FFA12D00A1EFCF /* CDVConsole.m */,
				70BD678318FFA12D00A1EFCF /* CDVDebug.h */,
				70BD678618FFA12D00A1EFCF /* CDVInvokedUrlCommand.h */,
				70BD678718FFA12D00A1EFCF /* CDVInvokedUrlCommand.m */,
				70BD678818FFA12D00A1EFCF /* CDVJSON.h */,
				70BD678918FFA12D00A1EFCF /* CDVJSON.m */,
				70BD678A18FFA12D00A1EFCF /* CDVPlugin.h */,
				70BD678B18FFA12D00A1EFCF /* CDVPlugin.m */,
				70BD678C18FFA12D00A1EFCF /* CDVPluginResult.h */,
				70BD678D18FFA12D00A1EFCF /* CDVPluginResult.m */,
				CC6A0DB9905DAB3A94C6BCC8 /* CDVWindowSizeCommand.m */,
				CC6A03B1971BACCB9183AEFE /* CDVWindowSizeCommand.h */,
				CC6A08BE679E9B2A17CB995E /* CDVCursorMonitorService.h */,
				CC6A07666A2CE3AE46F85AD6 /* CDVCursorMonitorService.m */,
			);
			path = Commands;
			sourceTree = "<group>";
		};
		70BD679018FFA12D00A1EFCF /* Utils */ = {
			isa = PBXGroup;
			children = (
				70BD679118FFA12D00A1EFCF /* NSData+Base64.h */,
				70BD679218FFA12D00A1EFCF /* NSData+Base64.m */,
				70BD679318FFA12D00A1EFCF /* NSWindow+Utils.h */,
				70BD679418FFA12D00A1EFCF /* NSWindow+Utils.m */,
				CC6A01EC9D87C6FC66791911 /* NSScreen+Utils.m */,
				CC6A00E23A9BC2910E28D36E /* NSScreen+Utils.h */,
			);
			path = Utils;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		70BD673818FF9DAE00A1EFCF /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				70BD67A218FFA12D00A1EFCF /* CDVCommandQueue.h in Headers */,
				70BD67A418FFA12D00A1EFCF /* CDVConfigParser.h in Headers */,
				70BD679D18FFA12D00A1EFCF /* CDV.h in Headers */,
				70BD67AD18FFA12D00A1EFCF /* CDVInvokedUrlCommand.h in Headers */,
				70BD679718FFA12D00A1EFCF /* CDVBridge.h in Headers */,
				70BD67AF18FFA12D00A1EFCF /* CDVJSON.h in Headers */,
				70BD67AA18FFA12D00A1EFCF /* CDVDebug.h in Headers */,
				70BD679B18FFA12D00A1EFCF /* CDVWebViewDelegate.h in Headers */,
				70BD67A818FFA12D00A1EFCF /* CDVConsole.h in Headers */,
				70BD67B718FFA12D00A1EFCF /* NSData+Base64.h in Headers */,
				70BD679F18FFA12D00A1EFCF /* CDVCommandDelegate.h in Headers */,
				70BD679E18FFA12D00A1EFCF /* CDVAvailability.h in Headers */,
				70BD679918FFA12D00A1EFCF /* CDVViewController.h in Headers */,
				70BD67B118FFA12D00A1EFCF /* CDVPlugin.h in Headers */,
				70BD67B318FFA12D00A1EFCF /* CDVPluginResult.h in Headers */,
				70BD67A018FFA12D00A1EFCF /* CDVCommandDelegateImpl.h in Headers */,
				70BD67B918FFA12D00A1EFCF /* NSWindow+Utils.h in Headers */,
				CC6A01B9AD6ECF2D913FF418 /* CDVWindowSizeCommand.h in Headers */,
				CC6A061F0987401A5AB7FE69 /* NSScreen+Utils.h in Headers */,
				CC6A060DFE3B49803140B568 /* CDVCursorMonitorService.h in Headers */,
				CC6A0EC955BC7E3B3BF31EA3 /* CDVMainWindow.h in Headers */,
				CC6A07272E088962F187CA76 /* CookieJar.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		70BD673918FF9DAE00A1EFCF /* Cordova */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 70BD675E18FF9DAE00A1EFCF /* Build configuration list for PBXNativeTarget "Cordova" */;
			buildPhases = (
				70BD673618FF9DAE00A1EFCF /* Sources */,
				70BD673718FF9DAE00A1EFCF /* Frameworks */,
				70BD673818FF9DAE00A1EFCF /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = Cordova;
			productName = CordovaLib;
			productReference = 70BD673A18FF9DAE00A1EFCF /* libCordova.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		70BD673218FF9DAE00A1EFCF /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0510;
				ORGANIZATIONNAME = "Apache Software Foundation";
			};
			buildConfigurationList = 70BD673518FF9DAE00A1EFCF /* Build configuration list for PBXProject "CordovaLib" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 70BD673118FF9DAE00A1EFCF;
			productRefGroup = 70BD673B18FF9DAE00A1EFCF /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				70BD673918FF9DAE00A1EFCF /* Cordova */,
			);
		};
/* End PBXProject section */

/* Begin PBXSourcesBuildPhase section */
		70BD673618FF9DAE00A1EFCF /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				70BD67A918FFA12D00A1EFCF /* CDVConsole.m in Sources */,
				70BD67A118FFA12D00A1EFCF /* CDVCommandDelegateImpl.m in Sources */,
				70BD67AE18FFA12D00A1EFCF /* CDVInvokedUrlCommand.m in Sources */,
				70BD67B018FFA12D00A1EFCF /* CDVJSON.m in Sources */,
				70BD67A318FFA12D00A1EFCF /* CDVCommandQueue.m in Sources */,
				70BD67B818FFA12D00A1EFCF /* NSData+Base64.m in Sources */,
				70BD679C18FFA12D00A1EFCF /* CDVWebViewDelegate.m in Sources */,
				70BD679818FFA12D00A1EFCF /* CDVBridge.m in Sources */,
				70BD67A518FFA12D00A1EFCF /* CDVConfigParser.m in Sources */,
				70BD679A18FFA12D00A1EFCF /* CDVViewController.m in Sources */,
				70BD67B218FFA12D00A1EFCF /* CDVPlugin.m in Sources */,
				70BD67BA18FFA12D00A1EFCF /* NSWindow+Utils.m in Sources */,
				70BD67B418FFA12D00A1EFCF /* CDVPluginResult.m in Sources */,
				CC6A07EE3FA39E9ED21FC2AD /* CDVWindowSizeCommand.m in Sources */,
				CC6A0C2EAD9E57810677CE21 /* NSScreen+Utils.m in Sources */,
				CC6A03130738A1F299369195 /* CDVCursorMonitorService.m in Sources */,
				CC6A051516599A029D1ECA50 /* CDVMainWindow.m in Sources */,
				CC6A0567D3BA91121C2D643C /* CookieJar.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		70BD675C18FF9DAE00A1EFCF /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				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_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				ONLY_ACTIVE_ARCH = YES;
				PRODUCT_NAME = Cordova;
				PUBLIC_HEADERS_FOLDER_PATH = include/Cordova;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		70BD675D18FF9DAE00A1EFCF /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				PRODUCT_NAME = Cordova;
				PUBLIC_HEADERS_FOLDER_PATH = include/Cordova;
				SDKROOT = macosx;
			};
			name = Release;
		};
		70BD675F18FF9DAE00A1EFCF /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "CordovaLib/CordovaLib-Prefix.pch";
				PRIVATE_HEADERS_FOLDER_PATH = "$(PUBLIC_HEADERS_FOLDER_PATH)/Private";
				PRODUCT_NAME = "$(TARGET_NAME)";
				PUBLIC_HEADERS_FOLDER_PATH = "include/$(TARGET_NAME)";
				SKIP_INSTALL = YES;
			};
			name = Debug;
		};
		70BD676018FF9DAE00A1EFCF /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "CordovaLib/CordovaLib-Prefix.pch";
				PRIVATE_HEADERS_FOLDER_PATH = "$(PUBLIC_HEADERS_FOLDER_PATH)/Private";
				PRODUCT_NAME = "$(TARGET_NAME)";
				PUBLIC_HEADERS_FOLDER_PATH = "include/$(TARGET_NAME)";
				SKIP_INSTALL = YES;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		70BD673518FF9DAE00A1EFCF /* Build configuration list for PBXProject "CordovaLib" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				70BD675C18FF9DAE00A1EFCF /* Debug */,
				70BD675D18FF9DAE00A1EFCF /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		70BD675E18FF9DAE00A1EFCF /* Build configuration list for PBXNativeTarget "Cordova" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				70BD675F18FF9DAE00A1EFCF /* Debug */,
				70BD676018FF9DAE00A1EFCF /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 70BD673218FF9DAE00A1EFCF /* Project object */;
}
