<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>WebMainResource</key>
	<dict>
		<key>WebResourceData</key>
		<string>&lt;html&gt;&lt;head&gt;
&lt;script&gt;
    if (window.testRunner)
        testRunner.dumpDOMAsWebArchive();
&lt;/script&gt;
&lt;/head&gt;
&lt;frameset rows="*"&gt;
  &lt;frame src="resources/test-frame.html" name="myframe"&gt;
&lt;/frameset&gt;

&lt;/html&gt;</string>
		<key>WebResourceFrameName</key>
		<string></string>
		<key>WebResourceMIMEType</key>
		<string>text/html</string>
		<key>WebResourceTextEncodingName</key>
		<string>UTF-8</string>
		<key>WebResourceURL</key>
		<string>file:///LayoutTests/webarchive/test-frameset.html</string>
	</dict>
	<key>WebSubframeArchives</key>
	<array>
		<dict>
			<key>WebMainResource</key>
			<dict>
				<key>WebResourceData</key>
				<string>&lt;html&gt;&lt;head&gt;
&lt;link rel="stylesheet" href="test-style.css" type="text/css"&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div&gt;
  &lt;img src="apple.gif"&gt;
&lt;/div&gt;
&lt;div&gt;
  This is a subframe.  This text should be red sans-serif.
&lt;/div&gt;
&lt;div&gt;
  &lt;img src="apple.gif"&gt;
&lt;/div&gt;


&lt;/body&gt;&lt;/html&gt;</string>
				<key>WebResourceFrameName</key>
				<string>myframe</string>
				<key>WebResourceMIMEType</key>
				<string>text/html</string>
				<key>WebResourceTextEncodingName</key>
				<string>UTF-8</string>
				<key>WebResourceURL</key>
				<string>file:///LayoutTests/webarchive/resources/test-frame.html</string>
			</dict>
			<key>WebSubresources</key>
			<array>
				<dict>
					<key>WebResourceData</key>
					<data>
					R0lGODlhNABAAMQfAGJiYvLz9ImKitvb2/39
					/cnJyaSkpOPj49TU1MHBwbW1terq7Lu7u/X1
					9uXm5+3u7+fo6eDg4e/w8t7e3/n5+RcXF87O
					z/f398fHx9fX16+vr9HR0fDw8Pj4+MzMzAAA
					ACH5BAEAAB8ALAAAAAA0AEAAQAX/4CeOZGme
					5iFUlYC+cCwKD7FAxxElAiTDnATAcCEYj8aA
					BiBIDCIbjQCgqBEojUCjQSEEpoXTAUCQLB4P
					iZoTaG/fjcuFgj1kBrnIZDLoDzIIgRsTAgYm
					Bk8TEQ4OEGdpbBQLDAUQEA55e32AGxsWHh4F
					BRgJCQgFAhQoCwIDlgsSFxyFOnt8foAInp+j
					pQkMwArCGsQaCg0KBgEoDwAAHoHRgroW1aEY
					pL7A28LDxcUGGgalhi8IAAgYoOvrn5/soL2l
					wcThEBQAAz/7JxYAXVcCPNjggp/BEwIYOHNm
					wMHBErMSEMgCR47FC3EwwnlzocOFBxMy3NHk
					p88EBwU///gjcKCRo0cPOEhwM6fDgUGWMuHK
					tQvUBgBhThhQ4CBCSwhoJDToQKxljlq4BPHC
					No+bggXEXnwZMNMAupJ/ckm9RvUXg27dvqll
					kEFADxMQAKirZs3Du1CiRpX1ZfasN3EGAlsY
					IIADv3MCDnBowKEAQwSGSRzAMEVABIwTmCB4
					yHkEQQMACQDY0LmzgAlXZF0ac6D0QwUJOAxA
					kMArgAyuT3gQ5zYwBh8jBmhgoG9EBgYG3BbS
					QHpfBAEKjHSYTt3jxQ4BH3DB2EaLnAYLIgC6
					EyGuBhMDyDSI2X3jlu8Vay7480TPrU250p8n
					0SrASzQxsTGTFu9hF4B45WESgf8e+EWzy0/N
					lTBOeDk0AtNMcVAQQCcH5LTgLSJJ9c4ooQiw
					jFAI7GGUhWkE0AFWv+GQB4N/6OJJPNnMY0EA
					ACyAgmMSLIKUBBxQgEoGRX0IIk8j5hiMNwxQ
					kBAKDAhgxgMdeCBXBGCJFGInvMhj1V/fJMCj
					mSVEAEBcAFiQS4jS9HSNNk+mpZZaBmAwWgmZ
					UeNJJ4DWJUqOdI6JZ2DjEHKiCRwEBg88BbCT
					l15O+lUPoo3u94MCAERAijrx+NQHBuIo4EGN
					gBRQigcRdAFAArl9EAAbBnWgRaylObCEiQQI
					ECGu+2i5gBEaxgUcsDJk1sAVtp4xJbIy6Jkd
					JhBAB63/DCstoOAGXhV3LQxeubWQZd/+kBBD
					uF17AKcAaDDAAuEp1G4GDZiAgBRMYODAAgdY
					YBsD+zjgFUAUVGedERf8NO49AQ2YkX85ZNDu
					CyoUcEVGBlunEUVbuBHHdBwcMNtIfkwQFwYl
					UMDDRA5v9B18FRUMHn22gBUWIZp+QEGeBKSh
					Rnceu5cRHbLdodNO0aSngAlV2vCIBD4PSOB7
					c0hidCb31TgNDyfEdcElLz3Cwdgt07HAHY0c
					rbWN7iiQUgluN7DiK2eQ3cYcFwywQYcy0ggn
					mLx48FNrQllQ1FGvxIQhBQ+o0wgmUIU1Fl7Y
					bEBZByggskeFjiQVAAUQKFDJ/2p5REUNjlSx
					1dYFmWOgh5BiazhcTlhvMpZedMIm2q8kuE1h
					5zNRkMxJM97HJI65D7NBBz2ekNkDLZ0hQQeE
					JZAkjbafPmdVdhKDQAMAEC5hAg8g9XlyeNRs
					+o1kVeWXAncywDwD9ZKQmSMBLDAEl13ydCPu
					3CPTnRKgPwP4aARVuoBjEBGW8fivSdkYE/zu
					dCcPCMADvUOXNOIEJtQVCi0CxFN6HlCCKgFq
					A4II1F0A6L46kQlRgRkDBk0ghV3Q5YYQxAah
					tvGkb8DQgM94gWPuAoq6xCMvGKDUDl8YmOig
					IwYyjNSjpriOQUXQUpfilwAc8gMhZCABc8Hh
					NSJlgTkOgoIUZykG+UQTFIMohBEIKGN9BmCb
					QgRmCq+awAIwgh0bvMo1C6hNZfJ0wBdMwG29
					KQAJy/WtEAAAO1BvbG9udXMK
					</data>
					<key>WebResourceMIMEType</key>
					<string>image/gif</string>
					<key>WebResourceResponse</key>
					<dict>
						<key>MIMEType</key>
						<string>image/gif</string>
						<key>URL</key>
						<string>file:///LayoutTests/webarchive/resources/apple.gif</string>
						<key>expectedContentLength</key>
						<integer>1476</integer>
					</dict>
					<key>WebResourceURL</key>
					<string>file:///LayoutTests/webarchive/resources/apple.gif</string>
				</dict>
				<dict>
					<key>WebResourceData</key>
					<string>div { font-family: Arial, Helvetica, sans-serif; color: red; }
</string>
					<key>WebResourceMIMEType</key>
					<string>text/css</string>
					<key>WebResourceResponse</key>
					<dict>
						<key>MIMEType</key>
						<string>text/css</string>
						<key>URL</key>
						<string>file:///LayoutTests/webarchive/resources/test-style.css</string>
						<key>expectedContentLength</key>
						<integer>63</integer>
					</dict>
					<key>WebResourceURL</key>
					<string>file:///LayoutTests/webarchive/resources/test-style.css</string>
				</dict>
			</array>
		</dict>
	</array>
</dict>
</plist>
