<?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>34215</bug_id>
          
          <creation_ts>2010-01-27 06:35:19 -0800</creation_ts>
          <short_desc>Need functionality in the ChromeClient to be informed when touch events are and are not needed by the webpage.</short_desc>
          <delta_ts>2010-01-29 09:56:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Android</rep_platform>
          <op_sys>Android</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>
          
          <blocked>32485</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ben Murdoch">benm</reporter>
          <assigned_to name="Ben Murdoch">benm</assigned_to>
          <cc>android-webkit-unforking</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>185073</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-27 06:35:19 -0800</bug_when>
    <thetext>We have an optimisation on Android that allows us to tell the platform to stop forwarding touch events to WebCore if the current web page has not registered a touch event listener.

I would like to contribute this upstream to reduce our diff.

Patch to follow shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185089</commentid>
    <comment_count>1</comment_count>
      <attachid>47531</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-27 07:30:00 -0800</bug_when>
    <thetext>Created attachment 47531
Proposed Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185091</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-27 07:35:54 -0800</bug_when>
    <thetext>Attachment 47531 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/215110</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185093</commentid>
    <comment_count>3</comment_count>
      <attachid>47531</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-27 07:40:55 -0800</bug_when>
    <thetext>Comment on attachment 47531
Proposed Patch.

Will upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185097</commentid>
    <comment_count>4</comment_count>
      <attachid>47535</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-27 07:52:50 -0800</bug_when>
    <thetext>Created attachment 47535
Take 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185237</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-01-27 15:10:22 -0800</bug_when>
    <thetext>Adjusted bug title as per recent webkit-dev discussion, to make it clear that this isn&apos;t really port specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185239</commentid>
    <comment_count>6</comment_count>
      <attachid>47535</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-01-27 15:14:19 -0800</bug_when>
    <thetext>Comment on attachment 47535
Take 2.

I don&apos;t feel comfortable enough with these parts of the WebCore code to fully review this patch :-(, but I noticed one thing that looks suspicious :-)

&gt; @@ -100,6 +106,10 @@ void CachedFrameBase::restore()
&gt;          m_childFrames[i]-&gt;open();
&gt;  
&gt;      m_document-&gt;dispatchWindowEvent(PageTransitionEvent::create(eventNames().pageshowEvent, true), m_document);
&gt; +#if ENABLE(TOUCH_EVENTS)
&gt; +    if (m_document-&gt;hasListenerType(Document::TOUCH_LISTENER))
&gt; +        m_document-&gt;page()-&gt;chrome()-&gt;client()-&gt;needTouchEvents(true);
&gt; +#endif
&gt;  }
&gt;  
&gt;  CachedFrame::CachedFrame(Frame* frame)
&gt; @@ -145,6 +155,11 @@ CachedFrame::CachedFrame(Frame* frame)
&gt;      else
&gt;          LOG(PageCache, &quot;Finished creating CachedFrame for child frame with url &apos;%s&apos; and DocumentLoader %p\n&quot;, m_url.string().utf8().data(), m_documentLoader.get());
&gt;  #endif
&gt; +
&gt; +#if ENABLE(TOUCH_EVENTS)
&gt; +    if (m_document-&gt;hasListenerType(Document::TOUCH_LISTENER))
&gt; +        m_document-&gt;page()-&gt;chrome()-&gt;client()-&gt;needTouchEvents(false);
&gt; +#endif
&gt;  }

In these two hunks, shouldn&apos;t the logic be the other way around? If there are touch listeners, then the client _does_ need touch events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185461</commentid>
    <comment_count>7</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-28 06:39:34 -0800</bug_when>
    <thetext>(In reply to comment #6)

Thanks for taking a look at this Simon!

&gt; (From update of attachment 47535 [details])
&gt; I don&apos;t feel comfortable enough with these parts of the WebCore code to fully
&gt; review this patch :-(, but I noticed one thing that looks suspicious :-)
&gt; 
&gt; &gt; @@ -100,6 +106,10 @@ void CachedFrameBase::restore()
&gt; &gt;          m_childFrames[i]-&gt;open();
&gt; &gt;  
&gt; &gt;      m_document-&gt;dispatchWindowEvent(PageTransitionEvent::create(eventNames().pageshowEvent, true), m_document);
&gt; &gt; +#if ENABLE(TOUCH_EVENTS)
&gt; &gt; +    if (m_document-&gt;hasListenerType(Document::TOUCH_LISTENER))
&gt; &gt; +        m_document-&gt;page()-&gt;chrome()-&gt;client()-&gt;needTouchEvents(true);
&gt; &gt; +#endif
&gt; &gt;  }
&gt; &gt;  
&gt; &gt;  CachedFrame::CachedFrame(Frame* frame)
&gt; &gt; @@ -145,6 +155,11 @@ CachedFrame::CachedFrame(Frame* frame)
&gt; &gt;      else
&gt; &gt;          LOG(PageCache, &quot;Finished creating CachedFrame for child frame with url &apos;%s&apos; and DocumentLoader %p\n&quot;, m_url.string().utf8().data(), m_documentLoader.get());
&gt; &gt;  #endif
&gt; &gt; +
&gt; &gt; +#if ENABLE(TOUCH_EVENTS)
&gt; &gt; +    if (m_document-&gt;hasListenerType(Document::TOUCH_LISTENER))
&gt; &gt; +        m_document-&gt;page()-&gt;chrome()-&gt;client()-&gt;needTouchEvents(false);
&gt; &gt; +#endif
&gt; &gt;  }
&gt; 
&gt; In these two hunks, shouldn&apos;t the logic be the other way around? If there are
&gt; touch listeners, then the client _does_ need touch events.

In the first hunk, the code is added to the restore() method on CachedFrame, i.e. when we are pulling a page from the page cache to show it again. As we don&apos;t reinstall the event listeners (they are there already and part of the cached frame&apos;s document state) we need to tell the ChromeClient to start sending touch events again if the document uses them.

In the second hunk we create a CachedFrame ready to put it into the PageCache and so the platform can *stop* sending us touch events if the document is using them (and we will turn them on again when the CachedFrame is restore()d.

I think it&apos;s the correct behavior.

Cheers, Ben</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185478</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-01-28 07:42:35 -0800</bug_when>
    <thetext>(In reply to comment #7)

&gt; I think it&apos;s the correct behavior.

Ahh, you&apos;re fully right. I misread the code as if it was calling needsTouchEvents() with &quot;false&quot; in both cases, but I see that it&apos;s calling it with true and false in the right order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185882</commentid>
    <comment_count>9</comment_count>
      <attachid>47535</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-01-29 09:02:37 -0800</bug_when>
    <thetext>Comment on attachment 47535
Take 2.

seems reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185894</commentid>
    <comment_count>10</comment_count>
      <attachid>47535</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-29 09:56:51 -0800</bug_when>
    <thetext>Comment on attachment 47535
Take 2.

Clearing flags on attachment: 47535

Committed r54069: &lt;http://trac.webkit.org/changeset/54069&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185895</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-29 09:56:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47531</attachid>
            <date>2010-01-27 07:30:00 -0800</date>
            <delta_ts>2010-01-27 07:52:50 -0800</delta_ts>
            <desc>Proposed Patch.</desc>
            <filename>34215.txt</filename>
            <type>text/plain</type>
            <size>6780</size>
            <attacher name="Ben Murdoch">benm</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzkzMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTAtMDEtMjcgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtBbmRy
b2lkXSBBbmRyb2lkIG5lZWRzIGZ1bmN0aW9uYWxpdHkgaW4gdGhlIENocm9tZUNsaWVudCB0byBi
ZSBpbmZvcm1lZCB3aGVuIHRvdWNoIGV2ZW50cyBhcmUgYW5kIGFyZSBub3QgbmVlZGVkIGJ5IHRo
ZSB3ZWJwYWdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzQyMTUKKworICAgICAgICBBZGQgYSBmdW5jdGlvbiBvbiB0aGUgQ2hyb21lQ2xpZW50IHRo
YXQgV2ViQ29yZSBjYW4gdXNlIHRvIGluZm9ybSB0aGUgcGxhdGZvcm0gd2hlbiBpdCBuZWVkcyB0
b3VjaCBldmVudHMuIFRoaXMgd2F5IHRoZSBwbGF0Zm9ybSBjYW4gb3B0aW1pc2UgYnkgbm90IGZv
cndhcmRpbmcgdGhlIGV2ZW50cyBpZiB0aGV5IGFyZSBub3QgcmVxdWlyZWQuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIGFzIHRoZSBvbmx5IGltcGxlbWVudGF0aW9uIGlzIHNwZWNpZmljIHRvIEFu
ZHJvaWQuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OmRldGFjaCk6IENoZWNrIGlmIHRoaXMgaXMgdGhlIHRvcCBsZXZlbCBkb2N1bWVu
dCBhbmQgaWYgc28sIHN0b3AgZm9yd2FyZGluZyB0b3VjaCBldmVudHMuCisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6YWRkTGlzdGVuZXJUeXBlSWZOZWVkZWQpOiBJbmZvcm0gdGhlIENocm9t
ZUNsaWVudCBpdCBzaG91bGQgc3RhcnQgZm9yd2FyZGluZyB0b3VjaCBldmVudHMuCisgICAgICAg
ICogaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGcmFt
ZUJhc2U6OnJlc3RvcmUpOiBJZiB0aGUgZG9jdW1lbnQgdXNlcyB0b3VjaCBldmVudHMsIGluZm9y
bSB0aGUgQ2hyb21lQ2xpZW50IHRvIHN0YXJ0IGZvcndhcmRpbmcgdGhlbS4KKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlZEZyYW1lOjpDYWNoZWRGcmFtZSk6IElmIHRoZSBkb2N1bWVudCB1c2VzIHRv
dWNoIGV2ZW50cywgaW5mb3JtIHRoZSBDaHJvbWVDbGllbnQgdG8gc3RvcCBmb3J3YXJkaW5nIHRo
ZW0sIGFzIHRoZSBkb2N1bWVudCBpcyBiZWluZyBwdXQgaW50byB0aGUgcGFnZSBjYWNoZS4KKyAg
ICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNo
cm9tZUNsaWVudDo6bmVlZFRvdWNoRXZlbnRzKTogQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9u
LgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6IEFkZCB0aGUgbmVlZFRvdWNoRXZlbnRz
KCkgZnVuY3Rpb24uCisKIDIwMTAtMDEtMjcgIEtlbnQgSGFuc2VuICA8a2VudC5oYW5zZW5Abm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpJbmRleDogV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAkocmV2aXNpb24gNTM5MTkpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE1MzcsNiArMTUzNywxNyBAQCB2b2lkIERvY3VtZW50OjpkZXRhY2goKQog
ICAgICAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLT52aWV3KCk7CiAgICAgICAgIGlmICh2
aWV3KQogICAgICAgICAgICAgdmlldy0+ZGV0YWNoQ3VzdG9tU2Nyb2xsYmFycygpOworCisjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICAgICAgUGFnZSogb3duZXJQYWdlID0gcGFnZSgpOwor
ICAgICAgICBpZiAob3duZXJQYWdlICYmIChtX2ZyYW1lID09IG93bmVyUGFnZS0+bWFpbkZyYW1l
KCkpKSB7CisgICAgICAgICAgICAvLyBJbmZvcm0gdGhlIENocm9tZSBDbGllbnQgdGhhdCBpdCBu
byBsb25nZXIgbmVlZHMgdG8KKyAgICAgICAgICAgIC8vIGZvd2FyZCB0b3VjaCBldmVudHMgdG8g
V2ViQ29yZSBhcyB0aGUgZG9jdW1lbnQgaXMgYmVpbmcKKyAgICAgICAgICAgIC8vIGRlc3Ryb3ll
ZC4gSXQgbWF5IHN0YXJ0IGFnYWluIGlmIGEgc3Vic2VxdWVudCBwYWdlCisgICAgICAgICAgICAv
LyByZWdpc3RlcnMgYSB0b3VjaCBldmVudCBsaXN0ZW5lci4KKyAgICAgICAgICAgIG93bmVyUGFn
ZS0+Y2hyb21lKCktPmNsaWVudCgpLT5uZWVkVG91Y2hFdmVudHMoZmFsc2UpOworICAgICAgICB9
CisjZW5kaWYKICAgICB9CiAKICAgICAvLyBpbmRpY2F0ZSBkZXN0cnVjdGlvbiBtb2RlLCAgaS5l
LiBhdHRhY2hlZCgpIGJ1dCByZW5kZXJlciA9PSAwCkBAIC0zMTAwLDggKzMxMTEsMTEgQEAgdm9p
ZCBEb2N1bWVudDo6YWRkTGlzdGVuZXJUeXBlSWZOZWVkZWQoYwogICAgIGVsc2UgaWYgKGV2ZW50
VHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hzdGFydEV2ZW50CiAgICAgICAgICAgICAgfHwgZXZl
bnRUeXBlID09IGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudAogICAgICAgICAgICAgIHx8IGV2
ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hlbmRFdmVudAotICAgICAgICAgICAgIHx8IGV2
ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hjYW5jZWxFdmVudCkKKyAgICAgICAgICAgICB8
fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQpIHsKICAgICAgICAg
YWRkTGlzdGVuZXJUeXBlKFRPVUNIX0xJU1RFTkVSKTsKKyAgICAgICAgaWYgKFBhZ2UqIHBhZ2Ug
PSB0aGlzLT5wYWdlKCkpCisgICAgICAgICAgICBwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPm5l
ZWRUb3VjaEV2ZW50cyh0cnVlKTsKKyAgICB9CiB9CiAKIENTU1N0eWxlRGVjbGFyYXRpb24qIERv
Y3VtZW50OjpnZXRPdmVycmlkZVN0eWxlKEVsZW1lbnQqLCBjb25zdCBTdHJpbmcmKQpJbmRleDog
V2ViQ29yZS9oaXN0b3J5L0NhY2hlZEZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2hp
c3RvcnkvQ2FjaGVkRnJhbWUuY3BwCShyZXZpc2lvbiA1MzkxOSkKKysrIFdlYkNvcmUvaGlzdG9y
eS9DYWNoZWRGcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDEyIEBACiAjaW5j
bHVkZSAiU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShUT1VD
SF9FVkVOVFMpCisjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50Lmgi
CisjaW5jbHVkZSAiUGFnZS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lm
bmRlZiBOREVCVUcKQEAgLTEwMCw2ICsxMDYsMTAgQEAgdm9pZCBDYWNoZWRGcmFtZUJhc2U6OnJl
c3RvcmUoKQogICAgICAgICBtX2NoaWxkRnJhbWVzW2ldLT5vcGVuKCk7CiAKICAgICBtX2RvY3Vt
ZW50LT5kaXNwYXRjaFdpbmRvd0V2ZW50KFBhZ2VUcmFuc2l0aW9uRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkucGFnZXNob3dFdmVudCwgdHJ1ZSksIG1fZG9jdW1lbnQpOworI2lmIEVOQUJMRShU
T1VDSF9FVkVOVFMpCisgICAgaWYgKG1fZG9jdW1lbnQtPmhhc0xpc3RlbmVyVHlwZShEb2N1bWVu
dDo6VE9VQ0hfTElTVEVORVIpKQorICAgICAgICBtX2RvY3VtZW50LT5wYWdlKCktPmNocm9tZSgp
LT5jbGllbnQoKS0+bmVlZFRvdWNoRXZlbnRzKHRydWUpOworI2VuZGlmCiB9CiAKIENhY2hlZEZy
YW1lOjpDYWNoZWRGcmFtZShGcmFtZSogZnJhbWUpCkBAIC0xNDUsNiArMTU1LDExIEBAIENhY2hl
ZEZyYW1lOjpDYWNoZWRGcmFtZShGcmFtZSogZnJhbWUpCiAgICAgZWxzZQogICAgICAgICBMT0co
UGFnZUNhY2hlLCAiRmluaXNoZWQgY3JlYXRpbmcgQ2FjaGVkRnJhbWUgZm9yIGNoaWxkIGZyYW1l
IHdpdGggdXJsICclcycgYW5kIERvY3VtZW50TG9hZGVyICVwXG4iLCBtX3VybC5zdHJpbmcoKS51
dGY4KCkuZGF0YSgpLCBtX2RvY3VtZW50TG9hZGVyLmdldCgpKTsKICNlbmRpZgorCisjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykKKyAgICBpZiAobV9kb2N1bWVudC0+aGFzTGlzdGVuZXJUeXBlKERv
Y3VtZW50OjpUT1VDSF9MSVNURU5FUikpCisgICAgICAgIG1fZG9jdW1lbnQtPnBhZ2UoKS0+Y2hy
b21lKCktPmNsaWVudCgpLT5uZWVkVG91Y2hFdmVudHMoZmFsc2UpOworI2VuZGlmCiB9CiAKIHZv
aWQgQ2FjaGVkRnJhbWU6Om9wZW4oKQpJbmRleDogV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgJKHJldmlzaW9u
IDUzOTE5KQorKysgV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTE2NSw2ICsxNjUsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc09u
ZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uKCkge307CiAgICAgdmlydHVhbCB2b2lkIHNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKSB7fTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKKyAgICB2aXJ0dWFsIHZvaWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wpIHsgfQorI2Vu
ZGlmCiB9OwogCiBjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9h
ZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgewpJbmRleDogV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkocmV2
aXNpb24gNTM5MTkpCisrKyBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIyMSw2ICsyMjEsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0
dWFsIHZvaWQgd2lsbFBvcFVwTWVudShOU01lbnUgKikgeyB9CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShUT1VDSF9FVkVOVFMpCisgICAgICAgIHZpcnR1YWwgdm9pZCBuZWVkVG91Y2hFdmVudHMoYm9v
bCkgPSAwOworI2VuZGlmCisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZpcnR1YWwgfkNocm9t
ZUNsaWVudCgpIHsgfQogICAgIH07CkluZGV4OiBXZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDUzOTMwKQorKysgV2ViS2l0L3F0
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEwLTAxLTI3ICBC
ZW4gTXVyZG9jaCAgPGJlbm1AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbQW5kcm9pZF0gQW5kcm9pZCBuZWVkcyBmdW5jdGlvbmFs
aXR5IGluIHRoZSBDaHJvbWVDbGllbnQgdG8gYmUgaW5mb3JtZWQgd2hlbiB0b3VjaCBldmVudHMg
YXJlIGFuZCBhcmUgbm90IG5lZWRlZCBieSB0aGUgd2VicGFnZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0MjE1CisKKyAgICAgICAgQWRkIG5lZWRU
b3VjaEV2ZW50cygpIHRvIHRoZSBDaHJvbWVDbGllbnQgd2hpY2ggaXMgY2FsbGVkIHdoZW4gdGhl
IHBhZ2UgZGVjaWRlcyBpdCBuZWVkcyBvciBubyBsb25nZXIgbmVlZHMgdG8gYmUgaW5mb3JtZWQg
b2YgdG91Y2ggZXZlbnRzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjpuZWVkVG91Y2hFdmVudHMp
OiBBZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24uCisKIDIwMTAtMDEtMjcgIEtlbnQgSGFuc2Vu
ICA8a2VudC5oYW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhh
dXNtYW5uLgpJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgJ
KHJldmlzaW9uIDUzOTE5KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMiw2ICsxMzIsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygp
OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgICAgICB2aXJ0dWFsIHZv
aWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wpIHsgfQorI2VuZGlmCisKICAgICAgICAgdmlydHVhbCB2
b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKIAogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKSB7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47535</attachid>
            <date>2010-01-27 07:52:50 -0800</date>
            <delta_ts>2010-01-29 09:56:51 -0800</delta_ts>
            <desc>Take 2.</desc>
            <filename>34215-1.txt</filename>
            <type>text/plain</type>
            <size>7005</size>
            <attacher name="Ben Murdoch">benm</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzkzMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTAtMDEtMjcgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtBbmRy
b2lkXSBBbmRyb2lkIG5lZWRzIGZ1bmN0aW9uYWxpdHkgaW4gdGhlIENocm9tZUNsaWVudCB0byBi
ZSBpbmZvcm1lZCB3aGVuIHRvdWNoIGV2ZW50cyBhcmUgYW5kIGFyZSBub3QgbmVlZGVkIGJ5IHRo
ZSB3ZWJwYWdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzQyMTUKKworICAgICAgICBBZGQgYSBmdW5jdGlvbiBvbiB0aGUgQ2hyb21lQ2xpZW50IHRo
YXQgV2ViQ29yZSBjYW4gdXNlIHRvIGluZm9ybSB0aGUgcGxhdGZvcm0gd2hlbiBpdCBuZWVkcyB0
b3VjaCBldmVudHMuIFRoaXMgd2F5IHRoZSBwbGF0Zm9ybSBjYW4gb3B0aW1pc2UgYnkgbm90IGZv
cndhcmRpbmcgdGhlIGV2ZW50cyBpZiB0aGV5IGFyZSBub3QgcmVxdWlyZWQuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIGFzIHRoZSBvbmx5IGltcGxlbWVudGF0aW9uIGlzIHNwZWNpZmljIHRvIEFu
ZHJvaWQuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OmRldGFjaCk6IENoZWNrIGlmIHRoaXMgaXMgdGhlIHRvcCBsZXZlbCBkb2N1bWVu
dCBhbmQgaWYgc28sIHN0b3AgZm9yd2FyZGluZyB0b3VjaCBldmVudHMuCisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6YWRkTGlzdGVuZXJUeXBlSWZOZWVkZWQpOiBJbmZvcm0gdGhlIENocm9t
ZUNsaWVudCBpdCBzaG91bGQgc3RhcnQgZm9yd2FyZGluZyB0b3VjaCBldmVudHMgYW5kIGd1YXJk
IHRvdWNoIGV2ZW50IGNvZGUgcHJvcGVybHkuCisgICAgICAgICogaGlzdG9yeS9DYWNoZWRGcmFt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGcmFtZUJhc2U6OnJlc3RvcmUpOiBJZiB0
aGUgZG9jdW1lbnQgdXNlcyB0b3VjaCBldmVudHMsIGluZm9ybSB0aGUgQ2hyb21lQ2xpZW50IHRv
IHN0YXJ0IGZvcndhcmRpbmcgdGhlbS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEZyYW1lOjpD
YWNoZWRGcmFtZSk6IElmIHRoZSBkb2N1bWVudCB1c2VzIHRvdWNoIGV2ZW50cywgaW5mb3JtIHRo
ZSBDaHJvbWVDbGllbnQgdG8gc3RvcCBmb3J3YXJkaW5nIHRoZW0sIGFzIHRoZSBkb2N1bWVudCBp
cyBiZWluZyBwdXQgaW50byB0aGUgcGFnZSBjYWNoZS4KKyAgICAgICAgKiBsb2FkZXIvRW1wdHlD
bGllbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNsaWVudDo6bmVlZFRvdWNo
RXZlbnRzKTogQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uLgorICAgICAgICAqIHBhZ2UvQ2hy
b21lQ2xpZW50Lmg6IEFkZCB0aGUgbmVlZFRvdWNoRXZlbnRzKCkgZnVuY3Rpb24uCisKIDIwMTAt
MDEtMjcgIEtlbnQgSGFuc2VuICA8a2VudC5oYW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gNTM5MTkp
CisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MzcsNiAr
MTUzNywxNyBAQCB2b2lkIERvY3VtZW50OjpkZXRhY2goKQogICAgICAgICBGcmFtZVZpZXcqIHZp
ZXcgPSBtX2ZyYW1lLT52aWV3KCk7CiAgICAgICAgIGlmICh2aWV3KQogICAgICAgICAgICAgdmll
dy0+ZGV0YWNoQ3VzdG9tU2Nyb2xsYmFycygpOworCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykK
KyAgICAgICAgUGFnZSogb3duZXJQYWdlID0gcGFnZSgpOworICAgICAgICBpZiAob3duZXJQYWdl
ICYmIChtX2ZyYW1lID09IG93bmVyUGFnZS0+bWFpbkZyYW1lKCkpKSB7CisgICAgICAgICAgICAv
LyBJbmZvcm0gdGhlIENocm9tZSBDbGllbnQgdGhhdCBpdCBubyBsb25nZXIgbmVlZHMgdG8KKyAg
ICAgICAgICAgIC8vIGZvd2FyZCB0b3VjaCBldmVudHMgdG8gV2ViQ29yZSBhcyB0aGUgZG9jdW1l
bnQgaXMgYmVpbmcKKyAgICAgICAgICAgIC8vIGRlc3Ryb3llZC4gSXQgbWF5IHN0YXJ0IGFnYWlu
IGlmIGEgc3Vic2VxdWVudCBwYWdlCisgICAgICAgICAgICAvLyByZWdpc3RlcnMgYSB0b3VjaCBl
dmVudCBsaXN0ZW5lci4KKyAgICAgICAgICAgIG93bmVyUGFnZS0+Y2hyb21lKCktPmNsaWVudCgp
LT5uZWVkVG91Y2hFdmVudHMoZmFsc2UpOworICAgICAgICB9CisjZW5kaWYKICAgICB9CiAKICAg
ICAvLyBpbmRpY2F0ZSBkZXN0cnVjdGlvbiBtb2RlLCAgaS5lLiBhdHRhY2hlZCgpIGJ1dCByZW5k
ZXJlciA9PSAwCkBAIC0zMDk3LDExICszMTA4LDE2IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZExpc3Rl
bmVyVHlwZUlmTmVlZGVkKGMKICAgICAgICAgYWRkTGlzdGVuZXJUeXBlKFRSQU5TSVRJT05FTkRf
TElTVEVORVIpOwogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuYmVmb3Jl
bG9hZEV2ZW50KQogICAgICAgICBhZGRMaXN0ZW5lclR5cGUoQkVGT1JFTE9BRF9MSVNURU5FUik7
CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZl
bnROYW1lcygpLnRvdWNoc3RhcnRFdmVudAogICAgICAgICAgICAgIHx8IGV2ZW50VHlwZSA9PSBl
dmVudE5hbWVzKCkudG91Y2htb3ZlRXZlbnQKICAgICAgICAgICAgICB8fCBldmVudFR5cGUgPT0g
ZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQKLSAgICAgICAgICAgICB8fCBldmVudFR5cGUgPT0g
ZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQpCisgICAgICAgICAgICAgfHwgZXZlbnRUeXBl
ID09IGV2ZW50TmFtZXMoKS50b3VjaGNhbmNlbEV2ZW50KSB7CiAgICAgICAgIGFkZExpc3RlbmVy
VHlwZShUT1VDSF9MSVNURU5FUik7CisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gdGhpcy0+cGFn
ZSgpKQorICAgICAgICAgICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5uZWVkVG91Y2hFdmVu
dHModHJ1ZSk7CisgICAgfQorI2VuZGlmCiB9CiAKIENTU1N0eWxlRGVjbGFyYXRpb24qIERvY3Vt
ZW50OjpnZXRPdmVycmlkZVN0eWxlKEVsZW1lbnQqLCBjb25zdCBTdHJpbmcmKQpJbmRleDogV2Vi
Q29yZS9oaXN0b3J5L0NhY2hlZEZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2hpc3Rv
cnkvQ2FjaGVkRnJhbWUuY3BwCShyZXZpc2lvbiA1MzkxOSkKKysrIFdlYkNvcmUvaGlzdG9yeS9D
YWNoZWRGcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDEyIEBACiAjaW5jbHVk
ZSAiU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShUT1VDSF9F
VkVOVFMpCisjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCisj
aW5jbHVkZSAiUGFnZS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmbmRl
ZiBOREVCVUcKQEAgLTEwMCw2ICsxMDYsMTAgQEAgdm9pZCBDYWNoZWRGcmFtZUJhc2U6OnJlc3Rv
cmUoKQogICAgICAgICBtX2NoaWxkRnJhbWVzW2ldLT5vcGVuKCk7CiAKICAgICBtX2RvY3VtZW50
LT5kaXNwYXRjaFdpbmRvd0V2ZW50KFBhZ2VUcmFuc2l0aW9uRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkucGFnZXNob3dFdmVudCwgdHJ1ZSksIG1fZG9jdW1lbnQpOworI2lmIEVOQUJMRShUT1VD
SF9FVkVOVFMpCisgICAgaWYgKG1fZG9jdW1lbnQtPmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6
VE9VQ0hfTElTVEVORVIpKQorICAgICAgICBtX2RvY3VtZW50LT5wYWdlKCktPmNocm9tZSgpLT5j
bGllbnQoKS0+bmVlZFRvdWNoRXZlbnRzKHRydWUpOworI2VuZGlmCiB9CiAKIENhY2hlZEZyYW1l
OjpDYWNoZWRGcmFtZShGcmFtZSogZnJhbWUpCkBAIC0xNDUsNiArMTU1LDExIEBAIENhY2hlZEZy
YW1lOjpDYWNoZWRGcmFtZShGcmFtZSogZnJhbWUpCiAgICAgZWxzZQogICAgICAgICBMT0coUGFn
ZUNhY2hlLCAiRmluaXNoZWQgY3JlYXRpbmcgQ2FjaGVkRnJhbWUgZm9yIGNoaWxkIGZyYW1lIHdp
dGggdXJsICclcycgYW5kIERvY3VtZW50TG9hZGVyICVwXG4iLCBtX3VybC5zdHJpbmcoKS51dGY4
KCkuZGF0YSgpLCBtX2RvY3VtZW50TG9hZGVyLmdldCgpKTsKICNlbmRpZgorCisjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKKyAgICBpZiAobV9kb2N1bWVudC0+aGFzTGlzdGVuZXJUeXBlKERvY3Vt
ZW50OjpUT1VDSF9MSVNURU5FUikpCisgICAgICAgIG1fZG9jdW1lbnQtPnBhZ2UoKS0+Y2hyb21l
KCktPmNsaWVudCgpLT5uZWVkVG91Y2hFdmVudHMoZmFsc2UpOworI2VuZGlmCiB9CiAKIHZvaWQg
Q2FjaGVkRnJhbWU6Om9wZW4oKQpJbmRleDogV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgJKHJldmlzaW9uIDUz
OTE5KQorKysgV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE2NSw2ICsxNjUsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc09uZVNo
b3REcmF3aW5nU3luY2hyb25pemF0aW9uKCkge307CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxl
Q29tcG9zaXRpbmdMYXllclN5bmMoKSB7fTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKKyAgICB2aXJ0dWFsIHZvaWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wpIHsgfQorI2VuZGlm
CiB9OwogCiBjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgewpJbmRleDogV2ViQ29yZS9wYWdlL0Nocm9tZUNs
aWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNp
b24gNTM5MTkpCisrKyBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTIyMSw2ICsyMjEsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFs
IHZvaWQgd2lsbFBvcFVwTWVudShOU01lbnUgKikgeyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShU
T1VDSF9FVkVOVFMpCisgICAgICAgIHZpcnR1YWwgdm9pZCBuZWVkVG91Y2hFdmVudHMoYm9vbCkg
PSAwOworI2VuZGlmCisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZpcnR1YWwgfkNocm9tZUNs
aWVudCgpIHsgfQogICAgIH07CkluZGV4OiBXZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDUzOTMwKQorKysgV2ViS2l0L3F0L0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEwLTAxLTI3ICBCZW4g
TXVyZG9jaCAgPGJlbm1AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBbQW5kcm9pZF0gQW5kcm9pZCBuZWVkcyBmdW5jdGlvbmFsaXR5
IGluIHRoZSBDaHJvbWVDbGllbnQgdG8gYmUgaW5mb3JtZWQgd2hlbiB0b3VjaCBldmVudHMgYXJl
IGFuZCBhcmUgbm90IG5lZWRlZCBieSB0aGUgd2VicGFnZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0MjE1CisKKyAgICAgICAgQWRkIG5lZWRUb3Vj
aEV2ZW50cygpIHRvIHRoZSBDaHJvbWVDbGllbnQgd2hpY2ggaXMgY2FsbGVkIHdoZW4gdGhlIHBh
Z2UgZGVjaWRlcyBpdCBuZWVkcyBvciBubyBsb25nZXIgbmVlZHMgdG8gYmUgaW5mb3JtZWQgb2Yg
dG91Y2ggZXZlbnRzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjpuZWVkVG91Y2hFdmVudHMpOiBB
ZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24uCisKIDIwMTAtMDEtMjcgIEtlbnQgSGFuc2VuICA8
a2VudC5oYW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNt
YW5uLgpJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgJKHJl
dmlzaW9uIDUzOTE5KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMiw2ICsxMzIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOwog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgICAgICB2aXJ0dWFsIHZvaWQg
bmVlZFRvdWNoRXZlbnRzKGJvb2wpIHsgfQorI2VuZGlmCisKICAgICAgICAgdmlydHVhbCB2b2lk
IHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKSB7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>