<?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>91301</bug_id>
          
          <creation_ts>2012-07-13 17:20:56 -0700</creation_ts>
          <short_desc>create different WebKit::WebMediaPlayer based on URL</short_desc>
          <delta_ts>2012-08-23 12:00:46 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>wjia</reporter>
          <assigned_to>wjia</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>peter+ews</cc>
    
    <cc>scherkus</cc>
    
    <cc>tkent</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>669614</commentid>
    <comment_count>0</comment_count>
    <who name="">wjia</who>
    <bug_when>2012-07-13 17:20:56 -0700</bug_when>
    <thetext>In Chromium, it&apos;s better to create a different WebKit::WebMediaPlayer based on URL, since media stream has different characteristics than regular media playback. Therefore, the URL is needed when frame client&apos;s createMediaPlayer() is called.

A prototype patch can be found at http://codereview.chromium.org/10382048/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669620</commentid>
    <comment_count>1</comment_count>
      <attachid>152382</attachid>
    <who name="">wjia</who>
    <bug_when>2012-07-13 17:31:24 -0700</bug_when>
    <thetext>Created attachment 152382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669623</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 17:33:11 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669626</commentid>
    <comment_count>3</comment_count>
    <who name="">wjia</who>
    <bug_when>2012-07-13 17:34:51 -0700</bug_when>
    <thetext>The patch is uploaded for review first. It&apos;s pending on Chromium patch http://codereview.chromium.org/10537091/. Due to API change, this patch will be landed after Chromium patch is landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669633</commentid>
    <comment_count>4</comment_count>
      <attachid>152382</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 17:45:18 -0700</bug_when>
    <thetext>Comment on attachment 152382
Patch

Attachment 152382 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13237316</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669634</commentid>
    <comment_count>5</comment_count>
      <attachid>152382</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-07-13 17:46:46 -0700</bug_when>
    <thetext>Comment on attachment 152382
Patch

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

&gt; Tools/ChangeLog:8
&gt; +        Additional information of the change such as approach, rationale. Please add per-function descriptions below (OOPS!).

Oops!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670395</commentid>
    <comment_count>6</comment_count>
      <attachid>152382</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-07-16 09:20:15 -0700</bug_when>
    <thetext>Comment on attachment 152382
Patch

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

&gt; Source/WebKit/chromium/public/WebFrameClient.h:91
&gt; +    virtual WebMediaPlayer* createMediaPlayer(const WebURL&amp;, WebFrame*, WebMediaPlayerClient*) { return 0; }

nit: WebFrameClient methods always take a WebFrame pointer as their first parameter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670508</commentid>
    <comment_count>7</comment_count>
      <attachid>152382</attachid>
    <who name="Andrew Scherkus">scherkus</who>
    <bug_when>2012-07-16 11:31:35 -0700</bug_when>
    <thetext>Comment on attachment 152382
Patch

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

&gt; Source/WebKit/chromium/ChangeLog:3
&gt; +        create different WebKit::WebMediaPlayer based on URL

This describes the intent but not the patch contents

This should be more along the lines of &quot;Pass URL to WebFrameClient::createMediaPlayer()&quot; with the additional information below describing why we want to do this (i.e., &quot;Permits creation of different WebMediaPlayer implementations based on the URL.&quot;)

&gt; Source/WebKit/chromium/ChangeLog:8
&gt; +        Additional information of the change such as approach, rationale. Please add per-function descriptions below (OOPS!).

Please fill out</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670540</commentid>
    <comment_count>8</comment_count>
    <who name="Andrew Scherkus">scherkus</who>
    <bug_when>2012-07-16 12:06:04 -0700</bug_when>
    <thetext>Whoops my other comments didn&apos;t get published!

Nits aside -- I think the approach is OK.

As pointed out in http://codereview.chromium.org/10537091/ an alternative would involve relying on the media engine registrar + supportsType() by registering multiple media engines (i.e., the existing one and another one for media stream URLs)

If we wanted to go that path I think we&apos;d have to plumb the registrar mechanism through the Chromium WebKit API (i.e., ask Chromium to register multiple engines). In the end I think we&apos;d end up with an even more indirect way of creating WebMediaPlayer implementations so I&apos;m not sure it&apos;d be worth it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695467</commentid>
    <comment_count>9</comment_count>
      <attachid>158431</attachid>
    <who name="">wjia</who>
    <bug_when>2012-08-14 16:03:59 -0700</bug_when>
    <thetext>Created attachment 158431
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695482</commentid>
    <comment_count>10</comment_count>
    <who name="">wjia</who>
    <bug_when>2012-08-14 16:09:53 -0700</bug_when>
    <thetext>Please take another look. Need LGTM from this patch in order to land chromium patch http://codereview.chromium.org/10537091/. Then this patch can be landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695516</commentid>
    <comment_count>11</comment_count>
      <attachid>158431</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-14 16:24:57 -0700</bug_when>
    <thetext>Comment on attachment 158431
Patch

Attachment 158431 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13504348</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695947</commentid>
    <comment_count>12</comment_count>
      <attachid>158431</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-08-15 06:17:27 -0700</bug_when>
    <thetext>Comment on attachment 158431
Patch

Attachment 158431 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/13491998</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701279</commentid>
    <comment_count>13</comment_count>
      <attachid>159795</attachid>
    <who name="">wjia</who>
    <bug_when>2012-08-21 16:31:15 -0700</bug_when>
    <thetext>Created attachment 159795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702345</commentid>
    <comment_count>14</comment_count>
    <who name="">wjia</who>
    <bug_when>2012-08-22 14:20:50 -0700</bug_when>
    <thetext>ping. With chromium patch being landed, this patch is ready to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702361</commentid>
    <comment_count>15</comment_count>
      <attachid>159795</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-22 14:32:20 -0700</bug_when>
    <thetext>Comment on attachment 159795
Patch

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

&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:48
&gt; -static PassOwnPtr&lt;WebMediaPlayer&gt; createWebMediaPlayer(WebMediaPlayerClient* client, Frame* frame)
&gt; +static PassOwnPtr&lt;WebMediaPlayer&gt; createWebMediaPlayer(WebMediaPlayerClient* client, const String&amp; url, Frame* frame)

It seems like this function should take a KURL rather than a String.

&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:324
&gt; +    m_webMediaPlayer = createWebMediaPlayer(this, m_url, frame);

So, m_url is a String?  Why not a KURL?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702443</commentid>
    <comment_count>16</comment_count>
      <attachid>160022</attachid>
    <who name="">wjia</who>
    <bug_when>2012-08-22 15:36:14 -0700</bug_when>
    <thetext>Created attachment 160022
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702455</commentid>
    <comment_count>17</comment_count>
    <who name="">wjia</who>
    <bug_when>2012-08-22 15:40:37 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 159795 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=159795&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:48
&gt; &gt; -static PassOwnPtr&lt;WebMediaPlayer&gt; createWebMediaPlayer(WebMediaPlayerClient* client, Frame* frame)
&gt; &gt; +static PassOwnPtr&lt;WebMediaPlayer&gt; createWebMediaPlayer(WebMediaPlayerClient* client, const String&amp; url, Frame* frame)
&gt; 
&gt; It seems like this function should take a KURL rather than a String.
&gt; 
&gt; &gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:324
&gt; &gt; +    m_webMediaPlayer = createWebMediaPlayer(this, m_url, frame);
&gt; 
&gt; So, m_url is a String?  Why not a KURL?

Changed to use KURL in createWebMediaPlayer() in new patch. Not sure why m_url is a String, instead of KURL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702475</commentid>
    <comment_count>18</comment_count>
      <attachid>160022</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-22 15:48:02 -0700</bug_when>
    <thetext>Comment on attachment 160022
Patch

Thanks.  A good followup patch would be to see if we can change m_url to be a KURL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703220</commentid>
    <comment_count>19</comment_count>
      <attachid>160022</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 12:00:41 -0700</bug_when>
    <thetext>Comment on attachment 160022
Patch

Clearing flags on attachment: 160022

Committed r126463: &lt;http://trac.webkit.org/changeset/126463&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703221</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 12:00:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152382</attachid>
            <date>2012-07-13 17:31:24 -0700</date>
            <delta_ts>2012-08-14 16:03:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91301-20120713173123.patch</filename>
            <type>text/plain</type>
            <size>6039</size>
            <attacher>wjia</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjI2NDcpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTA3LTEzICBXZWkgSmlhICA8d2ppYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
Y3JlYXRlIGRpZmZlcmVudCBXZWJLaXQ6OldlYk1lZGlhUGxheWVyIGJhc2VkIG9uIFVSTAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTEzMDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbmFsIGlu
Zm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVh
c2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgVVJMIGFzIGFkZGl0aW9uYWwgYXJndW1lbnQgdG8gY3JlYXRlTWVkaWFQbGF5ZXIoKS4K
KyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVDbGllbnQ6OmNyZWF0ZU1lZGlhUGxheWVyKToKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRlV2ViTWVkaWFQbGF5
ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmxvYWRJbnRl
cm5hbCk6CisKIDIwMTItMDctMTMgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIEluZGV4ZWREQjogUmUtZW5hYmxlIGluZGV4ZWRkYiBpbiB0ZXN0X3NoZWxs
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50
LmgJKHJldmlzaW9uIDEyMjY0MSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkZyYW1lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTg4LDcgKzg4LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgV2ViU2hhcmVkV29ya2VyKiBjcmVhdGVTaGFyZWRXb3JrZXIoV2ViRnJhbWUq
LCBjb25zdCBXZWJVUkwmLCBjb25zdCBXZWJTdHJpbmcmLCB1bnNpZ25lZCBsb25nIGxvbmcpIHsg
cmV0dXJuIDA7IH0KIAogICAgIC8vIE1heSByZXR1cm4gbnVsbC4KLSAgICB2aXJ0dWFsIFdlYk1l
ZGlhUGxheWVyKiBjcmVhdGVNZWRpYVBsYXllcihXZWJGcmFtZSosIFdlYk1lZGlhUGxheWVyQ2xp
ZW50KikgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgV2ViTWVkaWFQbGF5ZXIqIGNyZWF0ZU1l
ZGlhUGxheWVyKGNvbnN0IFdlYlVSTCYsIFdlYkZyYW1lKiwgV2ViTWVkaWFQbGF5ZXJDbGllbnQq
KSB7IHJldHVybiAwOyB9CiAKICAgICAvLyBNYXkgcmV0dXJuIG51bGwuCiAgICAgdmlydHVhbCBX
ZWJBcHBsaWNhdGlvbkNhY2hlSG9zdCogY3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3QoV2ViRnJh
bWUqLCBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVudCopIHsgcmV0dXJuIDA7IH0KSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsLmNwcAkocmV2aXNpb24gMTIyNjQxKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcs
MTMgKzQ3LDEzIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAotc3RhdGljIFBhc3NPd25QdHI8V2ViTWVkaWFQbGF5ZXI+IGNyZWF0ZVdlYk1lZGlhUGxh
eWVyKFdlYk1lZGlhUGxheWVyQ2xpZW50KiBjbGllbnQsIEZyYW1lKiBmcmFtZSkKK3N0YXRpYyBQ
YXNzT3duUHRyPFdlYk1lZGlhUGxheWVyPiBjcmVhdGVXZWJNZWRpYVBsYXllcihjb25zdCBTdHJp
bmcmIHVybCwgV2ViTWVkaWFQbGF5ZXJDbGllbnQqIGNsaWVudCwgRnJhbWUqIGZyYW1lKQogewog
ICAgIFdlYkZyYW1lSW1wbCogd2ViRnJhbWUgPSBXZWJGcmFtZUltcGw6OmZyb21GcmFtZShmcmFt
ZSk7CiAKICAgICBpZiAoIXdlYkZyYW1lLT5jbGllbnQoKSkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKHdlYkZyYW1lLT5jbGllbnQoKS0+Y3JlYXRlTWVkaWFQ
bGF5ZXIod2ViRnJhbWUsIGNsaWVudCkpOworICAgIHJldHVybiBhZG9wdFB0cih3ZWJGcmFtZS0+
Y2xpZW50KCktPmNyZWF0ZU1lZGlhUGxheWVyKEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1cmwpLCB3
ZWJGcmFtZSwgY2xpZW50KSk7CiB9CiAKIGJvb2wgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpt
X2lzRW5hYmxlZCA9IGZhbHNlOwpAQCAtMzIzLDcgKzMyMyw3IEBAIHZvaWQgV2ViTWVkaWFQbGF5
ZXJDbGllbnRJbXBsOjpsb2FkSW50ZXIKICNlbmRpZgogCiAgICAgRnJhbWUqIGZyYW1lID0gc3Rh
dGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG1fbWVkaWFQbGF5ZXItPm1lZGlhUGxheWVyQ2xp
ZW50KCkpLT5kb2N1bWVudCgpLT5mcmFtZSgpOwotICAgIG1fd2ViTWVkaWFQbGF5ZXIgPSBjcmVh
dGVXZWJNZWRpYVBsYXllcih0aGlzLCBmcmFtZSk7CisgICAgbV93ZWJNZWRpYVBsYXllciA9IGNy
ZWF0ZVdlYk1lZGlhUGxheWVyKG1fdXJsLCB0aGlzLCBmcmFtZSk7CiAgICAgaWYgKG1fd2ViTWVk
aWFQbGF5ZXIpIHsKICNpZiBFTkFCTEUoV0VCX0FVRElPKQogICAgICAgICAvLyBNYWtlIHN1cmUg
aWYgd2UgY3JlYXRlL3JlLWNyZWF0ZSB0aGUgV2ViTWVkaWFQbGF5ZXIgdGhhdCB3ZSB1cGRhdGUg
b3VyIHdyYXBwZXIuCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxMjI2NDcpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wNy0xMyAgV2VpIEppYSAgPHdqaWFAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIGNyZWF0ZSBkaWZmZXJlbnQgV2ViS2l0OjpXZWJNZWRpYVBsYXll
ciBiYXNlZCBvbiBVUkwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTkxMzAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9h
Y2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93
IChPT1BTISkuCisKKyAgICAgICAgQWRkIFVSTCBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50IGluIGNy
ZWF0ZU1lZGlhUGxheWVyLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmNwcDoKKyAgICAgICAgKFdlYlZpZXdIb3N0OjpjcmVhdGVNZWRpYVBsYXllcik6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKyAgICAgICAg
KFdlYlZpZXdIb3N0KToKKwogMjAxMi0wNy0xMyAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICB0ZXN0LXdlYmtpdHB5OiBtb3ZlIHByaW50aW5nLXJlbGF0ZWQg
Y29kZSBvdXQgb2YgdGhlIHJ1bm5lcgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViVmlld0hvc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlZpZXdIb3N0LmNwcAkocmV2aXNpb24gMTIyNjQxKQorKysgVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAw
LDEyICsxMDAwLDEyIEBAIFdlYlBsdWdpbiogV2ViVmlld0hvc3Q6OmNyZWF0ZVBsdWdpbihXZWIK
ICAgICByZXR1cm4gd2Via2l0X3N1cHBvcnQ6OkNyZWF0ZVdlYlBsdWdpbihmcmFtZSwgcGFyYW1z
KTsKIH0KIAotV2ViTWVkaWFQbGF5ZXIqIFdlYlZpZXdIb3N0OjpjcmVhdGVNZWRpYVBsYXllcihX
ZWJGcmFtZSogZnJhbWUsIFdlYk1lZGlhUGxheWVyQ2xpZW50KiBjbGllbnQpCitXZWJNZWRpYVBs
YXllciogV2ViVmlld0hvc3Q6OmNyZWF0ZU1lZGlhUGxheWVyKGNvbnN0IFdlYlVSTCYgdXJsLCBX
ZWJGcmFtZSogZnJhbWUsIFdlYk1lZGlhUGxheWVyQ2xpZW50KiBjbGllbnQpCiB7CiAjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKLSAgICByZXR1cm4gd2Via2l0X3N1cHBvcnQ6OkNyZWF0ZU1lZGlh
UGxheWVyKGZyYW1lLCBjbGllbnQsIHRlc3RNZWRpYVN0cmVhbUNsaWVudCgpKTsKKyAgICByZXR1
cm4gd2Via2l0X3N1cHBvcnQ6OkNyZWF0ZU1lZGlhUGxheWVyKHVybCwgZnJhbWUsIGNsaWVudCwg
dGVzdE1lZGlhU3RyZWFtQ2xpZW50KCkpOwogI2Vsc2UKLSAgICByZXR1cm4gd2Via2l0X3N1cHBv
cnQ6OkNyZWF0ZU1lZGlhUGxheWVyKGZyYW1lLCBjbGllbnQpOworICAgIHJldHVybiB3ZWJraXRf
c3VwcG9ydDo6Q3JlYXRlTWVkaWFQbGF5ZXIodXJsLCBmcmFtZSwgY2xpZW50KTsKICNlbmRpZgog
fQogCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgJ
KHJldmlzaW9uIDEyMjY0MSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyMSw3ICsyMjEsNyBAQCBjbGFzcyBXZWJWaWV3
SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpCiAKICAgICAvLyBXZWJLaXQ6OldlYkZyYW1lQ2xp
ZW50CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYlBsdWdpbiogY3JlYXRlUGx1Z2luKFdlYktpdDo6
V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYlBsdWdpblBhcmFtcyYpOwotICAgIHZpcnR1YWwg
V2ViS2l0OjpXZWJNZWRpYVBsYXllciogY3JlYXRlTWVkaWFQbGF5ZXIoV2ViS2l0OjpXZWJGcmFt
ZSosIFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnQqKTsKKyAgICB2aXJ0dWFsIFdlYktpdDo6
V2ViTWVkaWFQbGF5ZXIqIGNyZWF0ZU1lZGlhUGxheWVyKGNvbnN0IFdlYktpdDo6V2ViVVJMJiwg
V2ViS2l0OjpXZWJGcmFtZSosIFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnQqKTsKICAgICB2
aXJ0dWFsIFdlYktpdDo6V2ViQXBwbGljYXRpb25DYWNoZUhvc3QqIGNyZWF0ZUFwcGxpY2F0aW9u
Q2FjaGVIb3N0KFdlYktpdDo6V2ViRnJhbWUqLCBXZWJLaXQ6OldlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIGxvYWRVUkxFeHRlcm5hbGx5KFdlYktpdDo6
V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYlVSTFJlcXVlc3QmLCBXZWJLaXQ6OldlYk5hdmln
YXRpb25Qb2xpY3kpOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkVVJMRXh0ZXJuYWxseShXZWJLaXQ6
OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpXZWJVUkxSZXF1ZXN0JiwgV2ViS2l0OjpXZWJOYXZp
Z2F0aW9uUG9saWN5LCBjb25zdCBXZWJLaXQ6OldlYlN0cmluZyYgZG93bmxvYWROYW1lKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158431</attachid>
            <date>2012-08-14 16:03:59 -0700</date>
            <delta_ts>2012-08-21 16:31:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91301-20120814160326.patch</filename>
            <type>text/plain</type>
            <size>6049</size>
            <attacher>wjia</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjU2MTUpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTA4LTE0ICBXZWkgSmlhICA8d2ppYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
Y3JlYXRlIGRpZmZlcmVudCBXZWJLaXQ6OldlYk1lZGlhUGxheWVyIGJhc2VkIG9uIFVSTAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTEzMDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXNzIFVSTCB0byBX
ZWJGcmFtZUNsaWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIoKS4gVGhpcyBhbGxvd3MgY3JlYXRpb24K
KyAgICAgICAgb2YgZGlmZmVyZW50IFdlYk1lZGlhUGxheWVyIGltcGxlbWVudGF0aW9ucyBiYXNl
ZCBvbiB0aGUgVVJMLgorCisgICAgICAgICogcHVibGljL1dlYkZyYW1lQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpjcmVhdGVNZWRpYVBsYXllcik6IGFkZCBVUkwg
YXMgYWRkaXRpb25hbCBhcmd1bWVudC4KKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRlV2ViTWVkaWFQbGF5ZXIpOiBhZGQg
VVJMIGFzIGFkZGl0aW9uYWwgYXJndW1lbnQuCisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbDo6bG9hZEludGVybmFsKToKKwogMjAxMi0wOC0xNCAgQWRhbSBCYXJ0aCAg
PGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIERlbGV0ZSBGcmFtZTo6ZG9tV2luZG93KCkg
YW5kIEZyYW1lOjpleGlzdGluZ0RPTVdpbmRvdygpCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgJKHJldmlzaW9uIDEyNTYxMykKKysrIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTg4LDcgKzg4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgV2ViU2hhcmVkV29ya2Vy
KiBjcmVhdGVTaGFyZWRXb3JrZXIoV2ViRnJhbWUqLCBjb25zdCBXZWJVUkwmLCBjb25zdCBXZWJT
dHJpbmcmLCB1bnNpZ25lZCBsb25nIGxvbmcpIHsgcmV0dXJuIDA7IH0KIAogICAgIC8vIE1heSBy
ZXR1cm4gbnVsbC4KLSAgICB2aXJ0dWFsIFdlYk1lZGlhUGxheWVyKiBjcmVhdGVNZWRpYVBsYXll
cihXZWJGcmFtZSosIFdlYk1lZGlhUGxheWVyQ2xpZW50KikgeyByZXR1cm4gMDsgfQorICAgIHZp
cnR1YWwgV2ViTWVkaWFQbGF5ZXIqIGNyZWF0ZU1lZGlhUGxheWVyKFdlYkZyYW1lKiwgY29uc3Qg
V2ViVVJMJiwgV2ViTWVkaWFQbGF5ZXJDbGllbnQqKSB7IHJldHVybiAwOyB9CiAKICAgICAvLyBN
YXkgcmV0dXJuIG51bGwuCiAgICAgdmlydHVhbCBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdCogY3Jl
YXRlQXBwbGljYXRpb25DYWNoZUhvc3QoV2ViRnJhbWUqLCBXZWJBcHBsaWNhdGlvbkNhY2hlSG9z
dENsaWVudCopIHsgcmV0dXJuIDA7IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAkocmV2aXNpb24gMTI1
NjEzKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJ
bXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTMgKzQ1LDEzIEBAIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIFBhc3NPd25QdHI8V2Vi
TWVkaWFQbGF5ZXI+IGNyZWF0ZVdlYk1lZGlhUGxheWVyKFdlYk1lZGlhUGxheWVyQ2xpZW50KiBj
bGllbnQsIEZyYW1lKiBmcmFtZSkKK3N0YXRpYyBQYXNzT3duUHRyPFdlYk1lZGlhUGxheWVyPiBj
cmVhdGVXZWJNZWRpYVBsYXllcihXZWJNZWRpYVBsYXllckNsaWVudCogY2xpZW50LCBjb25zdCBT
dHJpbmcmIHVybCwgRnJhbWUqIGZyYW1lKQogewogICAgIFdlYkZyYW1lSW1wbCogd2ViRnJhbWUg
PSBXZWJGcmFtZUltcGw6OmZyb21GcmFtZShmcmFtZSk7CiAKICAgICBpZiAoIXdlYkZyYW1lLT5j
bGllbnQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKHdl
YkZyYW1lLT5jbGllbnQoKS0+Y3JlYXRlTWVkaWFQbGF5ZXIod2ViRnJhbWUsIGNsaWVudCkpOwor
ICAgIHJldHVybiBhZG9wdFB0cih3ZWJGcmFtZS0+Y2xpZW50KCktPmNyZWF0ZU1lZGlhUGxheWVy
KHdlYkZyYW1lLCBLVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKSwgY2xpZW50KSk7CiB9CiAKIGJv
b2wgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjptX2lzRW5hYmxlZCA9IGZhbHNlOwpAQCAtMzIx
LDcgKzMyMSw3IEBAIHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpsb2FkSW50ZXIKICNl
bmRpZgogCiAgICAgRnJhbWUqIGZyYW1lID0gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+
KG1fbWVkaWFQbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCkpLT5kb2N1bWVudCgpLT5mcmFtZSgp
OwotICAgIG1fd2ViTWVkaWFQbGF5ZXIgPSBjcmVhdGVXZWJNZWRpYVBsYXllcih0aGlzLCBmcmFt
ZSk7CisgICAgbV93ZWJNZWRpYVBsYXllciA9IGNyZWF0ZVdlYk1lZGlhUGxheWVyKHRoaXMsIG1f
dXJsLCBmcmFtZSk7CiAgICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIpIHsKICNpZiBFTkFCTEUoV0VC
X0FVRElPKQogICAgICAgICAvLyBNYWtlIHN1cmUgaWYgd2UgY3JlYXRlL3JlLWNyZWF0ZSB0aGUg
V2ViTWVkaWFQbGF5ZXIgdGhhdCB3ZSB1cGRhdGUgb3VyIHdyYXBwZXIuCkluZGV4OiBUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjU2MTUp
CisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAx
Mi0wOC0xNCAgV2VpIEppYSAgPHdqaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIGNyZWF0ZSBk
aWZmZXJlbnQgV2ViS2l0OjpXZWJNZWRpYVBsYXllciBiYXNlZCBvbiBVUkwKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMzAxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFzcyBVUkwgdG8gY3JlYXRlTWVk
aWFQbGF5ZXIuIFRoaXMgY29ycmVzcG9uZHMgdG8gY2hhbmdlIGluIGJhc2UKKyAgICAgICAgY2xh
c3MgV2ViS2l0OjpXZWJGcmFtZUNsaWVudC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlZpZXdIb3N0LmNwcDoKKyAgICAgICAgKFdlYlZpZXdIb3N0OjpjcmVhdGVNZWRp
YVBsYXllcik6IGFkZCBVUkwgYXMgYWRkaXRpb25hbCBhcmd1bWVudC4KKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oOgorICAgICAgICAoV2ViVmlld0hvc3Qp
OgorCiAyMDEyLTA4LTE0ICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgb2xkLXJ1bi13ZWJraXQtdGVzdHMgc2hvdWxkIHNraXAgYWxsIGZpbGUgZXh0ZW5zaW9u
cyBmb3IgcmVmIHRlc3RzLCBub3QganVzdCAuaHRtbC4KSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAJKHJldmlzaW9uIDEyNTYxMykKKysrIFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTAwNiwxMiArMTAwNiwxMiBAQCBXZWJQbHVnaW4qIFdlYlZpZXdIb3N0OjpjcmVhdGVQ
bHVnaW4oV2ViCiAgICAgcmV0dXJuIHdlYmtpdF9zdXBwb3J0OjpDcmVhdGVXZWJQbHVnaW4oZnJh
bWUsIHBhcmFtcyk7CiB9CiAKLVdlYk1lZGlhUGxheWVyKiBXZWJWaWV3SG9zdDo6Y3JlYXRlTWVk
aWFQbGF5ZXIoV2ViRnJhbWUqIGZyYW1lLCBXZWJNZWRpYVBsYXllckNsaWVudCogY2xpZW50KQor
V2ViTWVkaWFQbGF5ZXIqIFdlYlZpZXdIb3N0OjpjcmVhdGVNZWRpYVBsYXllcihXZWJGcmFtZSog
ZnJhbWUsIGNvbnN0IFdlYlVSTCYgdXJsLCBXZWJNZWRpYVBsYXllckNsaWVudCogY2xpZW50KQog
ewogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgcmV0dXJuIHdlYmtpdF9zdXBwb3J0OjpD
cmVhdGVNZWRpYVBsYXllcihmcmFtZSwgY2xpZW50LCB0ZXN0TWVkaWFTdHJlYW1DbGllbnQoKSk7
CisgICAgcmV0dXJuIHdlYmtpdF9zdXBwb3J0OjpDcmVhdGVNZWRpYVBsYXllcihmcmFtZSwgdXJs
LCBjbGllbnQsIHRlc3RNZWRpYVN0cmVhbUNsaWVudCgpKTsKICNlbHNlCi0gICAgcmV0dXJuIHdl
YmtpdF9zdXBwb3J0OjpDcmVhdGVNZWRpYVBsYXllcihmcmFtZSwgY2xpZW50KTsKKyAgICByZXR1
cm4gd2Via2l0X3N1cHBvcnQ6OkNyZWF0ZU1lZGlhUGxheWVyKGZyYW1lLCB1cmwsIGNsaWVudCk7
CiAjZW5kaWYKIH0KIApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJW
aWV3SG9zdC5oCShyZXZpc2lvbiAxMjU2MTMpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJWaWV3SG9zdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMjUsNyArMjI1LDcgQEAgY2xh
c3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2ViS2l0OjpXZWJWaQogCiAgICAgLy8gV2ViS2l0OjpX
ZWJGcmFtZUNsaWVudAogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJQbHVnaW4qIGNyZWF0ZVBsdWdp
bihXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpXZWJQbHVnaW5QYXJhbXMmKTsKLSAg
ICB2aXJ0dWFsIFdlYktpdDo6V2ViTWVkaWFQbGF5ZXIqIGNyZWF0ZU1lZGlhUGxheWVyKFdlYktp
dDo6V2ViRnJhbWUqLCBXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50Kik7CisgICAgdmlydHVh
bCBXZWJLaXQ6OldlYk1lZGlhUGxheWVyKiBjcmVhdGVNZWRpYVBsYXllcihXZWJLaXQ6OldlYkZy
YW1lKiwgY29uc3QgV2ViS2l0OjpXZWJVUkwmLCBXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50
Kik7CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBjcmVhdGVB
cHBsaWNhdGlvbkNhY2hlSG9zdChXZWJLaXQ6OldlYkZyYW1lKiwgV2ViS2l0OjpXZWJBcHBsaWNh
dGlvbkNhY2hlSG9zdENsaWVudCopOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkVVJMRXh0ZXJuYWxs
eShXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpXZWJVUkxSZXF1ZXN0JiwgV2ViS2l0
OjpXZWJOYXZpZ2F0aW9uUG9saWN5KTsKICAgICB2aXJ0dWFsIHZvaWQgbG9hZFVSTEV4dGVybmFs
bHkoV2ViS2l0OjpXZWJGcmFtZSosIGNvbnN0IFdlYktpdDo6V2ViVVJMUmVxdWVzdCYsIFdlYktp
dDo6V2ViTmF2aWdhdGlvblBvbGljeSwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIGRvd25sb2Fk
TmFtZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159795</attachid>
            <date>2012-08-21 16:31:15 -0700</date>
            <delta_ts>2012-08-22 15:36:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91301-20120821163114.patch</filename>
            <type>text/plain</type>
            <size>6048</size>
            <attacher>wjia</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjYyMDkpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTA4LTIxICBXZWkgSmlhICA8d2ppYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
Y3JlYXRlIGRpZmZlcmVudCBXZWJLaXQ6OldlYk1lZGlhUGxheWVyIGJhc2VkIG9uIFVSTAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTEzMDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXNzIFVSTCB0byBX
ZWJGcmFtZUNsaWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIoKS4gVGhpcyBhbGxvd3MgY3JlYXRpb24K
KyAgICAgICAgb2YgZGlmZmVyZW50IFdlYk1lZGlhUGxheWVyIGltcGxlbWVudGF0aW9ucyBiYXNl
ZCBvbiB0aGUgVVJMLgorCisgICAgICAgICogcHVibGljL1dlYkZyYW1lQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpjcmVhdGVNZWRpYVBsYXllcik6IGFkZCBVUkwg
YXMgYWRkaXRpb25hbCBhcmd1bWVudC4KKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRlV2ViTWVkaWFQbGF5ZXIpOiBhZGQg
VVJMIGFzIGFkZGl0aW9uYWwgYXJndW1lbnQuCisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbDo6bG9hZEludGVybmFsKToKKwogMjAxMi0wOC0yMSAgTGVhbmRybyBHcmFj
aWEgR2lsICA8bGVhbmRyb2dyYWNpYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVt
XSBGaW5kLWluLXBhZ2UgY29vcmRpbmF0ZXMgc2hvdWxkIHVzZSBjb250YWluaW5nQmxvY2sKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAko
cmV2aXNpb24gMTI2MjA5KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJh
bWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtODgsNyArODgsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBXZWJTaGFyZWRXb3JrZXIqIGNyZWF0ZVNoYXJlZFdvcmtlcihXZWJGcmFtZSosIGNv
bnN0IFdlYlVSTCYsIGNvbnN0IFdlYlN0cmluZyYsIHVuc2lnbmVkIGxvbmcgbG9uZykgeyByZXR1
cm4gMDsgfQogCiAgICAgLy8gTWF5IHJldHVybiBudWxsLgotICAgIHZpcnR1YWwgV2ViTWVkaWFQ
bGF5ZXIqIGNyZWF0ZU1lZGlhUGxheWVyKFdlYkZyYW1lKiwgV2ViTWVkaWFQbGF5ZXJDbGllbnQq
KSB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBXZWJNZWRpYVBsYXllciogY3JlYXRlTWVkaWFQ
bGF5ZXIoV2ViRnJhbWUqLCBjb25zdCBXZWJVUkwmLCBXZWJNZWRpYVBsYXllckNsaWVudCopIHsg
cmV0dXJuIDA7IH0KIAogICAgIC8vIE1heSByZXR1cm4gbnVsbC4KICAgICB2aXJ0dWFsIFdlYkFw
cGxpY2F0aW9uQ2FjaGVIb3N0KiBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChXZWJGcmFtZSos
IFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50KikgeyByZXR1cm4gMDsgfQpJbmRleDogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVu
dEltcGwuY3BwCShyZXZpc2lvbiAxMjYyMDkpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSwxMyAr
NDUsMTMgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
Ci1zdGF0aWMgUGFzc093blB0cjxXZWJNZWRpYVBsYXllcj4gY3JlYXRlV2ViTWVkaWFQbGF5ZXIo
V2ViTWVkaWFQbGF5ZXJDbGllbnQqIGNsaWVudCwgRnJhbWUqIGZyYW1lKQorc3RhdGljIFBhc3NP
d25QdHI8V2ViTWVkaWFQbGF5ZXI+IGNyZWF0ZVdlYk1lZGlhUGxheWVyKFdlYk1lZGlhUGxheWVy
Q2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdXJsLCBGcmFtZSogZnJhbWUpCiB7CiAgICAg
V2ViRnJhbWVJbXBsKiB3ZWJGcmFtZSA9IFdlYkZyYW1lSW1wbDo6ZnJvbUZyYW1lKGZyYW1lKTsK
IAogICAgIGlmICghd2ViRnJhbWUtPmNsaWVudCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICByZXR1cm4gYWRvcHRQdHIod2ViRnJhbWUtPmNsaWVudCgpLT5jcmVhdGVNZWRpYVBsYXll
cih3ZWJGcmFtZSwgY2xpZW50KSk7CisgICAgcmV0dXJuIGFkb3B0UHRyKHdlYkZyYW1lLT5jbGll
bnQoKS0+Y3JlYXRlTWVkaWFQbGF5ZXIod2ViRnJhbWUsIEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1
cmwpLCBjbGllbnQpKTsKIH0KIAogYm9vbCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6Om1faXNF
bmFibGVkID0gZmFsc2U7CkBAIC0zMjEsNyArMzIxLDcgQEAgdm9pZCBXZWJNZWRpYVBsYXllckNs
aWVudEltcGw6OmxvYWRJbnRlcgogI2VuZGlmCiAKICAgICBGcmFtZSogZnJhbWUgPSBzdGF0aWNf
Y2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4obV9tZWRpYVBsYXllci0+bWVkaWFQbGF5ZXJDbGllbnQo
KSktPmRvY3VtZW50KCktPmZyYW1lKCk7Ci0gICAgbV93ZWJNZWRpYVBsYXllciA9IGNyZWF0ZVdl
Yk1lZGlhUGxheWVyKHRoaXMsIGZyYW1lKTsKKyAgICBtX3dlYk1lZGlhUGxheWVyID0gY3JlYXRl
V2ViTWVkaWFQbGF5ZXIodGhpcywgbV91cmwsIGZyYW1lKTsKICAgICBpZiAobV93ZWJNZWRpYVBs
YXllcikgewogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAgICAgICAgIC8vIE1ha2Ugc3VyZSBpZiB3
ZSBjcmVhdGUvcmUtY3JlYXRlIHRoZSBXZWJNZWRpYVBsYXllciB0aGF0IHdlIHVwZGF0ZSBvdXIg
d3JhcHBlci4KSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDEyNjIwOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA4LTIxICBXZWkgSmlhICA8d2ppYUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgY3JlYXRlIGRpZmZlcmVudCBXZWJLaXQ6OldlYk1lZGlhUGxheWVyIGJh
c2VkIG9uIFVSTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTEzMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBQYXNzIFVSTCB0byBjcmVhdGVNZWRpYVBsYXllci4gVGhpcyBjb3JyZXNwb25kcyB0byBjaGFu
Z2UgaW4gYmFzZQorICAgICAgICBjbGFzcyBXZWJLaXQ6OldlYkZyYW1lQ2xpZW50LgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwOgorICAgICAgICAo
V2ViVmlld0hvc3Q6OmNyZWF0ZU1lZGlhUGxheWVyKTogYWRkIFVSTCBhcyBhZGRpdGlvbmFsIGFy
Z3VtZW50LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6
CisgICAgICAgIChXZWJWaWV3SG9zdCk6CisKIDIwMTItMDgtMjEgIFRoaWFnbyBNYXJjb3MgUC4g
U2FudG9zICA8dGhpYWdvLnNhbnRvc0BpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gRW5hYmxl
IENTUyBUZXh0IERlY29yYXRpb24gYnkgZGVmYXVsdApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAkocmV2aXNpb24gMTI2MjA5KQorKysgVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDA2LDEyICsxMDA2LDEyIEBAIFdlYlBsdWdpbiogV2ViVmlld0hvc3Q6OmNyZWF0ZVBs
dWdpbihXZWIKICAgICByZXR1cm4gd2Via2l0X3N1cHBvcnQ6OkNyZWF0ZVdlYlBsdWdpbihmcmFt
ZSwgcGFyYW1zKTsKIH0KIAotV2ViTWVkaWFQbGF5ZXIqIFdlYlZpZXdIb3N0OjpjcmVhdGVNZWRp
YVBsYXllcihXZWJGcmFtZSogZnJhbWUsIFdlYk1lZGlhUGxheWVyQ2xpZW50KiBjbGllbnQpCitX
ZWJNZWRpYVBsYXllciogV2ViVmlld0hvc3Q6OmNyZWF0ZU1lZGlhUGxheWVyKFdlYkZyYW1lKiBm
cmFtZSwgY29uc3QgV2ViVVJMJiB1cmwsIFdlYk1lZGlhUGxheWVyQ2xpZW50KiBjbGllbnQpCiB7
CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICByZXR1cm4gd2Via2l0X3N1cHBvcnQ6OkNy
ZWF0ZU1lZGlhUGxheWVyKGZyYW1lLCBjbGllbnQsIHRlc3RNZWRpYVN0cmVhbUNsaWVudCgpKTsK
KyAgICByZXR1cm4gd2Via2l0X3N1cHBvcnQ6OkNyZWF0ZU1lZGlhUGxheWVyKGZyYW1lLCB1cmws
IGNsaWVudCwgdGVzdE1lZGlhU3RyZWFtQ2xpZW50KCkpOwogI2Vsc2UKLSAgICByZXR1cm4gd2Vi
a2l0X3N1cHBvcnQ6OkNyZWF0ZU1lZGlhUGxheWVyKGZyYW1lLCBjbGllbnQpOworICAgIHJldHVy
biB3ZWJraXRfc3VwcG9ydDo6Q3JlYXRlTWVkaWFQbGF5ZXIoZnJhbWUsIHVybCwgY2xpZW50KTsK
ICNlbmRpZgogfQogCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3
SG9zdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmgJKHJldmlzaW9uIDEyNjIwOSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1dlYlZpZXdIb3N0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyNSw3ICsyMjUsNyBAQCBjbGFz
cyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpCiAKICAgICAvLyBXZWJLaXQ6Oldl
YkZyYW1lQ2xpZW50CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYlBsdWdpbiogY3JlYXRlUGx1Z2lu
KFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYlBsdWdpblBhcmFtcyYpOwotICAg
IHZpcnR1YWwgV2ViS2l0OjpXZWJNZWRpYVBsYXllciogY3JlYXRlTWVkaWFQbGF5ZXIoV2ViS2l0
OjpXZWJGcmFtZSosIFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnQqKTsKKyAgICB2aXJ0dWFs
IFdlYktpdDo6V2ViTWVkaWFQbGF5ZXIqIGNyZWF0ZU1lZGlhUGxheWVyKFdlYktpdDo6V2ViRnJh
bWUqLCBjb25zdCBXZWJLaXQ6OldlYlVSTCYsIFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnQq
KTsKICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViQXBwbGljYXRpb25DYWNoZUhvc3QqIGNyZWF0ZUFw
cGxpY2F0aW9uQ2FjaGVIb3N0KFdlYktpdDo6V2ViRnJhbWUqLCBXZWJLaXQ6OldlYkFwcGxpY2F0
aW9uQ2FjaGVIb3N0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIGxvYWRVUkxFeHRlcm5hbGx5
KFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYlVSTFJlcXVlc3QmLCBXZWJLaXQ6
OldlYk5hdmlnYXRpb25Qb2xpY3kpOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkVVJMRXh0ZXJuYWxs
eShXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpXZWJVUkxSZXF1ZXN0JiwgV2ViS2l0
OjpXZWJOYXZpZ2F0aW9uUG9saWN5LCBjb25zdCBXZWJLaXQ6OldlYlN0cmluZyYgZG93bmxvYWRO
YW1lKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160022</attachid>
            <date>2012-08-22 15:36:14 -0700</date>
            <delta_ts>2012-08-23 12:00:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91301-20120822153612.patch</filename>
            <type>text/plain</type>
            <size>6031</size>
            <attacher>wjia</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjYzNTYpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTA4LTIyICBXZWkgSmlhICA8d2ppYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
Y3JlYXRlIGRpZmZlcmVudCBXZWJLaXQ6OldlYk1lZGlhUGxheWVyIGJhc2VkIG9uIFVSTAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTEzMDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXNzIFVSTCB0byBX
ZWJGcmFtZUNsaWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIoKS4gVGhpcyBhbGxvd3MgY3JlYXRpb24K
KyAgICAgICAgb2YgZGlmZmVyZW50IFdlYk1lZGlhUGxheWVyIGltcGxlbWVudGF0aW9ucyBiYXNl
ZCBvbiB0aGUgVVJMLgorCisgICAgICAgICogcHVibGljL1dlYkZyYW1lQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpjcmVhdGVNZWRpYVBsYXllcik6IGFkZCBVUkwg
YXMgYWRkaXRpb25hbCBhcmd1bWVudC4KKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRlV2ViTWVkaWFQbGF5ZXIpOiBhZGQg
VVJMIGFzIGFkZGl0aW9uYWwgYXJndW1lbnQuCisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbDo6bG9hZEludGVybmFsKToKKwogMjAxMi0wOC0yMiAgTmlraGlsIEJoYXJn
YXZhICA8bmJoYXJnYXZhQGdvb2dsZS5jb20+CiAKICAgICAgICAgU3BlZWQgdXAgY29tcGlsYXRp
b24gb2YgdGVzdHMgaW52b2x2aW5nIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgJKHJldmlzaW9u
IDEyNjM1NikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTg4LDcgKzg4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
V2ViU2hhcmVkV29ya2VyKiBjcmVhdGVTaGFyZWRXb3JrZXIoV2ViRnJhbWUqLCBjb25zdCBXZWJV
UkwmLCBjb25zdCBXZWJTdHJpbmcmLCB1bnNpZ25lZCBsb25nIGxvbmcpIHsgcmV0dXJuIDA7IH0K
IAogICAgIC8vIE1heSByZXR1cm4gbnVsbC4KLSAgICB2aXJ0dWFsIFdlYk1lZGlhUGxheWVyKiBj
cmVhdGVNZWRpYVBsYXllcihXZWJGcmFtZSosIFdlYk1lZGlhUGxheWVyQ2xpZW50KikgeyByZXR1
cm4gMDsgfQorICAgIHZpcnR1YWwgV2ViTWVkaWFQbGF5ZXIqIGNyZWF0ZU1lZGlhUGxheWVyKFdl
YkZyYW1lKiwgY29uc3QgV2ViVVJMJiwgV2ViTWVkaWFQbGF5ZXJDbGllbnQqKSB7IHJldHVybiAw
OyB9CiAKICAgICAvLyBNYXkgcmV0dXJuIG51bGwuCiAgICAgdmlydHVhbCBXZWJBcHBsaWNhdGlv
bkNhY2hlSG9zdCogY3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3QoV2ViRnJhbWUqLCBXZWJBcHBs
aWNhdGlvbkNhY2hlSG9zdENsaWVudCopIHsgcmV0dXJuIDA7IH0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNw
cAkocmV2aXNpb24gMTI2MzU2KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTMgKzQ1LDEzIEBA
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGlj
IFBhc3NPd25QdHI8V2ViTWVkaWFQbGF5ZXI+IGNyZWF0ZVdlYk1lZGlhUGxheWVyKFdlYk1lZGlh
UGxheWVyQ2xpZW50KiBjbGllbnQsIEZyYW1lKiBmcmFtZSkKK3N0YXRpYyBQYXNzT3duUHRyPFdl
Yk1lZGlhUGxheWVyPiBjcmVhdGVXZWJNZWRpYVBsYXllcihXZWJNZWRpYVBsYXllckNsaWVudCog
Y2xpZW50LCBjb25zdCBXZWJVUkwmIHVybCwgRnJhbWUqIGZyYW1lKQogewogICAgIFdlYkZyYW1l
SW1wbCogd2ViRnJhbWUgPSBXZWJGcmFtZUltcGw6OmZyb21GcmFtZShmcmFtZSk7CiAKICAgICBp
ZiAoIXdlYkZyYW1lLT5jbGllbnQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgcmV0
dXJuIGFkb3B0UHRyKHdlYkZyYW1lLT5jbGllbnQoKS0+Y3JlYXRlTWVkaWFQbGF5ZXIod2ViRnJh
bWUsIGNsaWVudCkpOworICAgIHJldHVybiBhZG9wdFB0cih3ZWJGcmFtZS0+Y2xpZW50KCktPmNy
ZWF0ZU1lZGlhUGxheWVyKHdlYkZyYW1lLCB1cmwsIGNsaWVudCkpOwogfQogCiBib29sIFdlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbDo6bV9pc0VuYWJsZWQgPSBmYWxzZTsKQEAgLTMyMSw3ICszMjEs
NyBAQCB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6bG9hZEludGVyCiAjZW5kaWYKIAog
ICAgIEZyYW1lKiBmcmFtZSA9IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihtX21lZGlh
UGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKLSAgICBt
X3dlYk1lZGlhUGxheWVyID0gY3JlYXRlV2ViTWVkaWFQbGF5ZXIodGhpcywgZnJhbWUpOworICAg
IG1fd2ViTWVkaWFQbGF5ZXIgPSBjcmVhdGVXZWJNZWRpYVBsYXllcih0aGlzLCBLVVJMKFBhcnNl
ZFVSTFN0cmluZywgbV91cmwpLCBmcmFtZSk7CiAgICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIpIHsK
ICNpZiBFTkFCTEUoV0VCX0FVRElPKQogICAgICAgICAvLyBNYWtlIHN1cmUgaWYgd2UgY3JlYXRl
L3JlLWNyZWF0ZSB0aGUgV2ViTWVkaWFQbGF5ZXIgdGhhdCB3ZSB1cGRhdGUgb3VyIHdyYXBwZXIu
CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxMjYzNTYpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxOCBAQAorMjAxMi0wOC0yMiAgV2VpIEppYSAgPHdqaWFAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIGNyZWF0ZSBkaWZmZXJlbnQgV2ViS2l0OjpXZWJNZWRpYVBsYXllciBiYXNlZCBvbiBV
UkwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMzAx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFzcyBV
UkwgdG8gY3JlYXRlTWVkaWFQbGF5ZXIuIFRoaXMgY29ycmVzcG9uZHMgdG8gY2hhbmdlIGluIGJh
c2UKKyAgICAgICAgY2xhc3MgV2ViS2l0OjpXZWJGcmFtZUNsaWVudC4KKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcDoKKyAgICAgICAgKFdlYlZpZXdI
b3N0OjpjcmVhdGVNZWRpYVBsYXllcik6IGFkZCBVUkwgYXMgYWRkaXRpb25hbCBhcmd1bWVudC4K
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oOgorICAgICAg
ICAoV2ViVmlld0hvc3QpOgorCiAyMDEyLTA4LTIyICBTY290dCBHcmFoYW0gIDxzY290dG1nQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBEb24ndCB1bmNvbmRpdGlvbmFsbHkgZGVmaW5lIE5PTUlO
TUFYIG9uIFdpbmRvd3MKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAJKHJldmlzaW9uIDEyNjM1NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAwNiwxMiArMTAw
NiwxMiBAQCBXZWJQbHVnaW4qIFdlYlZpZXdIb3N0OjpjcmVhdGVQbHVnaW4oV2ViCiAgICAgcmV0
dXJuIHdlYmtpdF9zdXBwb3J0OjpDcmVhdGVXZWJQbHVnaW4oZnJhbWUsIHBhcmFtcyk7CiB9CiAK
LVdlYk1lZGlhUGxheWVyKiBXZWJWaWV3SG9zdDo6Y3JlYXRlTWVkaWFQbGF5ZXIoV2ViRnJhbWUq
IGZyYW1lLCBXZWJNZWRpYVBsYXllckNsaWVudCogY2xpZW50KQorV2ViTWVkaWFQbGF5ZXIqIFdl
YlZpZXdIb3N0OjpjcmVhdGVNZWRpYVBsYXllcihXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdlYlVS
TCYgdXJsLCBXZWJNZWRpYVBsYXllckNsaWVudCogY2xpZW50KQogewogI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCi0gICAgcmV0dXJuIHdlYmtpdF9zdXBwb3J0OjpDcmVhdGVNZWRpYVBsYXllcihm
cmFtZSwgY2xpZW50LCB0ZXN0TWVkaWFTdHJlYW1DbGllbnQoKSk7CisgICAgcmV0dXJuIHdlYmtp
dF9zdXBwb3J0OjpDcmVhdGVNZWRpYVBsYXllcihmcmFtZSwgdXJsLCBjbGllbnQsIHRlc3RNZWRp
YVN0cmVhbUNsaWVudCgpKTsKICNlbHNlCi0gICAgcmV0dXJuIHdlYmtpdF9zdXBwb3J0OjpDcmVh
dGVNZWRpYVBsYXllcihmcmFtZSwgY2xpZW50KTsKKyAgICByZXR1cm4gd2Via2l0X3N1cHBvcnQ6
OkNyZWF0ZU1lZGlhUGxheWVyKGZyYW1lLCB1cmwsIGNsaWVudCk7CiAjZW5kaWYKIH0KIApJbmRl
eDogVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCShyZXZpc2lv
biAxMjYzNTYpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yMjUsNyArMjI1LDcgQEAgY2xhc3MgV2ViVmlld0hvc3QgOiBw
dWJsaWMgV2ViS2l0OjpXZWJWaQogCiAgICAgLy8gV2ViS2l0OjpXZWJGcmFtZUNsaWVudAogICAg
IHZpcnR1YWwgV2ViS2l0OjpXZWJQbHVnaW4qIGNyZWF0ZVBsdWdpbihXZWJLaXQ6OldlYkZyYW1l
KiwgY29uc3QgV2ViS2l0OjpXZWJQbHVnaW5QYXJhbXMmKTsKLSAgICB2aXJ0dWFsIFdlYktpdDo6
V2ViTWVkaWFQbGF5ZXIqIGNyZWF0ZU1lZGlhUGxheWVyKFdlYktpdDo6V2ViRnJhbWUqLCBXZWJL
aXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50Kik7CisgICAgdmlydHVhbCBXZWJLaXQ6OldlYk1lZGlh
UGxheWVyKiBjcmVhdGVNZWRpYVBsYXllcihXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0
OjpXZWJVUkwmLCBXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50Kik7CiAgICAgdmlydHVhbCBX
ZWJLaXQ6OldlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9z
dChXZWJLaXQ6OldlYkZyYW1lKiwgV2ViS2l0OjpXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVu
dCopOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkVVJMRXh0ZXJuYWxseShXZWJLaXQ6OldlYkZyYW1l
KiwgY29uc3QgV2ViS2l0OjpXZWJVUkxSZXF1ZXN0JiwgV2ViS2l0OjpXZWJOYXZpZ2F0aW9uUG9s
aWN5KTsKICAgICB2aXJ0dWFsIHZvaWQgbG9hZFVSTEV4dGVybmFsbHkoV2ViS2l0OjpXZWJGcmFt
ZSosIGNvbnN0IFdlYktpdDo6V2ViVVJMUmVxdWVzdCYsIFdlYktpdDo6V2ViTmF2aWdhdGlvblBv
bGljeSwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIGRvd25sb2FkTmFtZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>