<?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>132888</bug_id>
          
          <creation_ts>2014-05-13 15:05:23 -0700</creation_ts>
          <short_desc>Clip Telephone Data Detector Overlay to Scrolling Range</short_desc>
          <delta_ts>2023-07-02 16:20:38 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1009099</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-05-13 15:05:23 -0700</bug_when>
    <thetext>The phone number datat detection UI does not get clipped by frame or overflow:scroll bounds. This is because the overlay is a &quot;document level&quot; view of the page, and it doesn&apos;t know about the scrolling position of various page elements.

We need to clip selection regions that live inside these &lt;div&gt;, &lt;select&gt;, and &lt;iframe&gt; elements so that they look right when content is scrolled or otherwise moved around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009100</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-05-13 15:05:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/16777365&gt;
&lt;rdar://problem/16777238&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009105</commentid>
    <comment_count>2</comment_count>
      <attachid>231411</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-05-13 15:12:13 -0700</bug_when>
    <thetext>Created attachment 231411
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009106</commentid>
    <comment_count>3</comment_count>
      <attachid>231411</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-13 15:18:47 -0700</bug_when>
    <thetext>Comment on attachment 231411
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:121
&gt; +{
&gt; +    CGContextRef cgContext = graphicsContext.platformContext();
&gt; +
&gt; +    // If this region is enclosed in a non-mainframe scrollable region, we need to clip.
&gt; +    ContainerNode* enclosedScrollableNode = findEnclosingScrollableContainer(range.startContainer()-&gt;parentNode());
&gt; +    if (!enclosedScrollableNode)
&gt; +        return;
&gt; +
&gt; +    Frame* frame = nullptr;
&gt; +    if (enclosedScrollableNode-&gt;isHTMLDocument())
&gt; +        frame = static_cast&lt;HTMLDocument*&gt;(enclosedScrollableNode)-&gt;frame();
&gt; +    else if (enclosedScrollableNode-&gt;isFrameOwnerElement())
&gt; +        frame = toHTMLFrameOwnerElement(enclosedScrollableNode)-&gt;contentFrame();
&gt; +
&gt; +    if (!frame &amp;&amp; !enclosedScrollableNode-&gt;isHTMLElement())
&gt; +        return;
&gt; +    
&gt; +    if (frame &amp;&amp; frame-&gt;isMainFrame())
&gt; +        return;
&gt; +
&gt; +    // Must clip:
&gt; +    IntRect clipRect;
&gt; +
&gt; +    if (FrameView* view = frame ? frame-&gt;view() : nullptr)
&gt; +        clipRect = view-&gt;windowClipRect();
&gt; +    else if (enclosedScrollableNode-&gt;isHTMLElement())
&gt; +        clipRect = toHTMLElement(enclosedScrollableNode)-&gt;clientRect();
&gt; +
&gt; +    clipRect.move(0, -topContentInset);
&gt; +    CGContextClipToRect(cgContext, clipRect);
&gt; +}

I think you should use RenderLayer::childrenClipRect() which we use for plug-ins and frames in various cases.

I also think this code should live at some lower level, where other things could make use of it. Makes no sense for this to be in telephone number code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009165</commentid>
    <comment_count>4</comment_count>
      <attachid>231428</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-05-13 20:26:30 -0700</bug_when>
    <thetext>Created attachment 231428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009180</commentid>
    <comment_count>5</comment_count>
      <attachid>231434</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-05-13 21:19:29 -0700</bug_when>
    <thetext>Created attachment 231434
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009182</commentid>
    <comment_count>6</comment_count>
      <attachid>231434</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-05-13 21:33:33 -0700</bug_when>
    <thetext>Comment on attachment 231434
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:242
&gt; +void PageOverlay::clipForRange(FrameView&amp; mainFrameView, WebCore::GraphicsContext&amp; graphicsContext, const WebCore::Range&amp; range, float topContentInset)

It seems really weird to me that PageOverlay knows anything about ranges. Does it need to?

&gt; Source/WebKit2/WebProcess/WebPage/PageOverlayController.cpp:213
&gt; -        if (overlayAndLayer.key-&gt;overlayType() == PageOverlay::OverlayType::View || !frame-&gt;isMainFrame())
&gt; +        if (!frame-&gt;isMainFrame())

I don&apos;t understand this change and it seems bad. You&apos;re making View-relative overlays not repaint on main frame scroll? That&apos;s going to destroy find-in-page, isn&apos;t it?

Your changelog says &quot;All overlay types should be informed about scroll events, not just Views.&quot;, but you&apos;re only changing what happens if it is a View-relative overlay.

Also there&apos;s no reason why overlays need to always invalidate on scroll. Maybe we should introduce &quot;needs invalidate on any scroll&quot; and &quot;needs invalidate on main frame scroll&quot; flags?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009183</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-05-13 21:58:34 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 231434 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=231434&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:242
&gt; &gt; +void PageOverlay::clipForRange(FrameView&amp; mainFrameView, WebCore::GraphicsContext&amp; graphicsContext, const WebCore::Range&amp; range, float topContentInset)
&gt; 
&gt; It seems really weird to me that PageOverlay knows anything about ranges. Does it need to?

I really only care about the renderer, and the Range&apos;s FrameView. I could revise the method to accept those parameters instead.

&gt; &gt; Source/WebKit2/WebProcess/WebPage/PageOverlayController.cpp:213
&gt; &gt; -        if (overlayAndLayer.key-&gt;overlayType() == PageOverlay::OverlayType::View || !frame-&gt;isMainFrame())
&gt; &gt; +        if (!frame-&gt;isMainFrame())
&gt; 
&gt; I don&apos;t understand this change and it seems bad. You&apos;re making View-relative overlays not repaint on main frame scroll? That&apos;s going to destroy find-in-page, isn&apos;t it?

You are right! I totally misread this statement and broke it. I did not need this part of the change at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009184</commentid>
    <comment_count>8</comment_count>
      <attachid>231435</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-05-13 22:06:44 -0700</bug_when>
    <thetext>Created attachment 231435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009321</commentid>
    <comment_count>9</comment_count>
      <attachid>231435</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-14 13:29:52 -0700</bug_when>
    <thetext>Comment on attachment 231435
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:246
&gt; +        clipRect = roundedIntRect(renderer.enclosingLayer()-&gt;selfClipRect());
&gt; +        clipRect.setLocation(mainFrameView.contentsToRootView(clipRect.location()));

So you&apos;re computing clipRect relative to the renderer&apos;s frame, but then using mainFrameView.contentsToRootView(). You want viewForRange. mainFrameView.contentsToRootView(). Also does this work if the iframe is scrolled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1964717</commentid>
    <comment_count>10</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-07-02 16:20:38 -0700</bug_when>
    <thetext>This commit removed &apos;TelephoneNumberOverlayControllerMac.mm&apos;: https://github.com/WebKit/WebKit/commit/00322669352e700ccf3470a10db87c77abc2e237

I know there are changes in PageOverlay.cpp/h in this patch but do we need them now or keep this bug open?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231411</attachid>
            <date>2014-05-13 15:12:13 -0700</date>
            <delta_ts>2014-05-13 20:26:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132888-20140513151150.patch</filename>
            <type>text/plain</type>
            <size>10332</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODc0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA1LTEzICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIENsaXAgVGVsZXBob25lIERh
dGEgRGV0ZWN0b3IgT3ZlcmxheSB0byBTY3JvbGxpbmcgUmFuZ2UuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI4ODgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBBZGQgbmV3
IGV4cG9ydHMgbmVlZGVkIGJ5IHRoZSBXSzIgbGF5ZXIKKyAgICAgICAgKiBkb20vQ29udGFpbmVy
Tm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6aXNIVE1MRG9jdW1lbnQp
OiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxEb2N1bWVudC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Ny
b2xsVG8pOiBOb3RpZnkgdGhlIHNlbGVjdGlvbiByZWdpb24gd2hlbgorICAgICAgICBhIHNjcm9s
bCBoYXBwZW5zIHNvIHBob25lIG51bWJlciByYW5nZXMgY2FuIGJlIHVwZGF0ZWQuCisKIDIwMTQt
MDUtMTMgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEZvbGxv
d3VwIHRvOiBVcGRhdGUgcG9zaXRpb25pbmcvZHJhd2luZyBvZiB0aGUgaW1hZ2UgY29udHJvbHMg
YnV0dG9uLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDE2ODY2NSkKKysrIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgwLDYgKzE0
ODAsMTAgQEAgX19aTjdXZWJDb3JlOXRvRWxlbWVudEVOM0pTQzdKU1ZhbHVlRQogX19aTjdXZWJD
b3JlOXVuaW9uUmVjdEVSS04zV1RGNlZlY3RvcklOU185RmxvYXRSZWN0RUxtMEVOUzBfMTVDcmFz
aE9uT3ZlcmZsb3dFRUUKIF9fWk5LM0pTQzhCaW5kaW5nczEwUm9vdE9iamVjdDEyZ2xvYmFsT2Jq
ZWN0RXYKIF9fWk5LM1dURjZTdHJpbmcxNGNyZWF0ZUNGU3RyaW5nRXYKK19fWk5LN1dlYkNvcmU0
Tm9kZTlyZW5kZXJCb3hFdgorX19aTks3V2ViQ29yZTlGcmFtZVZpZXcxNHdpbmRvd0NsaXBSZWN0
RWIKK19fWk5LN1dlYkNvcmU5UmVuZGVyQm94MzNjYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJs
ZUFyZWFFdgorX19aTks3V2ViQ29yZTlGcmFtZVZpZXcxNXRvcENvbnRlbnRJbnNldEV2CiBfX1pO
SzdXZWJDb3JlMTBDcmVkZW50aWFsMTFoYXNQYXNzd29yZEV2CiBfX1pOSzdXZWJDb3JlMTBDcmVk
ZW50aWFsMTFwZXJzaXN0ZW5jZUV2CiBfX1pOSzdXZWJDb3JlMTBDcmVkZW50aWFsNHVzZXJFdgpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCShyZXZpc2lvbiAxNjg2NjUpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcs
NiArMTM3LDggQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGdldEVsZW1lbnRz
QnlDbGFzc05hbWUoY29uc3QgU3RyaW5nJiBjbGFzc05hbWVzKTsKICAgICBQYXNzUmVmUHRyPFJh
ZGlvTm9kZUxpc3Q+IHJhZGlvTm9kZUxpc3QoY29uc3QgQXRvbWljU3RyaW5nJik7CiAKKyAgICB2
aXJ0dWFsIGJvb2wgaXNIVE1MRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiBw
cm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgQ29udGFpbmVyTm9kZShEb2N1bWVudCYsIENvbnN0cnVj
dGlvblR5cGUgPSBDcmVhdGVDb250YWluZXIpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxEb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERv
Y3VtZW50LmgJKHJldmlzaW9uIDE2ODY2NSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERv
Y3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDggQEAgcHVibGljOgogCiAgICAg
c3RhdGljIGJvb2wgaXNDYXNlU2Vuc2l0aXZlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
KTsKIAorICAgIHZpcnR1YWwgYm9vbCBpc0hUTUxEb2N1bWVudCgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIHRydWU7IH0KKwogcHJvdGVjdGVkOgogICAgIEhUTUxEb2N1bWVudChGcmFtZSosIGNv
bnN0IFVSTCYsIERvY3VtZW50Q2xhc3NGbGFncyA9IDAsIHVuc2lnbmVkIGNvbnN0cnVjdGlvbkZs
YWdzID0gMCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAkocmV2aXNpb24gMTY4NjY1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMwMiw2ICsyMzAyLDcgQEAgdm9pZCBSZW5kZXJM
YXllcjo6c2Nyb2xsVG8oaW50IHgsIGludCB5KQogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIgPSByZW5kZXJlcigpLmNvbnRhaW5lckZvclJlcGFpbnQoKTsKICAg
ICAvLyBUaGUgY2FyZXQgcmVjdCBuZWVkcyB0byBiZSBpbnZhbGlkYXRlZCBhZnRlciBzY3JvbGxp
bmcKICAgICBmcmFtZS5zZWxlY3Rpb24oKS5zZXRDYXJldFJlY3ROZWVkc1VwZGF0ZSgpOworICAg
IGZyYW1lLnNlbGVjdGlvbigpLnVwZGF0ZURhdGFEZXRlY3RvcnNGb3JTZWxlY3Rpb24oKTsKIAog
ICAgIEZsb2F0UXVhZCBxdWFkRm9yRmFrZU1vdXNlTW92ZUV2ZW50ID0gRmxvYXRRdWFkKG1fcmVw
YWludFJlY3QpOwogICAgIGlmIChyZXBhaW50Q29udGFpbmVyKQpJbmRleDogU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2
aXNpb24gMTY4NzQzKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjQgQEAKKzIwMTQtMDUtMTMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CisKKyAgICAgICAgQ2xpcCBUZWxlcGhvbmUgRGF0YSBEZXRlY3RvciBPdmVybGF5
IHRvIFNjcm9sbGluZyBSYW5nZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEzMjg4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VPdmVybGF5Q29udHJvbGxlcjo6ZGlkU2Nyb2xsRnJh
bWUpOiBBbGwgb3ZlcmxheSB0eXBlcyBzaG91bGQgYmUgaW5mb3JtZWQKKyAgICAgICAgYWJvdXQg
c2Nyb2xsIGV2ZW50cywgbm90IGp1c3QgVmlld3MuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1RlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6VGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmNsaXBGb3JSYW5nZSk6IEFkZGVk
IHN0dWIuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1RlbGVwaG9uZU51bWJlck92ZXJs
YXlDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UZWxlcGhv
bmVOdW1iZXJPdmVybGF5Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6ZmluZEVu
Y2xvc2luZ1Njcm9sbGFibGVDb250YWluZXIpOiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGZpbmQgbmVh
cmVzdCBzY3JvbGxhYmxlCisgICAgICAgIGVsZW1lbnQgZW5jbG9zaW5nIHRoZSBzZWxlY3Rpb24g
cmVnaW9uIGJlaW5nIGV2YWx1YXRlZC4KKyAgICAgICAgKFdlYktpdDo6VGVsZXBob25lTnVtYmVy
T3ZlcmxheUNvbnRyb2xsZXI6OmNsaXBGb3JSYW5nZSk6IENsaXAgdGhlIGRyYXdpbmcgY29udGV4
dCB0bworICAgICAgICB0aGUgZW5jbG9zaW5nIHJlY3Qgb2YgdGhlIHNjcm9sbGFibGUgcGFyZW50
IGhvbGRpbmcgdGhlIERhdGFEZXRlY3RvciBVSS4KKyAgICAgICAgKFdlYktpdDo6VGVsZXBob25l
TnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmRyYXdSZWN0KTogQ2xpcCB0aGUgZ3JhcGhpY3MgY29u
dGV4dCBiZWZvcmUKKyAgICAgICAgZHJhd2luZyB0aGUgRGF0YURldGVjdG9yIFVJLgorCiAyMDE0
LTA1LTEzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IEZpeCB0aGUgaU9TIFNpbXVsYXRvciBidWlsZC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3Bw
CShyZXZpc2lvbiAxNjg2NjUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
UGFnZU92ZXJsYXlDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEwLDcgKzIxMCw3
IEBAIHZvaWQgUGFnZU92ZXJsYXlDb250cm9sbGVyOjpkaWRDaGFuZ2VFeHAKIHZvaWQgUGFnZU92
ZXJsYXlDb250cm9sbGVyOjpkaWRTY3JvbGxGcmFtZShGcmFtZSogZnJhbWUpCiB7CiAgICAgZm9y
IChhdXRvJiBvdmVybGF5QW5kTGF5ZXIgOiBtX292ZXJsYXlHcmFwaGljc0xheWVycykgewotICAg
ICAgICBpZiAob3ZlcmxheUFuZExheWVyLmtleS0+b3ZlcmxheVR5cGUoKSA9PSBQYWdlT3Zlcmxh
eTo6T3ZlcmxheVR5cGU6OlZpZXcgfHwgIWZyYW1lLT5pc01haW5GcmFtZSgpKQorICAgICAgICBp
ZiAoIWZyYW1lLT5pc01haW5GcmFtZSgpKQogICAgICAgICAgICAgb3ZlcmxheUFuZExheWVyLnZh
bHVlLT5zZXROZWVkc0Rpc3BsYXkoKTsKICAgICB9CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UZWxlcGhvbmVO
dW1iZXJPdmVybGF5Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDE2ODY2NSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsxMTAsMTIgQEAgYm9vbCBUZWxlcGhvbmVO
dW1iZXJPdmVybGF5Q29udHJvbGxlcjo6bQogICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAgcmV0
dXJuIGZhbHNlOwogfQorCit2b2lkIFRlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyOjpj
bGlwRm9yUmFuZ2UoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6UmFu
Z2UmLCBmbG9hdCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiAjZW5kaWYKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRy
b2xsZXIuaAkocmV2aXNpb24gMTY4NjY1KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1RlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTgzLDYgKzgzLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICB2b2lkIGNsZWFySGlnaGxpZ2h0
cygpOwogICAgIHZvaWQgY2xlYXJNb3VzZURvd25JbmZvcm1hdGlvbigpOworICAgIHZvaWQgY2xp
cEZvclJhbmdlKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OlJhbmdl
JiwgZmxvYXQgaW5zZXQgPSAwKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIGhhbmRs
ZVRlbGVwaG9uZUNsaWNrKFRlbGVwaG9uZU51bWJlckRhdGEqLCBjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UZWxl
cGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RlbGVwaG9uZU51bWJlck92ZXJsYXlDb250
cm9sbGVyTWFjLm1tCShyZXZpc2lvbiAxNjg2NjUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1RlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyTWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiwxMSBAQAogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFF1
YWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0dy
YXBoaWNzQ29udGV4dC5oPgorI2ltcG9ydCA8V2ViQ29yZS9IVE1MRG9jdW1lbnQuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvSFRNTEZyYW1lT3duZXJFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL01h
aW5GcmFtZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJCb3guaD4KKyNpbXBvcnQgPFdlYkNv
cmUvU2hhZG93Um9vdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgogCiAjaWYg
X19oYXNfaW5jbHVkZSg8RGF0YURldGVjdG9ycy9EREhpZ2hsaWdodERyYXdpbmcuaD4pCkBAIC02
Nyw2ICs3MSw1NSBAQCBzdGF0aWMgSW50UmVjdCB0ZXh0UXVhZHNUb0JvdW5kaW5nUmVjdEZvCiAg
ICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QoYm91bmRpbmdSZWN0KTsKIH0KIAorc3RhdGljIENv
bnRhaW5lck5vZGUqIGZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyKE5vZGUqIG5vZGUp
Cit7CisgICAgaWYgKCFub2RlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIC8vIEZp
bmQgdGhlIGZpcnN0IG5vZGUgd2l0aCBhIHZhbGlkIHNjcm9sbGFibGUgYXJlYSBzdGFydGluZyB3
aXRoIHRoZSBjdXJyZW50CisgICAgLy8gbm9kZSBhbmQgdHJhdmVyc2luZyBpdHMgcGFyZW50cyAo
b3Igc2hhZG93IGhvc3RzKS4KKyAgICBmb3IgKENvbnRhaW5lck5vZGUqIGNhbmRpZGF0ZSA9IG5v
ZGUtPnBhcmVudE5vZGUoKTsgY2FuZGlkYXRlOyBjYW5kaWRhdGUgPSBjYW5kaWRhdGUtPnBhcmVu
dE9yU2hhZG93SG9zdE5vZGUoKSkgeworICAgICAgICBSZW5kZXJCb3gqIGJveCA9IGNhbmRpZGF0
ZS0+cmVuZGVyQm94KCk7CisgICAgICAgIGlmIChib3ggJiYgYm94LT5jYW5CZVNjcm9sbGVkQW5k
SGFzU2Nyb2xsYWJsZUFyZWEoKSkKKyAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7CisgICAg
fQorICAgIAorICAgIHJldHVybiBudWxscHRyOworfQorCit2b2lkIFRlbGVwaG9uZU51bWJlck92
ZXJsYXlDb250cm9sbGVyOjpjbGlwRm9yUmFuZ2UoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiBn
cmFwaGljc0NvbnRleHQsIGNvbnN0IFdlYkNvcmU6OlJhbmdlJiByYW5nZSwgZmxvYXQgdG9wQ29u
dGVudEluc2V0KQoreworICAgIENHQ29udGV4dFJlZiBjZ0NvbnRleHQgPSBncmFwaGljc0NvbnRl
eHQucGxhdGZvcm1Db250ZXh0KCk7CisKKyAgICAvLyBJZiB0aGlzIHJlZ2lvbiBpcyBlbmNsb3Nl
ZCBpbiBhIG5vbi1tYWluZnJhbWUgc2Nyb2xsYWJsZSByZWdpb24sIHdlIG5lZWQgdG8gY2xpcC4K
KyAgICBDb250YWluZXJOb2RlKiBlbmNsb3NlZFNjcm9sbGFibGVOb2RlID0gZmluZEVuY2xvc2lu
Z1Njcm9sbGFibGVDb250YWluZXIocmFuZ2Uuc3RhcnRDb250YWluZXIoKS0+cGFyZW50Tm9kZSgp
KTsKKyAgICBpZiAoIWVuY2xvc2VkU2Nyb2xsYWJsZU5vZGUpCisgICAgICAgIHJldHVybjsKKwor
ICAgIEZyYW1lKiBmcmFtZSA9IG51bGxwdHI7CisgICAgaWYgKGVuY2xvc2VkU2Nyb2xsYWJsZU5v
ZGUtPmlzSFRNTERvY3VtZW50KCkpCisgICAgICAgIGZyYW1lID0gc3RhdGljX2Nhc3Q8SFRNTERv
Y3VtZW50Kj4oZW5jbG9zZWRTY3JvbGxhYmxlTm9kZSktPmZyYW1lKCk7CisgICAgZWxzZSBpZiAo
ZW5jbG9zZWRTY3JvbGxhYmxlTm9kZS0+aXNGcmFtZU93bmVyRWxlbWVudCgpKQorICAgICAgICBm
cmFtZSA9IHRvSFRNTEZyYW1lT3duZXJFbGVtZW50KGVuY2xvc2VkU2Nyb2xsYWJsZU5vZGUpLT5j
b250ZW50RnJhbWUoKTsKKworICAgIGlmICghZnJhbWUgJiYgIWVuY2xvc2VkU2Nyb2xsYWJsZU5v
ZGUtPmlzSFRNTEVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGlmIChmcmFt
ZSAmJiBmcmFtZS0+aXNNYWluRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gTXVz
dCBjbGlwOgorICAgIEludFJlY3QgY2xpcFJlY3Q7CisKKyAgICBpZiAoRnJhbWVWaWV3KiB2aWV3
ID0gZnJhbWUgPyBmcmFtZS0+dmlldygpIDogbnVsbHB0cikKKyAgICAgICAgY2xpcFJlY3QgPSB2
aWV3LT53aW5kb3dDbGlwUmVjdCgpOworICAgIGVsc2UgaWYgKGVuY2xvc2VkU2Nyb2xsYWJsZU5v
ZGUtPmlzSFRNTEVsZW1lbnQoKSkKKyAgICAgICAgY2xpcFJlY3QgPSB0b0hUTUxFbGVtZW50KGVu
Y2xvc2VkU2Nyb2xsYWJsZU5vZGUpLT5jbGllbnRSZWN0KCk7CisKKyAgICBjbGlwUmVjdC5tb3Zl
KDAsIC10b3BDb250ZW50SW5zZXQpOworICAgIENHQ29udGV4dENsaXBUb1JlY3QoY2dDb250ZXh0
LCBjbGlwUmVjdCk7Cit9CisKIHZvaWQgVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6
OmRyYXdSZWN0KFBhZ2VPdmVybGF5KiBvdmVybGF5LCBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQm
IGdyYXBoaWNzQ29udGV4dCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZGlydHlSZWN0KQogewog
ICAgIGlmIChtX2N1cnJlbnRTZWxlY3Rpb25SYW5nZXMuaXNFbXB0eSgpKQpAQCAtOTUsNiArMTQ4
LDkgQEAgdm9pZCBUZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlcjo6ZAogICAgICAgICBp
ZiAoIXJlY3QuaW50ZXJzZWN0cyhkaXJ0eVJlY3QpKQogICAgICAgICAgICAgY29udGludWU7CiAK
KyAgICAgICAgQ0dDb250ZXh0U2F2ZUdTdGF0ZShjZ0NvbnRleHQpOworICAgICAgICBjbGlwRm9y
UmFuZ2UoZ3JhcGhpY3NDb250ZXh0LCAqcmFuZ2UsIG1haW5GcmFtZVZpZXcudG9wQ29udGVudElu
c2V0KCkpOworICAgICAgICAKICAgICAgICAgQ0dSZWN0IGNnUmVjdHNbXSA9IHsgKENHUmVjdCly
ZWN0IH07CiAKICAgICAgICAgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiBoaWdobGlnaHQgPSBh
ZG9wdENGKERESGlnaGxpZ2h0Q3JlYXRlV2l0aFJlY3RzSW5WaXNpYmxlUmVjdChudWxscHRyLCBj
Z1JlY3RzLCAxLCB2aWV3Rm9yUmFuZ2UtPmJvdW5kc1JlY3QoKSwgdHJ1ZSkpOwpAQCAtMTI4LDYg
KzE4NCw3IEBAIHZvaWQgVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmQKICAgICAg
ICAgaGlnaGxpZ2h0RHJhd1JlY3Qub3JpZ2luLnkgPSAwOwogICAgICAgICAKICAgICAgICAgQ0dD
b250ZXh0RHJhd0xheWVySW5SZWN0KGNnQ29udGV4dCwgaGlnaGxpZ2h0RHJhd1JlY3QsIGhpZ2hs
aWdodExheWVyKTsKKyAgICAgICAgQ0dDb250ZXh0UmVzdG9yZUdTdGF0ZShjZ0NvbnRleHQpOwog
ICAgIH0KIH0KICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231428</attachid>
            <date>2014-05-13 20:26:30 -0700</date>
            <delta_ts>2014-05-13 21:19:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132888-20140513202607.patch</filename>
            <type>text/plain</type>
            <size>8357</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODc0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA1LTEzICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIENsaXAgVGVsZXBob25lIERh
dGEgRGV0ZWN0b3IgT3ZlcmxheSB0byBTY3JvbGxpbmcgUmFuZ2UuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI4ODgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBBZGQgbmV3
IGV4cG9ydHMgbmVlZGVkIGJ5IHRoZSBXSzIgbGF5ZXIKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKTog
Tm90aWZ5IHRoZSBzZWxlY3Rpb24gcmVnaW9uIHdoZW4KKyAgICAgICAgYSBzY3JvbGwgaGFwcGVu
cyBzbyBwaG9uZSBudW1iZXIgcmFuZ2VzIGNhbiBiZSB1cGRhdGVkLgorCiAyMDE0LTA1LTEzICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBGb2xsb3d1cCB0bzog
VXBkYXRlIHBvc2l0aW9uaW5nL2RyYXdpbmcgb2YgdGhlIGltYWdlIGNvbnRyb2xzIGJ1dHRvbi4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAxNjg2NjUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtMTQ4MCw2ICsxNDgwLDggQEAg
X19aTjdXZWJDb3JlOXRvRWxlbWVudEVOM0pTQzdKU1ZhbHVlRQogX19aTjdXZWJDb3JlOXVuaW9u
UmVjdEVSS04zV1RGNlZlY3RvcklOU185RmxvYXRSZWN0RUxtMEVOUzBfMTVDcmFzaE9uT3ZlcmZs
b3dFRUUKIF9fWk5LM0pTQzhCaW5kaW5nczEwUm9vdE9iamVjdDEyZ2xvYmFsT2JqZWN0RXYKIF9f
Wk5LM1dURjZTdHJpbmcxNGNyZWF0ZUNGU3RyaW5nRXYKK19fWk5LN1dlYkNvcmU5RnJhbWVWaWV3
MTR3aW5kb3dDbGlwUmVjdEViCitfX1pOSzdXZWJDb3JlOUZyYW1lVmlldzE1dG9wQ29udGVudElu
c2V0RXYKIF9fWk5LN1dlYkNvcmUxMENyZWRlbnRpYWwxMWhhc1Bhc3N3b3JkRXYKIF9fWk5LN1dl
YkNvcmUxMENyZWRlbnRpYWwxMXBlcnNpc3RlbmNlRXYKIF9fWk5LN1dlYkNvcmUxMENyZWRlbnRp
YWw0dXNlckV2CkBAIC0xNTQ3LDYgKzE1NDksNyBAQCBfX1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRl
bThyZWZlcnJlckV2CiBfX1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRlbTl1cmxTdHJpbmdFdgogX19a
Tks3V2ViQ29yZTExSGlzdG9yeUl0ZW05dmlld1N0YXRlRXYKIF9fWk5LN1dlYkNvcmUxMVJlbmRl
ckJsb2NrMjVpbmxpbmVFbGVtZW50Q29udGludWF0aW9uRXYKK19fWk5LN1dlYkNvcmUxMVJlbmRl
ckxheWVyMTZjaGlsZHJlbkNsaXBSZWN0RXYKIF9fWk5LN1dlYkNvcmUxMVJlbmRlckxheWVyMTlh
YnNvbHV0ZUJvdW5kaW5nQm94RXYKIF9fWk5LN1dlYkNvcmUxMVJlbmRlckxheWVyMjRuZWVkc0Nv
bXBvc2l0ZWRTY3JvbGxpbmdFdgogX19aTks3V2ViQ29yZTExUmVuZGVyU3R5bGUxMWZvbnRNZXRy
aWNzRXYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAkocmV2
aXNpb24gMTY4NjY1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjMwMiw2ICsyMzAyLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6
c2Nyb2xsVG8oaW50IHgsIGludCB5KQogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIgPSByZW5kZXJlcigpLmNvbnRhaW5lckZvclJlcGFpbnQoKTsKICAgICAvLyBU
aGUgY2FyZXQgcmVjdCBuZWVkcyB0byBiZSBpbnZhbGlkYXRlZCBhZnRlciBzY3JvbGxpbmcKICAg
ICBmcmFtZS5zZWxlY3Rpb24oKS5zZXRDYXJldFJlY3ROZWVkc1VwZGF0ZSgpOworICAgIGZyYW1l
LnNlbGVjdGlvbigpLnVwZGF0ZURhdGFEZXRlY3RvcnNGb3JTZWxlY3Rpb24oKTsKIAogICAgIEZs
b2F0UXVhZCBxdWFkRm9yRmFrZU1vdXNlTW92ZUV2ZW50ID0gRmxvYXRRdWFkKG1fcmVwYWludFJl
Y3QpOwogICAgIGlmIChyZXBhaW50Q29udGFpbmVyKQpJbmRleDogU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24g
MTY4NzQzKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMjEgQEAKKzIwMTQtMDUtMTMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5j
b20+CisKKyAgICAgICAgQ2xpcCBUZWxlcGhvbmUgRGF0YSBEZXRlY3RvciBPdmVybGF5IHRvIFNj
cm9sbGluZyBSYW5nZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzMjg4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6UGFnZU92ZXJsYXk6OmNsaXBGb3JSYW5nZSk6IENsaXAgdGhlIGRyYXdpbmcgY29udGV4
dCB0byB0aGUgZW5jbG9zZWQKKyAgICAgICAgcmVjdCBvZiB0aGUgc2Nyb2xsYWJsZSBwYXJlbnQg
aG9sZGluZyB0aGUgRGF0YURldGVjdG9yIFVJLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9QYWdlT3ZlcmxheS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3Zlcmxh
eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlT3ZlcmxheUNvbnRyb2xsZXI6
OmRpZFNjcm9sbEZyYW1lKTogQWxsIG92ZXJsYXkgdHlwZXMgc2hvdWxkIGJlIGluZm9ybWVkCisg
ICAgICAgIGFib3V0IHNjcm9sbCBldmVudHMsIG5vdCBqdXN0IFZpZXdzLgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXJNYWMu
bW06CisgICAgICAgIChXZWJLaXQ6OlRlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyOjpk
cmF3UmVjdCk6IENsaXAgdGhlIGdyYXBoaWNzIGNvbnRleHQgYmVmb3JlCisgICAgICAgIGRyYXdp
bmcgdGhlIERhdGFEZXRlY3RvciBVSS4KKwogMjAxNC0wNS0xMyAgU2ltb24gRnJhc2VyICA8c2lt
b24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIGlPUyBTaW11bGF0b3IgYnVp
bGQuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdl
T3ZlcmxheS5jcHAJKHJldmlzaW9uIDE2ODY2NSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDkgKzMwLDE1
IEBACiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVWaWV3
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL0hUTUxEb2N1bWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSFRNTEZyYW1lT3duZXJFbGVt
ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NYWluRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1BhZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JhbmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9S
ZW5kZXJCb3guaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlckxheWVyLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9TY3JvbGxiYXJUaGVtZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhZG93Um9vdC5o
PgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKQEAgLTIzMyw0ICsyMzksMzIgQEAgdm9pZCBQYWdlT3ZlcmxheTo6Y2xlYXIoKQogICAgIG1f
d2ViUGFnZS0+cGFnZU92ZXJsYXlDb250cm9sbGVyKCkuY2xlYXJQYWdlT3ZlcmxheSgqdGhpcyk7
CiB9CiAKK3ZvaWQgUGFnZU92ZXJsYXk6OmNsaXBGb3JSYW5nZShGcmFtZVZpZXcmIG1haW5GcmFt
ZVZpZXcsIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBX
ZWJDb3JlOjpSYW5nZSYgcmFuZ2UsIGZsb2F0IHRvcENvbnRlbnRJbnNldCkKK3sKKyAgICBGcmFt
ZVZpZXcqIHZpZXdGb3JSYW5nZSA9IHJhbmdlLm93bmVyRG9jdW1lbnQoKS52aWV3KCk7CisgICAg
aWYgKCF2aWV3Rm9yUmFuZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIFJlbmRlck9iamVjdCog
cmVuZGVyZXIgPSByYW5nZS5zdGFydENvbnRhaW5lcigpLT5yZW5kZXJlcigpOworICAgIGlmICgh
cmVuZGVyZXIpCisgICAgICAgIHJldHVybjsKKworICAgIEludFJlY3QgY2xpcFJlY3Q7CisgICAg
aWYgKCF2aWV3Rm9yUmFuZ2UtPmZyYW1lKCkuaXNNYWluRnJhbWUoKSkKKyAgICAgICAgY2xpcFJl
Y3QgPSB2aWV3Rm9yUmFuZ2UtPndpbmRvd0NsaXBSZWN0KCk7CisgICAgZWxzZSB7CisgICAgICAg
IGZvciAoUmVuZGVyTGF5ZXIqIGxheWVyID0gcmVuZGVyZXItPmVuY2xvc2luZ0xheWVyKCk7IGxh
eWVyOyBsYXllciA9IGxheWVyLT5wYXJlbnQoKSkgeworICAgICAgICAgICAgaWYgKGNsaXBSZWN0
LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBjbGlwUmVjdCA9IHJvdW5kZWRJbnRSZWN0KGxh
eWVyLT5jaGlsZHJlbkNsaXBSZWN0KCkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIGNsaXBSZWN0LmludGVyc2VjdChyb3VuZGVkSW50UmVjdChsYXllci0+Y2hpbGRyZW5DbGlw
UmVjdCgpKSk7CisgICAgICAgIH0KKyAgICAgICAgY2xpcFJlY3Quc2V0TG9jYXRpb24obWFpbkZy
YW1lVmlldy5jb250ZW50c1RvUm9vdFZpZXcoY2xpcFJlY3QubG9jYXRpb24oKSkpOworICAgIH0K
KworICAgIGNsaXBSZWN0Lm1vdmUoMCwgLXRvcENvbnRlbnRJbnNldCk7CisgICAgZ3JhcGhpY3ND
b250ZXh0LmNsaXAoY2xpcFJlY3QpOworfQorICAgIAorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3Zlcmxh
eS5oCShyZXZpc2lvbiAxNjg2NjUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvUGFnZU92ZXJsYXkuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1
ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEZyYW1lVmll
dzsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKK2NsYXNzIFJhbmdlOwogfQogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKQEAgLTk1LDcgKzk3LDkgQEAgcHVibGljOgogCiAgICAgV2ViQ29yZTo6UkdCQTMy
IGJhY2tncm91bmRDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3VuZENvbG9yOyB9CiAg
ICAgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoV2ViQ29yZTo6UkdCQTMyKTsKLSAgICAKKworICAg
IHN0YXRpYyB2b2lkIGNsaXBGb3JSYW5nZShXZWJDb3JlOjpGcmFtZVZpZXcmLCBXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQmLCBjb25zdCBXZWJDb3JlOjpSYW5nZSYsIGZsb2F0IGluc2V0ID0gMCk7
CisKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBQYWdlT3ZlcmxheShDbGllbnQqLCBPdmVybGF5
VHlwZSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3Zl
cmxheUNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAxNjg2NjUpCisr
KyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXlDb250cm9sbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEwLDcgKzIxMCw3IEBAIHZvaWQgUGFnZU92ZXJsYXlD
b250cm9sbGVyOjpkaWRDaGFuZ2VFeHAKIHZvaWQgUGFnZU92ZXJsYXlDb250cm9sbGVyOjpkaWRT
Y3JvbGxGcmFtZShGcmFtZSogZnJhbWUpCiB7CiAgICAgZm9yIChhdXRvJiBvdmVybGF5QW5kTGF5
ZXIgOiBtX292ZXJsYXlHcmFwaGljc0xheWVycykgewotICAgICAgICBpZiAob3ZlcmxheUFuZExh
eWVyLmtleS0+b3ZlcmxheVR5cGUoKSA9PSBQYWdlT3ZlcmxheTo6T3ZlcmxheVR5cGU6OlZpZXcg
fHwgIWZyYW1lLT5pc01haW5GcmFtZSgpKQorICAgICAgICBpZiAoIWZyYW1lLT5pc01haW5GcmFt
ZSgpKQogICAgICAgICAgICAgb3ZlcmxheUFuZExheWVyLnZhbHVlLT5zZXROZWVkc0Rpc3BsYXko
KTsKICAgICB9CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyTWFjLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGVsZXBob25lTnVtYmVyT3Zlcmxh
eUNvbnRyb2xsZXJNYWMubW0JKHJldmlzaW9uIDE2ODY2NSkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXJNYWMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTk1LDYgKzk1LDkgQEAgdm9pZCBUZWxlcGhvbmVOdW1iZXJP
dmVybGF5Q29udHJvbGxlcjo6ZAogICAgICAgICBpZiAoIXJlY3QuaW50ZXJzZWN0cyhkaXJ0eVJl
Y3QpKQogICAgICAgICAgICAgY29udGludWU7CiAKKyAgICAgICAgR3JhcGhpY3NDb250ZXh0U3Rh
dGVTYXZlciBzdGF0ZVNhdmVyKGdyYXBoaWNzQ29udGV4dCk7CisgICAgICAgIFBhZ2VPdmVybGF5
OjpjbGlwRm9yUmFuZ2UobWFpbkZyYW1lVmlldywgZ3JhcGhpY3NDb250ZXh0LCAqcmFuZ2UsIG1h
aW5GcmFtZVZpZXcudG9wQ29udGVudEluc2V0KCkpOworICAgICAgICAKICAgICAgICAgQ0dSZWN0
IGNnUmVjdHNbXSA9IHsgKENHUmVjdClyZWN0IH07CiAKICAgICAgICAgUmV0YWluUHRyPERESGln
aGxpZ2h0UmVmPiBoaWdobGlnaHQgPSBhZG9wdENGKERESGlnaGxpZ2h0Q3JlYXRlV2l0aFJlY3Rz
SW5WaXNpYmxlUmVjdChudWxscHRyLCBjZ1JlY3RzLCAxLCB2aWV3Rm9yUmFuZ2UtPmJvdW5kc1Jl
Y3QoKSwgdHJ1ZSkpOwpAQCAtMTE3LDggKzEyMCw2IEBAIHZvaWQgVGVsZXBob25lTnVtYmVyT3Zl
cmxheUNvbnRyb2xsZXI6OmQKICAgICAgICAgQ0dMYXllclJlZiBoaWdobGlnaHRMYXllciA9IERE
SGlnaGxpZ2h0R2V0TGF5ZXJXaXRoQ29udGV4dChoaWdobGlnaHQuZ2V0KCksIGNnQ29udGV4dCk7
CiAgICAgICAgIENHUmVjdCBoaWdobGlnaHRCb3VuZGluZ1JlY3QgPSBEREhpZ2hsaWdodEdldEJv
dW5kaW5nUmVjdChoaWdobGlnaHQuZ2V0KCkpOwogICAgICAgICAKLSAgICAgICAgR3JhcGhpY3ND
b250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGdyYXBoaWNzQ29udGV4dCk7Ci0KICAgICAgICAg
Z3JhcGhpY3NDb250ZXh0LnRyYW5zbGF0ZSh0b0Zsb2F0U2l6ZShoaWdobGlnaHRCb3VuZGluZ1Jl
Y3Qub3JpZ2luKSk7CiAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zY2FsZShGbG9hdFNpemUoMSwg
LTEpKTsKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnRyYW5zbGF0ZShGbG9hdFNpemUoMCwgLWhp
Z2hsaWdodEJvdW5kaW5nUmVjdC5zaXplLmhlaWdodCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231434</attachid>
            <date>2014-05-13 21:19:29 -0700</date>
            <delta_ts>2014-05-13 22:06:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132888-20140513211906.patch</filename>
            <type>text/plain</type>
            <size>8164</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODc0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA1LTEzICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIENsaXAgVGVsZXBob25lIERh
dGEgRGV0ZWN0b3IgT3ZlcmxheSB0byBTY3JvbGxpbmcgUmFuZ2UuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI4ODgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBBZGQgbmV3
IGV4cG9ydHMgbmVlZGVkIGJ5IHRoZSBXSzIgbGF5ZXIKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKTog
Tm90aWZ5IHRoZSBzZWxlY3Rpb24gcmVnaW9uIHdoZW4KKyAgICAgICAgYSBzY3JvbGwgaGFwcGVu
cyBzbyBwaG9uZSBudW1iZXIgcmFuZ2VzIGNhbiBiZSB1cGRhdGVkLgorCiAyMDE0LTA1LTEzICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBGb2xsb3d1cCB0bzog
VXBkYXRlIHBvc2l0aW9uaW5nL2RyYXdpbmcgb2YgdGhlIGltYWdlIGNvbnRyb2xzIGJ1dHRvbi4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAxNjg2NjUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtMTQ4MCw2ICsxNDgwLDggQEAg
X19aTjdXZWJDb3JlOXRvRWxlbWVudEVOM0pTQzdKU1ZhbHVlRQogX19aTjdXZWJDb3JlOXVuaW9u
UmVjdEVSS04zV1RGNlZlY3RvcklOU185RmxvYXRSZWN0RUxtMEVOUzBfMTVDcmFzaE9uT3ZlcmZs
b3dFRUUKIF9fWk5LM0pTQzhCaW5kaW5nczEwUm9vdE9iamVjdDEyZ2xvYmFsT2JqZWN0RXYKIF9f
Wk5LM1dURjZTdHJpbmcxNGNyZWF0ZUNGU3RyaW5nRXYKK19fWk5LN1dlYkNvcmU5RnJhbWVWaWV3
MTR3aW5kb3dDbGlwUmVjdEViCitfX1pOSzdXZWJDb3JlOUZyYW1lVmlldzE1dG9wQ29udGVudElu
c2V0RXYKIF9fWk5LN1dlYkNvcmUxMENyZWRlbnRpYWwxMWhhc1Bhc3N3b3JkRXYKIF9fWk5LN1dl
YkNvcmUxMENyZWRlbnRpYWwxMXBlcnNpc3RlbmNlRXYKIF9fWk5LN1dlYkNvcmUxMENyZWRlbnRp
YWw0dXNlckV2CkBAIC0xNTQ3LDYgKzE1NDksNyBAQCBfX1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRl
bThyZWZlcnJlckV2CiBfX1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRlbTl1cmxTdHJpbmdFdgogX19a
Tks3V2ViQ29yZTExSGlzdG9yeUl0ZW05dmlld1N0YXRlRXYKIF9fWk5LN1dlYkNvcmUxMVJlbmRl
ckJsb2NrMjVpbmxpbmVFbGVtZW50Q29udGludWF0aW9uRXYKK19fWk5LN1dlYkNvcmUxMVJlbmRl
ckxheWVyMTJzZWxmQ2xpcFJlY3RFdgogX19aTks3V2ViQ29yZTExUmVuZGVyTGF5ZXIxOWFic29s
dXRlQm91bmRpbmdCb3hFdgogX19aTks3V2ViQ29yZTExUmVuZGVyTGF5ZXIyNG5lZWRzQ29tcG9z
aXRlZFNjcm9sbGluZ0V2CiBfX1pOSzdXZWJDb3JlMTFSZW5kZXJTdHlsZTExZm9udE1ldHJpY3NF
dgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCShyZXZpc2lv
biAxNjg2NjUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMzAyLDYgKzIzMDIsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3Jv
bGxUbyhpbnQgeCwgaW50IHkpCiAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENv
bnRhaW5lciA9IHJlbmRlcmVyKCkuY29udGFpbmVyRm9yUmVwYWludCgpOwogICAgIC8vIFRoZSBj
YXJldCByZWN0IG5lZWRzIHRvIGJlIGludmFsaWRhdGVkIGFmdGVyIHNjcm9sbGluZwogICAgIGZy
YW1lLnNlbGVjdGlvbigpLnNldENhcmV0UmVjdE5lZWRzVXBkYXRlKCk7CisgICAgZnJhbWUuc2Vs
ZWN0aW9uKCkudXBkYXRlRGF0YURldGVjdG9yc0ZvclNlbGVjdGlvbigpOwogCiAgICAgRmxvYXRR
dWFkIHF1YWRGb3JGYWtlTW91c2VNb3ZlRXZlbnQgPSBGbG9hdFF1YWQobV9yZXBhaW50UmVjdCk7
CiAgICAgaWYgKHJlcGFpbnRDb250YWluZXIpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjg3
NDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyMSBAQAorMjAxNC0wNS0xMyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4K
KworICAgICAgICBDbGlwIFRlbGVwaG9uZSBEYXRhIERldGVjdG9yIE92ZXJsYXkgdG8gU2Nyb2xs
aW5nIFJhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMyODg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQYWdlT3ZlcmxheTo6Y2xpcEZvclJhbmdlKTogQ2xpcCB0aGUgZHJhd2luZyBjb250ZXh0IHRv
IHRoZSBlbmNsb3NlZAorICAgICAgICByZWN0IG9mIHRoZSBzY3JvbGxhYmxlIHBhcmVudCBob2xk
aW5nIHRoZSBEYXRhRGV0ZWN0b3IgVUkuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1Bh
Z2VPdmVybGF5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VPdmVybGF5Q29udHJvbGxlcjo6ZGlk
U2Nyb2xsRnJhbWUpOiBBbGwgb3ZlcmxheSB0eXBlcyBzaG91bGQgYmUgaW5mb3JtZWQKKyAgICAg
ICAgYWJvdXQgc2Nyb2xsIGV2ZW50cywgbm90IGp1c3QgVmlld3MuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9UZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlck1hYy5tbToK
KyAgICAgICAgKFdlYktpdDo6VGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmRyYXdS
ZWN0KTogQ2xpcCB0aGUgZ3JhcGhpY3MgY29udGV4dCBiZWZvcmUKKyAgICAgICAgZHJhd2luZyB0
aGUgRGF0YURldGVjdG9yIFVJLgorCiAyMDE0LTA1LTEzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgaU9TIFNpbXVsYXRvciBidWlsZC4K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVy
bGF5LmNwcAkocmV2aXNpb24gMTY4NjY1KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1BhZ2VPdmVybGF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAsMTUgQEAK
ICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZVZpZXcuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
SFRNTERvY3VtZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9IVE1MRnJhbWVPd25lckVsZW1lbnQu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL01haW5GcmFtZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFn
ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmFuZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JlbmRl
ckJveC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1Njcm9sbGJhclRoZW1lLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TaGFkb3dSb290Lmg+CiAj
aW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpA
QCAtMjMzLDQgKzIzOSwyOCBAQCB2b2lkIFBhZ2VPdmVybGF5OjpjbGVhcigpCiAgICAgbV93ZWJQ
YWdlLT5wYWdlT3ZlcmxheUNvbnRyb2xsZXIoKS5jbGVhclBhZ2VPdmVybGF5KCp0aGlzKTsKIH0K
IAordm9pZCBQYWdlT3ZlcmxheTo6Y2xpcEZvclJhbmdlKEZyYW1lVmlldyYgbWFpbkZyYW1lVmll
dywgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQsIGNvbnN0IFdlYkNv
cmU6OlJhbmdlJiByYW5nZSwgZmxvYXQgdG9wQ29udGVudEluc2V0KQoreworICAgIEZyYW1lVmll
dyogdmlld0ZvclJhbmdlID0gcmFuZ2Uub3duZXJEb2N1bWVudCgpLnZpZXcoKTsKKyAgICBpZiAo
IXZpZXdGb3JSYW5nZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVuZGVyT2JqZWN0KiByZW5k
ZXJlciA9IHJhbmdlLnN0YXJ0Q29udGFpbmVyKCktPnJlbmRlcmVyKCk7CisgICAgaWYgKCFyZW5k
ZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgSW50UmVjdCBjbGlwUmVjdDsKKyAgICBpZiAo
IXZpZXdGb3JSYW5nZS0+ZnJhbWUoKS5pc01haW5GcmFtZSgpKQorICAgICAgICBjbGlwUmVjdCA9
IHZpZXdGb3JSYW5nZS0+d2luZG93Q2xpcFJlY3QoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgQVNT
RVJUKHJlbmRlcmVyLT5lbmNsb3NpbmdMYXllcigpKTsKKyAgICAgICAgY2xpcFJlY3QgPSByb3Vu
ZGVkSW50UmVjdChyZW5kZXJlci0+ZW5jbG9zaW5nTGF5ZXIoKS0+c2VsZkNsaXBSZWN0KCkpOwor
ICAgICAgICBjbGlwUmVjdC5zZXRMb2NhdGlvbihtYWluRnJhbWVWaWV3LmNvbnRlbnRzVG9Sb290
VmlldyhjbGlwUmVjdC5sb2NhdGlvbigpKSk7CisgICAgfQorCisgICAgY2xpcFJlY3QubW92ZSgw
LCAtdG9wQ29udGVudEluc2V0KTsKKyAgICBncmFwaGljc0NvbnRleHQuY2xpcChjbGlwUmVjdCk7
Cit9CisgICAgCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmgJKHJldmlzaW9uIDE2ODY2NSkK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw3ICszNCw5IEBACiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgRnJhbWVWaWV3OwogY2xhc3MgR3JhcGhpY3NDb250
ZXh0OworY2xhc3MgUmFuZ2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtOTUsNyArOTcs
OSBAQCBwdWJsaWM6CiAKICAgICBXZWJDb3JlOjpSR0JBMzIgYmFja2dyb3VuZENvbG9yKCkgY29u
c3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kQ29sb3I7IH0KICAgICB2b2lkIHNldEJhY2tncm91bmRD
b2xvcihXZWJDb3JlOjpSR0JBMzIpOwotICAgIAorCisgICAgc3RhdGljIHZvaWQgY2xpcEZvclJh
bmdlKFdlYkNvcmU6OkZyYW1lVmlldyYsIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0
IFdlYkNvcmU6OlJhbmdlJiwgZmxvYXQgaW5zZXQgPSAwKTsKKwogcHJvdGVjdGVkOgogICAgIGV4
cGxpY2l0IFBhZ2VPdmVybGF5KENsaWVudCosIE92ZXJsYXlUeXBlKTsKIApJbmRleDogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5
Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDE2ODY2NSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMTAsNyArMjEwLDcgQEAgdm9pZCBQYWdlT3ZlcmxheUNvbnRyb2xsZXI6OmRpZENoYW5nZUV4
cAogdm9pZCBQYWdlT3ZlcmxheUNvbnRyb2xsZXI6OmRpZFNjcm9sbEZyYW1lKEZyYW1lKiBmcmFt
ZSkKIHsKICAgICBmb3IgKGF1dG8mIG92ZXJsYXlBbmRMYXllciA6IG1fb3ZlcmxheUdyYXBoaWNz
TGF5ZXJzKSB7Ci0gICAgICAgIGlmIChvdmVybGF5QW5kTGF5ZXIua2V5LT5vdmVybGF5VHlwZSgp
ID09IFBhZ2VPdmVybGF5OjpPdmVybGF5VHlwZTo6VmlldyB8fCAhZnJhbWUtPmlzTWFpbkZyYW1l
KCkpCisgICAgICAgIGlmICghZnJhbWUtPmlzTWFpbkZyYW1lKCkpCiAgICAgICAgICAgICBvdmVy
bGF5QW5kTGF5ZXIudmFsdWUtPnNldE5lZWRzRGlzcGxheSgpOwogICAgIH0KIH0KSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGVsZXBob25lTnVtYmVyT3Zlcmxh
eUNvbnRyb2xsZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9UZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlck1hYy5tbQkocmV2
aXNpb24gMTY4NjY1KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9U
ZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAt
OTUsNiArOTUsOSBAQCB2b2lkIFRlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyOjpkCiAg
ICAgICAgIGlmICghcmVjdC5pbnRlcnNlY3RzKGRpcnR5UmVjdCkpCiAgICAgICAgICAgICBjb250
aW51ZTsKIAorICAgICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoZ3Jh
cGhpY3NDb250ZXh0KTsKKyAgICAgICAgUGFnZU92ZXJsYXk6OmNsaXBGb3JSYW5nZShtYWluRnJh
bWVWaWV3LCBncmFwaGljc0NvbnRleHQsICpyYW5nZSwgbWFpbkZyYW1lVmlldy50b3BDb250ZW50
SW5zZXQoKSk7CisgICAgICAgIAogICAgICAgICBDR1JlY3QgY2dSZWN0c1tdID0geyAoQ0dSZWN0
KXJlY3QgfTsKIAogICAgICAgICBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGhpZ2hsaWdodCA9
IGFkb3B0Q0YoRERIaWdobGlnaHRDcmVhdGVXaXRoUmVjdHNJblZpc2libGVSZWN0KG51bGxwdHIs
IGNnUmVjdHMsIDEsIHZpZXdGb3JSYW5nZS0+Ym91bmRzUmVjdCgpLCB0cnVlKSk7CkBAIC0xMTcs
OCArMTIwLDYgQEAgdm9pZCBUZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlcjo6ZAogICAg
ICAgICBDR0xheWVyUmVmIGhpZ2hsaWdodExheWVyID0gRERIaWdobGlnaHRHZXRMYXllcldpdGhD
b250ZXh0KGhpZ2hsaWdodC5nZXQoKSwgY2dDb250ZXh0KTsKICAgICAgICAgQ0dSZWN0IGhpZ2hs
aWdodEJvdW5kaW5nUmVjdCA9IERESGlnaGxpZ2h0R2V0Qm91bmRpbmdSZWN0KGhpZ2hsaWdodC5n
ZXQoKSk7CiAgICAgICAgIAotICAgICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRl
U2F2ZXIoZ3JhcGhpY3NDb250ZXh0KTsKLQogICAgICAgICBncmFwaGljc0NvbnRleHQudHJhbnNs
YXRlKHRvRmxvYXRTaXplKGhpZ2hsaWdodEJvdW5kaW5nUmVjdC5vcmlnaW4pKTsKICAgICAgICAg
Z3JhcGhpY3NDb250ZXh0LnNjYWxlKEZsb2F0U2l6ZSgxLCAtMSkpOwogICAgICAgICBncmFwaGlj
c0NvbnRleHQudHJhbnNsYXRlKEZsb2F0U2l6ZSgwLCAtaGlnaGxpZ2h0Qm91bmRpbmdSZWN0LnNp
emUuaGVpZ2h0KSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231435</attachid>
            <date>2014-05-13 22:06:44 -0700</date>
            <delta_ts>2014-05-14 13:29:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132888-20140513220621.patch</filename>
            <type>text/plain</type>
            <size>7363</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODc0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA1LTEzICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIENsaXAgVGVsZXBob25lIERh
dGEgRGV0ZWN0b3IgT3ZlcmxheSB0byBTY3JvbGxpbmcgUmFuZ2UuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI4ODgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBBZGQgbmV3
IGV4cG9ydHMgbmVlZGVkIGJ5IHRoZSBXSzIgbGF5ZXIKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKTog
Tm90aWZ5IHRoZSBzZWxlY3Rpb24gcmVnaW9uIHdoZW4KKyAgICAgICAgYSBzY3JvbGwgaGFwcGVu
cyBzbyBwaG9uZSBudW1iZXIgcmFuZ2VzIGNhbiBiZSB1cGRhdGVkLgorCiAyMDE0LTA1LTEzICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBGb2xsb3d1cCB0bzog
VXBkYXRlIHBvc2l0aW9uaW5nL2RyYXdpbmcgb2YgdGhlIGltYWdlIGNvbnRyb2xzIGJ1dHRvbi4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAxNjg2NjUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtMTQ4MCw2ICsxNDgwLDggQEAg
X19aTjdXZWJDb3JlOXRvRWxlbWVudEVOM0pTQzdKU1ZhbHVlRQogX19aTjdXZWJDb3JlOXVuaW9u
UmVjdEVSS04zV1RGNlZlY3RvcklOU185RmxvYXRSZWN0RUxtMEVOUzBfMTVDcmFzaE9uT3ZlcmZs
b3dFRUUKIF9fWk5LM0pTQzhCaW5kaW5nczEwUm9vdE9iamVjdDEyZ2xvYmFsT2JqZWN0RXYKIF9f
Wk5LM1dURjZTdHJpbmcxNGNyZWF0ZUNGU3RyaW5nRXYKK19fWk5LN1dlYkNvcmU5RnJhbWVWaWV3
MTR3aW5kb3dDbGlwUmVjdEViCitfX1pOSzdXZWJDb3JlOUZyYW1lVmlldzE1dG9wQ29udGVudElu
c2V0RXYKIF9fWk5LN1dlYkNvcmUxMENyZWRlbnRpYWwxMWhhc1Bhc3N3b3JkRXYKIF9fWk5LN1dl
YkNvcmUxMENyZWRlbnRpYWwxMXBlcnNpc3RlbmNlRXYKIF9fWk5LN1dlYkNvcmUxMENyZWRlbnRp
YWw0dXNlckV2CkBAIC0xNTQ3LDYgKzE1NDksNyBAQCBfX1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRl
bThyZWZlcnJlckV2CiBfX1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRlbTl1cmxTdHJpbmdFdgogX19a
Tks3V2ViQ29yZTExSGlzdG9yeUl0ZW05dmlld1N0YXRlRXYKIF9fWk5LN1dlYkNvcmUxMVJlbmRl
ckJsb2NrMjVpbmxpbmVFbGVtZW50Q29udGludWF0aW9uRXYKK19fWk5LN1dlYkNvcmUxMVJlbmRl
ckxheWVyMTJzZWxmQ2xpcFJlY3RFdgogX19aTks3V2ViQ29yZTExUmVuZGVyTGF5ZXIxOWFic29s
dXRlQm91bmRpbmdCb3hFdgogX19aTks3V2ViQ29yZTExUmVuZGVyTGF5ZXIyNG5lZWRzQ29tcG9z
aXRlZFNjcm9sbGluZ0V2CiBfX1pOSzdXZWJDb3JlMTFSZW5kZXJTdHlsZTExZm9udE1ldHJpY3NF
dgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCShyZXZpc2lv
biAxNjg2NjUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMzAyLDYgKzIzMDIsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3Jv
bGxUbyhpbnQgeCwgaW50IHkpCiAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENv
bnRhaW5lciA9IHJlbmRlcmVyKCkuY29udGFpbmVyRm9yUmVwYWludCgpOwogICAgIC8vIFRoZSBj
YXJldCByZWN0IG5lZWRzIHRvIGJlIGludmFsaWRhdGVkIGFmdGVyIHNjcm9sbGluZwogICAgIGZy
YW1lLnNlbGVjdGlvbigpLnNldENhcmV0UmVjdE5lZWRzVXBkYXRlKCk7CisgICAgZnJhbWUuc2Vs
ZWN0aW9uKCkudXBkYXRlRGF0YURldGVjdG9yc0ZvclNlbGVjdGlvbigpOwogCiAgICAgRmxvYXRR
dWFkIHF1YWRGb3JGYWtlTW91c2VNb3ZlRXZlbnQgPSBGbG9hdFF1YWQobV9yZXBhaW50UmVjdCk7
CiAgICAgaWYgKHJlcGFpbnRDb250YWluZXIpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjg3
NDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxOCBAQAorMjAxNC0wNS0xMyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4K
KworICAgICAgICBDbGlwIFRlbGVwaG9uZSBEYXRhIERldGVjdG9yIE92ZXJsYXkgdG8gU2Nyb2xs
aW5nIFJhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMyODg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQYWdlT3ZlcmxheTo6Y2xpcEZvclNlbGVjdGlvbik6IENsaXAgdGhlIGRyYXdpbmcgY29udGV4
dCB0byB0aGUgZW5jbG9zZWQKKyAgICAgICAgcmVjdCBvZiB0aGUgc2Nyb2xsYWJsZSBwYXJlbnQg
aG9sZGluZyB0aGUgRGF0YURldGVjdG9yIFVJLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9QYWdlT3ZlcmxheS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGVsZXBo
b25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlRlbGVw
aG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyOjpkcmF3UmVjdCk6IENsaXAgdGhlIGdyYXBoaWNz
IGNvbnRleHQgYmVmb3JlCisgICAgICAgIGRyYXdpbmcgdGhlIERhdGFEZXRlY3RvciBVSS4KKwog
MjAxNC0wNS0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXggdGhlIGlPUyBTaW11bGF0b3IgYnVpbGQuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAJKHJldmlzaW9uIDE2ODY2
NSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwg
MjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNz
Q29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWFpbkZyYW1lLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9QYWdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJMYXllci5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvUmVuZGVyT2JqZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxiYXJUaGVt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCkBAIC0yMzMsNCArMjM1LDIwIEBA
IHZvaWQgUGFnZU92ZXJsYXk6OmNsZWFyKCkKICAgICBtX3dlYlBhZ2UtPnBhZ2VPdmVybGF5Q29u
dHJvbGxlcigpLmNsZWFyUGFnZU92ZXJsYXkoKnRoaXMpOwogfQogCit2b2lkIFBhZ2VPdmVybGF5
OjpjbGlwRm9yU2VsZWN0aW9uKEZyYW1lVmlldyYgbWFpbkZyYW1lVmlldywgRnJhbWVWaWV3JiB2
aWV3Rm9yUmFuZ2UsIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBj
b25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBmbG9hdCB0b3BDb250ZW50SW5z
ZXQpCit7CisgICAgSW50UmVjdCBjbGlwUmVjdDsKKyAgICBpZiAoIXZpZXdGb3JSYW5nZS5mcmFt
ZSgpLmlzTWFpbkZyYW1lKCkpCisgICAgICAgIGNsaXBSZWN0ID0gdmlld0ZvclJhbmdlLndpbmRv
d0NsaXBSZWN0KCk7CisgICAgZWxzZSB7CisgICAgICAgIEFTU0VSVChyZW5kZXJlci5lbmNsb3Np
bmdMYXllcigpKTsKKyAgICAgICAgY2xpcFJlY3QgPSByb3VuZGVkSW50UmVjdChyZW5kZXJlci5l
bmNsb3NpbmdMYXllcigpLT5zZWxmQ2xpcFJlY3QoKSk7CisgICAgICAgIGNsaXBSZWN0LnNldExv
Y2F0aW9uKG1haW5GcmFtZVZpZXcuY29udGVudHNUb1Jvb3RWaWV3KGNsaXBSZWN0LmxvY2F0aW9u
KCkpKTsKKyAgICB9CisKKyAgICBjbGlwUmVjdC5tb3ZlKDAsIC10b3BDb250ZW50SW5zZXQpOwor
ICAgIGdyYXBoaWNzQ29udGV4dC5jbGlwKGNsaXBSZWN0KTsKK30KKyAgICAKKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFn
ZU92ZXJsYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvUGFnZU92ZXJsYXkuaAkocmV2aXNpb24gMTY4NjY1KQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0
LDkgQEAKICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Citj
bGFzcyBGcmFtZVZpZXc7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CitjbGFzcyBSZW5kZXJPYmpl
Y3Q7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtOTUsNyArOTcsOSBAQCBwdWJsaWM6CiAK
ICAgICBXZWJDb3JlOjpSR0JBMzIgYmFja2dyb3VuZENvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9i
YWNrZ3JvdW5kQ29sb3I7IH0KICAgICB2b2lkIHNldEJhY2tncm91bmRDb2xvcihXZWJDb3JlOjpS
R0JBMzIpOwotICAgIAorCisgICAgc3RhdGljIHZvaWQgY2xpcEZvclNlbGVjdGlvbihXZWJDb3Jl
OjpGcmFtZVZpZXcmIG1haW5GcmFtZVZpZXcsIFdlYkNvcmU6OkZyYW1lVmlldyYgdmlld0ZvclJh
bmdlLCBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmpl
Y3QmIHJlbmRlcmVyLCBmbG9hdCBpbnNldCk7CisKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBQ
YWdlT3ZlcmxheShDbGllbnQqLCBPdmVybGF5VHlwZSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXJN
YWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlck1hYy5tbQkocmV2aXNpb24gMTY4NjY1
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UZWxlcGhvbmVOdW1i
ZXJPdmVybGF5Q29udHJvbGxlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtOTUsNiArOTUsMTIg
QEAgdm9pZCBUZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlcjo6ZAogICAgICAgICBpZiAo
IXJlY3QuaW50ZXJzZWN0cyhkaXJ0eVJlY3QpKQogICAgICAgICAgICAgY29udGludWU7CiAKKyAg
ICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHJhbmdlLT5zdGFydENvbnRhaW5lcigpLT5y
ZW5kZXJlcigpOworICAgICAgICBBU1NFUlQocmVuZGVyZXIpOworCisgICAgICAgIEdyYXBoaWNz
Q29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihncmFwaGljc0NvbnRleHQpOworICAgICAgICBQ
YWdlT3ZlcmxheTo6Y2xpcEZvclNlbGVjdGlvbihtYWluRnJhbWVWaWV3LCAqdmlld0ZvclJhbmdl
LCBncmFwaGljc0NvbnRleHQsICpyZW5kZXJlciwgbWFpbkZyYW1lVmlldy50b3BDb250ZW50SW5z
ZXQoKSk7CisgICAgICAgIAogICAgICAgICBDR1JlY3QgY2dSZWN0c1tdID0geyAoQ0dSZWN0KXJl
Y3QgfTsKIAogICAgICAgICBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGhpZ2hsaWdodCA9IGFk
b3B0Q0YoRERIaWdobGlnaHRDcmVhdGVXaXRoUmVjdHNJblZpc2libGVSZWN0KG51bGxwdHIsIGNn
UmVjdHMsIDEsIHZpZXdGb3JSYW5nZS0+Ym91bmRzUmVjdCgpLCB0cnVlKSk7CkBAIC0xMTcsOCAr
MTIzLDYgQEAgdm9pZCBUZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlcjo6ZAogICAgICAg
ICBDR0xheWVyUmVmIGhpZ2hsaWdodExheWVyID0gRERIaWdobGlnaHRHZXRMYXllcldpdGhDb250
ZXh0KGhpZ2hsaWdodC5nZXQoKSwgY2dDb250ZXh0KTsKICAgICAgICAgQ0dSZWN0IGhpZ2hsaWdo
dEJvdW5kaW5nUmVjdCA9IERESGlnaGxpZ2h0R2V0Qm91bmRpbmdSZWN0KGhpZ2hsaWdodC5nZXQo
KSk7CiAgICAgICAgIAotICAgICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2
ZXIoZ3JhcGhpY3NDb250ZXh0KTsKLQogICAgICAgICBncmFwaGljc0NvbnRleHQudHJhbnNsYXRl
KHRvRmxvYXRTaXplKGhpZ2hsaWdodEJvdW5kaW5nUmVjdC5vcmlnaW4pKTsKICAgICAgICAgZ3Jh
cGhpY3NDb250ZXh0LnNjYWxlKEZsb2F0U2l6ZSgxLCAtMSkpOwogICAgICAgICBncmFwaGljc0Nv
bnRleHQudHJhbnNsYXRlKEZsb2F0U2l6ZSgwLCAtaGlnaGxpZ2h0Qm91bmRpbmdSZWN0LnNpemUu
aGVpZ2h0KSk7Cg==
</data>
<flag name="review"
          id="255882"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>