<?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>75006</bug_id>
          
          <creation_ts>2011-12-21 05:21:33 -0800</creation_ts>
          <short_desc>[Qt] Scrolling in touch mode</short_desc>
          <delta_ts>2012-05-15 08:07:22 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>84243</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Allan Sandfeld Jensen">allan.jensen</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>abecsi</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>menard</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>525225</commentid>
    <comment_count>0</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2011-12-21 05:21:33 -0800</bug_when>
    <thetext>This bug is created to track several related problem with scrolling in Qt Webkit2 touch-interface mode.

When web elements are set as scrollable with overflow:auto/scroll, they are currently neither displayed as scrollable, nor actually scrollable from the touch interface in Qt Webkit2. There is a patch 
https://gitorious.org/+qtwebkit-webkit2-dev/webkit/qtwebkit-webkit2-dev/commit/6c2e96afc4b384bfcb40008abb4eee6e3ad8ac81
that enables twofinger scrolling in these elements, but still doesn&apos;t indicate the elements are scrollable, nor make them scrollable by mouse or keyboard.

A related problem is that the even the root web-element/page is not scrollable by keyboard in WebKit2 touch-mode. 

The central problem is that traditional desktop scrolling is handled by WebCore, while touch-scrolling is handled in the Qt Platform code of the UI-process. WebCore ignores all the scroll-events in touch mode because scrollbars are absent which in WebCore indicates non-scrollable elements (overflow: hidden/visible), and the Qt Platform code does not yet duplicate all WebCore scrolling.

There needs to be a closer cooperation between the two scrolling implementations, or alternatively the touch interface implementation needs to be greatly expanded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525227</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-21 05:30:57 -0800</bug_when>
    <thetext>I cannot agree more. Something related it looking into using a separate AC layer for div overflow and use our own interaction/physics engine with it.

I believe that the latest iOS WebKit code dump have patches related to this. RIM have also done something similar and it would be possible to talk to Antonio about that (cc&apos;ing him).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528720</commentid>
    <comment_count>2</comment_count>
      <attachid>120931</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-01-03 04:06:11 -0800</bug_when>
    <thetext>Created attachment 120931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528721</commentid>
    <comment_count>3</comment_count>
      <attachid>120931</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-01-03 04:12:58 -0800</bug_when>
    <thetext>Comment on attachment 120931
Patch

Thinking a bit more about this, I am not sure this is the best approach.

It would be better to move the smooth scrolling to the UI side for our case and check whether an event listener was added for the wheel event/page up/page down etc. And as long as that is not added we should just scroll on the ui side immediately. If one of these events are being listened to, we need to send the event to WebCore and if it is not prevented act on it on the UI side.

Doing it this way would make it very similar to how we were handling touch events in the N9 browser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528743</commentid>
    <comment_count>4</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-01-03 05:44:17 -0800</bug_when>
    <thetext>Just to clarify. There is no smooth scrolling in the this patch. It is only keyboard and mouse-wheel scrolling. 

It works by letting the events be handled by webcore, but having webcore request the final scrolling if any from the UI process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528750</commentid>
    <comment_count>5</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-01-03 06:23:44 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Just to clarify. There is no smooth scrolling in the this patch. It is only keyboard and mouse-wheel scrolling. 
&gt; 
&gt; It works by letting the events be handled by webcore, but having webcore request the final scrolling if any from the UI process.

that sounds similar to what we did, though not so much. I will take a deeper look at the patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532142</commentid>
    <comment_count>6</comment_count>
      <attachid>120931</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-01-09 06:14:17 -0800</bug_when>
    <thetext>Comment on attachment 120931
Patch

Currently being revised. Removing review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576054</commentid>
    <comment_count>7</comment_count>
      <attachid>131312</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-12 03:42:52 -0700</bug_when>
    <thetext>Created attachment 131312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576113</commentid>
    <comment_count>8</comment_count>
      <attachid>131312</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-12 07:30:18 -0700</bug_when>
    <thetext>Comment on attachment 131312
Patch

Doesn&apos;t this mean that it will scroll in different steps depending on your zoom level?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576115</commentid>
    <comment_count>9</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-12 07:48:59 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 131312 [details])
&gt; Doesn&apos;t this mean that it will scroll in different steps depending on your zoom level?

Yes, it will always try to scroll 3 lines, which can be a small step on fully zoomed out page. But keep in mind that this is for a special case of getting actual wheel-mouse events on a touch-based browser (desktop/touch hybrid). It could be mouse over a &apos;overflow:scroll&apos; element that is only a part of a large page. Should this sub-element scroll faster because the page is zoomed out?

Additionally I think some of the code (even the DOM wheel-event spec) demands the mouse-wheel delta is in multipla of 120. So zooming the scroll-delta might not be that doable without breaking some assumptions and the DOM event spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578327</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-14 05:31:13 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (From update of attachment 131312 [details] [details])
&gt; &gt; Doesn&apos;t this mean that it will scroll in different steps depending on your zoom level?
&gt; 
&gt; Yes, it will always try to scroll 3 lines, which can be a small step on fully zoomed out page. But keep in mind that this is for a special case of getting actual wheel-mouse events on a touch-based browser (desktop/touch hybrid). It could be mouse over a &apos;overflow:scroll&apos; element that is only a part of a large page. Should this sub-element scroll faster because the page is zoomed out?
&gt; 
&gt; Additionally I think some of the code (even the DOM wheel-event spec) demands the mouse-wheel delta is in multipla of 120. So zooming the scroll-delta might not be that doable without breaking some assumptions and the DOM event spec.

So does it actually scroll larger distances for larger fonts?

The spec could be considered to deal with a scale of 1.0 as this probably wasn&apos;t considered when it was written. Scrolling quite slowly when zoomed out, seems quite weird to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578328</commentid>
    <comment_count>11</comment_count>
      <attachid>131312</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-14 05:32:09 -0700</bug_when>
    <thetext>Comment on attachment 131312
Patch

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

&gt; Source/WebCore/platform/ScrollView.cpp:370
&gt;      repaintFixedElementsAfterScrolling();
&gt; +#if USE(TILED_BACKING_STORE)
&gt; +    if (delegatesScrolling()) {
&gt; +        hostWindow()-&gt;delegatedScrollRequested(IntPoint(newOffset));
&gt; +        return;
&gt; +    }
&gt; +#endif
&gt;      scrollContents(scrollDelta);

Is this part specific to this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578431</commentid>
    <comment_count>12</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-03-14 08:40:03 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 131312 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131312&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/ScrollView.cpp:370
&gt; &gt;      repaintFixedElementsAfterScrolling();
&gt; &gt; +#if USE(TILED_BACKING_STORE)
&gt; &gt; +    if (delegatesScrolling()) {
&gt; &gt; +        hostWindow()-&gt;delegatedScrollRequested(IntPoint(newOffset));
&gt; &gt; +        return;
&gt; &gt; +    }
&gt; &gt; +#endif
&gt; &gt;      scrollContents(scrollDelta);
&gt; 
&gt; Is this part specific to this patch?

Yes, this is heart of the patch. It takes redirects scrolling done by webcore and requests it from the hostWindow if scrolling is delegated to the hostWindow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604756</commentid>
    <comment_count>13</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-04-18 08:21:41 -0700</bug_when>
    <thetext>To support scaling wheel-events I first needed to fix several bugs in our support of fractional wheel-events. There is a patch for it in #84243, once in, the patch here can be updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622967</commentid>
    <comment_count>14</comment_count>
      <attachid>141727</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-05-14 07:46:48 -0700</bug_when>
    <thetext>Created attachment 141727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623936</commentid>
    <comment_count>15</comment_count>
      <attachid>141727</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-15 05:39:47 -0700</bug_when>
    <thetext>Comment on attachment 141727
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:1725
&gt; +    bool visibleSizeChanged = false;

I think we should use visibleSizeDidChange as that seems more common today in common code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623954</commentid>
    <comment_count>16</comment_count>
      <attachid>141939</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-05-15 05:57:26 -0700</bug_when>
    <thetext>Created attachment 141939
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624094</commentid>
    <comment_count>17</comment_count>
      <attachid>141939</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 08:07:15 -0700</bug_when>
    <thetext>Comment on attachment 141939
Patch for landing

Clearing flags on attachment: 141939

Committed r117069: &lt;http://trac.webkit.org/changeset/117069&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624095</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 08:07:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120931</attachid>
            <date>2012-01-03 04:06:11 -0800</date>
            <delta_ts>2012-03-12 03:42:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75006-20120103130502.patch</filename>
            <type>text/plain</type>
            <size>6410</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzk4MDE3ZjVjM2ZlOWM0
MWRhZjk0NzlhMDc0YTM2NDRhZWI0MDgzOC4uMDM2ZGRiMjFjMWE5ZDZmOWZlYWM1ZWZhYzE2NWU2
MDU0NTRlYjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAxLTAzICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFtR
dF1bV0syXSBGaXgga2V5Ym9hcmQgYW5kIHdoZWVsIHNjcm9sbGluZyBpbiB0b3VjaCBtb2RlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAwNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRTY3JvbGxP
ZmZzZXQpOgorICAgICAgICBTZW5kIHNjcm9sbGluZyByZXF1ZXN0IHRvIGhvc3R3aW5kb3cgd2hl
biBzY3JvbGxpbmcgaXMgZGVsZWdhdGVkCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp1
cGRhdGVTY3JvbGxiYXJzKToKKyAgICAgICAgTGV0IHNjcm9sbHZpZXdzIGNyZWF0ZSBzY3JvbGxi
YXItb2JqZWN0cyBldmVuIHdoZW4gZGVsZWdhdGluZyBzY3JvbGxpbmcuCisKIDIwMTItMDEtMDMg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
VEtdIFVzZSBnZGtfc2NyZWVuX2dldF9tb25pdG9yX3dvcmthcmVhKCkgd2hlbiBhdmFpbGFibGUg
Zm9yIHNjcmVlbkF2YWlsYWJsZVJlY3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDBhYTZlYzQ4YjVkMzVlNTlj
MjA5NDYzYTFjZmZlNmM5OGMzMzI2MzEuLjMzMmNiODhjZWI1MTFiNTU2Y2VkYjcyOWJiYWYyMGVk
N2E5MmUzZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wMS0wMyAgQWxsYW4g
U2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQG5va2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMl0gRml4IGtleWJvYXJkIGFuZCB3aGVlbCBzY3JvbGxpbmcgaW4gdG91Y2ggbW9kZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMDYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHJl
dHVybnMgcmVzcG9uc2liaWxpdHkgZm9yIHdoZWVsRXZlbnQgaGFuZGxpbmcgdG8gV2ViQ29yZQor
CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5jcHA6
IFJlbW92ZSB3aGVlbEV2ZW50KCkKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRWaWV3cG9ydElu
dGVyYWN0aW9uRW5naW5lLmg6IFJlbW92ZSB3aGVlbEV2ZW50KCkKKyAgICAgICAgKiBVSVByb2Nl
c3MvcXQvUXRXZWJQYWdlRXZlbnRIYW5kbGVyLmNwcDogCisgICAgICAgIChRdFdlYlBhZ2VFdmVu
dEhhbmRsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICBSZW1vdmUgY2FsbCB0byBpbnRl
cmFjdGlvbkVuZ2luZTo6d2hlZWxFdmVudCgpCisKIDIwMTItMDEtMDMgIFJhZmFlbCBCcmFuZGFv
ICA8cmFmYWVsLmxvYm9Ab3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBbUXRdW1dLMl0gdHN0X2Zh
dkljb25Mb2FkLnFtbCBjcmFzaGVzIG9uIGRlYnVnIG1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHAKaW5kZXggZDc2YTkwOWU1YzBlZDBmMmU5Mjg2YjhmZDEzZDMzNGNiZjRi
NGZjMy4uZTcxNWVjMWQ0YTgzZWU3YWY5NTk1NzQxMDYzNjg2OGVkNjg3NDlmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAgLTMzMSw2ICszMzEsMTMgQEAgdm9pZCBT
Y3JvbGxWaWV3Ojpub3RpZnlQYWdlVGhhdENvbnRlbnRBcmVhV2lsbFBhaW50KCkgY29uc3QKIAog
dm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxPZmZzZXQoY29uc3QgSW50UG9pbnQmIG9mZnNldCkK
IHsKKyNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKKyAgICBpZiAoZGVsZWdhdGVzU2Nyb2xs
aW5nKCkpIHsKKyAgICAgICAgaG9zdFdpbmRvdygpLT5kZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0ZWQo
b2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIGludCBo
b3Jpem9udGFsT2Zmc2V0ID0gb2Zmc2V0LngoKTsKICAgICBpbnQgdmVydGljYWxPZmZzZXQgPSBv
ZmZzZXQueSgpOwogICAgIGlmIChjb25zdHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZSgpKSB7
CkBAIC00MzcsOSArNDQ0LDkgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNNYXhVcGRhdGVTY3Jv
bGxiYXJzUGFzcyA9IDI7CiAKIHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyhjb25z
dCBJbnRTaXplJiBkZXNpcmVkT2Zmc2V0KQogewotICAgIGlmIChtX2luVXBkYXRlU2Nyb2xsYmFy
cyB8fCBwcm9oaWJpdHNTY3JvbGxpbmcoKSB8fCBkZWxlZ2F0ZXNTY3JvbGxpbmcoKSB8fCBwbGF0
Zm9ybVdpZGdldCgpKQorICAgIGlmIChtX2luVXBkYXRlU2Nyb2xsYmFycyB8fCBwcm9oaWJpdHNT
Y3JvbGxpbmcoKSB8fCBwbGF0Zm9ybVdpZGdldCgpKQogICAgICAgICByZXR1cm47Ci0KKyAgICAK
ICAgICAvLyBJZiB3ZSBjYW1lIGluIGhlcmUgd2l0aCB0aGUgdmlldyBhbHJlYWR5IG5lZWRpbmcg
YSBsYXlvdXQsIHRoZW4gZ28gYWhlYWQgYW5kIGRvIHRoYXQKICAgICAvLyBmaXJzdC4gIChUaGlz
IHdpbGwgYmUgdGhlIGNvbW1vbiBjYXNlLCBlLmcuLCB3aGVuIHRoZSBwYWdlIGNoYW5nZXMgZHVl
IHRvIHdpbmRvdyByZXNpemluZyBmb3IgZXhhbXBsZSkuCiAgICAgLy8gVGhpcyBsYXlvdXQgd2ls
bCBub3QgcmUtZW50ZXIgdXBkYXRlU2Nyb2xsYmFycyBhbmQgZG9lcyBub3QgY291bnQgdG93YXJk
cyBvdXIgbWF4IGxheW91dCBwYXNzIHRvdGFsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcAppbmRleCA3
ODgzNDlhZTA5N2M2Yzk0NWMwZjBmZGNjMjI0ODZkMjQ0ODM2MzdiLi4wNDQ3MGU1ZTk3NWVmZjZh
ZDFkMTNmMDQxMDhlNWViMDAzNjUwZTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcApAQCAtMjcy
LDM1ICsyNzIsNiBAQCBzdGF0aWMgaW5saW5lIFFQb2ludEYgYm91bmRQb3NpdGlvbihjb25zdCBR
UG9pbnRGIG1pblBvc2l0aW9uLCBjb25zdCBRUG9pbnRGJiBwbwogICAgICAgICAgICAgICAgICAg
IHFCb3VuZChtaW5Qb3NpdGlvbi55KCksIHBvc2l0aW9uLnkoKSwgbWF4UG9zaXRpb24ueSgpKSk7
CiB9CiAKLXZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjp3aGVlbEV2ZW50KFFXaGVl
bEV2ZW50KiBldikKLXsKLSAgICBpZiAoc2Nyb2xsQW5pbWF0aW9uQWN0aXZlKCkgfHwgc2NhbGVB
bmltYXRpb25BY3RpdmUoKSB8fCBwaW5jaEdlc3R1cmVBY3RpdmUoKSkKLSAgICAgICAgcmV0dXJu
OyAvLyBJZ25vcmUuCi0KLSAgICBpbnQgZGVsdGEgPSBldi0+ZGVsdGEoKTsKLSAgICBRUG9pbnRG
IG5ld1BvcyA9IC1tX2NvbnRlbnQtPnBvcygpOwotCi0gICAgLy8gQSBkZWx0YSB0aGF0IGlzIG5v
dCBtb2QgMTIwIGluZGljYXRlcyBhIGRldmljZSB0aGF0IGlzIHNlbmRpbmcKLSAgICAvLyBmaW5l
LXJlc29sdXRpb24gc2Nyb2xsIGV2ZW50cywgc28gdXNlIHRoZSBkZWx0YSBhcyBudW1iZXIgb2Yg
d2hlZWwgdGlja3MKLSAgICAvLyBhbmQgbnVtYmVyIG9mIHBpeGVscyB0byBzY3JvbGwuIFNlZSBh
bHNvIHdlYmtpdC5vcmcvYi8yOTYwMQotICAgIGJvb2wgZnVsbFRpY2sgPSAhKGRlbHRhICUgMTIw
KTsKLQotICAgIHN0YXRpYyBjb25zdCBpbnQgY0RlZmF1bHRRdFNjcm9sbFN0ZXAgPSAyMDsKLSAg
ICBzdGF0aWMgY29uc3QgaW50IHdoZWVsU2Nyb2xsTGluZXMgPSAzOwotICAgIGludCBzY3JvbGxM
aW5lcyA9IChmdWxsVGljaykgPyB3aGVlbFNjcm9sbExpbmVzICogY0RlZmF1bHRRdFNjcm9sbFN0
ZXAgOiAxOwotCi0gICAgZGVsdGEgPSAoZnVsbFRpY2spID8gZGVsdGEgLyAxMjAuMGYgOiBkZWx0
YTsKLSAgICBkZWx0YSAqPSBzY3JvbGxMaW5lczsKLQotICAgIGlmIChldi0+b3JpZW50YXRpb24o
KSA9PSBRdDo6SG9yaXpvbnRhbCkKLSAgICAgICAgbmV3UG9zLnJ4KCkgKz0gZGVsdGE7Ci0gICAg
ZWxzZQotICAgICAgICBuZXdQb3MucnkoKSArPSBkZWx0YTsKLQotICAgIFFSZWN0RiBlbmRQb3NS
YW5nZSA9IGNvbXB1dGVQb3NSYW5nZUZvckl0ZW1BdFNjYWxlKG1fY29udGVudC0+c2NhbGUoKSk7
Ci0gICAgbV9jb250ZW50LT5zZXRQb3MoLWJvdW5kUG9zaXRpb24oZW5kUG9zUmFuZ2UudG9wTGVm
dCgpLCBuZXdQb3MsIGVuZFBvc1JhbmdlLmJvdHRvbVJpZ2h0KCkpKTsKLX0KLQogdm9pZCBRdFZp
ZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnBhZ2VQb3NpdGlvblJlcXVlc3QoY29uc3QgUVBvaW50
JiBwYWdlUG9zaXRpb24pCiB7CiAgICAgLy8gSWdub3JlIHRoZSByZXF1ZXN0IGlmIHN1c3BlbmRl
ZC4gQ2FuIG9ubHkgaGFwcGVuIGR1ZSB0byBkZWxheSBpbiBldmVudCBkZWxpdmVyeS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25F
bmdpbmUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rp
b25FbmdpbmUuaAppbmRleCA2ODM3N2E0MWMwZjk5M2NkNWFjNWQ3ODRiMmZkZjU5NmJkMTVlYWVi
Li4yYjg1OGU3ZTRkNzg1ZTc0MmEyNmVhMWZiYzI1YThlZDFkMTY5OTUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVu
Z2luZS5oCkBAIC03Myw3ICs3Myw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEl0ZW1SZWN0Vmlz
aWJsZShjb25zdCBRUmVjdEYmKTsKICAgICBib29sIGFuaW1hdGVJdGVtUmVjdFZpc2libGUoY29u
c3QgUVJlY3RGJik7CiAKLSAgICB2b2lkIHdoZWVsRXZlbnQoUVdoZWVsRXZlbnQqKTsKICAgICB2
b2lkIHBhZ2VQb3NpdGlvblJlcXVlc3QoY29uc3QgUVBvaW50JiBwb3MpOwogCiAgICAgYm9vbCBz
Y3JvbGxBbmltYXRpb25BY3RpdmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1F0V2ViUGFnZUV2ZW50SGFuZGxlci5jcHAKaW5kZXggZDAxOTY4ODBkZWNi
NjI5MDAwMDllN2ZkMjdiMGMyOTBkNmJiMGNmZi4uNDlhYjgxZWMxZWNlODQyMTUxZDY4NWM0ZGQw
ZjQyMDg0MzhiODI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0
V2ViUGFnZUV2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0V2ViUGFnZUV2ZW50SGFuZGxlci5jcHAKQEAgLTE5MCw5ICsxOTAsNiBAQCBib29sIFF0V2Vi
UGFnZUV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoUU1vdXNlRXZlbnQqIGV2
KQogYm9vbCBRdFdlYlBhZ2VFdmVudEhhbmRsZXI6OmhhbmRsZVdoZWVsRXZlbnQoUVdoZWVsRXZl
bnQqIGV2KQogewogICAgIG1fd2ViUGFnZVByb3h5LT5oYW5kbGVXaGVlbEV2ZW50KE5hdGl2ZVdl
YldoZWVsRXZlbnQoZXYpKTsKLSAgICAvLyBGSVhNRTogSGFuZGxlIHdoZXRoZXIgdGhlIHBhZ2Ug
dXNlZCB0aGUgd2hlZWwgZXZlbnQgb3Igbm90LgotICAgIGlmIChtX2ludGVyYWN0aW9uRW5naW5l
KQotICAgICAgICBtX2ludGVyYWN0aW9uRW5naW5lLT53aGVlbEV2ZW50KGV2KTsKICAgICByZXR1
cm4gZXYtPmlzQWNjZXB0ZWQoKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131312</attachid>
            <date>2012-03-12 03:42:52 -0700</date>
            <delta_ts>2012-05-14 07:46:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75006-20120312114250.patch</filename>
            <type>text/plain</type>
            <size>6958</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWI1MWVhOGMzMmMwM2Jl
YmVlNWU1MzQwNGRhZDJlZGE3OTc4YjA5Ny4uNTY1YjdmNzE1YWFjOTllNmExMjZlMmVhNmQzMzFh
M2RkNmJiZmJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTEyICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFtR
dF1bV0syXSBGaXggc2Nyb2xsaW5nIGluIHRvdWNoIG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldEZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0KToKKyAgICAg
ICAgS2VlcCBzY3JvbGwgcG9zaXRpb24gaW4gdGhlIFNjcm9sbEFuaW1hdG9yIG9iamVjdCB1cGRh
dGVkLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsVmlldzo6c2Nyb2xsVG8pOgorICAgICAgICBTZW5kIHNjcm9sbGluZyByZXF1ZXN0
IHRvIGhvc3R3aW5kb3cgd2hlbiBzY3JvbGxpbmcgaXMgZGVsZWdhdGVkCisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxWaWV3Ojp1cGRhdGVTY3JvbGxiYXJzKToKKwogMjAxMi0wMy0xMiAgS2VudCBU
YW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVXNlIElDVSBDIEFQSSBpbnN0
ZWFkIG9mIEMrKyBBUEkgaW4gTG9jYWxpemVkTnVtYmVySUNVCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggM2EzYzc3
ODU2YmY1MjJhNDIzOThjNWM4YTlmMjY3MjViOGIxZmJkMS4uMjUwNGY3YzRjMTJlZjYzMjA3ZTkz
NmY4YzZlODEyOTA2OTFiNjNlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAz
LTEyICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisg
ICAgICAgIFtRdF1bV0syXSBGaXggc2Nyb2xsaW5nIGluIHRvdWNoIG1vZGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDA2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT25seSBoYW5kbGUgbW91c2Utd2hl
ZWwgZXZlbnRzIGluIFdlYkNvcmUgdG8gYXZvaWQgZG91YmxlIHNjcm9sbGluZy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuY3BwOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuaDoKKyAgICAgICAg
KFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0
V2ViUGFnZUV2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChRdFdlYlBhZ2VFdmVudEhhbmRsZXI6
OmhhbmRsZVdoZWVsRXZlbnQpOgorCiAyMDEyLTAzLTExICBBbmR5IEVzdGVzICA8YWVzdGVzQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgY2FsbCB0byBOU1NpemVUb0NH
U2l6ZSgpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDVlY2JjYTM2MzYxYzVkOWI4
YzhjNDdlZWExNGFmNjI1ZGYwMzYyYWMuLmNkZjA2M2FkZTNhYmU1ZGI2OWI5Y2RiZGU0NzYzNTc2
NzBhZWIwYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTE2ODAsOCArMTY4MCwx
MCBAQCB2b2lkIEZyYW1lVmlldzo6c2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3QoY29uc3QgSW50
UmVjdCYgdmlzaWJsZUNvbnRlbnRSZWN0KQogewogICAgIEludFNpemUgb2Zmc2V0ID0gc2Nyb2xs
T2Zmc2V0KCk7CiAgICAgU2Nyb2xsVmlldzo6c2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3Qodmlz
aWJsZUNvbnRlbnRSZWN0KTsKLSAgICBpZiAob2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpKQorICAg
IGlmIChvZmZzZXQgIT0gc2Nyb2xsT2Zmc2V0KCkpIHsKKyAgICAgICAgc2Nyb2xsQW5pbWF0b3Io
KS0+c2V0Q3VycmVudFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkpOwogICAgICAgICBzY3JvbGxQ
b3NpdGlvbkNoYW5nZWQoKTsKKyAgICB9CiAgICAgZnJhbWUoKS0+bG9hZGVyKCktPmNsaWVudCgp
LT5kaWRDaGFuZ2VTY3JvbGxPZmZzZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxWaWV3LmNwcAppbmRleCA2YWYyYWE2OTYwNGZhZTY4NzEzYzM5ZTcwZDZhYjE4NDYxNGY4NDk3
Li42YTBhNWZlOTg5NzljYjdkNzg0OWRkZjE5Mzc4OGQ1YWRmODRhNWNhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtMzYxLDYgKzM2MSwxMiBAQCB2b2lkIFNjcm9s
bFZpZXc6OnNjcm9sbFRvKGNvbnN0IEludFNpemUmIG5ld09mZnNldCkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgcmVwYWludEZpeGVkRWxlbWVudHNBZnRlclNjcm9sbGluZygpOworI2lmIFVTRShU
SUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIGlmIChkZWxlZ2F0ZXNTY3JvbGxpbmcoKSkgeworICAg
ICAgICBob3N0V2luZG93KCktPmRlbGVnYXRlZFNjcm9sbFJlcXVlc3RlZChJbnRQb2ludChuZXdP
ZmZzZXQpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgogICAgIHNjcm9sbENvbnRl
bnRzKHNjcm9sbERlbHRhKTsKIH0KIApAQCAtNDQyLDcgKzQ0OCw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjTWF4VXBkYXRlU2Nyb2xsYmFyc1Bhc3MgPSAyOwogCiB2b2lkIFNjcm9sbFZpZXc6
OnVwZGF0ZVNjcm9sbGJhcnMoY29uc3QgSW50U2l6ZSYgZGVzaXJlZE9mZnNldCkKIHsKLSAgICBp
ZiAobV9pblVwZGF0ZVNjcm9sbGJhcnMgfHwgcHJvaGliaXRzU2Nyb2xsaW5nKCkgfHwgZGVsZWdh
dGVzU2Nyb2xsaW5nKCkgfHwgcGxhdGZvcm1XaWRnZXQoKSkKKyAgICBpZiAobV9pblVwZGF0ZVNj
cm9sbGJhcnMgfHwgcHJvaGliaXRzU2Nyb2xsaW5nKCkgfHwgcGxhdGZvcm1XaWRnZXQoKSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgLy8gSWYgd2UgY2FtZSBpbiBoZXJlIHdpdGggdGhlIHZpZXcg
YWxyZWFkeSBuZWVkaW5nIGEgbGF5b3V0LCB0aGVuIGdvIGFoZWFkIGFuZCBkbyB0aGF0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJh
Y3Rpb25FbmdpbmUuY3BwCmluZGV4IGM4Mzg3NjdiNjEwYjY3YzJiZjIyOTllOTViYzMzZWY0NjI1
YjcxMGUuLmUwZGVkN2JmMzI3NDQ3ZWYxMDE1OTEwNmRiYWZlMTg0NDk3M2VjOWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25Fbmdp
bmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJh
Y3Rpb25FbmdpbmUuY3BwCkBAIC0yNDgsNDAgKzI0OCw2IEBAIHN0YXRpYyBpbmxpbmUgUVBvaW50
RiBib3VuZFBvc2l0aW9uKGNvbnN0IFFQb2ludEYgbWluUG9zaXRpb24sIGNvbnN0IFFQb2ludEYm
IHBvCiAgICAgICAgICAgICAgICAgICAgcUJvdW5kKG1pblBvc2l0aW9uLnkoKSwgcG9zaXRpb24u
eSgpLCBtYXhQb3NpdGlvbi55KCkpKTsKIH0KIAotdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25F
bmdpbmU6OndoZWVsRXZlbnQoUVdoZWVsRXZlbnQqIGV2KQotewotICAgIGlmIChzY3JvbGxBbmlt
YXRpb25BY3RpdmUoKSB8fCBzY2FsZUFuaW1hdGlvbkFjdGl2ZSgpIHx8IHBpbmNoR2VzdHVyZUFj
dGl2ZSgpKQotICAgICAgICByZXR1cm47IC8vIElnbm9yZS4KLQotICAgIGludCBkZWx0YSA9IGV2
LT5kZWx0YSgpOwotICAgIFFQb2ludEYgbmV3UG9zID0gLW1fY29udGVudC0+cG9zKCk7Ci0KLSAg
ICAvLyBBIGRlbHRhIHRoYXQgaXMgbm90IG1vZCAxMjAgaW5kaWNhdGVzIGEgZGV2aWNlIHRoYXQg
aXMgc2VuZGluZwotICAgIC8vIGZpbmUtcmVzb2x1dGlvbiBzY3JvbGwgZXZlbnRzLCBzbyB1c2Ug
dGhlIGRlbHRhIGFzIG51bWJlciBvZiB3aGVlbCB0aWNrcwotICAgIC8vIGFuZCBudW1iZXIgb2Yg
cGl4ZWxzIHRvIHNjcm9sbC4gU2VlIGFsc28gd2Via2l0Lm9yZy9iLzI5NjAxCi0gICAgYm9vbCBm
dWxsVGljayA9ICEoZGVsdGEgJSAxMjApOwotCi0gICAgc3RhdGljIGNvbnN0IGludCBjRGVmYXVs
dFF0U2Nyb2xsU3RlcCA9IDIwOwotICAgIHN0YXRpYyBjb25zdCBpbnQgd2hlZWxTY3JvbGxMaW5l
cyA9IDM7Ci0gICAgaW50IHNjcm9sbExpbmVzID0gKGZ1bGxUaWNrKSA/IHdoZWVsU2Nyb2xsTGlu
ZXMgKiBjRGVmYXVsdFF0U2Nyb2xsU3RlcCA6IDE7Ci0KLSAgICBkZWx0YSA9IChmdWxsVGljaykg
PyBkZWx0YSAvIDEyMC4wZiA6IGRlbHRhOwotICAgIGRlbHRhICo9IHNjcm9sbExpbmVzOwotCi0g
ICAgaWYgKGV2LT5vcmllbnRhdGlvbigpID09IFF0OjpIb3Jpem9udGFsKQotICAgICAgICBuZXdQ
b3MucngoKSArPSBkZWx0YTsKLSAgICBlbHNlCi0gICAgICAgIG5ld1Bvcy5yeSgpICs9IGRlbHRh
OwotCi0gICAgUVJlY3RGIGVuZFBvc1JhbmdlID0gY29tcHV0ZVBvc1JhbmdlRm9ySXRlbUF0U2Nh
bGUobV9jb250ZW50LT5jb250ZW50c1NjYWxlKCkpOwotCi0gICAgUVBvaW50RiBjdXJyZW50UG9z
aXRpb24gPSBtX2ZsaWNrUHJvdmlkZXItPmNvbnRlbnRQb3MoKTsKLSAgICBRUG9pbnRGIG5ld1Bv
c2l0aW9uID0gLWJvdW5kUG9zaXRpb24oZW5kUG9zUmFuZ2UudG9wTGVmdCgpLCBuZXdQb3MsIGVu
ZFBvc1JhbmdlLmJvdHRvbVJpZ2h0KCkpOwotICAgIG1fZmxpY2tQcm92aWRlci0+c2V0Q29udGVu
dFBvcyhuZXdQb3NpdGlvbik7Ci0KLSAgICBlbWl0IGNvbnRlbnRXYXNNb3ZlZChjdXJyZW50UG9z
aXRpb24gLSBuZXdQb3NpdGlvbik7Ci19Ci0KIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lOjpwYWdlUG9zaXRpb25SZXF1ZXN0KGNvbnN0IFFQb2ludCYgcGFnZVBvc2l0aW9uKQogewog
ICAgIC8vIElnbm9yZSB0aGUgcmVxdWVzdCBpZiBzdXNwZW5kZWQuIENhbiBvbmx5IGhhcHBlbiBk
dWUgdG8gZGVsYXkgaW4gZXZlbnQgZGVsaXZlcnkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmgKaW5kZXggMDE3
YzMwN2NkMzcxMDMyMDA1ZTVhMTc2NDhjNjMyYWIxMjhiYWZlZC4uYzRiODQ3NTQzN2MzNWQyZmE1
YWJlNDlkYmY1MDFhOTNhMThkMTllMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuaApAQCAtNzQsNyArNzQs
NiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJdGVtUmVjdFZpc2libGUoY29uc3QgUVJlY3RGJik7
CiAgICAgYm9vbCBhbmltYXRlSXRlbVJlY3RWaXNpYmxlKGNvbnN0IFFSZWN0RiYpOwogCi0gICAg
dm9pZCB3aGVlbEV2ZW50KFFXaGVlbEV2ZW50Kik7CiAgICAgdm9pZCBwYWdlUG9zaXRpb25SZXF1
ZXN0KGNvbnN0IFFQb2ludCYgcG9zKTsKIAogICAgIGJvb2wgc2Nyb2xsQW5pbWF0aW9uQWN0aXZl
KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQ
YWdlRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBh
Z2VFdmVudEhhbmRsZXIuY3BwCmluZGV4IDk1ZWQ0MzE5MTZkNDBmZDc1ODFkN2UzNzExNmMxZTg0
NmFhZTU1M2IuLmI5NjZmZDE0Nzg4ZDYxOTM4M2QyYmQwY2Y3YTg4ZGE4OGJhYjRiNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhhbmRsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhhbmRs
ZXIuY3BwCkBAIC0xNTMsOSArMTUzLDYgQEAgdm9pZCBRdFdlYlBhZ2VFdmVudEhhbmRsZXI6Omhh
bmRsZVdoZWVsRXZlbnQoUVdoZWVsRXZlbnQqIGV2KQogewogICAgIFFUcmFuc2Zvcm0gZnJvbUl0
ZW1UcmFuc2Zvcm0gPSBtX3dlYlBhZ2UtPnRyYW5zZm9ybUZyb21JdGVtKCk7CiAgICAgbV93ZWJQ
YWdlUHJveHktPmhhbmRsZVdoZWVsRXZlbnQoTmF0aXZlV2ViV2hlZWxFdmVudChldiwgZnJvbUl0
ZW1UcmFuc2Zvcm0pKTsKLSAgICAvLyBGSVhNRTogSGFuZGxlIHdoZXRoZXIgdGhlIHBhZ2UgdXNl
ZCB0aGUgd2hlZWwgZXZlbnQgb3Igbm90LgotICAgIGlmIChtX2ludGVyYWN0aW9uRW5naW5lKQot
ICAgICAgICBtX2ludGVyYWN0aW9uRW5naW5lLT53aGVlbEV2ZW50KGV2KTsKIH0KIAogdm9pZCBR
dFdlYlBhZ2VFdmVudEhhbmRsZXI6OmhhbmRsZUhvdmVyTGVhdmVFdmVudChRSG92ZXJFdmVudCog
ZXYpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141727</attachid>
            <date>2012-05-14 07:46:48 -0700</date>
            <delta_ts>2012-05-15 05:57:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75006-20120514164651.patch</filename>
            <type>text/plain</type>
            <size>10837</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2OTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTUyZTM0NDEyYzYyZWMw
N2Y1ZTUyYTZiMmJhNzc1MDdkZmQxNzc4Mi4uYmQ2ZWNiNGI4ZmZlODVhNDIyZGE5Y2ZmMDgyMGVk
MWQ5ZGUyOTE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTE0ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFtR
dF1bV0syXSBGaXggc2Nyb2xsaW5nIGluIHRvdWNoIG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldEZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0KToKKyAgICAg
ICAgICAgIE9uIGNoYW5nZXMgdG8gZml4ZWRWaXNpYmxlQ29udGVudFJlY3QgdXBkYXRlIHNjcm9s
bC1hbmltYXRvcnMgcG9zaXRpb24sIGFuZAorICAgICAgICAgICAgcmVjYWxjdWxhdGUgcGFnZS1z
dGVwIHNpemVzIGluIHNjcm9sbGJhcnMuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzY3JvbGxUbyk6CisgICAgICAgICAg
ICBGb3J3YXJkIHNjcm9sbGluZy1yZXF1ZXN0IHRvIHRoZSBob3N0IHdpbmRvdy4KKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMpOgorICAgICAgICAgICAgQWxs
b3cgU2Nyb2xsVmlld3MgdG8gaGF2ZSBpbnZpc2libGUgc2Nyb2xsYmFycyB3aGVuIHNjcm9sbGlu
ZyBpcyBkZWxlZ2F0ZWQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5oOgorICAgICAg
ICAoU2Nyb2xsVmlldyk6CisKIDIwMTItMDUtMTQgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdv
b2dsZS5jb20+CiAKICAgICAgICAgU2hvdWxkIGhhdmUgTm9kZTo6aW5EZXRhY2goKSBmb3IgYXNz
ZXJ0aW9uIHB1cnBvc2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDc2Yjc3NjVhZWY2ZDdkMDhjZTFkMWU5MTA5
MzY3ODk3N2QyNWY1MGMuLjFkODNjODMyN2NhZjM5YzliYjQ1Mzk1NGNlYmJmZDJmYzZlZDYwZjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNS0xNCAgQWxsYW4gU2FuZGZlbGQg
SmVuc2VuICA8YWxsYW4uamVuc2VuQG5va2lhLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gRml4
IHNjcm9sbGluZyBpbiB0b3VjaCBtb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03NTAwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE9ubHkgaGFuZGxlIG1vdXNlLXdoZWVsIGV2ZW50cyBpbiBXZWJDb3Jl
IHRvIGF2b2lkIGRvdWJsZSBzY3JvbGxpbmcsIGFuZAorICAgICAgICBzY2FsZSBwaXhlbHMgc2Ny
b2xsZWQgYnkgd2hlZWwgZXZlbnRzIGFjY29yZGluZyB0byB2aWV3cG9ydCB0cmFuc2Zvcm1hdGlv
bi4KKworICAgICAgICAqIFNoYXJlZC9xdC9XZWJFdmVudEZhY3RvcnlRdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudCk6CisgICAgICAg
ICogVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5jcHA6CisgICAgICAg
ICogVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5oOgorICAgICAgICAo
UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFF0V2ViUGFnZUV2ZW50SGFuZGxlcjo6
aGFuZGxlV2hlZWxFdmVudCk6CisKIDIwMTItMDUtMTEgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFy
cmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIEludHJvZHVjZSBQcm9wZXJ0eU5hbWUgY2xh
c3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBhOWNjMjIwYTgzMWMwZmIzMmEzN2Jj
ZmU4ZTUzNjg3MTk2Y2RkN2NmLi5lZWIzOTU1ZTc1NmEzNWMwNzk2YWRiYThiNTRhNGY3OTdkZTIw
ZTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xNzIyLDExICsxNzIyLDEzIEBA
IHZvaWQgRnJhbWVWaWV3OjpkZWxlZ2F0ZXNTY3JvbGxpbmdEaWRDaGFuZ2UoKQogCiB2b2lkIEZy
YW1lVmlldzo6c2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYgdmlzaWJs
ZUNvbnRlbnRSZWN0KQogeworICAgIGJvb2wgdmlzaWJsZVNpemVDaGFuZ2VkID0gZmFsc2U7CiAg
ICAgaWYgKHZpc2libGVDb250ZW50UmVjdC5zaXplKCkgIT0gdGhpcy0+Zml4ZWRWaXNpYmxlQ29u
dGVudFJlY3QoKS5zaXplKCkpIHsKICAgICAgICAgLy8gV2hlbiB0aGUgdmlld3BvcnQgc2l6ZSBj
aGFuZ2VzIG9yIHRoZSBjb250ZW50IGlzIHNjYWxlZCwgd2UgbmVlZCB0bwogICAgICAgICAvLyBy
ZXBvc2l0aW9uIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzLgogICAgICAgICBpZiAoUmVu
ZGVyVmlldyogcm9vdCA9IHJvb3RSZW5kZXJlcih0aGlzKSkKICAgICAgICAgICAgIHJvb3QtPnNl
dEZpeGVkUG9zaXRpb25lZE9iamVjdHNOZWVkTGF5b3V0KCk7CisgICAgICAgIHZpc2libGVTaXpl
Q2hhbmdlZCA9IHRydWU7CiAgICAgfQogCiAgICAgSW50U2l6ZSBvZmZzZXQgPSBzY3JvbGxPZmZz
ZXQoKTsKQEAgLTE3MzQsOCArMTczNiwxMyBAQCB2b2lkIEZyYW1lVmlldzo6c2V0Rml4ZWRWaXNp
YmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYgdmlzaWJsZUNvbnRlbnRSZWN0KQogICAgIGlm
IChvZmZzZXQgIT0gc2Nyb2xsT2Zmc2V0KCkpIHsKICAgICAgICAgaWYgKG1fZnJhbWUtPnBhZ2Uo
KS0+c2V0dGluZ3MoKS0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFi
bGVkKCkpCiAgICAgICAgICAgICB1cGRhdGVGaXhlZEVsZW1lbnRzQWZ0ZXJTY3JvbGxpbmcoKTsK
KyAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS0+c2V0Q3VycmVudFBvc2l0aW9uKHNjcm9sbFBvc2l0
aW9uKCkpOwogICAgICAgICBzY3JvbGxQb3NpdGlvbkNoYW5nZWQoKTsKICAgICB9CisgICAgaWYg
KHZpc2libGVTaXplQ2hhbmdlZCkgeworICAgICAgICAvLyBVcGRhdGUgdGhlIHNjcm9sbC1iYXJz
IHRvIGNhbGN1bGF0ZSBuZXcgcGFnZS1zdGVwIHNpemUuCisgICAgICAgIHVwZGF0ZVNjcm9sbGJh
cnMoc2Nyb2xsT2Zmc2V0KCkpOworICAgIH0KICAgICBmcmFtZSgpLT5sb2FkZXIoKS0+Y2xpZW50
KCktPmRpZENoYW5nZVNjcm9sbE9mZnNldCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuY3BwCmluZGV4IGI5ODJkNGRjZTNkZDE2ZjU5NWUxYjA5MjVlZjQ4MjQ5Y2Q3ZTM4
ZTUuLmE4ZmU1YWJlMDk5OWQ5NWIwODg1YTU1NDk5NTFjZTBlMGY3Yjg5ZGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCkBAIC0zNzEsNiArMzcxLDEyIEBAIHZvaWQgU2Ny
b2xsVmlldzo6c2Nyb2xsVG8oY29uc3QgSW50U2l6ZSYgbmV3T2Zmc2V0KQogICAgICAgICByZXR1
cm47CiAKICAgICByZXBhaW50Rml4ZWRFbGVtZW50c0FmdGVyU2Nyb2xsaW5nKCk7CisjaWYgVVNF
KFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgaWYgKGRlbGVnYXRlc1Njcm9sbGluZygpKSB7Cisg
ICAgICAgIGhvc3RXaW5kb3coKS0+ZGVsZWdhdGVkU2Nyb2xsUmVxdWVzdGVkKEludFBvaW50KG5l
d09mZnNldCkpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCiAgICAgc2Nyb2xsQ29u
dGVudHMoc2Nyb2xsRGVsdGEpOwogICAgIHVwZGF0ZUZpeGVkRWxlbWVudHNBZnRlclNjcm9sbGlu
ZygpOwogfQpAQCAtNDUzLDcgKzQ1OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjTWF4VXBk
YXRlU2Nyb2xsYmFyc1Bhc3MgPSAyOwogCiB2b2lkIFNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJh
cnMoY29uc3QgSW50U2l6ZSYgZGVzaXJlZE9mZnNldCkKIHsKLSAgICBpZiAobV9pblVwZGF0ZVNj
cm9sbGJhcnMgfHwgcHJvaGliaXRzU2Nyb2xsaW5nKCkgfHwgZGVsZWdhdGVzU2Nyb2xsaW5nKCkg
fHwgcGxhdGZvcm1XaWRnZXQoKSkKKyAgICBpZiAobV9pblVwZGF0ZVNjcm9sbGJhcnMgfHwgcHJv
aGliaXRzU2Nyb2xsaW5nKCkgfHwgcGxhdGZvcm1XaWRnZXQoKSkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgLy8gSWYgd2UgY2FtZSBpbiBoZXJlIHdpdGggdGhlIHZpZXcgYWxyZWFkeSBuZWVkaW5n
IGEgbGF5b3V0LCB0aGVuIGdvIGFoZWFkIGFuZCBkbyB0aGF0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmgKaW5kZXggZWMwMzEyNWNkNTNiNWQwMTFiMWExZDdmNTJiNTc1OTk1MGEzZGMy
MS4uMDdmZmIzZjIxMDMwODk3M2NkYjcxYTIzZTVkODZiNDRkYjA3ZWRmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbFZpZXcuaApAQCAtMzEzLDYgKzMxMyw5IEBAIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIGJvb2wgaXNWZXJ0aWNhbERvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIHZpcnR1YWwgYm9vbCBpc0ZsaXBwZWREb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAKKyAgICAvLyBDYWxsZWQgdG8gdXBkYXRlIHRoZSBzY3JvbGxiYXJzIHRvIGFjY3Vy
YXRlbHkgcmVmbGVjdCB0aGUgc3RhdGUgb2YgdGhlIHZpZXcuCisgICAgdm9pZCB1cGRhdGVTY3Jv
bGxiYXJzKGNvbnN0IEludFNpemUmIGRlc2lyZWRPZmZzZXQpOworCiBwcml2YXRlOgogICAgIFJl
ZlB0cjxTY3JvbGxiYXI+IG1faG9yaXpvbnRhbFNjcm9sbGJhcjsKICAgICBSZWZQdHI8U2Nyb2xs
YmFyPiBtX3ZlcnRpY2FsU2Nyb2xsYmFyOwpAQCAtMzU1LDggKzM1OCw2IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBpbml0KCk7CiAgICAgdm9pZCBkZXN0cm95KCk7CiAKLSAgICAvLyBDYWxsZWQgdG8g
dXBkYXRlIHRoZSBzY3JvbGxiYXJzIHRvIGFjY3VyYXRlbHkgcmVmbGVjdCB0aGUgc3RhdGUgb2Yg
dGhlIHZpZXcuCi0gICAgdm9pZCB1cGRhdGVTY3JvbGxiYXJzKGNvbnN0IEludFNpemUmIGRlc2ly
ZWRPZmZzZXQpOwogICAgIEludFJlY3QgcmVjdFRvQ29weU9uU2Nyb2xsKCkgY29uc3Q7CiAKICAg
ICAvLyBDYWxsZWQgd2hlbiB0aGUgc2Nyb2xsIHBvc2l0aW9uIHdpdGhpbiB0aGlzIHZpZXcgY2hh
bmdlcy4gIEZyYW1lVmlldyBvdmVycmlkZXMgdGhpcyB0byBnZW5lcmF0ZSByZXBhaW50IGludmFs
aWRhdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvV2ViRXZlbnRG
YWN0b3J5UXQuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkV2ZW50RmFjdG9yeVF0
LmNwcAppbmRleCAzMDkxZDY0Yzk2NzcwMDc1ZGJhOTUxNzkwZWYxN2E0NzRlOThhNTc5Li40NWZj
MzRhZTY5ZDc1M2M5ZDMyZDQ3NjMxOTdiZTg2NWQ5NDJiYjVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvcXQvV2ViRXZlbnRGYWN0b3J5UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9xdC9XZWJFdmVudEZhY3RvcnlRdC5jcHAKQEAgLTI3LDkgKzI3LDExIEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViRXZlbnRGYWN0b3J5UXQuaCIKICNpbmNs
dWRlIDxRS2V5RXZlbnQ+CisjaW5jbHVkZSA8UUxpbmVGPgogI2luY2x1ZGUgPFFUcmFuc2Zvcm0+
Ci0jaW5jbHVkZSA8V2ViQ29yZS9JbnRQb2ludC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRQ
b2ludC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRTaXplLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9JbnRQb2ludC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+
CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KQEAgLTE0OSw3ICsxNTEsMTMgQEAgV2ViV2hlZWxFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNy
ZWF0ZVdlYldoZWVsRXZlbnQoUVdoZWVsRXZlbnQqIGUsIGNvbnN0IFFUcmFuc2YKICAgICBkZWx0
YVggPSB3aGVlbFRpY2tzWCAqIHdoZWVsU2Nyb2xsTGluZXMgKiBjRGVmYXVsdFF0U2Nyb2xsU3Rl
cDsKICAgICBkZWx0YVkgPSB3aGVlbFRpY2tzWSAqIHdoZWVsU2Nyb2xsTGluZXMgKiBjRGVmYXVs
dFF0U2Nyb2xsU3RlcDsKIAotICAgIHJldHVybiBXZWJXaGVlbEV2ZW50KFdlYkV2ZW50OjpXaGVl
bCwgZnJvbUl0ZW1UcmFuc2Zvcm0ubWFwKGUtPnBvc0YoKSkudG9Qb2ludCgpLCBlLT5nbG9iYWxQ
b3NGKCkudG9Qb2ludCgpLCBGbG9hdFNpemUoZGVsdGFYLCBkZWx0YVkpLCBGbG9hdFNpemUod2hl
ZWxUaWNrc1gsIHdoZWVsVGlja3NZKSwgZ3JhbnVsYXJpdHksIG1vZGlmaWVycywgdGltZXN0YW1w
KTsKKyAgICAvLyBUcmFuc2Zvcm0gdGhlIHBvc2l0aW9uIGFuZCB0aGUgcGl4ZWwgc2Nyb2xsaW5n
IGRpc3RhbmNlLgorICAgIFFMaW5lRiB0cmFuc2Zvcm1lZFNjcm9sbCA9IGZyb21JdGVtVHJhbnNm
b3JtLm1hcChRTGluZUYoZS0+cG9zRigpLCBlLT5wb3NGKCkgKyBRUG9pbnRGKGRlbHRhWCwgZGVs
dGFZKSkpOworICAgIEludFBvaW50IHRyYW5zZm9ybWVkUG9pbnQgPSB0cmFuc2Zvcm1lZFNjcm9s
bC5wMSgpLnRvUG9pbnQoKTsKKyAgICBJbnRQb2ludCBnbG9iYWxQb2ludCA9IGUtPmdsb2JhbFBv
c0YoKS50b1BvaW50KCk7CisgICAgRmxvYXRTaXplIHRyYW5zZm9ybWVkRGVsdGEodHJhbnNmb3Jt
ZWRTY3JvbGwuZHgoKSwgdHJhbnNmb3JtZWRTY3JvbGwuZHkoKSk7CisgICAgRmxvYXRTaXplIHdo
ZWVsVGlja3Mod2hlZWxUaWNrc1gsIHdoZWVsVGlja3NZKTsKKyAgICByZXR1cm4gV2ViV2hlZWxF
dmVudChXZWJFdmVudDo6V2hlZWwsIHRyYW5zZm9ybWVkUG9pbnQsIGdsb2JhbFBvaW50LCB0cmFu
c2Zvcm1lZERlbHRhLCB3aGVlbFRpY2tzLCBncmFudWxhcml0eSwgbW9kaWZpZXJzLCB0aW1lc3Rh
bXApOwogfQogCiBXZWJLZXlib2FyZEV2ZW50IFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViS2V5
Ym9hcmRFdmVudChRS2V5RXZlbnQqIGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcAppbmRleCA5
NDlhNTkxOGNhMTYyMjczYjE3ODkxN2FlMTBjNzcwYzE3ZDY5YWE0Li5kMDEyMWYxZjEzM2E1MzZk
ZTBmZTM5NTA5YzhmNzEyYzNmMzE4MGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcApAQCAtMjU0
LDM2ICsyNTQsNiBAQCBzdGF0aWMgaW5saW5lIFFQb2ludEYgYm91bmRQb3NpdGlvbihjb25zdCBR
UG9pbnRGIG1pblBvc2l0aW9uLCBjb25zdCBRUG9pbnRGJiBwbwogICAgICAgICAgICAgICAgICAg
IHFCb3VuZChtaW5Qb3NpdGlvbi55KCksIHBvc2l0aW9uLnkoKSwgbWF4UG9zaXRpb24ueSgpKSk7
CiB9CiAKLXZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjp3aGVlbEV2ZW50KFFXaGVl
bEV2ZW50KiBldikKLXsKLSAgICBpZiAoc2Nyb2xsQW5pbWF0aW9uQWN0aXZlKCkgfHwgc2NhbGVB
bmltYXRpb25BY3RpdmUoKSB8fCBwaW5jaEdlc3R1cmVBY3RpdmUoKSkKLSAgICAgICAgcmV0dXJu
OyAvLyBJZ25vcmUuCi0KLQotICAgIC8vIEEgbm9ybWFsIHNjcm9sbC10aWNrIHNob3VsZCBoYXZl
IGEgZGVsdGEgb2YgMTIwICgxLzgpIGRlZ3JlZXMuIENvbnZlcnQgdGhpcyB0bwotICAgIC8vIGxv
Y2FsIHN0YW5kYXJkIHNjcm9sbCBzdGVwIG9mIDMgbGluZXMgb2YgMjAgcGl4ZWxzLgotICAgIHN0
YXRpYyBjb25zdCBpbnQgY0RlZmF1bHRRdFNjcm9sbFN0ZXAgPSAyMDsKLSAgICBzdGF0aWMgY29u
c3QgaW50IHdoZWVsU2Nyb2xsTGluZXMgPSAzOwotICAgIGNvbnN0IGludCB3aGVlbFRpY2sgPSB3
aGVlbFNjcm9sbExpbmVzICogY0RlZmF1bHRRdFNjcm9sbFN0ZXA7Ci0KLSAgICBpbnQgcGl4ZWxE
ZWx0YSA9IGV2LT5kZWx0YSgpICogKHdoZWVsVGljayAvIDEyMC5mKTsKLQotICAgIFFQb2ludEYg
bmV3UG9zaXRpb24gPSBtX3ZpZXdwb3J0LT5jb250ZW50UG9zKCk7Ci0KLSAgICBpZiAoZXYtPm9y
aWVudGF0aW9uKCkgPT0gUXQ6Okhvcml6b250YWwpCi0gICAgICAgIG5ld1Bvc2l0aW9uLnJ4KCkg
LT0gcGl4ZWxEZWx0YTsKLSAgICBlbHNlCi0gICAgICAgIG5ld1Bvc2l0aW9uLnJ5KCkgLT0gcGl4
ZWxEZWx0YTsKLQotICAgIFFSZWN0RiBlbmRQb3NSYW5nZSA9IGNvbXB1dGVQb3NSYW5nZUZvckl0
ZW1BdFNjYWxlKG1fY29udGVudC0+Y29udGVudHNTY2FsZSgpKTsKLQotICAgIFFQb2ludEYgY3Vy
cmVudFBvc2l0aW9uID0gbV92aWV3cG9ydC0+Y29udGVudFBvcygpOwotICAgIG5ld1Bvc2l0aW9u
ID0gYm91bmRQb3NpdGlvbihlbmRQb3NSYW5nZS50b3BMZWZ0KCksIG5ld1Bvc2l0aW9uLCBlbmRQ
b3NSYW5nZS5ib3R0b21SaWdodCgpKTsKLSAgICBtX3ZpZXdwb3J0LT5zZXRDb250ZW50UG9zKG5l
d1Bvc2l0aW9uKTsKLQotICAgIGVtaXQgY29udGVudFZpZXdwb3J0Q2hhbmdlZChjdXJyZW50UG9z
aXRpb24gLSBuZXdQb3NpdGlvbik7Ci19Ci0KIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lOjpwYWdlUG9zaXRpb25SZXF1ZXN0KGNvbnN0IFFQb2ludCYgcGFnZVBvc2l0aW9uKQogewog
ICAgIC8vIElnbm9yZSB0aGUgcmVxdWVzdCBpZiBzdXNwZW5kZWQuIENhbiBvbmx5IGhhcHBlbiBk
dWUgdG8gZGVsYXkgaW4gZXZlbnQgZGVsaXZlcnkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmgKaW5kZXggOGE3
MjBmMzRiOTcyNTMyYjRhZjQ3MmNhMmUyZmJlZTZiNTA2MjAwMi4uMzZhYTE0MWZjYjY4ZTYxMzZj
Mzk1ZWM2MDNlZmFiZTZjZmM0NmUyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuaApAQCAtNjUsNyArNjUs
NiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJdGVtUmVjdFZpc2libGUoY29uc3QgUVJlY3RGJik7
CiAgICAgYm9vbCBhbmltYXRlSXRlbVJlY3RWaXNpYmxlKGNvbnN0IFFSZWN0RiYpOwogCi0gICAg
dm9pZCB3aGVlbEV2ZW50KFFXaGVlbEV2ZW50Kik7CiAgICAgdm9pZCBwYWdlUG9zaXRpb25SZXF1
ZXN0KGNvbnN0IFFQb2ludCYgcG9zKTsKICAgICB2b2lkIHRvdWNoQmVnaW4oKTsKICAgICB2b2lk
IHRvdWNoRW5kKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdl
YlBhZ2VFdmVudEhhbmRsZXIuY3BwCmluZGV4IGJiZmFiMWE1YTY0MjgxNjdkYzIxMWUwOWI5MmZh
ODNhZTIwM2UyZDQuLmMxZWJhYWMxNGU3NGI4YjZhYjcxOWMyYTcwZGMyZWUxNGQ4MmI4MzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhhbmRs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhh
bmRsZXIuY3BwCkBAIC0xNTQsOSArMTU0LDYgQEAgdm9pZCBRdFdlYlBhZ2VFdmVudEhhbmRsZXI6
OmhhbmRsZVdoZWVsRXZlbnQoUVdoZWVsRXZlbnQqIGV2KQogewogICAgIFFUcmFuc2Zvcm0gZnJv
bUl0ZW1UcmFuc2Zvcm0gPSBtX3dlYlBhZ2UtPnRyYW5zZm9ybUZyb21JdGVtKCk7CiAgICAgbV93
ZWJQYWdlUHJveHktPmhhbmRsZVdoZWVsRXZlbnQoTmF0aXZlV2ViV2hlZWxFdmVudChldiwgZnJv
bUl0ZW1UcmFuc2Zvcm0pKTsKLSAgICAvLyBGSVhNRTogSGFuZGxlIHdoZXRoZXIgdGhlIHBhZ2Ug
dXNlZCB0aGUgd2hlZWwgZXZlbnQgb3Igbm90LgotICAgIGlmIChtX2ludGVyYWN0aW9uRW5naW5l
KQotICAgICAgICBtX2ludGVyYWN0aW9uRW5naW5lLT53aGVlbEV2ZW50KGV2KTsKIH0KIAogdm9p
ZCBRdFdlYlBhZ2VFdmVudEhhbmRsZXI6OmhhbmRsZUhvdmVyTGVhdmVFdmVudChRSG92ZXJFdmVu
dCogZXYpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141939</attachid>
            <date>2012-05-15 05:57:26 -0700</date>
            <delta_ts>2012-05-15 08:07:15 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-75006-20120515145730.patch</filename>
            <type>text/plain</type>
            <size>10859</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJmMGQ0OTk0NGZkOTIw
OGFjZmM1YWQ3OWVlZjJjZDMxYjJjYWZhNC4uYTQ5MjAwNGM2MmY0YjAwNmNlZWIxNDYzNmU0YjBl
ZDUxMGE0ZDRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTE0ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFtR
dF1bV0syXSBGaXggc2Nyb2xsaW5nIGluIHRvdWNoIG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
S2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldEZpeGVkVmlzaWJsZUNvbnRlbnRS
ZWN0KToKKyAgICAgICAgICAgIE9uIGNoYW5nZXMgdG8gZml4ZWRWaXNpYmxlQ29udGVudFJlY3Qg
dXBkYXRlIHNjcm9sbC1hbmltYXRvcnMgcG9zaXRpb24sIGFuZAorICAgICAgICAgICAgcmVjYWxj
dWxhdGUgcGFnZS1zdGVwIHNpemVzIGluIHNjcm9sbGJhcnMuCisgICAgICAgICogcGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzY3JvbGxUbyk6
CisgICAgICAgICAgICBGb3J3YXJkIHNjcm9sbGluZy1yZXF1ZXN0IHRvIHRoZSBob3N0IHdpbmRv
dy4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMpOgorICAg
ICAgICAgICAgQWxsb3cgU2Nyb2xsVmlld3MgdG8gaGF2ZSBpbnZpc2libGUgc2Nyb2xsYmFycyB3
aGVuIHNjcm9sbGluZyBpcyBkZWxlZ2F0ZWQuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmll
dy5oOgorICAgICAgICAoU2Nyb2xsVmlldyk6CisKIDIwMTItMDUtMTUgIEFsbGFuIFNhbmRmZWxk
IEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CiAKICAgICAgICAgR0NDIDQuNyBhbmQg
QysrMTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwppbmRleCA3ODI3NzU3YzAxZGRhODdiMzU4ODM2MjIwYTZkNjcwMmE5ZDhi
YTk5Li4xY2YxMzYxYzYxNTAyY2MzZjQ0YjA1ZDg0MTY0NGQ3NjkyZWRlMTkxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDUtMTQgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFs
bGFuLmplbnNlbkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XVtXSzJdIEZpeCBzY3JvbGxpbmcg
aW4gdG91Y2ggbW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzUwMDYKKworICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlh
bnNlbi4KKworICAgICAgICBPbmx5IGhhbmRsZSBtb3VzZS13aGVlbCBldmVudHMgaW4gV2ViQ29y
ZSB0byBhdm9pZCBkb3VibGUgc2Nyb2xsaW5nLCBhbmQKKyAgICAgICAgc2NhbGUgcGl4ZWxzIHNj
cm9sbGVkIGJ5IHdoZWVsIGV2ZW50cyBhY2NvcmRpbmcgdG8gdmlld3BvcnQgdHJhbnNmb3JtYXRp
b24uCisKKyAgICAgICAgKiBTaGFyZWQvcXQvV2ViRXZlbnRGYWN0b3J5UXQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYldoZWVsRXZlbnQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuY3BwOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuaDoKKyAgICAgICAg
KFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0
V2ViUGFnZUV2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChRdFdlYlBhZ2VFdmVudEhhbmRsZXI6
OmhhbmRsZVdoZWVsRXZlbnQpOgorCiAyMDEyLTA1LTE1ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4g
IDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIEdDQyA0LjcgYW5kIEMrKzExCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggYjg1MTdiY2QwNGQxNDU3YjhjNTkwMGUzMWYw
ODRjN2IyOTI5ZWUzYi4uNGNiYTljNjQ0YzliNzM1ZDI5N2U5Nzc1OWU3MDJiNTdhZTk2ODM5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTcyMiwxMSArMTcyMiwxMyBAQCB2b2lk
IEZyYW1lVmlldzo6ZGVsZWdhdGVzU2Nyb2xsaW5nRGlkQ2hhbmdlKCkKIAogdm9pZCBGcmFtZVZp
ZXc6OnNldEZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmIHZpc2libGVDb250
ZW50UmVjdCkKIHsKKyAgICBib29sIHZpc2libGVDb250ZW50U2l6ZURpZENoYW5nZSA9IGZhbHNl
OwogICAgIGlmICh2aXNpYmxlQ29udGVudFJlY3Quc2l6ZSgpICE9IHRoaXMtPmZpeGVkVmlzaWJs
ZUNvbnRlbnRSZWN0KCkuc2l6ZSgpKSB7CiAgICAgICAgIC8vIFdoZW4gdGhlIHZpZXdwb3J0IHNp
emUgY2hhbmdlcyBvciB0aGUgY29udGVudCBpcyBzY2FsZWQsIHdlIG5lZWQgdG8KICAgICAgICAg
Ly8gcmVwb3NpdGlvbiB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cy4KICAgICAgICAgaWYg
KFJlbmRlclZpZXcqIHJvb3QgPSByb290UmVuZGVyZXIodGhpcykpCiAgICAgICAgICAgICByb290
LT5zZXRGaXhlZFBvc2l0aW9uZWRPYmplY3RzTmVlZExheW91dCgpOworICAgICAgICB2aXNpYmxl
Q29udGVudFNpemVEaWRDaGFuZ2UgPSB0cnVlOwogICAgIH0KIAogICAgIEludFNpemUgb2Zmc2V0
ID0gc2Nyb2xsT2Zmc2V0KCk7CkBAIC0xNzM0LDggKzE3MzYsMTMgQEAgdm9pZCBGcmFtZVZpZXc6
OnNldEZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmIHZpc2libGVDb250ZW50
UmVjdCkKICAgICBpZiAob2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpKSB7CiAgICAgICAgIGlmICht
X2ZyYW1lLT5wYWdlKCktPnNldHRpbmdzKCktPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhl
ZFBvc2l0aW9uRW5hYmxlZCgpKQogICAgICAgICAgICAgdXBkYXRlRml4ZWRFbGVtZW50c0FmdGVy
U2Nyb2xsaW5nKCk7CisgICAgICAgIHNjcm9sbEFuaW1hdG9yKCktPnNldEN1cnJlbnRQb3NpdGlv
bihzY3JvbGxQb3NpdGlvbigpKTsKICAgICAgICAgc2Nyb2xsUG9zaXRpb25DaGFuZ2VkKCk7CiAg
ICAgfQorICAgIGlmICh2aXNpYmxlQ29udGVudFNpemVEaWRDaGFuZ2UpIHsKKyAgICAgICAgLy8g
VXBkYXRlIHRoZSBzY3JvbGwtYmFycyB0byBjYWxjdWxhdGUgbmV3IHBhZ2Utc3RlcCBzaXplLgor
ICAgICAgICB1cGRhdGVTY3JvbGxiYXJzKHNjcm9sbE9mZnNldCgpKTsKKyAgICB9CiAgICAgZnJh
bWUoKS0+bG9hZGVyKCktPmNsaWVudCgpLT5kaWRDaGFuZ2VTY3JvbGxPZmZzZXQoKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCBiOTgyZDRkY2UzZGQxNmY1
OTVlMWIwOTI1ZWY0ODI0OWNkN2UzOGU1Li5hOGZlNWFiZTA5OTlkOTViMDg4NWE1NTQ5OTUxY2Uw
ZTBmN2I4OWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtMzcx
LDYgKzM3MSwxMiBAQCB2b2lkIFNjcm9sbFZpZXc6OnNjcm9sbFRvKGNvbnN0IEludFNpemUmIG5l
d09mZnNldCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcmVwYWludEZpeGVkRWxlbWVudHNBZnRl
clNjcm9sbGluZygpOworI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIGlmIChkZWxl
Z2F0ZXNTY3JvbGxpbmcoKSkgeworICAgICAgICBob3N0V2luZG93KCktPmRlbGVnYXRlZFNjcm9s
bFJlcXVlc3RlZChJbnRQb2ludChuZXdPZmZzZXQpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyNlbmRpZgogICAgIHNjcm9sbENvbnRlbnRzKHNjcm9sbERlbHRhKTsKICAgICB1cGRhdGVGaXhl
ZEVsZW1lbnRzQWZ0ZXJTY3JvbGxpbmcoKTsKIH0KQEAgLTQ1Myw3ICs0NTksNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY01heFVwZGF0ZVNjcm9sbGJhcnNQYXNzID0gMjsKIAogdm9pZCBTY3Jv
bGxWaWV3Ojp1cGRhdGVTY3JvbGxiYXJzKGNvbnN0IEludFNpemUmIGRlc2lyZWRPZmZzZXQpCiB7
Ci0gICAgaWYgKG1faW5VcGRhdGVTY3JvbGxiYXJzIHx8IHByb2hpYml0c1Njcm9sbGluZygpIHx8
IGRlbGVnYXRlc1Njcm9sbGluZygpIHx8IHBsYXRmb3JtV2lkZ2V0KCkpCisgICAgaWYgKG1faW5V
cGRhdGVTY3JvbGxiYXJzIHx8IHByb2hpYml0c1Njcm9sbGluZygpIHx8IHBsYXRmb3JtV2lkZ2V0
KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIElmIHdlIGNhbWUgaW4gaGVyZSB3aXRoIHRo
ZSB2aWV3IGFscmVhZHkgbmVlZGluZyBhIGxheW91dCwgdGhlbiBnbyBhaGVhZCBhbmQgZG8gdGhh
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4IGVjMDMxMjVjZDUzYjVkMDEx
YjFhMWQ3ZjUyYjU3NTk5NTBhM2RjMjEuLjA3ZmZiM2YyMTAzMDg5NzNjZGI3MWEyM2U1ZDg2YjQ0
ZGIwN2VkZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKQEAgLTMxMyw2ICsz
MTMsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIGlzVmVydGljYWxEb2N1bWVudCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNGbGlwcGVkRG9jdW1l
bnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCisgICAgLy8gQ2FsbGVkIHRvIHVwZGF0ZSB0
aGUgc2Nyb2xsYmFycyB0byBhY2N1cmF0ZWx5IHJlZmxlY3QgdGhlIHN0YXRlIG9mIHRoZSB2aWV3
LgorICAgIHZvaWQgdXBkYXRlU2Nyb2xsYmFycyhjb25zdCBJbnRTaXplJiBkZXNpcmVkT2Zmc2V0
KTsKKwogcHJpdmF0ZToKICAgICBSZWZQdHI8U2Nyb2xsYmFyPiBtX2hvcml6b250YWxTY3JvbGxi
YXI7CiAgICAgUmVmUHRyPFNjcm9sbGJhcj4gbV92ZXJ0aWNhbFNjcm9sbGJhcjsKQEAgLTM1NSw4
ICszNTgsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5pdCgpOwogICAgIHZvaWQgZGVzdHJveSgp
OwogCi0gICAgLy8gQ2FsbGVkIHRvIHVwZGF0ZSB0aGUgc2Nyb2xsYmFycyB0byBhY2N1cmF0ZWx5
IHJlZmxlY3QgdGhlIHN0YXRlIG9mIHRoZSB2aWV3LgotICAgIHZvaWQgdXBkYXRlU2Nyb2xsYmFy
cyhjb25zdCBJbnRTaXplJiBkZXNpcmVkT2Zmc2V0KTsKICAgICBJbnRSZWN0IHJlY3RUb0NvcHlP
blNjcm9sbCgpIGNvbnN0OwogCiAgICAgLy8gQ2FsbGVkIHdoZW4gdGhlIHNjcm9sbCBwb3NpdGlv
biB3aXRoaW4gdGhpcyB2aWV3IGNoYW5nZXMuICBGcmFtZVZpZXcgb3ZlcnJpZGVzIHRoaXMgdG8g
Z2VuZXJhdGUgcmVwYWludCBpbnZhbGlkYXRpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL3F0L1dlYkV2ZW50RmFjdG9yeVF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9xdC9XZWJFdmVudEZhY3RvcnlRdC5jcHAKaW5kZXggMzA5MWQ2NGM5Njc3MDA3NWRiYTk1MTc5
MGVmMTdhNDc0ZTk4YTU3OS4uNDVmYzM0YWU2OWQ3NTNjOWQzMmQ0NzYzMTk3YmU4NjVkOTQyYmI1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkV2ZW50RmFjdG9yeVF0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvV2ViRXZlbnRGYWN0b3J5UXQuY3Bw
CkBAIC0yNyw5ICsyNywxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkV2
ZW50RmFjdG9yeVF0LmgiCiAjaW5jbHVkZSA8UUtleUV2ZW50PgorI2luY2x1ZGUgPFFMaW5lRj4K
ICNpbmNsdWRlIDxRVHJhbnNmb3JtPgotI2luY2x1ZGUgPFdlYkNvcmUvSW50UG9pbnQuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0Zsb2F0UG9pbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0U2l6
ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSW50UG9pbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Bs
YXRmb3JtS2V5Ym9hcmRFdmVudC5oPgogI2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CkBAIC0xNDksNyArMTUxLDEzIEBAIFdlYldoZWVsRXZl
bnQgV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJXaGVlbEV2ZW50KFFXaGVlbEV2ZW50KiBlLCBj
b25zdCBRVHJhbnNmCiAgICAgZGVsdGFYID0gd2hlZWxUaWNrc1ggKiB3aGVlbFNjcm9sbExpbmVz
ICogY0RlZmF1bHRRdFNjcm9sbFN0ZXA7CiAgICAgZGVsdGFZID0gd2hlZWxUaWNrc1kgKiB3aGVl
bFNjcm9sbExpbmVzICogY0RlZmF1bHRRdFNjcm9sbFN0ZXA7CiAKLSAgICByZXR1cm4gV2ViV2hl
ZWxFdmVudChXZWJFdmVudDo6V2hlZWwsIGZyb21JdGVtVHJhbnNmb3JtLm1hcChlLT5wb3NGKCkp
LnRvUG9pbnQoKSwgZS0+Z2xvYmFsUG9zRigpLnRvUG9pbnQoKSwgRmxvYXRTaXplKGRlbHRhWCwg
ZGVsdGFZKSwgRmxvYXRTaXplKHdoZWVsVGlja3NYLCB3aGVlbFRpY2tzWSksIGdyYW51bGFyaXR5
LCBtb2RpZmllcnMsIHRpbWVzdGFtcCk7CisgICAgLy8gVHJhbnNmb3JtIHRoZSBwb3NpdGlvbiBh
bmQgdGhlIHBpeGVsIHNjcm9sbGluZyBkaXN0YW5jZS4KKyAgICBRTGluZUYgdHJhbnNmb3JtZWRT
Y3JvbGwgPSBmcm9tSXRlbVRyYW5zZm9ybS5tYXAoUUxpbmVGKGUtPnBvc0YoKSwgZS0+cG9zRigp
ICsgUVBvaW50RihkZWx0YVgsIGRlbHRhWSkpKTsKKyAgICBJbnRQb2ludCB0cmFuc2Zvcm1lZFBv
aW50ID0gdHJhbnNmb3JtZWRTY3JvbGwucDEoKS50b1BvaW50KCk7CisgICAgSW50UG9pbnQgZ2xv
YmFsUG9pbnQgPSBlLT5nbG9iYWxQb3NGKCkudG9Qb2ludCgpOworICAgIEZsb2F0U2l6ZSB0cmFu
c2Zvcm1lZERlbHRhKHRyYW5zZm9ybWVkU2Nyb2xsLmR4KCksIHRyYW5zZm9ybWVkU2Nyb2xsLmR5
KCkpOworICAgIEZsb2F0U2l6ZSB3aGVlbFRpY2tzKHdoZWVsVGlja3NYLCB3aGVlbFRpY2tzWSk7
CisgICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCB0cmFuc2Zvcm1lZFBv
aW50LCBnbG9iYWxQb2ludCwgdHJhbnNmb3JtZWREZWx0YSwgd2hlZWxUaWNrcywgZ3JhbnVsYXJp
dHksIG1vZGlmaWVycywgdGltZXN0YW1wKTsKIH0KIAogV2ViS2V5Ym9hcmRFdmVudCBXZWJFdmVu
dEZhY3Rvcnk6OmNyZWF0ZVdlYktleWJvYXJkRXZlbnQoUUtleUV2ZW50KiBldmVudCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25F
bmdpbmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFj
dGlvbkVuZ2luZS5jcHAKaW5kZXggOTQ5YTU5MThjYTE2MjI3M2IxNzg5MTdhZTEwYzc3MGMxN2Q2
OWFhNC4uZDAxMjFmMWYxMzNhNTM2ZGUwZmUzOTUwOWM4ZjcxMmMzZjMxODBlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2lu
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFj
dGlvbkVuZ2luZS5jcHAKQEAgLTI1NCwzNiArMjU0LDYgQEAgc3RhdGljIGlubGluZSBRUG9pbnRG
IGJvdW5kUG9zaXRpb24oY29uc3QgUVBvaW50RiBtaW5Qb3NpdGlvbiwgY29uc3QgUVBvaW50RiYg
cG8KICAgICAgICAgICAgICAgICAgICBxQm91bmQobWluUG9zaXRpb24ueSgpLCBwb3NpdGlvbi55
KCksIG1heFBvc2l0aW9uLnkoKSkpOwogfQogCi12b2lkIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVu
Z2luZTo6d2hlZWxFdmVudChRV2hlZWxFdmVudCogZXYpCi17Ci0gICAgaWYgKHNjcm9sbEFuaW1h
dGlvbkFjdGl2ZSgpIHx8IHNjYWxlQW5pbWF0aW9uQWN0aXZlKCkgfHwgcGluY2hHZXN0dXJlQWN0
aXZlKCkpCi0gICAgICAgIHJldHVybjsgLy8gSWdub3JlLgotCi0KLSAgICAvLyBBIG5vcm1hbCBz
Y3JvbGwtdGljayBzaG91bGQgaGF2ZSBhIGRlbHRhIG9mIDEyMCAoMS84KSBkZWdyZWVzLiBDb252
ZXJ0IHRoaXMgdG8KLSAgICAvLyBsb2NhbCBzdGFuZGFyZCBzY3JvbGwgc3RlcCBvZiAzIGxpbmVz
IG9mIDIwIHBpeGVscy4KLSAgICBzdGF0aWMgY29uc3QgaW50IGNEZWZhdWx0UXRTY3JvbGxTdGVw
ID0gMjA7Ci0gICAgc3RhdGljIGNvbnN0IGludCB3aGVlbFNjcm9sbExpbmVzID0gMzsKLSAgICBj
b25zdCBpbnQgd2hlZWxUaWNrID0gd2hlZWxTY3JvbGxMaW5lcyAqIGNEZWZhdWx0UXRTY3JvbGxT
dGVwOwotCi0gICAgaW50IHBpeGVsRGVsdGEgPSBldi0+ZGVsdGEoKSAqICh3aGVlbFRpY2sgLyAx
MjAuZik7Ci0KLSAgICBRUG9pbnRGIG5ld1Bvc2l0aW9uID0gbV92aWV3cG9ydC0+Y29udGVudFBv
cygpOwotCi0gICAgaWYgKGV2LT5vcmllbnRhdGlvbigpID09IFF0OjpIb3Jpem9udGFsKQotICAg
ICAgICBuZXdQb3NpdGlvbi5yeCgpIC09IHBpeGVsRGVsdGE7Ci0gICAgZWxzZQotICAgICAgICBu
ZXdQb3NpdGlvbi5yeSgpIC09IHBpeGVsRGVsdGE7Ci0KLSAgICBRUmVjdEYgZW5kUG9zUmFuZ2Ug
PSBjb21wdXRlUG9zUmFuZ2VGb3JJdGVtQXRTY2FsZShtX2NvbnRlbnQtPmNvbnRlbnRzU2NhbGUo
KSk7Ci0KLSAgICBRUG9pbnRGIGN1cnJlbnRQb3NpdGlvbiA9IG1fdmlld3BvcnQtPmNvbnRlbnRQ
b3MoKTsKLSAgICBuZXdQb3NpdGlvbiA9IGJvdW5kUG9zaXRpb24oZW5kUG9zUmFuZ2UudG9wTGVm
dCgpLCBuZXdQb3NpdGlvbiwgZW5kUG9zUmFuZ2UuYm90dG9tUmlnaHQoKSk7Ci0gICAgbV92aWV3
cG9ydC0+c2V0Q29udGVudFBvcyhuZXdQb3NpdGlvbik7Ci0KLSAgICBlbWl0IGNvbnRlbnRWaWV3
cG9ydENoYW5nZWQoY3VycmVudFBvc2l0aW9uIC0gbmV3UG9zaXRpb24pOwotfQotCiB2b2lkIFF0
Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6cGFnZVBvc2l0aW9uUmVxdWVzdChjb25zdCBRUG9p
bnQmIHBhZ2VQb3NpdGlvbikKIHsKICAgICAvLyBJZ25vcmUgdGhlIHJlcXVlc3QgaWYgc3VzcGVu
ZGVkLiBDYW4gb25seSBoYXBwZW4gZHVlIHRvIGRlbGF5IGluIGV2ZW50IGRlbGl2ZXJ5LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlv
bkVuZ2luZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJbnRlcmFj
dGlvbkVuZ2luZS5oCmluZGV4IDhhNzIwZjM0Yjk3MjUzMmI0YWY0NzJjYTJlMmZiZWU2YjUwNjIw
MDIuLjM2YWExNDFmY2I2OGU2MTM2YzM5NWVjNjAzZWZhYmU2Y2ZjNDZlMjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lLmgKQEAgLTY1LDcgKzY1LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXRlbVJlY3RW
aXNpYmxlKGNvbnN0IFFSZWN0RiYpOwogICAgIGJvb2wgYW5pbWF0ZUl0ZW1SZWN0VmlzaWJsZShj
b25zdCBRUmVjdEYmKTsKIAotICAgIHZvaWQgd2hlZWxFdmVudChRV2hlZWxFdmVudCopOwogICAg
IHZvaWQgcGFnZVBvc2l0aW9uUmVxdWVzdChjb25zdCBRUG9pbnQmIHBvcyk7CiAgICAgdm9pZCB0
b3VjaEJlZ2luKCk7CiAgICAgdm9pZCB0b3VjaEVuZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUV2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlRXZlbnRIYW5kbGVyLmNwcAppbmRleCBiYmZhYjFh
NWE2NDI4MTY3ZGMyMTFlMDliOTJmYTgzYWUyMDNlMmQ0Li5jMWViYWFjMTRlNzRiOGI2YWI3MTlj
MmE3MGRjMmVlMTRkODJiODMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRXZWJQYWdlRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXRXZWJQYWdlRXZlbnRIYW5kbGVyLmNwcApAQCAtMTU0LDkgKzE1NCw2IEBAIHZvaWQg
UXRXZWJQYWdlRXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50KFFXaGVlbEV2ZW50KiBldikK
IHsKICAgICBRVHJhbnNmb3JtIGZyb21JdGVtVHJhbnNmb3JtID0gbV93ZWJQYWdlLT50cmFuc2Zv
cm1Gcm9tSXRlbSgpOwogICAgIG1fd2ViUGFnZVByb3h5LT5oYW5kbGVXaGVlbEV2ZW50KE5hdGl2
ZVdlYldoZWVsRXZlbnQoZXYsIGZyb21JdGVtVHJhbnNmb3JtKSk7Ci0gICAgLy8gRklYTUU6IEhh
bmRsZSB3aGV0aGVyIHRoZSBwYWdlIHVzZWQgdGhlIHdoZWVsIGV2ZW50IG9yIG5vdC4KLSAgICBp
ZiAobV9pbnRlcmFjdGlvbkVuZ2luZSkKLSAgICAgICAgbV9pbnRlcmFjdGlvbkVuZ2luZS0+d2hl
ZWxFdmVudChldik7CiB9CiAKIHZvaWQgUXRXZWJQYWdlRXZlbnRIYW5kbGVyOjpoYW5kbGVIb3Zl
ckxlYXZlRXZlbnQoUUhvdmVyRXZlbnQqIGV2KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>