<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[173350] trunk/Source</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/173350">173350</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2014-09-05 21:58:35 -0700 (Fri, 05 Sep 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Use WTFString::split(char) in more places
https://bugs.webkit.org/show_bug.cgi?id=136543
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-05
Reviewed by Sam Weinig.
Source/WebCore:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::nodeForPath):
* mathml/MathMLMencloseElement.cpp:
(WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
* page/PerformanceResourceTiming.cpp:
(WebCore::passesTimingAllowCheck):
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
* platform/graphics/opengl/GLPlatformContext.cpp:
(WebCore::parseExtensions):
* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::fillDataObjectFromDropData):
* platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::loadResponseHeaders):
* platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::loadIndex):
Source/WebKit2:
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::PluginVersion::parse):
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::initInspectorServer):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::isTransparentSilverlightBackgroundValue):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoremathmlMathMLMencloseElementcpp">trunk/Source/WebCore/mathml/MathMLMencloseElement.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceResourceTimingcpp">trunk/Source/WebCore/page/PerformanceResourceTiming.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopenglExtensions3DOpenGLCommoncpp">trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopenglGLPlatformContextcpp">trunk/Source/WebCore/platform/graphics/opengl/GLPlatformContext.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgtkPasteboardHelpercpp">trunk/Source/WebCore/platform/gtk/PasteboardHelper.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlCacheEntrycpp">trunk/Source/WebCore/platform/network/curl/CurlCacheEntry.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlCacheManagercpp">trunk/Source/WebCore/platform/network/curl/CurlCacheManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedPluginsNetscapemacNetscapePluginModuleMacmm">trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessgtkWebContextGtkcpp">trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsNetscapeNetscapePlugincpp">trunk/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebCore/ChangeLog        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -1,3 +1,27 @@
</span><ins>+2014-09-05 Joseph Pecoraro <pecoraro@apple.com>
+
+ Use WTFString::split(char) in more places
+ https://bugs.webkit.org/show_bug.cgi?id=136543
+
+ Reviewed by Sam Weinig.
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::nodeForPath):
+ * mathml/MathMLMencloseElement.cpp:
+ (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
+ * page/PerformanceResourceTiming.cpp:
+ (WebCore::passesTimingAllowCheck):
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
+ (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
+ * platform/graphics/opengl/GLPlatformContext.cpp:
+ (WebCore::parseExtensions):
+ * platform/gtk/PasteboardHelper.cpp:
+ (WebCore::PasteboardHelper::fillDataObjectFromDropData):
+ * platform/network/curl/CurlCacheEntry.cpp:
+ (WebCore::CurlCacheEntry::loadResponseHeaders):
+ * platform/network/curl/CurlCacheManager.cpp:
+ (WebCore::CurlCacheManager::loadIndex):
+
</ins><span class="cx"> 2014-09-05 Myles C. Maxfield <mmaxfield@apple.com>
</span><span class="cx">
</span><span class="cx"> Laying out a TextRun using an SVG font is O(n^2)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -1936,7 +1936,7 @@
</span><span class="cx">
</span><span class="cx"> Node* node = m_document.get();
</span><span class="cx"> Vector<String> pathTokens;
</span><del>- path.split(",", false, pathTokens);
</del><ins>+ path.split(',', false, pathTokens);
</ins><span class="cx"> if (!pathTokens.size())
</span><span class="cx"> return 0;
</span><span class="cx"> for (size_t i = 0; i < pathTokens.size() - 1; i += 2) {
</span></span></pre></div>
<a id="trunkSourceWebCoremathmlMathMLMencloseElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/MathMLMencloseElement.cpp (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/MathMLMencloseElement.cpp        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebCore/mathml/MathMLMencloseElement.cpp        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx"> if (val.isEmpty())
</span><span class="cx"> return;
</span><span class="cx"> if (name == MathMLNames::notationAttr) {
</span><del>- val.split(" ", m_notationValues);
</del><ins>+ val.split(' ', m_notationValues);
</ins><span class="cx"> size_t notationValueSize = m_notationValues.size();
</span><span class="cx"> for (size_t i = 0; i < notationValueSize; i++) {
</span><span class="cx"> if (m_notationValues[i] == "top" || m_notationValues[i] == "longdiv") {
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceResourceTimingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceResourceTiming.cpp (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceResourceTiming.cpp        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebCore/page/PerformanceResourceTiming.cpp        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">
</span><span class="cx"> const String& securityOrigin = requestingDocument->securityOrigin()->toString();
</span><span class="cx"> Vector<String> timingAllowOrigins;
</span><del>- timingAllowOriginString.split(" ", timingAllowOrigins);
</del><ins>+ timingAllowOriginString.split(' ', timingAllowOrigins);
</ins><span class="cx"> for (size_t i = 0; i < timingAllowOrigins.size(); ++i)
</span><span class="cx"> if (timingAllowOrigins[i] == securityOrigin)
</span><span class="cx"> return true;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsopenglExtensions3DOpenGLCommoncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -215,7 +215,7 @@
</span><span class="cx"> {
</span><span class="cx"> String extensionsString = getExtensions();
</span><span class="cx"> Vector<String> availableExtensions;
</span><del>- extensionsString.split(" ", availableExtensions);
</del><ins>+ extensionsString.split(' ', availableExtensions);
</ins><span class="cx"> for (size_t i = 0; i < availableExtensions.size(); ++i)
</span><span class="cx"> m_availableExtensions.add(availableExtensions[i]);
</span><span class="cx"> m_initializedAvailableExtensions = true;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsopenglGLPlatformContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/opengl/GLPlatformContext.cpp (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/opengl/GLPlatformContext.cpp        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebCore/platform/graphics/opengl/GLPlatformContext.cpp        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx"> static HashSet<String> parseExtensions(const String& extensionsString)
</span><span class="cx"> {
</span><span class="cx"> Vector<String> extNames;
</span><del>- extensionsString.split(" ", extNames);
</del><ins>+ extensionsString.split(' ', extNames);
</ins><span class="cx"> HashSet<String> splitExtNames;
</span><span class="cx"> unsigned size = extNames.size();
</span><span class="cx"> for (unsigned i = 0; i < size; ++i)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgtkPasteboardHelpercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/gtk/PasteboardHelper.cpp (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/gtk/PasteboardHelper.cpp        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebCore/platform/gtk/PasteboardHelper.cpp        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -247,7 +247,7 @@
</span><span class="cx"> } else if (target == netscapeURLAtom) {
</span><span class="cx"> String urlWithLabel(selectionDataToUTF8String(data));
</span><span class="cx"> Vector<String> pieces;
</span><del>- urlWithLabel.split("\n", pieces);
</del><ins>+ urlWithLabel.split('\n', pieces);
</ins><span class="cx">
</span><span class="cx"> // Give preference to text/uri-list here, as it can hold more
</span><span class="cx"> // than one URI but still take the label if there is one.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcurlCurlCacheEntrycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/curl/CurlCacheEntry.cpp (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/curl/CurlCacheEntry.cpp        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebCore/platform/network/curl/CurlCacheEntry.cpp        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -153,7 +153,7 @@
</span><span class="cx">
</span><span class="cx"> String headerContent = String(buffer.data(), buffer.size());
</span><span class="cx"> Vector<String> headerFields;
</span><del>- headerContent.split("\n", headerFields);
</del><ins>+ headerContent.split('\n', headerFields);
</ins><span class="cx">
</span><span class="cx"> Vector<String>::const_iterator it = headerFields.begin();
</span><span class="cx"> Vector<String>::const_iterator end = headerFields.end();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcurlCurlCacheManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/curl/CurlCacheManager.cpp (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/curl/CurlCacheManager.cpp        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebCore/platform/network/curl/CurlCacheManager.cpp        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx"> // Create strings from buffer
</span><span class="cx"> String headerContent = String(buffer.data(), buffer.size());
</span><span class="cx"> Vector<String> indexURLs;
</span><del>- headerContent.split("\n", indexURLs);
</del><ins>+ headerContent.split('\n', indexURLs);
</ins><span class="cx"> buffer.clear();
</span><span class="cx">
</span><span class="cx"> // Add entries to index
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebKit2/ChangeLog        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-09-05 Joseph Pecoraro <pecoraro@apple.com>
+
+ Use WTFString::split(char) in more places
+ https://bugs.webkit.org/show_bug.cgi?id=136543
+
+ Reviewed by Sam Weinig.
+
+ * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
+ (WebKit::PluginVersion::parse):
+ * UIProcess/gtk/WebContextGtk.cpp:
+ (WebKit::initInspectorServer):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::isTransparentSilverlightBackgroundValue):
+
</ins><span class="cx"> 2014-09-05 Enrica Casucci <enrica@apple.com>
</span><span class="cx">
</span><span class="cx"> Remove PLATFORM(IOS) from WebCore/editing (Part 3).
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedPluginsNetscapemacNetscapePluginModuleMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -443,7 +443,7 @@
</span><span class="cx"> PluginVersion version;
</span><span class="cx">
</span><span class="cx"> Vector<String> versionStringComponents;
</span><del>- versionString.split(".", versionStringComponents);
</del><ins>+ versionString.split('.', versionStringComponents);
</ins><span class="cx"> for (size_t i = 0; i < versionStringComponents.size(); ++i) {
</span><span class="cx"> bool successfullyParsed = false;
</span><span class="cx"> unsigned versionComponent = versionStringComponents[i].toUInt(&successfullyParsed);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessgtkWebContextGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx"> unsigned short port = 2999;
</span><span class="cx">
</span><span class="cx"> Vector<String> result;
</span><del>- serverAddress.split(":", result);
</del><ins>+ serverAddress.split(':', result);
</ins><span class="cx">
</span><span class="cx"> if (result.size() == 2) {
</span><span class="cx"> bindAddress = result[0];
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsNetscapeNetscapePlugincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp (173349 => 173350)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp        2014-09-06 04:14:15 UTC (rev 173349)
+++ trunk/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp        2014-09-06 04:58:35 UTC (rev 173350)
</span><span class="lines">@@ -560,7 +560,7 @@
</span><span class="cx"> }
</span><span class="cx"> } else if (lowercaseBackgroundValue.startsWith("sc#")) {
</span><span class="cx"> Vector<String> components;
</span><del>- lowercaseBackgroundValue.substring(3).split(",", components);
</del><ins>+ lowercaseBackgroundValue.substring(3).split(',', components);
</ins><span class="cx">
</span><span class="cx"> // An ScRGB value with alpha transparency, in the form sc#A,R,G,B.
</span><span class="cx"> if (components.size() == 4) {
</span></span></pre>
</div>
</div>
</body>
</html>