<?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>79403</bug_id>
          
          <creation_ts>2012-02-23 14:44:10 -0800</creation_ts>
          <short_desc>Slow content causes choppy scrolling</short_desc>
          <delta_ts>2012-04-23 11:22:28 -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>UI Events</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Moore">davemoore</reporter>
          <assigned_to name="Dave Moore">davemoore</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>563504</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Moore">davemoore</who>
    <bug_when>2012-02-23 14:44:10 -0800</bug_when>
    <thetext>If sites take too long to respond to mousemove or mouseover it interrupts the scroll. For example techcrunch.com can take a half second to update its ui as the mouse passes over articles. When scrolling with a wheel or pad, leaving the mouse pointer in the middle of the page, this causes the scroll to be extremely choppy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564423</commentid>
    <comment_count>1</comment_count>
      <attachid>128754</attachid>
    <who name="Dave Moore">davemoore</who>
    <bug_when>2012-02-24 10:12:24 -0800</bug_when>
    <thetext>Created attachment 128754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564534</commentid>
    <comment_count>2</comment_count>
      <attachid>128754</attachid>
    <who name="Dave Moore">davemoore</who>
    <bug_when>2012-02-24 11:57:28 -0800</bug_when>
    <thetext>Comment on attachment 128754
Patch

This patch contains unnecessary changes (the Gesture stuff). I will upload a modified one shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564601</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-24 13:36:28 -0800</bug_when>
    <thetext>Style note for your information: &lt;wtf/CurrentTime.h&gt; puts currentTime() and friends into the global namespace with a using declaration and the convention in the rest of WebKit is to simply use the name without the WTF:: qualifier.  I also think this would be a good place to use monotonicallyIncreasingTime() instead of currentTime(), it&apos;s in the same header and has the same units (seconds) but can potentially have better precision and won&apos;t explode on you if NTP happens to adjust the system clock at an inopportune time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564655</commentid>
    <comment_count>4</comment_count>
      <attachid>128812</attachid>
    <who name="Dave Moore">davemoore</who>
    <bug_when>2012-02-24 14:48:29 -0800</bug_when>
    <thetext>Created attachment 128812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564703</commentid>
    <comment_count>5</comment_count>
      <attachid>128812</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-02-24 15:24:49 -0800</bug_when>
    <thetext>Comment on attachment 128812
Patch

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

I don&apos;t have much insight about the idea of this patch, but I a style nit.

&gt; Source/WebCore/page/EventHandler.cpp:1660
&gt; +    GetMaxDuration getMaxDuration(&amp;m_maxMouseMovedDuration);

Class and variable names cannot be verbs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566910</commentid>
    <comment_count>6</comment_count>
      <attachid>128812</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-28 11:27:00 -0800</bug_when>
    <thetext>Comment on attachment 128812
Patch

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

I think the behavior here is really nice.  With a bit of style TLC (comments below) this looks good to land for me.

For context, the issue here is that some pages have very slow mousemove handlers.  Currently these fire while scrolling the page since we want to update the cursor/etc to reflect the content that moves &apos;under&apos; the cursor.  The current behavior is that we set a short timer on the scroll that dispatches a synthetic mouse event &apos;soon&apos; after the initial scroll.  If the user is trying to scroll continuously, however, the &apos;soon&apos; ends up interfering with a later scroll.  This patch detects pages that have slow mousemove handlers and if so it pushes the timer out on every scroll so that it only fires when the user stops scrolling altogether.

Mozilla landed a similar fix recently where they suppress synthetic mousemoves during an animated scroll (https://bugzilla.mozilla.org/show_bug.cgi?id=675015).

&gt; Source/WebCore/page/EventHandler.cpp:150
&gt; +class GetMaxDuration {

As Alexey pointed out, we try to make class names be nouns in WebKit.  I think this might be called a MaximumDurationTracker or something of that nature

&gt; Source/WebCore/page/EventHandler.cpp:152
&gt; +    GetMaxDuration(double *maxDuration) : m_maxDuration(maxDuration), m_start(monotonicallyIncreasingTime()) { }

1-arg c&apos;tors should have the &apos;explicit&apos; keyword. can you expand this initialization out to have one statement per line? WebKit formatting would look something like:

explicit ClassName(double *maxDuration)
    : m_maxDuration(maxDuration)
    , m_start(monotonicallyIncreasingTime()
{
}

which looks a little weird but means fewer lines churn if people add/remove members in the future

&gt; Source/WebCore/page/EventHandler.cpp:158
&gt; +        double duration = monotonicallyIncreasingTime() - m_start;
&gt; +        if (duration &gt; *m_maxDuration)
&gt; +            *m_maxDuration = duration;

how about just:

*m_maxDuration = max(*m_maxDuration, monotonicallyIncreasingTime() - m_start);

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566998</commentid>
    <comment_count>7</comment_count>
      <attachid>129312</attachid>
    <who name="Dave Moore">davemoore</who>
    <bug_when>2012-02-28 12:57:20 -0800</bug_when>
    <thetext>Created attachment 129312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567020</commentid>
    <comment_count>8</comment_count>
      <attachid>129312</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-28 13:18:44 -0800</bug_when>
    <thetext>Comment on attachment 129312
Patch

Awesome! R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567098</commentid>
    <comment_count>9</comment_count>
      <attachid>129312</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-28 14:26:40 -0800</bug_when>
    <thetext>Comment on attachment 129312
Patch

Clearing flags on attachment: 129312

Committed r109151: &lt;http://trac.webkit.org/changeset/109151&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567099</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-28 14:26:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128754</attachid>
            <date>2012-02-24 10:12:24 -0800</date>
            <delta_ts>2012-02-24 14:48:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79403-20120224101223.patch</filename>
            <type>text/plain</type>
            <size>10754</size>
            <attacher name="Dave Moore">davemoore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4ODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjMwY2U4ZmIxMGRiMDUw
NzMwYjM5N2JkMGNiZmJlZDM3YzgzYmQ2My4uOGRmMGZlNDYzNDk3NDgxNThhYzRiMGI3MWViZjc2
M2FjZjY4NWE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAyLTI0ICBEYXZl
IE1vb3JlICA8ZGF2ZW1vb3JlQGNocm9taXVtLm9yZz4KKworICAgICAgICBTbG93IGNvbnRlbnQg
Y2F1c2VzIGNob3BweSBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc5NDAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBjb2RlIGhlbHBzIG1ha2Ugc2Nyb2xsaW5nICh2aWEgd2hlZWwg
b3IgcGFkKSBsZXNzIGNob3BweQorICAgICAgICB3aGVuIHRoZSBjb250ZW50IHRha2VzIGEgbG9u
ZyB0aW1lIHRvIHJlc3BvbmQgdG8gdGhlIGZha2UgbW91c2UgbW92ZXMKKyAgICAgICAgZ2VuZXJh
dGVkIGR1cmluZyBzY3JvbGxzLgorCisgICAgICAgIFNsb3cgcGFnZXMgYXJlIHNlbnQgbW91c2Ug
bW92ZXMgbGVzcyBmcmVxdWVudGx5LCBvbmNlIHNjcm9sbGluZyBoYXMgc3RvcHBlZC4KKworICAg
ICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoR2V0TWF4RHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6R2V0TWF4RHVyYXRpb246Okdl
dE1heER1cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkdldE1heER1cmF0aW9uOjp+R2V0TWF4
RHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIp
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhcik6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpoYW5kbGVHZXN0dXJlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5k
bGVyOjpkaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudFNvb24pOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRIYW5kbGVyOjpkaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudFNvb25JblF1YWQpOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAgIChFdmVudEhhbmRsZXIpOgorCiAy
MDEyLTAyLTI0ICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIERv
bid0IG5vdGlmeSB0aGUgaW5zcGVjdG9yIG9mIE5vZGUgaW5zZXJ0aW9ucyBpbml0aWF0ZWQgYnkg
dGhlIHBhcnNlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDNjMTBiNzU0
MGY2ZGQzZmYyMzJkMmMzMjM3NGExMjFkOGNiN2M4MGYuLjJmOGY0NmUyZGY2ODJkZTQ0MjJlMjhj
MmFhOGI0NTRjM2IyODA5N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAg
LTEyNiw3ICsxMjYsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFNWR05hbWVzOwogLy8gV2hlbiB0aGUg
YXV0b3Njcm9sbCBvciB0aGUgcGFuU2Nyb2xsIGlzIHRyaWdnZXJlZCB3aGVuIGRvIHRoZSBzY3Jv
bGwgZXZlcnkgMC4wNXMgdG8gbWFrZSBpdCBzbW9vdGgKIGNvbnN0IGRvdWJsZSBhdXRvc2Nyb2xs
SW50ZXJ2YWwgPSAwLjA1OwogCi1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUludGVydmFsID0g
MC4xOworLy8gVGhlIGFtb3VudCBvZiB0aW1lIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYSBmYWtl
IG1vdXNlIGV2ZW50LCB0cmlnZ2VyZWQKKy8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0IGlu
dGVydmFsIGlzIHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2ZW50
cyBxdWlja2x5IGVub3VnaCwKKy8vIG90aGVyd2lzZSB0aGUgbG9uZyBpbnRlcnZhbCBpcyB1c2Vk
LgorY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0gMC4xOworY29uc3Qg
ZG91YmxlIGZha2VNb3VzZU1vdmVMb25nSW50ZXJ2YWwgPSAwLjI1MDsKIAogZW51bSBOb0N1cnNv
ckNoYW5nZVR5cGUgeyBOb0N1cnNvckNoYW5nZSB9OwogCkBAIC0xNDMsNiArMTQ3LDIyIEBAIHBy
aXZhdGU6CiAgICAgQ3Vyc29yIG1fY3Vyc29yOwogfTsKIAorY2xhc3MgR2V0TWF4RHVyYXRpb24g
eworcHVibGljOgorICAgIEdldE1heER1cmF0aW9uKGRvdWJsZSAqbWF4RHVyYXRpb24pIDogbV9t
YXhEdXJhdGlvbihtYXhEdXJhdGlvbiksIG1fc3RhcnQoV1RGOjpjdXJyZW50VGltZSgpKSB7IH0K
KworICAgIH5HZXRNYXhEdXJhdGlvbigpIAorICAgIHsKKyAgICAgICAgZG91YmxlIGR1cmF0aW9u
ID0gV1RGOjpjdXJyZW50VGltZSgpIC0gbV9zdGFydDsKKyAgICAgICAgaWYgKGR1cmF0aW9uID4g
Km1fbWF4RHVyYXRpb24pCisgICAgICAgICAgICAqbV9tYXhEdXJhdGlvbiA9IGR1cmF0aW9uOwor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBkb3VibGUqIG1fbWF4RHVyYXRpb247CisgICAgZG91Ymxl
IG1fc3RhcnQ7Cit9OworCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIGNsYXNzIFN5bnRoZXRp
Y1RvdWNoUG9pbnQgOiBwdWJsaWMgUGxhdGZvcm1Ub3VjaFBvaW50IHsKIHB1YmxpYzoKQEAgLTI4
OSw2ICszMDksNyBAQCBFdmVudEhhbmRsZXI6OkV2ZW50SGFuZGxlcihGcmFtZSogZnJhbWUpCiAj
aWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICAsIG1fdG91Y2hQcmVzc2VkKGZhbHNlKQogI2Vu
ZGlmCisgICAgLCBtX21heE1vdXNlTW92ZWREdXJhdGlvbigwKQogewogfQogCkBAIC0zMzUsNiAr
MzU2LDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyKCkKICNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQogICAgIG1fb3JpZ2luYXRpbmdUb3VjaFBvaW50VGFyZ2V0cy5jbGVhcigpOwogI2VuZGlm
CisgICAgbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24gPSAwOwogfQogCiB2b2lkIEV2ZW50SGFuZGxl
cjo6bm9kZVdpbGxCZVJlbW92ZWQoTm9kZSogbm9kZVRvQmVSZW1vdmVkKQpAQCAtMTYzNSw4ICsx
NjU3LDEwIEBAIHN0YXRpYyBSZW5kZXJMYXllciogbGF5ZXJGb3JOb2RlKE5vZGUqIG5vZGUpCiAK
IGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1vdmVkKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYg
ZXZlbnQpCiB7CisgICAgR2V0TWF4RHVyYXRpb24gZ2V0TWF4RHVyYXRpb24oJm1fbWF4TW91c2VN
b3ZlZER1cmF0aW9uKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0b3IobV9mcmFtZS0+
dmlldygpKTsKIAorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICAvLyBGSVhNRTogdGhp
cyBzaG91bGQgYmUgbW92ZWQgZWxzZXdoZXJlIHRvIGFsc28gYmUgYWJsZSB0byBkaXNwYXRjaCB0
b3VjaGNhbmNlbCBldmVudHMuCiAgICAgYm9vbCBkZWZhdWx0UHJldmVudGVkID0gZGlzcGF0Y2hT
eW50aGV0aWNUb3VjaEV2ZW50SWZFbmFibGVkKGV2ZW50KTsKQEAgLTIzNDQsMTAgKzIzNjgsMjUg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybUdl
c3R1cmVFdmVudCYgZ2VzdHVyZUV2ZW50KQogICAgIHN3aXRjaCAoZ2VzdHVyZUV2ZW50LnR5cGUo
KSkgewogICAgIGNhc2UgUGxhdGZvcm1FdmVudDo6R2VzdHVyZVRhcERvd246CiAgICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgUGxhdGZvcm1FdmVudDo6R2VzdHVyZVRhcDoKLSAgICAgICAgcmV0dXJu
IGhhbmRsZUdlc3R1cmVUYXAoZ2VzdHVyZUV2ZW50KTsKLSAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6
Okdlc3R1cmVTY3JvbGxVcGRhdGU6Ci0gICAgICAgIHJldHVybiBoYW5kbGVHZXN0dXJlU2Nyb2xs
VXBkYXRlKGdlc3R1cmVFdmVudCk7CisgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlVGFw
OiB7CisgICAgICAgIC8vIEZJWE1FOiBSZWZhY3RvciB0aGlzIGNvZGUgdG8gbm90IGhpdCB0ZXN0
IG11bHRpcGxlIHRpbWVzIG9uY2UgaGl0IHRlc3RpbmcgaGFzIGJlZW4gY29ycmVjdGVkIGFzIHN1
Z2dlc3RlZCBhYm92ZS4KKyAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IGZha2VNb3VzZU1vdmUo
Z2VzdHVyZUV2ZW50LnBvc2l0aW9uKCksIGdlc3R1cmVFdmVudC5nbG9iYWxQb3NpdGlvbigpLCBO
b0J1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VNb3ZlZCwgLyogY2xpY2tDb3VudCAqLyAxLCBn
ZXN0dXJlRXZlbnQuc2hpZnRLZXkoKSwgZ2VzdHVyZUV2ZW50LmN0cmxLZXkoKSwgZ2VzdHVyZUV2
ZW50LmFsdEtleSgpLCBnZXN0dXJlRXZlbnQubWV0YUtleSgpLCBnZXN0dXJlRXZlbnQudGltZXN0
YW1wKCkpOworICAgICAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFrZU1vdXNlRG93bihnZXN0dXJl
RXZlbnQucG9zaXRpb24oKSwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIExlZnRCdXR0
b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZCwgLyogY2xpY2tDb3VudCAqLyAxLCBnZXN0
dXJlRXZlbnQuc2hpZnRLZXkoKSwgZ2VzdHVyZUV2ZW50LmN0cmxLZXkoKSwgZ2VzdHVyZUV2ZW50
LmFsdEtleSgpLCBnZXN0dXJlRXZlbnQubWV0YUtleSgpLCBnZXN0dXJlRXZlbnQudGltZXN0YW1w
KCkpOworICAgICAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFrZU1vdXNlVXAoZ2VzdHVyZUV2ZW50
LnBvc2l0aW9uKCksIGdlc3R1cmVFdmVudC5nbG9iYWxQb3NpdGlvbigpLCBMZWZ0QnV0dG9uLCBQ
bGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkLCAvKiBjbGlja0NvdW50ICovIDEsIGdlc3R1cmVF
dmVudC5zaGlmdEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQuYWx0
S2V5KCksIGdlc3R1cmVFdmVudC5tZXRhS2V5KCksIGdlc3R1cmVFdmVudC50aW1lc3RhbXAoKSk7
CisgICAgICAgIG1vdXNlTW92ZWQoZmFrZU1vdXNlTW92ZSk7CisgICAgICAgIGhhbmRsZU1vdXNl
UHJlc3NFdmVudChmYWtlTW91c2VEb3duKTsKKyAgICAgICAgaGFuZGxlTW91c2VSZWxlYXNlRXZl
bnQoZmFrZU1vdXNlVXApOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgY2FzZSBQ
bGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlOiB7CisgICAgICAgIGNvbnN0IGZsb2F0
IHRpY2tEaXZpc29yID0gKGZsb2F0KVdoZWVsRXZlbnQ6OnRpY2tNdWx0aXBsaWVyOworICAgICAg
ICAvLyBGSVhNRTogUmVwbGFjZSB0aGlzIGludGVyaW0gaW1wbGVtZW50YXRpb24gb25jZSB0aGUg
YWJvdmUgZml4bWUgaGFzIGJlZW4gYWRkcmVzc2VkLgorICAgICAgICBJbnRQb2ludCBwb2ludChn
ZXN0dXJlRXZlbnQucG9zaXRpb24oKS54KCksIGdlc3R1cmVFdmVudC5wb3NpdGlvbigpLnkoKSk7
CisgICAgICAgIEludFBvaW50IGdsb2JhbFBvaW50KGdlc3R1cmVFdmVudC5nbG9iYWxQb3NpdGlv
bigpLngoKSwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCkueSgpKTsKKyAgICAgICAgUGxh
dGZvcm1XaGVlbEV2ZW50IHN5bnRoZXRpY1doZWVsRXZlbnQocG9pbnQsIGdsb2JhbFBvaW50LCBn
ZXN0dXJlRXZlbnQuZGVsdGFYKCksIGdlc3R1cmVFdmVudC5kZWx0YVkoKSwgZ2VzdHVyZUV2ZW50
LmRlbHRhWCgpIC8gdGlja0Rpdmlzb3IsIGdlc3R1cmVFdmVudC5kZWx0YVkoKSAvIHRpY2tEaXZp
c29yLCBTY3JvbGxCeVBpeGVsV2hlZWxFdmVudCwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdl
c3R1cmVFdmVudC5jdHJsS2V5KCksIGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50
Lm1ldGFLZXkoKSk7CisgICAgICAgIGhhbmRsZVdoZWVsRXZlbnQoc3ludGhldGljV2hlZWxFdmVu
dCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KICAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6
Okdlc3R1cmVEb3VibGVUYXA6CiAgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xs
QmVnaW46CiAgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsRW5kOgpAQCAtMjM1
NywzMiArMjM5Niw2IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29u
c3QgUGxhdGZvcm1HZXN0dXJlRXZlbnQmIGdlc3R1cmVFdmVudCkKICAgICB9CiAgICAgcmV0dXJu
IHRydWU7CiB9Ci0KLWJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVHZXN0dXJlVGFwKGNvbnN0IFBs
YXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQpCi17Ci0gICAgLy8gRklYTUU6IFJlZmFj
dG9yIHRoaXMgY29kZSB0byBub3QgaGl0IHRlc3QgbXVsdGlwbGUgdGltZXMgb25jZSBoaXQgdGVz
dGluZwotICAgIC8vIGhhcyBiZWVuIGNvcnJlY3RlZCBhcyBzdWdnZXN0ZWQgYWJvdmUgaW4gaGFu
ZGxlR2VzdHVyZUV2ZW50KCkuCi0gICAgYm9vbCBkZWZhdWx0UHJldmVudGVkID0gZmFsc2U7Ci0g
ICAgUGxhdGZvcm1Nb3VzZUV2ZW50IGZha2VNb3VzZU1vdmUoZ2VzdHVyZUV2ZW50LnBvc2l0aW9u
KCksIGdlc3R1cmVFdmVudC5nbG9iYWxQb3NpdGlvbigpLCBOb0J1dHRvbiwgUGxhdGZvcm1FdmVu
dDo6TW91c2VNb3ZlZCwgLyogY2xpY2tDb3VudCAqLyAxLCBnZXN0dXJlRXZlbnQuc2hpZnRLZXko
KSwgZ2VzdHVyZUV2ZW50LmN0cmxLZXkoKSwgZ2VzdHVyZUV2ZW50LmFsdEtleSgpLCBnZXN0dXJl
RXZlbnQubWV0YUtleSgpLCBnZXN0dXJlRXZlbnQudGltZXN0YW1wKCkpOwotICAgIFBsYXRmb3Jt
TW91c2VFdmVudCBmYWtlTW91c2VEb3duKGdlc3R1cmVFdmVudC5wb3NpdGlvbigpLCBnZXN0dXJl
RXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgTGVmdEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VQ
cmVzc2VkLCAvKiBjbGlja0NvdW50ICovIDEsIGdlc3R1cmVFdmVudC5zaGlmdEtleSgpLCBnZXN0
dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQuYWx0S2V5KCksIGdlc3R1cmVFdmVudC5t
ZXRhS2V5KCksIGdlc3R1cmVFdmVudC50aW1lc3RhbXAoKSk7Ci0gICAgUGxhdGZvcm1Nb3VzZUV2
ZW50IGZha2VNb3VzZVVwKGdlc3R1cmVFdmVudC5wb3NpdGlvbigpLCBnZXN0dXJlRXZlbnQuZ2xv
YmFsUG9zaXRpb24oKSwgTGVmdEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VSZWxlYXNlZCwg
LyogY2xpY2tDb3VudCAqLyAxLCBnZXN0dXJlRXZlbnQuc2hpZnRLZXkoKSwgZ2VzdHVyZUV2ZW50
LmN0cmxLZXkoKSwgZ2VzdHVyZUV2ZW50LmFsdEtleSgpLCBnZXN0dXJlRXZlbnQubWV0YUtleSgp
LCBnZXN0dXJlRXZlbnQudGltZXN0YW1wKCkpOwotICAgIG1vdXNlTW92ZWQoZmFrZU1vdXNlTW92
ZSk7Ci0gICAgZGVmYXVsdFByZXZlbnRlZCB8PSBoYW5kbGVNb3VzZVByZXNzRXZlbnQoZmFrZU1v
dXNlRG93bik7Ci0gICAgZGVmYXVsdFByZXZlbnRlZCB8PSBoYW5kbGVNb3VzZVJlbGVhc2VFdmVu
dChmYWtlTW91c2VVcCk7Ci0gICAgcmV0dXJuIGRlZmF1bHRQcmV2ZW50ZWQ7Ci19Ci0KLWJvb2wg
RXZlbnRIYW5kbGVyOjpoYW5kbGVHZXN0dXJlU2Nyb2xsVXBkYXRlKGNvbnN0IFBsYXRmb3JtR2Vz
dHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQpCi17Ci0gICAgY29uc3QgZmxvYXQgdGlja0Rpdmlzb3Ig
PSAoZmxvYXQpV2hlZWxFdmVudDo6dGlja011bHRpcGxpZXI7Ci0gICAgLy8gRklYTUU6IFJlcGxh
Y2UgdGhpcyBpbnRlcmltIGltcGxlbWVudGF0aW9uIG9uY2UgdGhlIGFib3ZlIGZpeG1lIGluIGhh
bmRsZUdlc3R1cmVFdmVudCgpIGhhcyBiZWVuIGFkZHJlc3NlZC4KLSAgICBib29sIGRlZmF1bHRQ
cmV2ZW50ZWQgPSBmYWxzZTsKLSAgICBJbnRQb2ludCBwb2ludChnZXN0dXJlRXZlbnQucG9zaXRp
b24oKS54KCksIGdlc3R1cmVFdmVudC5wb3NpdGlvbigpLnkoKSk7Ci0gICAgSW50UG9pbnQgZ2xv
YmFsUG9pbnQoZ2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCkueCgpLCBnZXN0dXJlRXZlbnQu
Z2xvYmFsUG9zaXRpb24oKS55KCkpOwotICAgIFBsYXRmb3JtV2hlZWxFdmVudCBzeW50aGV0aWNX
aGVlbEV2ZW50KHBvaW50LCBnbG9iYWxQb2ludCwgZ2VzdHVyZUV2ZW50LmRlbHRhWCgpLCBnZXN0
dXJlRXZlbnQuZGVsdGFZKCksIGdlc3R1cmVFdmVudC5kZWx0YVgoKSAvIHRpY2tEaXZpc29yLCBn
ZXN0dXJlRXZlbnQuZGVsdGFZKCkgLyB0aWNrRGl2aXNvciwgU2Nyb2xsQnlQaXhlbFdoZWVsRXZl
bnQsIGdlc3R1cmVFdmVudC5zaGlmdEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0
dXJlRXZlbnQuYWx0S2V5KCksIGdlc3R1cmVFdmVudC5tZXRhS2V5KCkpOwotICAgIGRlZmF1bHRQ
cmV2ZW50ZWQgfD0gaGFuZGxlV2hlZWxFdmVudChzeW50aGV0aWNXaGVlbEV2ZW50KTsKLSAgICBy
ZXR1cm4gZGVmYXVsdFByZXZlbnRlZDsKLX0KICNlbmRpZgogCiAjaWYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCkBAIC0yNDk5LDggKzI1MTIsMTggQEAgdm9pZCBFdmVudEhhbmRsZXI6OmRpc3BhdGNo
RmFrZU1vdXNlTW92ZUV2ZW50U29vbigpCiAgICAgaWYgKG1fbW91c2VQcmVzc2VkKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBpZiAoIW1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5zdGFydE9uZVNob3QoZmFrZU1v
dXNlTW92ZUludGVydmFsKTsKKyAgICAvLyBJZiB0aGUgY29udGVudCBoYXMgZXZlciB0YWtlbiBs
b25nZXIgdGhhbiBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCB3ZQorICAgIC8vIHJlc2NoZWR1
bGUgdGhlIHRpbWVyIGFuZCB1c2UgYSBsb25nZXIgdGltZS4gVGhpcyB3aWxsIGNhdXNlIHRoZSBj
b250ZW50CisgICAgLy8gdG8gcmVjZWl2ZSB0aGVzZSBtb3ZlcyBvbmx5IGFmdGVyIHRoZSB1c2Vy
IGlzIGRvbmUgc2Nyb2xsaW5nLCByZWR1Y2luZworICAgIC8vIHBhdXNlcyBkdXJpbmcgdGhlIHNj
cm9sbC4KKyAgICBpZiAobV9tYXhNb3VzZU1vdmVkRHVyYXRpb24gPiBmYWtlTW91c2VNb3ZlU2hv
cnRJbnRlcnZhbCkgeworICAgICAgICBpZiAobV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5pc0Fj
dGl2ZSgpKQorICAgICAgICAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5zdG9wKCk7Cisg
ICAgICAgIG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuc3RhcnRPbmVTaG90KGZha2VNb3VzZU1v
dmVMb25nSW50ZXJ2YWwpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmICghbV9mYWtlTW91c2VN
b3ZlRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICAgICAgbV9mYWtlTW91c2VNb3ZlRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwpOworICAgIH0K
IH0KIAogdm9pZCBFdmVudEhhbmRsZXI6OmRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29vbklu
UXVhZChjb25zdCBGbG9hdFF1YWQmIHF1YWQpCkBAIC0yNTA5LDExICsyNTMyLDEwIEBAIHZvaWQg
RXZlbnRIYW5kbGVyOjpkaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudFNvb25JblF1YWQoY29uc3Qg
RmxvYXRRdWFkJiBxdWFkKQogICAgIGlmICghdmlldykKICAgICAgICAgcmV0dXJuOwogCi0gICAg
aWYgKG1fbW91c2VQcmVzc2VkIHx8ICFxdWFkLmNvbnRhaW5zUG9pbnQodmlldy0+d2luZG93VG9D
b250ZW50cyhtX2N1cnJlbnRNb3VzZVBvc2l0aW9uKSkpCisgICAgaWYgKCFxdWFkLmNvbnRhaW5z
UG9pbnQodmlldy0+d2luZG93VG9Db250ZW50cyhtX2N1cnJlbnRNb3VzZVBvc2l0aW9uKSkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChm
YWtlTW91c2VNb3ZlSW50ZXJ2YWwpOworICAgIGRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29v
bigpOwogfQogCiB2b2lkIEV2ZW50SGFuZGxlcjo6Y2FuY2VsRmFrZU1vdXNlTW92ZUV2ZW50KCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IGE1ZmYzMDM0ZmUyZDkyZDk4ZjZmMTg5
ODk3OGUwNzRiZDk0ZTE3ZGMuLjBlYTBjM2JlNjg5NjVhZWZmYTc3NmFjYTNjMzFmMjgzNGU4M2E4
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMTYyLDggKzE2Miw2IEBAIHB1
YmxpYzoKIAogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5UUykKICAgICBib29sIGhhbmRsZUdlc3R1
cmVFdmVudChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYpOwotICAgIGJvb2wgaGFuZGxlR2Vz
dHVyZVRhcChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYpOwotICAgIGJvb2wgaGFuZGxlR2Vz
dHVyZVNjcm9sbFVwZGF0ZShjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYpOwogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKQEAgLTQzMSw2ICs0MjksNyBAQCBwcml2YXRlOgog
ICAgIFRvdWNoVGFyZ2V0TWFwIG1fb3JpZ2luYXRpbmdUb3VjaFBvaW50VGFyZ2V0czsKICAgICBi
b29sIG1fdG91Y2hQcmVzc2VkOwogI2VuZGlmCisgICAgZG91YmxlIG1fbWF4TW91c2VNb3ZlZER1
cmF0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128812</attachid>
            <date>2012-02-24 14:48:29 -0800</date>
            <delta_ts>2012-02-28 12:57:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79403-20120224144828.patch</filename>
            <type>text/plain</type>
            <size>5517</size>
            <attacher name="Dave Moore">davemoore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4ODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjMwY2U4ZmIxMGRiMDUw
NzMwYjM5N2JkMGNiZmJlZDM3YzgzYmQ2My4uMGRkNWYzZTIxYjZkMmIwNzJkNzRmOTUwMmZlOTRi
ZTQ0NzYyY2NiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAyLTI0ICBEYXZl
IE1vb3JlICA8ZGF2ZW1vb3JlQGNocm9taXVtLm9yZz4KKworICAgICAgICBTbG93IGNvbnRlbnQg
Y2F1c2VzIGNob3BweSBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc5NDAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBjb2RlIGhlbHBzIG1ha2Ugc2Nyb2xsaW5nICh2aWEgd2hlZWwg
b3IgcGFkKSBsZXNzIGNob3BweQorICAgICAgICB3aGVuIHRoZSBjb250ZW50IHRha2VzIGEgbG9u
ZyB0aW1lIHRvIHJlc3BvbmQgdG8gdGhlIGZha2UgbW91c2UgbW92ZXMKKyAgICAgICAgZ2VuZXJh
dGVkIGR1cmluZyBzY3JvbGxzLgorCisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEdldE1heER1cmF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkdldE1heER1cmF0aW9uOjpHZXRNYXhEdXJhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpHZXRNYXhEdXJhdGlvbjo6fkdldE1heER1cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50SGFuZGxlcjo6RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3VzZU1vdmVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hGYWtlTW91c2VNb3Zl
RXZlbnRTb29uKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hGYWtl
TW91c2VNb3ZlRXZlbnRTb29uSW5RdWFkKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5o
OgorCiAyMDEyLTAyLTI0ICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIERvbid0IG5vdGlmeSB0aGUgaW5zcGVjdG9yIG9mIE5vZGUgaW5zZXJ0aW9ucyBpbml0aWF0
ZWQgYnkgdGhlIHBhcnNlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDNj
MTBiNzU0MGY2ZGQzZmYyMzJkMmMzMjM3NGExMjFkOGNiN2M4MGYuLmZmOTg3NzA2MDdjNDgwMTM5
MTZiMjcxNmI4OWRkYTNjZjMwYzZhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKQEAgLTEyNiw3ICsxMjYsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFNWR05hbWVzOwogLy8gV2hl
biB0aGUgYXV0b3Njcm9sbCBvciB0aGUgcGFuU2Nyb2xsIGlzIHRyaWdnZXJlZCB3aGVuIGRvIHRo
ZSBzY3JvbGwgZXZlcnkgMC4wNXMgdG8gbWFrZSBpdCBzbW9vdGgKIGNvbnN0IGRvdWJsZSBhdXRv
c2Nyb2xsSW50ZXJ2YWwgPSAwLjA1OwogCi1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUludGVy
dmFsID0gMC4xOworLy8gVGhlIGFtb3VudCBvZiB0aW1lIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcg
YSBmYWtlIG1vdXNlIGV2ZW50LCB0cmlnZ2VyZWQKKy8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNo
b3J0IGludGVydmFsIGlzIHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNl
IGV2ZW50cyBxdWlja2x5IGVub3VnaCwKKy8vIG90aGVyd2lzZSB0aGUgbG9uZyBpbnRlcnZhbCBp
cyB1c2VkLgorY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0gMC4xOwor
Y29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVMb25nSW50ZXJ2YWwgPSAwLjI1MDsKIAogZW51bSBO
b0N1cnNvckNoYW5nZVR5cGUgeyBOb0N1cnNvckNoYW5nZSB9OwogCkBAIC0xNDMsNiArMTQ3LDIy
IEBAIHByaXZhdGU6CiAgICAgQ3Vyc29yIG1fY3Vyc29yOwogfTsKIAorY2xhc3MgR2V0TWF4RHVy
YXRpb24geworcHVibGljOgorICAgIEdldE1heER1cmF0aW9uKGRvdWJsZSAqbWF4RHVyYXRpb24p
IDogbV9tYXhEdXJhdGlvbihtYXhEdXJhdGlvbiksIG1fc3RhcnQobW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkpIHsgfQorCisgICAgfkdldE1heER1cmF0aW9uKCkKKyAgICB7CisgICAgICAg
IGRvdWJsZSBkdXJhdGlvbiA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9zdGFy
dDsKKyAgICAgICAgaWYgKGR1cmF0aW9uID4gKm1fbWF4RHVyYXRpb24pCisgICAgICAgICAgICAq
bV9tYXhEdXJhdGlvbiA9IGR1cmF0aW9uOworICAgIH0KKworcHJpdmF0ZToKKyAgICBkb3VibGUq
IG1fbWF4RHVyYXRpb247CisgICAgZG91YmxlIG1fc3RhcnQ7Cit9OworCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKIGNsYXNzIFN5bnRoZXRpY1RvdWNoUG9pbnQgOiBwdWJsaWMgUGxhdGZvcm1U
b3VjaFBvaW50IHsKIHB1YmxpYzoKQEAgLTI4OSw2ICszMDksNyBAQCBFdmVudEhhbmRsZXI6OkV2
ZW50SGFuZGxlcihGcmFtZSogZnJhbWUpCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICAs
IG1fdG91Y2hQcmVzc2VkKGZhbHNlKQogI2VuZGlmCisgICAgLCBtX21heE1vdXNlTW92ZWREdXJh
dGlvbigwKQogewogfQogCkBAIC0zMzUsNiArMzU2LDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmNs
ZWFyKCkKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIG1fb3JpZ2luYXRpbmdUb3VjaFBv
aW50VGFyZ2V0cy5jbGVhcigpOwogI2VuZGlmCisgICAgbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24g
PSAwOwogfQogCiB2b2lkIEV2ZW50SGFuZGxlcjo6bm9kZVdpbGxCZVJlbW92ZWQoTm9kZSogbm9k
ZVRvQmVSZW1vdmVkKQpAQCAtMTYzNSw4ICsxNjU3LDEwIEBAIHN0YXRpYyBSZW5kZXJMYXllciog
bGF5ZXJGb3JOb2RlKE5vZGUqIG5vZGUpCiAKIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1vdmVk
KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7CisgICAgR2V0TWF4RHVyYXRpb24g
Z2V0TWF4RHVyYXRpb24oJm1fbWF4TW91c2VNb3ZlZER1cmF0aW9uKTsKICAgICBSZWZQdHI8RnJh
bWVWaWV3PiBwcm90ZWN0b3IobV9mcmFtZS0+dmlldygpKTsKIAorCiAjaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKICAgICAvLyBGSVhNRTogdGhpcyBzaG91bGQgYmUgbW92ZWQgZWxzZXdoZXJlIHRv
IGFsc28gYmUgYWJsZSB0byBkaXNwYXRjaCB0b3VjaGNhbmNlbCBldmVudHMuCiAgICAgYm9vbCBk
ZWZhdWx0UHJldmVudGVkID0gZGlzcGF0Y2hTeW50aGV0aWNUb3VjaEV2ZW50SWZFbmFibGVkKGV2
ZW50KTsKQEAgLTI0OTksOCArMjUyMywxOCBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hG
YWtlTW91c2VNb3ZlRXZlbnRTb29uKCkKICAgICBpZiAobV9tb3VzZVByZXNzZWQpCiAgICAgICAg
IHJldHVybjsKIAotICAgIGlmICghbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChmYWtlTW91
c2VNb3ZlSW50ZXJ2YWwpOworICAgIC8vIElmIHRoZSBjb250ZW50IGhhcyBldmVyIHRha2VuIGxv
bmdlciB0aGFuIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsIHdlCisgICAgLy8gcmVzY2hlZHVs
ZSB0aGUgdGltZXIgYW5kIHVzZSBhIGxvbmdlciB0aW1lLiBUaGlzIHdpbGwgY2F1c2UgdGhlIGNv
bnRlbnQKKyAgICAvLyB0byByZWNlaXZlIHRoZXNlIG1vdmVzIG9ubHkgYWZ0ZXIgdGhlIHVzZXIg
aXMgZG9uZSBzY3JvbGxpbmcsIHJlZHVjaW5nCisgICAgLy8gcGF1c2VzIGR1cmluZyB0aGUgc2Ny
b2xsLgorICAgIGlmIChtX21heE1vdXNlTW92ZWREdXJhdGlvbiA+IGZha2VNb3VzZU1vdmVTaG9y
dEludGVydmFsKSB7CisgICAgICAgIGlmIChtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLmlzQWN0
aXZlKCkpCisgICAgICAgICAgICBtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLnN0b3AoKTsKKyAg
ICAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5zdGFydE9uZVNob3QoZmFrZU1vdXNlTW92
ZUxvbmdJbnRlcnZhbCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKCFtX2Zha2VNb3VzZU1v
dmVFdmVudFRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgICAgICBtX2Zha2VNb3VzZU1vdmVFdmVu
dFRpbWVyLnN0YXJ0T25lU2hvdChmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCk7CisgICAgfQog
fQogCiB2b2lkIEV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRTb29uSW5R
dWFkKGNvbnN0IEZsb2F0UXVhZCYgcXVhZCkKQEAgLTI1MDksMTEgKzI1NDMsMTAgQEAgdm9pZCBF
dmVudEhhbmRsZXI6OmRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29vbkluUXVhZChjb25zdCBG
bG9hdFF1YWQmIHF1YWQpCiAgICAgaWYgKCF2aWV3KQogICAgICAgICByZXR1cm47CiAKLSAgICBp
ZiAobV9tb3VzZVByZXNzZWQgfHwgIXF1YWQuY29udGFpbnNQb2ludCh2aWV3LT53aW5kb3dUb0Nv
bnRlbnRzKG1fY3VycmVudE1vdXNlUG9zaXRpb24pKSkKKyAgICBpZiAoIXF1YWQuY29udGFpbnNQ
b2ludCh2aWV3LT53aW5kb3dUb0NvbnRlbnRzKG1fY3VycmVudE1vdXNlUG9zaXRpb24pKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuc3RhcnRPbmVTaG90KGZh
a2VNb3VzZU1vdmVJbnRlcnZhbCk7CisgICAgZGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRTb29u
KCk7CiB9CiAKIHZvaWQgRXZlbnRIYW5kbGVyOjpjYW5jZWxGYWtlTW91c2VNb3ZlRXZlbnQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggYTVmZjMwMzRmZTJkOTJkOThmNmYxODk4
OTc4ZTA3NGJkOTRlMTdkYy4uMDk4MWU0MTcxMTgxYTEyNTJhNzRhMDBlNzE3MGI5MjllYTgwMDQ2
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC00MzEsNiArNDMxLDcgQEAgcHJp
dmF0ZToKICAgICBUb3VjaFRhcmdldE1hcCBtX29yaWdpbmF0aW5nVG91Y2hQb2ludFRhcmdldHM7
CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZDsKICNlbmRpZgorICAgIGRvdWJsZSBtX21heE1vdXNl
TW92ZWREdXJhdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129312</attachid>
            <date>2012-02-28 12:57:20 -0800</date>
            <delta_ts>2012-02-28 14:26:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79403-20120228125719.patch</filename>
            <type>text/plain</type>
            <size>5566</size>
            <attacher name="Dave Moore">davemoore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM3ZmFkYWEwZTljYjgw
ZTIxMjJhZDhmNDg2ODE3ZDY4ZTUyNTg3Ni4uYmY3YmM0YzJmZjYzOWMzNzY5MjAxY2RlNjlhYzc3
Y2NkYzI0NzkwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAyLTI4ICBEYXZl
IE1vb3JlICA8ZGF2ZW1vb3JlQGNocm9taXVtLm9yZz4KKworICAgICAgICBTbG93IGNvbnRlbnQg
Y2F1c2VzIGNob3BweSBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc5NDAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBjb2RlIGhlbHBzIG1ha2Ugc2Nyb2xsaW5nICh2aWEgd2hlZWwg
b3IgcGFkKSBsZXNzIGNob3BweQorICAgICAgICB3aGVuIHRoZSBjb250ZW50IHRha2VzIGEgbG9u
ZyB0aW1lIHRvIHJlc3BvbmQgdG8gdGhlIGZha2UgbW91c2UgbW92ZXMKKyAgICAgICAgZ2VuZXJh
dGVkIGR1cmluZyBzY3JvbGxzLgorCisKKyAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoTWF4aW11bUR1cmF0aW9uVHJhY2tlcik6CisgICAgICAg
IChXZWJDb3JlOjpNYXhpbXVtRHVyYXRpb25UcmFja2VyOjpNYXhpbXVtRHVyYXRpb25UcmFja2Vy
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlvblRyYWNrZXI6On5NYXhpbXVtRHVy
YXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6RXZlbnRIYW5k
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3VzZU1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6ZGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRTb29uKToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRTb29uSW5RdWFk
KToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorCiAyMDEyLTAyLTI4ICBBYmhpc2hl
ayBBcnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5jb3JyZWN0IGJlZm9y
ZSBjaGlsZCBwYXJlbnQgY2FsY3VsYXRpb24gd2hlbiBhZGRpbmcgbmV3IGNoaWxkcmVuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggM2MxMGI3NTQwZjZkZDNmZjIzMmQyYzMy
Mzc0YTEyMWQ4Y2I3YzgwZi4uZjEwZTRhYmUxZTJlMTVkNDdlM2UwOWJjODA2MGRkYWYyYTg3YTA1
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMTI2LDcgKzEyNiwxMSBA
QCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBXaGVuIHRoZSBhdXRvc2Nyb2xsIG9yIHRo
ZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4gZG8gdGhlIHNjcm9sbCBldmVyeSAwLjA1cyB0
byBtYWtlIGl0IHNtb290aAogY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAuMDU7
CiAKLWNvbnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlSW50ZXJ2YWwgPSAwLjE7CisvLyBUaGUgYW1v
dW50IG9mIHRpbWUgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRy
aWdnZXJlZAorLy8gZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBp
ZiB0aGUgY29udGVudCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzIHF1aWNrbHkgZW5vdWdo
LAorLy8gb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVzZWQuCitjb25zdCBkb3VibGUg
ZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwgPSAwLjE7Citjb25zdCBkb3VibGUgZmFrZU1vdXNl
TW92ZUxvbmdJbnRlcnZhbCA9IDAuMjUwOwogCiBlbnVtIE5vQ3Vyc29yQ2hhbmdlVHlwZSB7IE5v
Q3Vyc29yQ2hhbmdlIH07CiAKQEAgLTE0Myw2ICsxNDcsMjQgQEAgcHJpdmF0ZToKICAgICBDdXJz
b3IgbV9jdXJzb3I7CiB9OwogCitjbGFzcyBNYXhpbXVtRHVyYXRpb25UcmFja2VyIHsKK3B1Ymxp
YzoKKyAgICBleHBsaWNpdCBNYXhpbXVtRHVyYXRpb25UcmFja2VyKGRvdWJsZSAqbWF4RHVyYXRp
b24pCisgICAgICAgIDogbV9tYXhEdXJhdGlvbihtYXhEdXJhdGlvbikKKyAgICAgICAgLCBtX3N0
YXJ0KG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKQorICAgIHsKKyAgICB9CisKKyAgICB+
TWF4aW11bUR1cmF0aW9uVHJhY2tlcigpCisgICAgeworICAgICAgICAqbV9tYXhEdXJhdGlvbiA9
IG1heCgqbV9tYXhEdXJhdGlvbiwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3N0
YXJ0KTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgZG91YmxlKiBtX21heER1cmF0aW9uOworICAg
IGRvdWJsZSBtX3N0YXJ0OworfTsKKwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiBjbGFzcyBT
eW50aGV0aWNUb3VjaFBvaW50IDogcHVibGljIFBsYXRmb3JtVG91Y2hQb2ludCB7CiBwdWJsaWM6
CkBAIC0yODksNiArMzExLDcgQEAgRXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIoRnJhbWUqIGZy
YW1lKQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgLCBtX3RvdWNoUHJlc3NlZChmYWxz
ZSkKICNlbmRpZgorICAgICwgbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24oMCkKIHsKIH0KIApAQCAt
MzM1LDYgKzM1OCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpjbGVhcigpCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludFRhcmdldHMuY2xlYXIoKTsK
ICNlbmRpZgorICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uID0gMDsKIH0KIAogdm9pZCBFdmVu
dEhhbmRsZXI6Om5vZGVXaWxsQmVSZW1vdmVkKE5vZGUqIG5vZGVUb0JlUmVtb3ZlZCkKQEAgLTE2
MzUsOCArMTY1OSwxMCBAQCBzdGF0aWMgUmVuZGVyTGF5ZXIqIGxheWVyRm9yTm9kZShOb2RlKiBu
b2RlKQogCiBib29sIEV2ZW50SGFuZGxlcjo6bW91c2VNb3ZlZChjb25zdCBQbGF0Zm9ybU1vdXNl
RXZlbnQmIGV2ZW50KQogeworICAgIE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25U
cmFja2VyKCZtX21heE1vdXNlTW92ZWREdXJhdGlvbik7CiAgICAgUmVmUHRyPEZyYW1lVmlldz4g
cHJvdGVjdG9yKG1fZnJhbWUtPnZpZXcoKSk7CiAKKwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CiAgICAgLy8gRklYTUU6IHRoaXMgc2hvdWxkIGJlIG1vdmVkIGVsc2V3aGVyZSB0byBhbHNvIGJl
IGFibGUgdG8gZGlzcGF0Y2ggdG91Y2hjYW5jZWwgZXZlbnRzLgogICAgIGJvb2wgZGVmYXVsdFBy
ZXZlbnRlZCA9IGRpc3BhdGNoU3ludGhldGljVG91Y2hFdmVudElmRW5hYmxlZChldmVudCk7CkBA
IC0yNDk5LDggKzI1MjUsMTggQEAgdm9pZCBFdmVudEhhbmRsZXI6OmRpc3BhdGNoRmFrZU1vdXNl
TW92ZUV2ZW50U29vbigpCiAgICAgaWYgKG1fbW91c2VQcmVzc2VkKQogICAgICAgICByZXR1cm47
CiAKLSAgICBpZiAoIW1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5zdGFydE9uZVNob3QoZmFrZU1vdXNlTW92ZUlu
dGVydmFsKTsKKyAgICAvLyBJZiB0aGUgY29udGVudCBoYXMgZXZlciB0YWtlbiBsb25nZXIgdGhh
biBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCB3ZQorICAgIC8vIHJlc2NoZWR1bGUgdGhlIHRp
bWVyIGFuZCB1c2UgYSBsb25nZXIgdGltZS4gVGhpcyB3aWxsIGNhdXNlIHRoZSBjb250ZW50Cisg
ICAgLy8gdG8gcmVjZWl2ZSB0aGVzZSBtb3ZlcyBvbmx5IGFmdGVyIHRoZSB1c2VyIGlzIGRvbmUg
c2Nyb2xsaW5nLCByZWR1Y2luZworICAgIC8vIHBhdXNlcyBkdXJpbmcgdGhlIHNjcm9sbC4KKyAg
ICBpZiAobV9tYXhNb3VzZU1vdmVkRHVyYXRpb24gPiBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZh
bCkgeworICAgICAgICBpZiAobV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQor
ICAgICAgICAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5zdG9wKCk7CisgICAgICAgIG1f
ZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuc3RhcnRPbmVTaG90KGZha2VNb3VzZU1vdmVMb25nSW50
ZXJ2YWwpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmICghbV9mYWtlTW91c2VNb3ZlRXZlbnRU
aW1lci5pc0FjdGl2ZSgpKQorICAgICAgICAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5z
dGFydE9uZVNob3QoZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwpOworICAgIH0KIH0KIAogdm9p
ZCBFdmVudEhhbmRsZXI6OmRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29vbkluUXVhZChjb25z
dCBGbG9hdFF1YWQmIHF1YWQpCkBAIC0yNTA5LDExICsyNTQ1LDEwIEBAIHZvaWQgRXZlbnRIYW5k
bGVyOjpkaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudFNvb25JblF1YWQoY29uc3QgRmxvYXRRdWFk
JiBxdWFkKQogICAgIGlmICghdmlldykKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fbW91
c2VQcmVzc2VkIHx8ICFxdWFkLmNvbnRhaW5zUG9pbnQodmlldy0+d2luZG93VG9Db250ZW50cyht
X2N1cnJlbnRNb3VzZVBvc2l0aW9uKSkpCisgICAgaWYgKCFxdWFkLmNvbnRhaW5zUG9pbnQodmll
dy0+d2luZG93VG9Db250ZW50cyhtX2N1cnJlbnRNb3VzZVBvc2l0aW9uKSkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGlmICghbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChmYWtlTW91c2VN
b3ZlSW50ZXJ2YWwpOworICAgIGRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29vbigpOwogfQog
CiB2b2lkIEV2ZW50SGFuZGxlcjo6Y2FuY2VsRmFrZU1vdXNlTW92ZUV2ZW50KCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IGE1ZmYzMDM0ZmUyZDkyZDk4ZjZmMTg5ODk3OGUwNzRi
ZDk0ZTE3ZGMuLjA5ODFlNDE3MTE4MWExMjUyYTc0YTAwZTcxNzBiOTI5ZWE4MDA0NjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtNDMxLDYgKzQzMSw3IEBAIHByaXZhdGU6CiAg
ICAgVG91Y2hUYXJnZXRNYXAgbV9vcmlnaW5hdGluZ1RvdWNoUG9pbnRUYXJnZXRzOwogICAgIGJv
b2wgbV90b3VjaFByZXNzZWQ7CiAjZW5kaWYKKyAgICBkb3VibGUgbV9tYXhNb3VzZU1vdmVkRHVy
YXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>