<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>67255</bug_id>
          
          <creation_ts>2011-08-30 20:26:34 -0700</creation_ts>
          <short_desc>[EFL][DRT] Normalize file:///tmp/LayoutTests in LayoutTestController::pathToLocalResource()</short_desc>
          <delta_ts>2012-06-08 09:06:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>67239</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Jarred Nicholls">jarred</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dpranke</cc>
    
    <cc>d-r</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hyuki.kim</cc>
    
    <cc>joshua.lock</cc>
    
    <cc>leandro</cc>
    
    <cc>naginenis</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>459402</commentid>
    <comment_count>0</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-08-30 20:26:34 -0700</bug_when>
    <thetext>EFL DRT should translate file:///tmp/LayoutTests paths into a local URL that&apos;s derived from the path of the DRT application exec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605584</commentid>
    <comment_count>1</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-04-19 08:01:33 -0700</bug_when>
    <thetext>*** Bug 84336 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641205</commentid>
    <comment_count>2</comment_count>
      <attachid>145699</attachid>
    <who name="Joshua Lock (joshuagl)">joshua.lock</who>
    <bug_when>2012-06-04 23:17:32 -0700</bug_when>
    <thetext>Created attachment 145699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641235</commentid>
    <comment_count>3</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-06-05 00:08:51 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created an attachment (id=145699) [details]

Looks good to me, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641243</commentid>
    <comment_count>4</comment_count>
      <attachid>145699</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-05 00:23:31 -0700</bug_when>
    <thetext>Comment on attachment 145699
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=145699&amp;action=review

&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:198
&gt; +        // If the url contains LayoutTests we need to remap that to

%s/url/URL/g

&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:206
&gt; +        // If the url is a child of /tmp we need to convert it to be a child

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641551</commentid>
    <comment_count>5</comment_count>
      <attachid>145798</attachid>
    <who name="Joshua Lock (joshuagl)">joshua.lock</who>
    <bug_when>2012-06-05 08:00:43 -0700</bug_when>
    <thetext>Created attachment 145798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643098</commentid>
    <comment_count>6</comment_count>
      <attachid>145798</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-06 19:31:43 -0700</bug_when>
    <thetext>Comment on attachment 145798
Patch

Looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643780</commentid>
    <comment_count>7</comment_count>
      <attachid>145798</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-06-07 12:09:12 -0700</bug_when>
    <thetext>Comment on attachment 145798
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=145798&amp;action=review

&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:181
&gt; +// Convert a JSStringRef to a WTF::String - converted from a method of the same
&gt; +// name in LayoutTestControllerMac.mm which returns a std::string
&gt; +static inline String stringFromJSString(JSStringRef jsString)

Some nitpicking: have you tried operating on the UString returned by JSStringRef::ustring()? It has find() and substringSharingImpl(), so adding this method may be unnecessary.

&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:212
&gt; +    if (requestedUrl.find(&quot;LayoutTests&quot;) != notFound) {
&gt; +        // If the URL contains LayoutTests we need to remap that to
&gt; +        // LOCAL_RESOURCE_ROOT which is the path of the LayoutTests directory
&gt; +        // within the WebKit source tree.
&gt; +        resourceRoot = getenv(&quot;LOCAL_RESOURCE_ROOT&quot;);
&gt; +        String requestedRoot(&quot;/tmp/LayoutTests&quot;);
&gt; +        size_t indexOfRootStart = requestedUrl.reverseFind(requestedRoot);
&gt; +        indexOfSeparatorAfterRoot = indexOfRootStart + requestedRoot.length();
&gt; +    } else if (requestedUrl.find(&quot;tmp&quot;) != notFound) {
&gt; +        // If the URL is a child of /tmp we need to convert it to be a child
&gt; +        // DUMPRENDERTREE_TEMP replace tmp with DUMPRENDERTREE_TEMP
&gt; +        resourceRoot = getenv(&quot;DUMPRENDERTREE_TEMP&quot;);
&gt; +        String requestedRoot(&quot;/tmp&quot;);
&gt; +        size_t indexOfRootStart = requestedUrl.reverseFind(requestedRoot);
&gt; +        indexOfSeparatorAfterRoot = indexOfRootStart + requestedRoot.length();
&gt; +    }

The code to calculate the index of the separator seems to be duplicated in each case. What if you do something like
  if (requestedUrl.find(&quot;LayoutTests&quot;) != notFound) {
      requestedRoot = &quot;/tmp/LayoutTests&quot;;
      resourceRoot = getenv(&quot;LOCAL_RESOURCE_ROOT&quot;);
  } else if (...) {
      requestedRoot = &quot;/tmp&quot;;
      resourceRoot = getenv(&quot;DUMPRENDERTREE_TEMP&quot;);
  } else
      ASSERT_NOT_REACHED(); // via mac&apos;s LTC.mm

  // calculate separator index here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643939</commentid>
    <comment_count>8</comment_count>
      <attachid>145798</attachid>
    <who name="Joshua Lock (joshuagl)">joshua.lock</who>
    <bug_when>2012-06-07 14:46:51 -0700</bug_when>
    <thetext>Comment on attachment 145798
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=145798&amp;action=review

&gt;&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:181
&gt;&gt; +static inline String stringFromJSString(JSStringRef jsString)
&gt; 
&gt; Some nitpicking: have you tried operating on the UString returned by JSStringRef::ustring()? It has find() and substringSharingImpl(), so adding this method may be unnecessary.

I have not, I looked to other LayoutController* for inspiration. Will have a go with ustring() now, I&apos;d much prefer not to add extra methods - thanks for the hint.

&gt;&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:212
&gt;&gt; +    }
&gt; 
&gt; The code to calculate the index of the separator seems to be duplicated in each case. What if you do something like
&gt;   if (requestedUrl.find(&quot;LayoutTests&quot;) != notFound) {
&gt;       requestedRoot = &quot;/tmp/LayoutTests&quot;;
&gt;       resourceRoot = getenv(&quot;LOCAL_RESOURCE_ROOT&quot;);
&gt;   } else if (...) {
&gt;       requestedRoot = &quot;/tmp&quot;;
&gt;       resourceRoot = getenv(&quot;DUMPRENDERTREE_TEMP&quot;);
&gt;   } else
&gt;       ASSERT_NOT_REACHED(); // via mac&apos;s LTC.mm
&gt; 
&gt;   // calculate separator index here

Much nicer, will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644110</commentid>
    <comment_count>9</comment_count>
      <attachid>146425</attachid>
    <who name="Joshua Lock (joshuagl)">joshua.lock</who>
    <bug_when>2012-06-07 17:27:44 -0700</bug_when>
    <thetext>Created attachment 146425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644113</commentid>
    <comment_count>10</comment_count>
      <attachid>145798</attachid>
    <who name="Joshua Lock (joshuagl)">joshua.lock</who>
    <bug_when>2012-06-07 17:28:30 -0700</bug_when>
    <thetext>Comment on attachment 145798
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=145798&amp;action=review

&gt;&gt;&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:181
&gt;&gt;&gt; +static inline String stringFromJSString(JSStringRef jsString)
&gt;&gt; 
&gt;&gt; Some nitpicking: have you tried operating on the UString returned by JSStringRef::ustring()? It has find() and substringSharingImpl(), so adding this method may be unnecessary.
&gt; 
&gt; I have not, I looked to other LayoutController* for inspiration. Will have a go with ustring() now, I&apos;d much prefer not to add extra methods - thanks for the hint.

I played around some with UString but instead I&apos;ve opted to avoid the extra method by following a pattern I noticed in other parts of LayoutTestControllerEfl.cpp and construct a WTF::String from the characters of the JSStringRef like: String requestedUrl(url-&gt;characters()).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644162</commentid>
    <comment_count>11</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-06-07 18:11:32 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; I played around some with UString but instead I&apos;ve opted to avoid the extra method by following a pattern I noticed in other parts of LayoutTestControllerEfl.cpp and construct a WTF::String from the characters of the JSStringRef like: String requestedUrl(url-&gt;characters()).

Alright, it looks much better. Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644241</commentid>
    <comment_count>12</comment_count>
      <attachid>146425</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-07 19:59:53 -0700</bug_when>
    <thetext>Comment on attachment 146425
Patch

Clearing flags on attachment: 146425

Committed r119788: &lt;http://trac.webkit.org/changeset/119788&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644242</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-07 19:59:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644630</commentid>
    <comment_count>14</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-06-08 06:50:57 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; I played around some with UString but instead I&apos;ve opted to avoid the extra method by following a pattern I noticed in other parts of LayoutTestControllerEfl.cpp and construct a WTF::String from the characters of the JSStringRef like: String requestedUrl(url-&gt;characters()).

The following tests started failing with this patch. It seems the problem is due to characters() not being null-terminated.

http://build.webkit.org/builders/EFL%20Linux%2064-bit%20Debug/builds/952/steps/layout-test/logs/stdio

fast/dom/frame-loading-via-document-write.html = TEXT
http/tests/security/frame-loading-via-document-write.html = TEXT
http/tests/security/local-JavaScript-from-remote.html = TEXT
http/tests/security/local-iFrame-from-remote.html = TEXT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644715</commentid>
    <comment_count>15</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-06-08 09:06:50 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; The following tests started failing with this patch. It seems the problem is due to characters() not being null-terminated.

New bug created for this issue: https://bugs.webkit.org/show_bug.cgi?id=88661</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145699</attachid>
            <date>2012-06-04 23:17:32 -0700</date>
            <delta_ts>2012-06-05 08:00:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67255-20120604231729.patch</filename>
            <type>text/plain</type>
            <size>5303</size>
            <attacher name="Joshua Lock (joshuagl)">joshua.lock</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExOTQ2MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE4IEBACisyMDEyLTA2LTA0ICBKb3NodWEgTG9jayAgPGpvc2h1YS5sb2NrQGludGVsLmNv
bT4KKworICAgICAgICBbRUZMXVtEUlRdIE5vcm1hbGl6ZSBmaWxlOi8vL3RtcC9MYXlvdXRUZXN0
cyBpbiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cGF0aFRvTG9jYWxSZXNvdXJjZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI1NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBwYXRoVG9M
b2NhbFJlc291cmNlIHRvIHJlZGlyZWN0IGZpbGU6Ly8vdG1wIFVSTCdzIHRvCisgICAgICAgIERV
TVBSRU5ERVJUUkVFX1RFTVAgYW5kIGZpbGU6Ly8vdG1wL0xheW91dFRlc3RzIHRvIHBvaW50IHRv
IHRoZQorICAgICAgICBMYXlvdXRUZXN0cyBzdWItZGlyZWN0b3J5IG9mIHRoZSBXZWJLaXQgc291
cmNlIHRyZWUuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRy
b2xsZXJFZmwuY3BwOgorICAgICAgICAoc3RyaW5nRnJvbUpTU3RyaW5nKToKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjpwYXRoVG9Mb2NhbFJlc291cmNlKTogCisKIDIwMTItMDYtMDQg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHl0aG9uIHRlc3Qg
Zml4IGF0dGVtcHQgZm9yIENocm9taXVtIFdpbmRvd3MuCkluZGV4OiBUb29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAJKHJldmlzaW9u
IDExOTQzMikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxl
ckVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcsNiArNyw3IEBACiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgSm9vbmUgSHVyIDxqb29uZUBrbGRwLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAxMSBQ
cm9GVVNJT04gRW1iZWRkZWQgU3lzdGVtcwogICogQ29weXJpZ2h0IChDKSAyMDExIFNhbXN1bmcg
RWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNzUsMTAgKzE3Niw0NCBAQCB2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpub3RpZnlEb25lKCkKICAgICB3YWl0Rm9yUG9saWN5ID0gZmFs
c2U7CiB9CiAKKy8vIENvbnZlcnQgYSBKU1N0cmluZ1JlZiB0byBhIFdURjo6U3RyaW5nIC0gY29u
dmVydGVkIGZyb20gYSBtZXRob2Qgb2YgdGhlIHNhbWUKKy8vIG5hbWUgaW4gTGF5b3V0VGVzdENv
bnRyb2xsZXJNYWMubW0gd2hpY2ggcmV0dXJucyBhIHN0ZDo6c3RyaW5nCitzdGF0aWMgaW5saW5l
IFN0cmluZyBzdHJpbmdGcm9tSlNTdHJpbmcoSlNTdHJpbmdSZWYganNTdHJpbmcpCit7CisgICAg
c2l6ZV90IG1heFN0clNpemUgPSBKU1N0cmluZ0dldE1heGltdW1VVEY4Q1N0cmluZ1NpemUoanNT
dHJpbmcpOworICAgIGNoYXIqIHV0ZjhCdWZmZXIgPSBuZXcgY2hhclttYXhTdHJTaXplXTsKKyAg
ICBzaXplX3QgdXRmOExlbiA9IEpTU3RyaW5nR2V0VVRGOENTdHJpbmcoanNTdHJpbmcsIHV0ZjhC
dWZmZXIsIG1heFN0clNpemUpOworICAgIFN0cmluZyB3dGZTdHJpbmcodXRmOEJ1ZmZlcik7IC8v
IHV0ZjhCdWZmZXIgc2hvdWxkIGJlIG51bGwgdGVybWluYXRlZAorICAgIGRlbGV0ZVtdIHV0ZjhC
dWZmZXI7CisgICAgcmV0dXJuIHd0ZlN0cmluZzsKK30KKwogSlNTdHJpbmdSZWYgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnBhdGhUb0xvY2FsUmVzb3VyY2UoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
U3RyaW5nUmVmIHVybCkKIHsKLSAgICAvLyBGdW5jdGlvbiBpbnRyb2R1Y2VkIGluIHIyODY5MC4g
VGhpcyBtYXkgbmVlZCBzcGVjaWFsLWNhc2luZyBvbiBXaW5kb3dzLgotICAgIHJldHVybiBKU1N0
cmluZ1JldGFpbih1cmwpOyAvLyBEbyBub3RoaW5nIG9uIFVuaXguCisgICAgU3RyaW5nIHJlcXVl
c3RlZFVybCA9IHN0cmluZ0Zyb21KU1N0cmluZyh1cmwpOworICAgIFN0cmluZyByZXNvdXJjZVJv
b3Q7CisgICAgc2l6ZV90IGluZGV4T2ZTZXBhcmF0b3JBZnRlclJvb3QgPSAwOworCisgICAgaWYg
KHJlcXVlc3RlZFVybC5maW5kKCJMYXlvdXRUZXN0cyIpICE9IG5vdEZvdW5kKSB7CisgICAgICAg
IC8vIElmIHRoZSB1cmwgY29udGFpbnMgTGF5b3V0VGVzdHMgd2UgbmVlZCB0byByZW1hcCB0aGF0
IHRvCisgICAgICAgIC8vIExPQ0FMX1JFU09VUkNFX1JPT1Qgd2hpY2ggaXMgdGhlIHBhdGggb2Yg
dGhlIExheW91dFRlc3RzIGRpcmVjdG9yeQorICAgICAgICAvLyB3aXRoaW4gdGhlIFdlYktpdCBz
b3VyY2UgdHJlZS4KKyAgICAgICAgcmVzb3VyY2VSb290ID0gZ2V0ZW52KCJMT0NBTF9SRVNPVVJD
RV9ST09UIik7CisgICAgICAgIFN0cmluZyByZXF1ZXN0ZWRSb290KCIvdG1wL0xheW91dFRlc3Rz
Iik7CisgICAgICAgIHNpemVfdCBpbmRleE9mUm9vdFN0YXJ0ID0gcmVxdWVzdGVkVXJsLnJldmVy
c2VGaW5kKHJlcXVlc3RlZFJvb3QpOworICAgICAgICBpbmRleE9mU2VwYXJhdG9yQWZ0ZXJSb290
ID0gaW5kZXhPZlJvb3RTdGFydCArIHJlcXVlc3RlZFJvb3QubGVuZ3RoKCk7CisgICAgfSBlbHNl
IGlmIChyZXF1ZXN0ZWRVcmwuZmluZCgidG1wIikgIT0gbm90Rm91bmQpIHsKKyAgICAgICAgLy8g
SWYgdGhlIHVybCBpcyBhIGNoaWxkIG9mIC90bXAgd2UgbmVlZCB0byBjb252ZXJ0IGl0IHRvIGJl
IGEgY2hpbGQKKyAgICAgICAgLy8gRFVNUFJFTkRFUlRSRUVfVEVNUCByZXBsYWNlIHRtcCB3aXRo
IERVTVBSRU5ERVJUUkVFX1RFTVAKKyAgICAgICAgcmVzb3VyY2VSb290ID0gZ2V0ZW52KCJEVU1Q
UkVOREVSVFJFRV9URU1QIik7CisgICAgICAgIFN0cmluZyByZXF1ZXN0ZWRSb290KCIvdG1wIik7
CisgICAgICAgIHNpemVfdCBpbmRleE9mUm9vdFN0YXJ0ID0gcmVxdWVzdGVkVXJsLnJldmVyc2VG
aW5kKHJlcXVlc3RlZFJvb3QpOworICAgICAgICBpbmRleE9mU2VwYXJhdG9yQWZ0ZXJSb290ID0g
aW5kZXhPZlJvb3RTdGFydCArIHJlcXVlc3RlZFJvb3QubGVuZ3RoKCk7CisgICAgfQorCisgICAg
U3RyaW5nIGZ1bGxQYXRoVG9VcmwgPSAiZmlsZTovLyIgKyByZXNvdXJjZVJvb3QgKyByZXF1ZXN0
ZWRVcmwuc3Vic3RyaW5nKGluZGV4T2ZTZXBhcmF0b3JBZnRlclJvb3QpOworCisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGZ1bGxQYXRoVG9VcmwudXRmOCgpLmRhdGEo
KSk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnF1ZXVlTG9hZChKU1N0cmluZ1Jl
ZiB1cmwsIEpTU3RyaW5nUmVmIHRhcmdldCkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTQ2MSkKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisy
MDEyLTA2LTA0ICBKb3NodWEgTG9jayAgPGpvc2h1YS5sb2NrQGludGVsLmNvbT4KKworICAgICAg
ICBbRUZMXVtEUlRdIE5vcm1hbGl6ZSBmaWxlOi8vL3RtcC9MYXlvdXRUZXN0cyBpbiBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6cGF0aFRvTG9jYWxSZXNvdXJjZSgpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI1NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlv
bnM6IHVuc2tpcAorICAgICAgICBmYXN0L2RvbS9mcmFtZS1sb2FkaW5nLXZpYS1kb2N1bWVudC13
cml0ZS5odG1sIG5vdyB0aGF0CisgICAgICAgIExheW91dFRlc3RDb250cm9sbGVyOjpwYXRoVG9M
b2NhbFJlc291cmNlKCkgaXMgaW1wbGVtZW50ZWQgZm9yIEVGTC4KKwogMjAxMi0wNi0wNCAgRW1p
bCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBjaHJv
bWl1bSB0ZXN0IGV4cGVjdGF0aW9uIHVwZGF0ZXMgZm9yIG5ldyB0ZXN0cy4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAxMTk0MzIpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5
KQpAQCAtMjI0LDkgKzIyNCw2IEBAIEJVR1dLODQzMzMgOiBodHRwL3Rlc3RzL2xvY2FsL2ZpbGVh
cGkvc2UKIEJVR1dLODQzMzMgOiBodHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhID0gVEVYVAogQlVH
V0s4NDMzMyA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL2NsaXBib2FyZC1maWxlLWFj
Y2Vzcy5odG1sID0gVEVYVAogCi0vLyBMYXlvdXRUZXN0Q29udHJvbGxlci5wYXRoVG9Mb2NhbFJl
c291cmNlIG5lZWRzIHNwZWNpYWwgaGFuZGxpbmcgb2YgZmlsZSBVUkxzIHRvIC90bXAuCi1CVUdX
Szg0MzM2IDogZmFzdC9kb20vZnJhbWUtbG9hZGluZy12aWEtZG9jdW1lbnQtd3JpdGUuaHRtbCA9
IFRJTUVPVVQgVEVYVAotCiAvLyBNaXNzaW5nIGV4ZWNDb21tYW5kKCdjb3B5JykgYW5kIGV4ZWND
b21tYW5kKCdwYXN0ZScpLgogQlVHV0s4NDMzOCA6IGVkaXRpbmcvZGVsZXRpbmcvcGFzdGUtd2l0
aC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kLWNvbG9yLmh0bWwgPSBURVhUCiBCVUdXSzg0MzM4IDog
ZWRpdGluZy9leGVjQ29tbWFuZC9maW5kLWFmdGVyLXJlcGxhY2UuaHRtbCA9IFRFWFQgTUlTU0lO
Rwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145798</attachid>
            <date>2012-06-05 08:00:43 -0700</date>
            <delta_ts>2012-06-07 17:28:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67255-20120605080041.patch</filename>
            <type>text/plain</type>
            <size>5303</size>
            <attacher name="Joshua Lock (joshuagl)">joshua.lock</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExOTQ2MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE4IEBACisyMDEyLTA2LTA0ICBKb3NodWEgTG9jayAgPGpvc2h1YS5sb2NrQGludGVsLmNv
bT4KKworICAgICAgICBbRUZMXVtEUlRdIE5vcm1hbGl6ZSBmaWxlOi8vL3RtcC9MYXlvdXRUZXN0
cyBpbiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cGF0aFRvTG9jYWxSZXNvdXJjZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI1NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBwYXRoVG9M
b2NhbFJlc291cmNlIHRvIHJlZGlyZWN0IGZpbGU6Ly8vdG1wIFVSTCdzIHRvCisgICAgICAgIERV
TVBSRU5ERVJUUkVFX1RFTVAgYW5kIGZpbGU6Ly8vdG1wL0xheW91dFRlc3RzIHRvIHBvaW50IHRv
IHRoZQorICAgICAgICBMYXlvdXRUZXN0cyBzdWItZGlyZWN0b3J5IG9mIHRoZSBXZWJLaXQgc291
cmNlIHRyZWUuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRy
b2xsZXJFZmwuY3BwOgorICAgICAgICAoc3RyaW5nRnJvbUpTU3RyaW5nKToKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjpwYXRoVG9Mb2NhbFJlc291cmNlKTogCisKIDIwMTItMDYtMDQg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHl0aG9uIHRlc3Qg
Zml4IGF0dGVtcHQgZm9yIENocm9taXVtIFdpbmRvd3MuCkluZGV4OiBUb29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAJKHJldmlzaW9u
IDExOTQzMikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxl
ckVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcsNiArNyw3IEBACiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgSm9vbmUgSHVyIDxqb29uZUBrbGRwLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAxMSBQ
cm9GVVNJT04gRW1iZWRkZWQgU3lzdGVtcwogICogQ29weXJpZ2h0IChDKSAyMDExIFNhbXN1bmcg
RWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNzUsMTAgKzE3Niw0NCBAQCB2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpub3RpZnlEb25lKCkKICAgICB3YWl0Rm9yUG9saWN5ID0gZmFs
c2U7CiB9CiAKKy8vIENvbnZlcnQgYSBKU1N0cmluZ1JlZiB0byBhIFdURjo6U3RyaW5nIC0gY29u
dmVydGVkIGZyb20gYSBtZXRob2Qgb2YgdGhlIHNhbWUKKy8vIG5hbWUgaW4gTGF5b3V0VGVzdENv
bnRyb2xsZXJNYWMubW0gd2hpY2ggcmV0dXJucyBhIHN0ZDo6c3RyaW5nCitzdGF0aWMgaW5saW5l
IFN0cmluZyBzdHJpbmdGcm9tSlNTdHJpbmcoSlNTdHJpbmdSZWYganNTdHJpbmcpCit7CisgICAg
c2l6ZV90IG1heFN0clNpemUgPSBKU1N0cmluZ0dldE1heGltdW1VVEY4Q1N0cmluZ1NpemUoanNT
dHJpbmcpOworICAgIGNoYXIqIHV0ZjhCdWZmZXIgPSBuZXcgY2hhclttYXhTdHJTaXplXTsKKyAg
ICBzaXplX3QgdXRmOExlbiA9IEpTU3RyaW5nR2V0VVRGOENTdHJpbmcoanNTdHJpbmcsIHV0ZjhC
dWZmZXIsIG1heFN0clNpemUpOworICAgIFN0cmluZyB3dGZTdHJpbmcodXRmOEJ1ZmZlcik7IC8v
IHV0ZjhCdWZmZXIgc2hvdWxkIGJlIG51bGwgdGVybWluYXRlZAorICAgIGRlbGV0ZVtdIHV0ZjhC
dWZmZXI7CisgICAgcmV0dXJuIHd0ZlN0cmluZzsKK30KKwogSlNTdHJpbmdSZWYgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnBhdGhUb0xvY2FsUmVzb3VyY2UoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
U3RyaW5nUmVmIHVybCkKIHsKLSAgICAvLyBGdW5jdGlvbiBpbnRyb2R1Y2VkIGluIHIyODY5MC4g
VGhpcyBtYXkgbmVlZCBzcGVjaWFsLWNhc2luZyBvbiBXaW5kb3dzLgotICAgIHJldHVybiBKU1N0
cmluZ1JldGFpbih1cmwpOyAvLyBEbyBub3RoaW5nIG9uIFVuaXguCisgICAgU3RyaW5nIHJlcXVl
c3RlZFVybCA9IHN0cmluZ0Zyb21KU1N0cmluZyh1cmwpOworICAgIFN0cmluZyByZXNvdXJjZVJv
b3Q7CisgICAgc2l6ZV90IGluZGV4T2ZTZXBhcmF0b3JBZnRlclJvb3QgPSAwOworCisgICAgaWYg
KHJlcXVlc3RlZFVybC5maW5kKCJMYXlvdXRUZXN0cyIpICE9IG5vdEZvdW5kKSB7CisgICAgICAg
IC8vIElmIHRoZSBVUkwgY29udGFpbnMgTGF5b3V0VGVzdHMgd2UgbmVlZCB0byByZW1hcCB0aGF0
IHRvCisgICAgICAgIC8vIExPQ0FMX1JFU09VUkNFX1JPT1Qgd2hpY2ggaXMgdGhlIHBhdGggb2Yg
dGhlIExheW91dFRlc3RzIGRpcmVjdG9yeQorICAgICAgICAvLyB3aXRoaW4gdGhlIFdlYktpdCBz
b3VyY2UgdHJlZS4KKyAgICAgICAgcmVzb3VyY2VSb290ID0gZ2V0ZW52KCJMT0NBTF9SRVNPVVJD
RV9ST09UIik7CisgICAgICAgIFN0cmluZyByZXF1ZXN0ZWRSb290KCIvdG1wL0xheW91dFRlc3Rz
Iik7CisgICAgICAgIHNpemVfdCBpbmRleE9mUm9vdFN0YXJ0ID0gcmVxdWVzdGVkVXJsLnJldmVy
c2VGaW5kKHJlcXVlc3RlZFJvb3QpOworICAgICAgICBpbmRleE9mU2VwYXJhdG9yQWZ0ZXJSb290
ID0gaW5kZXhPZlJvb3RTdGFydCArIHJlcXVlc3RlZFJvb3QubGVuZ3RoKCk7CisgICAgfSBlbHNl
IGlmIChyZXF1ZXN0ZWRVcmwuZmluZCgidG1wIikgIT0gbm90Rm91bmQpIHsKKyAgICAgICAgLy8g
SWYgdGhlIFVSTCBpcyBhIGNoaWxkIG9mIC90bXAgd2UgbmVlZCB0byBjb252ZXJ0IGl0IHRvIGJl
IGEgY2hpbGQKKyAgICAgICAgLy8gRFVNUFJFTkRFUlRSRUVfVEVNUCByZXBsYWNlIHRtcCB3aXRo
IERVTVBSRU5ERVJUUkVFX1RFTVAKKyAgICAgICAgcmVzb3VyY2VSb290ID0gZ2V0ZW52KCJEVU1Q
UkVOREVSVFJFRV9URU1QIik7CisgICAgICAgIFN0cmluZyByZXF1ZXN0ZWRSb290KCIvdG1wIik7
CisgICAgICAgIHNpemVfdCBpbmRleE9mUm9vdFN0YXJ0ID0gcmVxdWVzdGVkVXJsLnJldmVyc2VG
aW5kKHJlcXVlc3RlZFJvb3QpOworICAgICAgICBpbmRleE9mU2VwYXJhdG9yQWZ0ZXJSb290ID0g
aW5kZXhPZlJvb3RTdGFydCArIHJlcXVlc3RlZFJvb3QubGVuZ3RoKCk7CisgICAgfQorCisgICAg
U3RyaW5nIGZ1bGxQYXRoVG9VcmwgPSAiZmlsZTovLyIgKyByZXNvdXJjZVJvb3QgKyByZXF1ZXN0
ZWRVcmwuc3Vic3RyaW5nKGluZGV4T2ZTZXBhcmF0b3JBZnRlclJvb3QpOworCisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGZ1bGxQYXRoVG9VcmwudXRmOCgpLmRhdGEo
KSk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnF1ZXVlTG9hZChKU1N0cmluZ1Jl
ZiB1cmwsIEpTU3RyaW5nUmVmIHRhcmdldCkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTQ2MSkKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisy
MDEyLTA2LTA0ICBKb3NodWEgTG9jayAgPGpvc2h1YS5sb2NrQGludGVsLmNvbT4KKworICAgICAg
ICBbRUZMXVtEUlRdIE5vcm1hbGl6ZSBmaWxlOi8vL3RtcC9MYXlvdXRUZXN0cyBpbiBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6cGF0aFRvTG9jYWxSZXNvdXJjZSgpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI1NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlv
bnM6IHVuc2tpcAorICAgICAgICBmYXN0L2RvbS9mcmFtZS1sb2FkaW5nLXZpYS1kb2N1bWVudC13
cml0ZS5odG1sIG5vdyB0aGF0CisgICAgICAgIExheW91dFRlc3RDb250cm9sbGVyOjpwYXRoVG9M
b2NhbFJlc291cmNlKCkgaXMgaW1wbGVtZW50ZWQgZm9yIEVGTC4KKwogMjAxMi0wNi0wNCAgRW1p
bCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBjaHJv
bWl1bSB0ZXN0IGV4cGVjdGF0aW9uIHVwZGF0ZXMgZm9yIG5ldyB0ZXN0cy4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAxMTk0MzIpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5
KQpAQCAtMjI0LDkgKzIyNCw2IEBAIEJVR1dLODQzMzMgOiBodHRwL3Rlc3RzL2xvY2FsL2ZpbGVh
cGkvc2UKIEJVR1dLODQzMzMgOiBodHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhID0gVEVYVAogQlVH
V0s4NDMzMyA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL2NsaXBib2FyZC1maWxlLWFj
Y2Vzcy5odG1sID0gVEVYVAogCi0vLyBMYXlvdXRUZXN0Q29udHJvbGxlci5wYXRoVG9Mb2NhbFJl
c291cmNlIG5lZWRzIHNwZWNpYWwgaGFuZGxpbmcgb2YgZmlsZSBVUkxzIHRvIC90bXAuCi1CVUdX
Szg0MzM2IDogZmFzdC9kb20vZnJhbWUtbG9hZGluZy12aWEtZG9jdW1lbnQtd3JpdGUuaHRtbCA9
IFRJTUVPVVQgVEVYVAotCiAvLyBNaXNzaW5nIGV4ZWNDb21tYW5kKCdjb3B5JykgYW5kIGV4ZWND
b21tYW5kKCdwYXN0ZScpLgogQlVHV0s4NDMzOCA6IGVkaXRpbmcvZGVsZXRpbmcvcGFzdGUtd2l0
aC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kLWNvbG9yLmh0bWwgPSBURVhUCiBCVUdXSzg0MzM4IDog
ZWRpdGluZy9leGVjQ29tbWFuZC9maW5kLWFmdGVyLXJlcGxhY2UuaHRtbCA9IFRFWFQgTUlTU0lO
Rwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146425</attachid>
            <date>2012-06-07 17:27:44 -0700</date>
            <delta_ts>2012-06-07 19:59:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67255-20120607172742.patch</filename>
            <type>text/plain</type>
            <size>4557</size>
            <attacher name="Joshua Lock (joshuagl)">joshua.lock</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExOTc2MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTA2LTA3ICBKb3NodWEgTG9jayAgPGpvc2h1YS5sb2NrQGludGVsLmNv
bT4KKworICAgICAgICBbRUZMXVtEUlRdIE5vcm1hbGl6ZSBmaWxlOi8vL3RtcC9MYXlvdXRUZXN0
cyBpbiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cGF0aFRvTG9jYWxSZXNvdXJjZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI1NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBwYXRoVG9M
b2NhbFJlc291cmNlIHRvIHJlZGlyZWN0IGZpbGU6Ly8vdG1wIFVSTCdzIHRvCisgICAgICAgIERV
TVBSRU5ERVJUUkVFX1RFTVAgYW5kIGZpbGU6Ly8vdG1wL0xheW91dFRlc3RzIHRvIHBvaW50IHRv
IHRoZQorICAgICAgICBMYXlvdXRUZXN0cyBzdWItZGlyZWN0b3J5IG9mIHRoZSBXZWJLaXQgc291
cmNlIHRyZWUuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRy
b2xsZXJFZmwuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnBhdGhUb0xvY2Fs
UmVzb3VyY2UpOgorCiAyMDEyLTA2LTA3ICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgRml4IHJlY2VudCBudWxsIHBvaW50ZXIgZXJyb3IgcmVncmVzc2lvbiBpbiB0
aGUgZmxha2luZXNzIGRhc2hib2FyZApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xh
eW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCShyZXZpc2lvbiAxMTk3NjMpCisr
KyBUb29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03LDYgKzcsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDEwIEpvb25l
IEh1ciA8am9vbmVAa2xkcC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgUHJvRlVTSU9OIEVt
YmVkZGVkIFN5c3RlbXMKICAqIENvcHlyaWdodCAoQykgMjAxMSBTYW1zdW5nIEVsZWN0cm9uaWNz
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMTc3LDggKzE3OCwyOCBAQCB2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpub3RpZnlEb25lKCkKIAogSlNTdHJpbmdSZWYgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnBhdGhUb0xvY2FsUmVzb3VyY2UoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTU3RyaW5nUmVmIHVy
bCkKIHsKLSAgICAvLyBGdW5jdGlvbiBpbnRyb2R1Y2VkIGluIHIyODY5MC4gVGhpcyBtYXkgbmVl
ZCBzcGVjaWFsLWNhc2luZyBvbiBXaW5kb3dzLgotICAgIHJldHVybiBKU1N0cmluZ1JldGFpbih1
cmwpOyAvLyBEbyBub3RoaW5nIG9uIFVuaXguCisgICAgU3RyaW5nIHJlcXVlc3RlZFVybCh1cmwt
PmNoYXJhY3RlcnMoKSk7CisgICAgU3RyaW5nIHJlc291cmNlUm9vdDsKKyAgICBTdHJpbmcgcmVx
dWVzdGVkUm9vdDsKKworICAgIGlmIChyZXF1ZXN0ZWRVcmwuZmluZCgiTGF5b3V0VGVzdHMiKSAh
PSBub3RGb3VuZCkgeworICAgICAgICAvLyBJZiB0aGUgVVJMIGNvbnRhaW5zIExheW91dFRlc3Rz
IHdlIG5lZWQgdG8gcmVtYXAgdGhhdCB0bworICAgICAgICAvLyBMT0NBTF9SRVNPVVJDRV9ST09U
IHdoaWNoIGlzIHRoZSBwYXRoIG9mIHRoZSBMYXlvdXRUZXN0cyBkaXJlY3RvcnkKKyAgICAgICAg
Ly8gd2l0aGluIHRoZSBXZWJLaXQgc291cmNlIHRyZWUuCisgICAgICAgIHJlcXVlc3RlZFJvb3Qg
PSAiL3RtcC9MYXlvdXRUZXN0cyI7CisgICAgICAgIHJlc291cmNlUm9vdCA9IGdldGVudigiTE9D
QUxfUkVTT1VSQ0VfUk9PVCIpOworICAgIH0gZWxzZSBpZiAocmVxdWVzdGVkVXJsLmZpbmQoInRt
cCIpICE9IG5vdEZvdW5kKSB7CisgICAgICAgIC8vIElmIHRoZSBVUkwgaXMgYSBjaGlsZCBvZiAv
dG1wIHdlIG5lZWQgdG8gY29udmVydCBpdCB0byBiZSBhIGNoaWxkCisgICAgICAgIC8vIERVTVBS
RU5ERVJUUkVFX1RFTVAgcmVwbGFjZSB0bXAgd2l0aCBEVU1QUkVOREVSVFJFRV9URU1QCisgICAg
ICAgIHJlcXVlc3RlZFJvb3QgPSAiL3RtcCI7CisgICAgICAgIHJlc291cmNlUm9vdCA9IGdldGVu
digiRFVNUFJFTkRFUlRSRUVfVEVNUCIpOworICAgIH0KKworICAgIHNpemVfdCBpbmRleE9mUm9v
dFN0YXJ0ID0gcmVxdWVzdGVkVXJsLnJldmVyc2VGaW5kKHJlcXVlc3RlZFJvb3QpOworICAgIHNp
emVfdCBpbmRleE9mU2VwYXJhdG9yQWZ0ZXJSb290ID0gaW5kZXhPZlJvb3RTdGFydCArIHJlcXVl
c3RlZFJvb3QubGVuZ3RoKCk7CisgICAgU3RyaW5nIGZ1bGxQYXRoVG9VcmwgPSAiZmlsZTovLyIg
KyByZXNvdXJjZVJvb3QgKyByZXF1ZXN0ZWRVcmwuc3Vic3RyaW5nKGluZGV4T2ZTZXBhcmF0b3JB
ZnRlclJvb3QpOworCisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGZ1
bGxQYXRoVG9VcmwudXRmOCgpLmRhdGEoKSk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnF1ZXVlTG9hZChKU1N0cmluZ1JlZiB1cmwsIEpTU3RyaW5nUmVmIHRhcmdldCkKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDExOTc2MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA2LTA3ICBKb3NodWEgTG9jayAgPGpvc2h1YS5s
b2NrQGludGVsLmNvbT4KKworICAgICAgICBbRUZMXVtEUlRdIE5vcm1hbGl6ZSBmaWxlOi8vL3Rt
cC9MYXlvdXRUZXN0cyBpbiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cGF0aFRvTG9jYWxSZXNvdXJj
ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI1
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxh
dGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnM6IHVuc2tpcAorICAgICAgICBmYXN0L2RvbS9mcmFt
ZS1sb2FkaW5nLXZpYS1kb2N1bWVudC13cml0ZS5odG1sIG5vdyB0aGF0CisgICAgICAgIExheW91
dFRlc3RDb250cm9sbGVyOjpwYXRoVG9Mb2NhbFJlc291cmNlKCkgaXMgaW1wbGVtZW50ZWQgZm9y
IEVGTC4KKwogMjAxMi0wNi0wNiAgVmluY2VudCBTY2hlaWIgIDxzY2hlaWJAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIEFkZCBuZXcgUG9pbnRlciBMb2NrIHNwZWMgZXZlbnRzIHdlYmtpdHBvaW50
ZXJsb2NrY2hhbmdlIGFuZCB3ZWJraXRwb2ludGVybG9ja2Vycm9yCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTE5NzYzKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAg
LTIyNCw5ICsyMjQsNiBAQCBCVUdXSzg0MzMzIDogaHR0cC90ZXN0cy9sb2NhbC9maWxlYXBpL3Nl
CiBCVUdXSzg0MzMzIDogaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YSA9IFRFWFQKIEJVR1dLODQz
MzMgOiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NsaXBib2FyZC9jbGlwYm9hcmQtZmlsZS1hY2Nlc3Mu
aHRtbCA9IFRFWFQKIAotLy8gTGF5b3V0VGVzdENvbnRyb2xsZXIucGF0aFRvTG9jYWxSZXNvdXJj
ZSBuZWVkcyBzcGVjaWFsIGhhbmRsaW5nIG9mIGZpbGUgVVJMcyB0byAvdG1wLgotQlVHV0s4NDMz
NiA6IGZhc3QvZG9tL2ZyYW1lLWxvYWRpbmctdmlhLWRvY3VtZW50LXdyaXRlLmh0bWwgPSBUSU1F
T1VUIFRFWFQKLQogLy8gTWlzc2luZyBleGVjQ29tbWFuZCgnY29weScpIGFuZCBleGVjQ29tbWFu
ZCgncGFzdGUnKS4KIEJVR1dLODQzMzggOiBlZGl0aW5nL2RlbGV0aW5nL3Bhc3RlLXdpdGgtdHJh
bnNwYXJlbnQtYmFja2dyb3VuZC1jb2xvci5odG1sID0gVEVYVAogQlVHV0s4NDMzOCA6IGVkaXRp
bmcvZXhlY0NvbW1hbmQvZmluZC1hZnRlci1yZXBsYWNlLmh0bWwgPSBURVhUIE1JU1NJTkcK
</data>

          </attachment>
      

    </bug>

</bugzilla>