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

/* Begin PBXBuildFile section */
		C05BE8D32549EFDA00554B94 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C05BE8BD2549EFDA00554B94 /* Assets.xcassets */; };
		C05BE8FA2549F07A00554B94 /* SwiftUIExtras.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE8E12549F02200554B94 /* SwiftUIExtras.swift */; };
		C05BE8FB2549F07A00554B94 /* WebViewState.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE8E52549F02200554B94 /* WebViewState.swift */; };
		C05BE8FC2549F07A00554B94 /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE8E42549F02200554B94 /* WebView.swift */; };
		C05BE8FD2549F07A00554B94 /* JavaScriptDialogs.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE8E32549F02200554B94 /* JavaScriptDialogs.swift */; };
		C05BE8FE2549F07A00554B94 /* Navigation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE8DF2549F02200554B94 /* Navigation.swift */; };
		C05BE8FF2549F07A00554B94 /* Dialog.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE8E62549F02200554B94 /* Dialog.swift */; };
		C05BE9002549F07A00554B94 /* WebViewModifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE8E02549F02200554B94 /* WebViewModifiers.swift */; };
		C05BE91C2549F1B000554B94 /* BrowserScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE9172549F1B000554B94 /* BrowserScene.swift */; };
		C05BE91E2549F1B000554B94 /* URLField.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE9182549F1B000554B94 /* URLField.swift */; };
		C05BE9202549F1B000554B94 /* BrowserTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE9192549F1B000554B94 /* BrowserTab.swift */; };
		C05BE9222549F1B000554B94 /* BrowserApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE91A2549F1B000554B94 /* BrowserApp.swift */; };
		C05BE92E2549F1F700554B94 /* FoundationExtras.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05BE92A2549F1F700554B94 /* FoundationExtras.swift */; };
		C05BE9442549F25400554B94 /* WebKit_SwiftUI.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = C05BE9422549F25400554B94 /* WebKit_SwiftUI.xcconfig */; };
		C05BE97F2549F83900554B94 /* _WebKit_SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C05BE8EC2549F05300554B94 /* _WebKit_SwiftUI.framework */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		C05BE8BD2549EFDA00554B94 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
		C05BE8C52549EFDA00554B94 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		C05BE8CA2549EFDA00554B94 /* MiniBrowserSwiftUI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MiniBrowserSwiftUI.app; sourceTree = BUILT_PRODUCTS_DIR; };
		C05BE8CC2549EFDA00554B94 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		C05BE8CD2549EFDA00554B94 /* macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = macOS.entitlements; sourceTree = "<group>"; };
		C05BE8DF2549F02200554B94 /* Navigation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Navigation.swift; sourceTree = "<group>"; };
		C05BE8E02549F02200554B94 /* WebViewModifiers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebViewModifiers.swift; sourceTree = "<group>"; };
		C05BE8E12549F02200554B94 /* SwiftUIExtras.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUIExtras.swift; sourceTree = "<group>"; };
		C05BE8E22549F02200554B94 /* WebKit_SwiftUI-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "WebKit_SwiftUI-Info.plist"; sourceTree = "<group>"; };
		C05BE8E32549F02200554B94 /* JavaScriptDialogs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JavaScriptDialogs.swift; sourceTree = "<group>"; };
		C05BE8E42549F02200554B94 /* WebView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = "<group>"; };
		C05BE8E52549F02200554B94 /* WebViewState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebViewState.swift; sourceTree = "<group>"; };
		C05BE8E62549F02200554B94 /* Dialog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dialog.swift; sourceTree = "<group>"; };
		C05BE8EC2549F05300554B94 /* _WebKit_SwiftUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = _WebKit_SwiftUI.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		C05BE9172549F1B000554B94 /* BrowserScene.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BrowserScene.swift; sourceTree = "<group>"; };
		C05BE9182549F1B000554B94 /* URLField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = URLField.swift; sourceTree = "<group>"; };
		C05BE9192549F1B000554B94 /* BrowserTab.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BrowserTab.swift; sourceTree = "<group>"; };
		C05BE91A2549F1B000554B94 /* BrowserApp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BrowserApp.swift; sourceTree = "<group>"; };
		C05BE92A2549F1F700554B94 /* FoundationExtras.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FoundationExtras.swift; sourceTree = "<group>"; };
		C05BE9412549F24700554B94 /* MiniBrowserSwiftUI.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = MiniBrowserSwiftUI.xcconfig; sourceTree = "<group>"; };
		C05BE9422549F25400554B94 /* WebKit_SwiftUI.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebKit_SwiftUI.xcconfig; sourceTree = "<group>"; };
		C05BE94B2549F26B00554B94 /* Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
		C05BE94C2549F27500554B94 /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
		C05BE9562549F2FF00554B94 /* Base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		C05BE8C72549EFDA00554B94 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				C05BE97F2549F83900554B94 /* _WebKit_SwiftUI.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		C05BE8E92549F05300554B94 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		C05BE8B52549EFD900554B94 = {
			isa = PBXGroup;
			children = (
				C05BE93F2549F22700554B94 /* Configurations */,
				C05BE8BA2549EFD900554B94 /* Shared */,
				C05BE8C42549EFDA00554B94 /* iOS */,
				C05BE8CB2549EFDA00554B94 /* macOS */,
				C05BE8DE2549F02200554B94 /* WebKit_SwiftUI */,
				C05BE8C32549EFDA00554B94 /* Products */,
			);
			sourceTree = "<group>";
		};
		C05BE8BA2549EFD900554B94 /* Shared */ = {
			isa = PBXGroup;
			children = (
				C05BE8BD2549EFDA00554B94 /* Assets.xcassets */,
				C05BE91A2549F1B000554B94 /* BrowserApp.swift */,
				C05BE9172549F1B000554B94 /* BrowserScene.swift */,
				C05BE9192549F1B000554B94 /* BrowserTab.swift */,
				C05BE92A2549F1F700554B94 /* FoundationExtras.swift */,
				C05BE9182549F1B000554B94 /* URLField.swift */,
			);
			path = Shared;
			sourceTree = "<group>";
		};
		C05BE8C32549EFDA00554B94 /* Products */ = {
			isa = PBXGroup;
			children = (
				C05BE8EC2549F05300554B94 /* _WebKit_SwiftUI.framework */,
				C05BE8CA2549EFDA00554B94 /* MiniBrowserSwiftUI.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		C05BE8C42549EFDA00554B94 /* iOS */ = {
			isa = PBXGroup;
			children = (
				C05BE8C52549EFDA00554B94 /* Info.plist */,
			);
			path = iOS;
			sourceTree = "<group>";
		};
		C05BE8CB2549EFDA00554B94 /* macOS */ = {
			isa = PBXGroup;
			children = (
				C05BE8CC2549EFDA00554B94 /* Info.plist */,
				C05BE8CD2549EFDA00554B94 /* macOS.entitlements */,
			);
			path = macOS;
			sourceTree = "<group>";
		};
		C05BE8DE2549F02200554B94 /* WebKit_SwiftUI */ = {
			isa = PBXGroup;
			children = (
				C05BE8E62549F02200554B94 /* Dialog.swift */,
				C05BE8E32549F02200554B94 /* JavaScriptDialogs.swift */,
				C05BE8DF2549F02200554B94 /* Navigation.swift */,
				C05BE8E12549F02200554B94 /* SwiftUIExtras.swift */,
				C05BE8E22549F02200554B94 /* WebKit_SwiftUI-Info.plist */,
				C05BE8E42549F02200554B94 /* WebView.swift */,
				C05BE8E02549F02200554B94 /* WebViewModifiers.swift */,
				C05BE8E52549F02200554B94 /* WebViewState.swift */,
			);
			path = WebKit_SwiftUI;
			sourceTree = "<group>";
		};
		C05BE93F2549F22700554B94 /* Configurations */ = {
			isa = PBXGroup;
			children = (
				C05BE9562549F2FF00554B94 /* Base.xcconfig */,
				C05BE94B2549F26B00554B94 /* Debug.xcconfig */,
				C05BE9412549F24700554B94 /* MiniBrowserSwiftUI.xcconfig */,
				C05BE94C2549F27500554B94 /* Release.xcconfig */,
				C05BE9422549F25400554B94 /* WebKit_SwiftUI.xcconfig */,
			);
			path = Configurations;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		C05BE8E72549F05300554B94 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		C05BE8C92549EFDA00554B94 /* MiniBrowserSwiftUI */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = C05BE8D92549EFDA00554B94 /* Build configuration list for PBXNativeTarget "MiniBrowserSwiftUI" */;
			buildPhases = (
				C05BE8C62549EFDA00554B94 /* Sources */,
				C05BE8C72549EFDA00554B94 /* Frameworks */,
				C05BE8C82549EFDA00554B94 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = MiniBrowserSwiftUI;
			productName = "MiniBrowserSwiftUI (macOS)";
			productReference = C05BE8CA2549EFDA00554B94 /* MiniBrowserSwiftUI.app */;
			productType = "com.apple.product-type.application";
		};
		C05BE8EB2549F05300554B94 /* _WebKit_SwiftUI */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = C05BE8F12549F05300554B94 /* Build configuration list for PBXNativeTarget "_WebKit_SwiftUI" */;
			buildPhases = (
				C05BE8E72549F05300554B94 /* Headers */,
				C05BE8E82549F05300554B94 /* Sources */,
				C05BE8E92549F05300554B94 /* Frameworks */,
				C05BE8EA2549F05300554B94 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = _WebKit_SwiftUI;
			productName = _WebKit_SwiftUI;
			productReference = C05BE8EC2549F05300554B94 /* _WebKit_SwiftUI.framework */;
			productType = "com.apple.product-type.framework";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		C05BE8B62549EFD900554B94 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 1220;
				LastUpgradeCheck = 1220;
				TargetAttributes = {
					C05BE8C92549EFDA00554B94 = {
						CreatedOnToolsVersion = 12.2;
					};
					C05BE8EB2549F05300554B94 = {
						CreatedOnToolsVersion = 12.2;
					};
				};
			};
			buildConfigurationList = C05BE8B92549EFD900554B94 /* Build configuration list for PBXProject "MiniBrowserSwiftUI" */;
			compatibilityVersion = "Xcode 9.3";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = C05BE8B52549EFD900554B94;
			productRefGroup = C05BE8C32549EFDA00554B94 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				C05BE8C92549EFDA00554B94 /* MiniBrowserSwiftUI */,
				C05BE8EB2549F05300554B94 /* _WebKit_SwiftUI */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		C05BE8C82549EFDA00554B94 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				C05BE8D32549EFDA00554B94 /* Assets.xcassets in Resources */,
				C05BE9442549F25400554B94 /* WebKit_SwiftUI.xcconfig in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		C05BE8EA2549F05300554B94 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		C05BE8C62549EFDA00554B94 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				C05BE9222549F1B000554B94 /* BrowserApp.swift in Sources */,
				C05BE91C2549F1B000554B94 /* BrowserScene.swift in Sources */,
				C05BE9202549F1B000554B94 /* BrowserTab.swift in Sources */,
				C05BE92E2549F1F700554B94 /* FoundationExtras.swift in Sources */,
				C05BE91E2549F1B000554B94 /* URLField.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		C05BE8E82549F05300554B94 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				C05BE8FF2549F07A00554B94 /* Dialog.swift in Sources */,
				C05BE8FD2549F07A00554B94 /* JavaScriptDialogs.swift in Sources */,
				C05BE8FE2549F07A00554B94 /* Navigation.swift in Sources */,
				C05BE8FA2549F07A00554B94 /* SwiftUIExtras.swift in Sources */,
				C05BE8FC2549F07A00554B94 /* WebView.swift in Sources */,
				C05BE9002549F07A00554B94 /* WebViewModifiers.swift in Sources */,
				C05BE8FB2549F07A00554B94 /* WebViewState.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		C05BE8D42549EFDA00554B94 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = C05BE94B2549F26B00554B94 /* Debug.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		C05BE8D52549EFDA00554B94 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = C05BE94C2549F27500554B94 /* Release.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		C05BE8DA2549EFDA00554B94 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = C05BE9412549F24700554B94 /* MiniBrowserSwiftUI.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		C05BE8DB2549EFDA00554B94 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = C05BE9412549F24700554B94 /* MiniBrowserSwiftUI.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		C05BE8F22549F05300554B94 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = C05BE9422549F25400554B94 /* WebKit_SwiftUI.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		C05BE8F32549F05300554B94 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = C05BE9422549F25400554B94 /* WebKit_SwiftUI.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		C05BE8B92549EFD900554B94 /* Build configuration list for PBXProject "MiniBrowserSwiftUI" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C05BE8D42549EFDA00554B94 /* Debug */,
				C05BE8D52549EFDA00554B94 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		C05BE8D92549EFDA00554B94 /* Build configuration list for PBXNativeTarget "MiniBrowserSwiftUI" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C05BE8DA2549EFDA00554B94 /* Debug */,
				C05BE8DB2549EFDA00554B94 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		C05BE8F12549F05300554B94 /* Build configuration list for PBXNativeTarget "_WebKit_SwiftUI" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C05BE8F22549F05300554B94 /* Debug */,
				C05BE8F32549F05300554B94 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = C05BE8B62549EFD900554B94 /* Project object */;
}
