<?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>57888</bug_id>
          
          <creation_ts>2011-04-05 14:59:38 -0700</creation_ts>
          <short_desc>Need to extend WebKit chromium API to access text selection</short_desc>
          <delta_ts>2011-04-08 12:47:24 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>0</everconfirmed>
          <reporter name="Varun Jain">varunjain</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>379879</commentid>
    <comment_count>0</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-04-05 14:59:38 -0700</bug_when>
    <thetext>Need to extend WebKit chromium API to access text selection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379882</commentid>
    <comment_count>1</comment_count>
      <attachid>88314</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-04-05 15:01:00 -0700</bug_when>
    <thetext>Created attachment 88314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380113</commentid>
    <comment_count>2</comment_count>
      <attachid>88314</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-04-05 21:55:26 -0700</bug_when>
    <thetext>Comment on attachment 88314
Patch

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

&gt; Source/WebKit/chromium/public/WebFrame.h:412
&gt; +    virtual void selectBetweenWindowPoints(const WebPoint&amp; startPoint,

would it make sense to call this &quot;selectRange&quot;?

also, in WebWidget.h, you just refer to these parameters using the names
&quot;start&quot; and &quot;end&quot;.  maybe you should use the same names here as you do there
for consistency?

&gt; Source/WebKit/chromium/public/WebWidget.h:130
&gt; +    // Returns the start and point for the current selection, aligned to the

&quot;start and [end] point&quot; ??

&gt; Source/WebKit/chromium/public/WebWidget.h:132
&gt; +    virtual bool selectionStartAndEndPoints(WebPoint&amp; start,

would it make sense to call this selectionRange?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380477</commentid>
    <comment_count>3</comment_count>
      <attachid>88446</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-04-06 09:27:46 -0700</bug_when>
    <thetext>Created attachment 88446
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380480</commentid>
    <comment_count>4</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-04-06 09:28:52 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 88314 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=88314&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebFrame.h:412
&gt; &gt; +    virtual void selectBetweenWindowPoints(const WebPoint&amp; startPoint,
&gt; 
&gt; would it make sense to call this &quot;selectRange&quot;?

Done.

&gt; 
&gt; also, in WebWidget.h, you just refer to these parameters using the names
&gt; &quot;start&quot; and &quot;end&quot;.  maybe you should use the same names here as you do there
&gt; for consistency?
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebWidget.h:130
&gt; &gt; +    // Returns the start and point for the current selection, aligned to the
&gt; 
&gt; &quot;start and [end] point&quot; ??

Done.
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebWidget.h:132
&gt; &gt; +    virtual bool selectionStartAndEndPoints(WebPoint&amp; start,
&gt; 
&gt; would it make sense to call this selectionRange?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381691</commentid>
    <comment_count>5</comment_count>
      <attachid>88446</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-04-07 14:13:31 -0700</bug_when>
    <thetext>Comment on attachment 88446
Patch

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

&gt; Source/WebKit/chromium/public/WebWidget.h:132
&gt; +    // TODO(varunjain): make this pure virtual after all downstream classes have

nit: we use FIXME instead of TODO(user) in webkit

there should be no downstream implementations of this interface.  why is this needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381806</commentid>
    <comment_count>6</comment_count>
      <attachid>88721</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-04-07 15:56:48 -0700</bug_when>
    <thetext>Created attachment 88721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381808</commentid>
    <comment_count>7</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-04-07 15:58:29 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 88446 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=88446&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebWidget.h:132
&gt; &gt; +    // TODO(varunjain): make this pure virtual after all downstream classes have
&gt; 
&gt; nit: we use FIXME instead of TODO(user) in webkit

Done

&gt; 
&gt; there should be no downstream implementations of this interface.  why is this needed?

I dont know how or why but someone put an implementation of WebWidget in content/renderer/render_widget_fullscreen_pepper.cc :(
so I break chromium if I make that method pure virtual
thats why I need to do the fix in 3 parts... my current CL + chrome CL to add the method in that implementation + webkitCL to make the method pure virtual</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382314</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-04-08 09:57:08 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; there should be no downstream implementations of this interface.  why is this needed?
&gt; 
&gt; I dont know how or why but someone put an implementation of WebWidget in content/renderer/render_widget_fullscreen_pepper.cc :(
&gt; so I break chromium if I make that method pure virtual
&gt; thats why I need to do the fix in 3 parts... my current CL + chrome CL to add the method in that implementation + webkitCL to make the method pure virtual

OK, we should bring this up with piman@chromium.org, and then discuss options.  For now, you are doing the right thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382429</commentid>
    <comment_count>9</comment_count>
      <attachid>88721</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-08 11:53:36 -0700</bug_when>
    <thetext>Comment on attachment 88721
Patch

Clearing flags on attachment: 88721

Committed r83320: &lt;http://trac.webkit.org/changeset/83320&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382430</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-08 11:53:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382463</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-08 12:47:24 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/83320 might have broken Qt Linux Release
The following tests are not passing:
http/tests/loading/preload-append-scan.php</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88314</attachid>
            <date>2011-04-05 15:01:00 -0700</date>
            <delta_ts>2011-04-06 09:27:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57888-20110405175151.patch</filename>
            <type>text/plain</type>
            <size>10544</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI5ODIKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCBkZGYwYjQyNTNmNjNmMGM2NGJhMmU2YTNhMzU5MmY2MmM5Y2Y5MTU2Li40MDhm
ZDAwMmI5ODUzZTVhYzZkYzUzNGMzOThjYjI5OWJkOGM5NWRiIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDQtMDUgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5lZWQgdG8gZXh0ZW5kIFdlYktpdCBjaHJvbWl1bSBBUEkg
dG8gYWNjZXNzIHRleHQgc2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01Nzg4OAorCisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYldpZGdldC5oOgorICAgICAgICAqICBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAqICBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuaDoKKyAgICAgICAgKiAgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUG9wdXBNZW51SW1wbC5oOgorICAgICAgICAqICBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
UG9wdXBNZW51VGVzdC5jcHA6CisKIDIwMTEtMDQtMDQgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2Jp
bnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeCBmb3IgR1RLKyBhZnRlciByODI4
NzYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAppbmRleCBkNWQyZmY0
ZDI1ZjMyZjdlNDY3ZDE2NDFhMjQzOGU1M2JiZWQxNzQ5Li5jYzhlN2RlMGQ5NWFkNTlhY2ViNjA2
Y2Q5ZWM0MzkyOWM3ZjY4ZjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZy
YW1lLmgKQEAgLTY3LDYgKzY3LDcgQEAgY2xhc3MgV2ViVVJMUmVxdWVzdDsKIGNsYXNzIFdlYlZp
ZXc7CiBzdHJ1Y3QgV2ViQ29uc29sZU1lc3NhZ2U7CiBzdHJ1Y3QgV2ViRmluZE9wdGlvbnM7Citz
dHJ1Y3QgV2ViUG9pbnQ7CiBzdHJ1Y3QgV2ViUmVjdDsKIHN0cnVjdCBXZWJTY3JpcHRTb3VyY2U7
CiBzdHJ1Y3QgV2ViU2l6ZTsKQEAgLTQwOCw2ICs0MDksOSBAQCBwdWJsaWM6CiAgICAgLy8gdGhl
cmUgaXMgcmFuZ2VkIHNlbGVjdGlvbi4KICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0V29yZEFyb3Vu
ZENhcmV0KCkgPSAwOwogCisgICAgdmlydHVhbCB2b2lkIHNlbGVjdEJldHdlZW5XaW5kb3dQb2lu
dHMoY29uc3QgV2ViUG9pbnQmIHN0YXJ0UG9pbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgV2ViUG9pbnQmIGVuZFBvaW50KSA9IDA7CisKIAogICAg
IC8vIFByaW50aW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJXaWRnZXQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdl
dC5oCmluZGV4IDM2ZmJmMzEzYWQxNzQ2NGM0MWQ4ZDkyN2NiMjEzMmFkYWI2YWU4ODEuLjA5Yzdl
MjU0NGJjM2U2MGE5YWYwZjZlM2ZkYzgzOGZmNWJkNTI2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYldpZGdldC5oCkBAIC00MSw2ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogCiBjbGFzcyBXZWJJbnB1dEV2ZW50OwogY2xhc3MgV2ViU3RyaW5nOworc3RydWN0IFdl
YlBvaW50Owogc3RydWN0IFdlYlJlY3Q7CiBzdHJ1Y3QgV2ViU2l6ZTsKIHRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBXZWJWZWN0b3I7CkBAIC0xMjYsNiArMTI3LDExIEBAIHB1YmxpYzoKICAg
ICAvLyB3aWxsIGJlIHJldHVybmVkIGlmIGEgc2VsZWN0aW9uIHJhbmdlIGlzIGF2YWlsYWJsZS4K
ICAgICB2aXJ0dWFsIFdlYlJlY3QgY2FyZXRPclNlbGVjdGlvbkJvdW5kcygpID0gMDsKIAorICAg
IC8vIFJldHVybnMgdGhlIHN0YXJ0IGFuZCBwb2ludCBmb3IgdGhlIGN1cnJlbnQgc2VsZWN0aW9u
LCBhbGlnbmVkIHRvIHRoZQorICAgIC8vIGJvdHRvbSBvZiB0aGUgc2VsZWN0ZWQgbGluZS4KKyAg
ICB2aXJ0dWFsIGJvb2wgc2VsZWN0aW9uU3RhcnRBbmRFbmRQb2ludHMoV2ViUG9pbnQmIHN0YXJ0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJQb2ludCYg
ZW5kKSBjb25zdCA9IDA7CisKICAgICAvLyBDaGFuZ2VzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0
aGUgc2VsZWN0ZWQgaW5wdXQgbm9kZS4KICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4dERpcmVjdGlv
bihXZWJUZXh0RGlyZWN0aW9uKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCmluZGV4IDljNWUwNWY1YzBkNmU4MzQ4ZTkwMGE3YTkzZDUxZDQxMzc5
N2ZiZWMuLjliNzBlZGU3ZGYyMzE2YjgyNjc0M2I3NDA5ZTAyMzE0OTU2MGRhMTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAtOTAsNiArOTAsNyBA
QAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUg
IkhUTUxDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCkBAIC0xMDYsNiArMTA3LDcgQEAKICNpbmNsdWRl
ICJQbHVnaW5Eb2N1bWVudC5oIgogI2luY2x1ZGUgIlByaW50Q29udGV4dC5oIgogI2luY2x1ZGUg
IlJlbmRlckZyYW1lLmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5k
ZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQXNUZXh0LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVmlldy5oIgpAQCAtMTQwLDYgKzE0Miw3IEBACiAjaW5jbHVkZSAiV2ViUGVyZm9ybWFuY2Uu
aCIKICNpbmNsdWRlICJXZWJQbHVnaW4uaCIKICNpbmNsdWRlICJXZWJQbHVnaW5Db250YWluZXJJ
bXBsLmgiCisjaW5jbHVkZSAiV2ViUG9pbnQuaCIKICNpbmNsdWRlICJXZWJSYW5nZS5oIgogI2lu
Y2x1ZGUgIldlYlJlY3QuaCIKICNpbmNsdWRlICJXZWJTY3JpcHRTb3VyY2UuaCIKQEAgLTEzMDUs
NiArMTMwOCw0MCBAQCBib29sIFdlYkZyYW1lSW1wbDo6c2VsZWN0V29yZEFyb3VuZENhcmV0KCkK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBXZWJGcmFtZUltcGw6OnNlbGVjdEJldHdlZW5X
aW5kb3dQb2ludHMoY29uc3QgV2ViUG9pbnQmIHN0YXJ0UG9pbnQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJQb2ludCYgZW5kUG9pbnQpCit7
CisgICAgVmlzaWJsZVNlbGVjdGlvbiBzZWxlY3Rpb24odmlzaWJsZVBvc2l0aW9uRm9yV2luZG93
UG9pbnQoc3RhcnRQb2ludCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJs
ZVBvc2l0aW9uRm9yV2luZG93UG9pbnQoZW5kUG9pbnQpKTsKKworICAgIGlmIChmcmFtZSgpLT5z
ZWxlY3Rpb24oKS0+c2hvdWxkQ2hhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpCisgICAgICAgIGZy
YW1lKCktPnNlbGVjdGlvbigpLT5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBDaGFyYWN0ZXJHcmFu
dWxhcml0eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWtl
Tm9uRGlyZWN0aW9uYWxTZWxlY3Rpb24pOworfQorCitWaXNpYmxlUG9zaXRpb24gV2ViRnJhbWVJ
bXBsOjp2aXNpYmxlUG9zaXRpb25Gb3JXaW5kb3dQb2ludChjb25zdCBXZWJQb2ludCYgcG9pbnQp
Cit7CisgICAgSGl0VGVzdFJlcXVlc3Q6OkhpdFRlc3RSZXF1ZXN0VHlwZSBoaXRUeXBlID0gSGl0
VGVzdFJlcXVlc3Q6Ok1vdXNlTW92ZTsKKyAgICBoaXRUeXBlIHw9IEhpdFRlc3RSZXF1ZXN0OjpS
ZWFkT25seTsKKyAgICBoaXRUeXBlIHw9IEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmU7CisgICAgSGl0
VGVzdFJlcXVlc3QgcmVxdWVzdChoaXRUeXBlKTsKKyAgICBGcmFtZVZpZXcqIHZpZXcgPSBmcmFt
ZSgpLT52aWV3KCk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQodmlldy0+d2luZG93VG9Db250
ZW50cygKKyAgICAgICAgdmlldy0+Y29udmVydEZyb21Db250YWluaW5nV2luZG93KEludFBvaW50
KHBvaW50LngsIHBvaW50LnkpKSkpOworCisgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+cmVuZGVy
VmlldygpLT5sYXllcigpLT5oaXRUZXN0KHJlcXVlc3QsIHJlc3VsdCk7CisKKyAgICAvLyBNYXRj
aGluZyB0aGUgbG9naWMgaW4gTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0czo6dGFyZ2V0Tm9k
ZSgpCisgICAgTm9kZSogbm9kZSA9IHJlc3VsdC5pbm5lck5vZGUoKTsKKyAgICBpZiAoIW5vZGUp
CisgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKKyAgICBFbGVtZW50KiBlbGVtZW50
ID0gbm9kZS0+cGFyZW50RWxlbWVudCgpOworICAgIGlmICghbm9kZS0+aW5Eb2N1bWVudCgpICYm
IGVsZW1lbnQgJiYgZWxlbWVudC0+aW5Eb2N1bWVudCgpKQorICAgICAgICBub2RlID0gZWxlbWVu
dDsKKworICAgIHJldHVybiBub2RlLT5yZW5kZXJlcigpLT5wb3NpdGlvbkZvclBvaW50KHJlc3Vs
dC5sb2NhbFBvaW50KCkpOworfQorCiBpbnQgV2ViRnJhbWVJbXBsOjpwcmludEJlZ2luKGNvbnN0
IFdlYlNpemUmIHBhZ2VTaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBX
ZWJOb2RlJiBjb25zdHJhaW5Ub05vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBwcmludGVyRFBJLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaApp
bmRleCA2MTI5ZGUxYTFlZGQ3ZjU3MTEzZTU3M2JmMTU1MTRiNTc4Y2QzYmIyLi4yYWZkZGQ2YzZj
NzUxY2QyNzQxZDgxNmZhZjZlZDAwYWNhNmUzZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuaApAQCAtMTU3LDYgKzE1Nyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIFdlYlN0cmluZyBzZWxlY3Rpb25Bc1RleHQoKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYlN0
cmluZyBzZWxlY3Rpb25Bc01hcmt1cCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzZWxlY3RX
b3JkQXJvdW5kQ2FyZXQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0QmV0d2VlbldpbmRvd1Bv
aW50cyhjb25zdCBXZWJQb2ludCYgc3RhcnRQb2ludCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJQb2ludCYgZW5kUG9pbnQpOwogICAgIHZpcnR1
YWwgaW50IHByaW50QmVnaW4oY29uc3QgV2ViU2l6ZSYgcGFnZVNpemUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBXZWJOb2RlJiBjb25zdHJhaW5Ub05vZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcHJpbnRlckRQSSwKQEAgLTMyNiw2ICszMjgsOSBAQCBwcml2
YXRlOgogCiAgICAgdm9pZCBsb2FkSmF2YVNjcmlwdFVSTChjb25zdCBXZWJDb3JlOjpLVVJMJik7
CiAKKyAgICAvLyBSZXR1cm5zIGEgaGl0LXRlc3RlZCBWaXNpYmxlUG9zaXRpb24gZm9yIHRoZSBn
aXZlbiBwb2ludAorICAgIFdlYkNvcmU6OlZpc2libGVQb3NpdGlvbiB2aXNpYmxlUG9zaXRpb25G
b3JXaW5kb3dQb2ludChjb25zdCBXZWJQb2ludCYpOworCiAgICAgRnJhbWVMb2FkZXJDbGllbnRJ
bXBsIG1fZnJhbWVMb2FkZXJDbGllbnQ7CiAKICAgICBXZWJGcmFtZUNsaWVudCogbV9jbGllbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXgg
N2JiOWY3ZTVhMjA1MmNiZjhjNzJkZjBjZTBjNDc1ZWZjMWE3YjVlOS4uMzJmYzAzYzk5MzZhZTE2
MDg1ODllMTIyYzdkNTNlYjkxYmUwNmQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlBvcHVwTWVudUltcGwuaApAQCAtNzgsNiArNzgsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBib29sIGNvbmZpcm1Db21wb3NpdGlvbihjb25zdCBXZWJTdHJpbmcmIHRleHQpOwogICAg
IHZpcnR1YWwgV2ViVGV4dElucHV0VHlwZSB0ZXh0SW5wdXRUeXBlKCk7CiAgICAgdmlydHVhbCBX
ZWJSZWN0IGNhcmV0T3JTZWxlY3Rpb25Cb3VuZHMoKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0
aW9uU3RhcnRBbmRFbmRQb2ludHMoV2ViUG9pbnQmIHN0YXJ0LCBXZWJQb2ludCYgZW5kKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0RGlyZWN0aW9uKFdl
YlRleHREaXJlY3Rpb24gZGlyZWN0aW9uKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDY2OWVmYWY4MjYxMTZmZjcw
YTIyZTI2NjMzNTMzYmI1MzNhYjAzZTguLjlhMmIwNGEzYWM1YjY3YzIyNjU1MTUzOWRhNzA4NzE5
OWI1ZTRjYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAK
QEAgLTE0NTQsNiArMTQ1NCwzOCBAQCBXZWJSZWN0IFdlYlZpZXdJbXBsOjpjYXJldE9yU2VsZWN0
aW9uQm91bmRzKCkKICAgICByZXR1cm4gcmVjdDsKIH0KIAorYm9vbCBXZWJWaWV3SW1wbDo6c2Vs
ZWN0aW9uU3RhcnRBbmRFbmRQb2ludHMoV2ViUG9pbnQmIHN0YXJ0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViUG9pbnQmIGVuZCkgY29uc3QKK3sKKyAg
ICBjb25zdCBGcmFtZSogZnJhbWUgPSBmb2N1c2VkV2ViQ29yZUZyYW1lKCk7CisgICAgaWYgKCFm
cmFtZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIFJlZlB0cjxSYW5nZT4gc2VsZWN0ZWRS
YW5nZSA9IGZyYW1lLT5zZWxlY3Rpb24oKS0+dG9Ob3JtYWxpemVkUmFuZ2UoKTsKKyAgICBSZWZQ
dHI8UmFuZ2U+IHJhbmdlKFJhbmdlOjpjcmVhdGUoc2VsZWN0ZWRSYW5nZS0+c3RhcnRDb250YWlu
ZXIoKS0+ZG9jdW1lbnQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZWN0ZWRSYW5nZS0+c3RhcnRDb250YWluZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS0+c3RhcnRPZmZzZXQoKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS0+c3RhcnRDb250YWluZXIo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS0+
c3RhcnRPZmZzZXQoKSkpOworCisgICAgSW50UmVjdCByZWN0ID0gZnJhbWUtPmVkaXRvcigpLT5m
aXJzdFJlY3RGb3JSYW5nZShyYW5nZS5nZXQoKSk7CisgICAgc3RhcnQueCA9IHJlY3QueCgpOwor
ICAgIHN0YXJ0LnkgPSByZWN0LnkoKSArIHJlY3QuaGVpZ2h0KCkgLSAxOworCisgICAgcmFuZ2Ug
PSBSYW5nZTo6Y3JlYXRlKHNlbGVjdGVkUmFuZ2UtPmVuZENvbnRhaW5lcigpLT5kb2N1bWVudCgp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLT5lbmRDb250YWluZXIo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS0+ZW5kT2Zmc2V0KCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UtPmVuZENvbnRhaW5lcigp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFJhbmdlLT5lbmRPZmZzZXQoKSk7
CisKKyAgICByZWN0ID0gZnJhbWUtPmVkaXRvcigpLT5maXJzdFJlY3RGb3JSYW5nZShyYW5nZS5n
ZXQoKSk7CisgICAgZW5kLnggPSByZWN0LngoKSArIHJlY3Qud2lkdGgoKSAtIDE7CisgICAgZW5k
LnkgPSByZWN0LnkoKSArIHJlY3QuaGVpZ2h0KCkgLSAxOworCisgICAgc3RhcnQgPSBmcmFtZS0+
dmlldygpLT5jb250ZW50c1RvV2luZG93KHN0YXJ0KTsKKyAgICBlbmQgPSBmcmFtZS0+dmlldygp
LT5jb250ZW50c1RvV2luZG93KGVuZCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgV2Vi
Vmlld0ltcGw6OnNldFRleHREaXJlY3Rpb24oV2ViVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24pCiB7
CiAgICAgLy8gVGhlIEVkaXRvcjo6c2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24oKSBmdW5jdGlvbiBj
aGVja3MgaWYgd2UgY2FuIGNoYW5nZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmgKaW5kZXggNjZiMjkwODFiYzQwNzZmZTcyNTBiMWVjNmJkZTYzM2ZjNTY3N2QyMi4uOTlm
MjAwMThkYTY4YTRlZTFmN2E3MmIyZWQ5MDNkOTM2NDg2MmJlZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0xMDksNiArMTA5LDggQEAgcHVibGljOgogICAg
IHZpcnR1YWwgYm9vbCBjb25maXJtQ29tcG9zaXRpb24oY29uc3QgV2ViU3RyaW5nJiB0ZXh0KTsK
ICAgICB2aXJ0dWFsIFdlYlRleHRJbnB1dFR5cGUgdGV4dElucHV0VHlwZSgpOwogICAgIHZpcnR1
YWwgV2ViUmVjdCBjYXJldE9yU2VsZWN0aW9uQm91bmRzKCk7CisgICAgdmlydHVhbCBib29sIHNl
bGVjdGlvblN0YXJ0QW5kRW5kUG9pbnRzKFdlYlBvaW50JiBzdGFydCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViUG9pbnQmIGVuZCkgY29uc3Q7CiAgICAg
dmlydHVhbCB2b2lkIHNldFRleHREaXJlY3Rpb24oV2ViVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24p
OwogICAgIHZpcnR1YWwgYm9vbCBpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUoKSBjb25z
dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Qb3B1cE1lbnVU
ZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUG9wdXBNZW51VGVzdC5jcHAK
aW5kZXggOGM1M2ZmY2E3ZjkxZDQxMGU4MWUwMTNiMzk5MzNmMDU2ZGRmNTQ2ZC4uOWJlYjkxOTNh
NmI1MDc5YjYzNzE1NDlhZjNhMDlhNGU0OGYzMTdjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9Qb3B1cE1lbnVUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL1BvcHVwTWVudVRlc3QuY3BwCkBAIC0xNDIsNiArMTQyLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgYm9vbCBjb25maXJtQ29tcG9zaXRpb24oY29uc3QgV2ViU3RyaW5nJiB0
ZXh0KSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBXZWJUZXh0SW5wdXRUeXBlIHRleHRJ
bnB1dFR5cGUoKSB7IHJldHVybiBXZWJLaXQ6OldlYlRleHRJbnB1dFR5cGVOb25lOyB9CiAgICAg
dmlydHVhbCBXZWJSZWN0IGNhcmV0T3JTZWxlY3Rpb25Cb3VuZHMoKSB7IHJldHVybiBXZWJSZWN0
KCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0aW9uU3RhcnRBbmRFbmRQb2ludHMoV2ViUG9p
bnQmIHN0YXJ0LCBXZWJQb2ludCYgZW5kKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgdm9pZCBzZXRUZXh0RGlyZWN0aW9uKFdlYlRleHREaXJlY3Rpb24pIHsgfQogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88446</attachid>
            <date>2011-04-06 09:27:46 -0700</date>
            <delta_ts>2011-04-07 15:56:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57888-20110406121827.patch</filename>
            <type>text/plain</type>
            <size>10274</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMwNDkKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCBkZGYwYjQyNTNmNjNmMGM2NGJhMmU2YTNhMzU5MmY2MmM5Y2Y5MTU2Li5hMDM0
NDg4ZWE4NTRhNzI2MTY0ZWZiNmM0NWQ1YjgwZDM2Mzg5MmFkIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDQtMDYgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5lZWQgdG8gZXh0ZW5kIFdlYktpdCBjaHJvbWl1bSBBUEkg
dG8gYWNjZXNzIHRleHQgc2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01Nzg4OAorCisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYldpZGdldC5oOgorICAgICAgICAqICBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAqICBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuaDoKKyAgICAgICAgKiAgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUG9wdXBNZW51SW1wbC5oOgorICAgICAgICAqICBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
UG9wdXBNZW51VGVzdC5jcHA6CisKIDIwMTEtMDQtMDQgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2Jp
bnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeCBmb3IgR1RLKyBhZnRlciByODI4
NzYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAppbmRleCBkNWQyZmY0
ZDI1ZjMyZjdlNDY3ZDE2NDFhMjQzOGU1M2JiZWQxNzQ5Li45MzRjZjA4MGZlMGJhZWE0NjVjYjQx
ZjZjMTc5YTlkZDg5MDgyZDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZy
YW1lLmgKQEAgLTY3LDYgKzY3LDcgQEAgY2xhc3MgV2ViVVJMUmVxdWVzdDsKIGNsYXNzIFdlYlZp
ZXc7CiBzdHJ1Y3QgV2ViQ29uc29sZU1lc3NhZ2U7CiBzdHJ1Y3QgV2ViRmluZE9wdGlvbnM7Citz
dHJ1Y3QgV2ViUG9pbnQ7CiBzdHJ1Y3QgV2ViUmVjdDsKIHN0cnVjdCBXZWJTY3JpcHRTb3VyY2U7
CiBzdHJ1Y3QgV2ViU2l6ZTsKQEAgLTQwOCw2ICs0MDksOCBAQCBwdWJsaWM6CiAgICAgLy8gdGhl
cmUgaXMgcmFuZ2VkIHNlbGVjdGlvbi4KICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0V29yZEFyb3Vu
ZENhcmV0KCkgPSAwOwogCisgICAgdmlydHVhbCB2b2lkIHNlbGVjdFJhbmdlKGNvbnN0IFdlYlBv
aW50JiBzdGFydCwgY29uc3QgV2ViUG9pbnQmIGVuZCkgPSAwOworCiAKICAgICAvLyBQcmludGlu
ZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lk
Z2V0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXQuaAppbmRleCAz
NmZiZjMxM2FkMTc0NjRjNDFkOGQ5MjdjYjIxMzJhZGFiNmFlODgxLi5hYTY2ZmZjZDYxNmMxNDRm
YzA2ZmNlZGYwZTY0NDRkMmM2MGRlMWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJXaWRnZXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJXaWRnZXQuaApAQCAtNDEsNiArNDEsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xh
c3MgV2ViSW5wdXRFdmVudDsKIGNsYXNzIFdlYlN0cmluZzsKK3N0cnVjdCBXZWJQb2ludDsKIHN0
cnVjdCBXZWJSZWN0Owogc3RydWN0IFdlYlNpemU7CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xh
c3MgV2ViVmVjdG9yOwpAQCAtMTI2LDYgKzEyNywxNSBAQCBwdWJsaWM6CiAgICAgLy8gd2lsbCBi
ZSByZXR1cm5lZCBpZiBhIHNlbGVjdGlvbiByYW5nZSBpcyBhdmFpbGFibGUuCiAgICAgdmlydHVh
bCBXZWJSZWN0IGNhcmV0T3JTZWxlY3Rpb25Cb3VuZHMoKSA9IDA7CiAKKyAgICAvLyBSZXR1cm5z
IHRoZSBzdGFydCBhbmQgZW5kIHBvaW50IGZvciB0aGUgY3VycmVudCBzZWxlY3Rpb24sIGFsaWdu
ZWQgdG8gdGhlCisgICAgLy8gYm90dG9tIG9mIHRoZSBzZWxlY3RlZCBsaW5lLgorICAgIC8vIFRP
RE8odmFydW5qYWluKTogbWFrZSB0aGlzIHB1cmUgdmlydHVhbCBhZnRlciBhbGwgZG93bnN0cmVh
bSBjbGFzc2VzIGhhdmUKKyAgICAvLyBpbXBsZW1lbnRlZCBpdC4KKyAgICB2aXJ0dWFsIGJvb2wg
c2VsZWN0aW9uUmFuZ2UoV2ViUG9pbnQmIHN0YXJ0LCBXZWJQb2ludCYgZW5kKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIC8vIENoYW5nZXMgdGhlIHRl
eHQgZGlyZWN0aW9uIG9mIHRoZSBzZWxlY3RlZCBpbnB1dCBub2RlLgogICAgIHZpcnR1YWwgdm9p
ZCBzZXRUZXh0RGlyZWN0aW9uKFdlYlRleHREaXJlY3Rpb24pID0gMDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggOWM1ZTA1ZjVjMGQ2ZTgzNDhl
OTAwYTdhOTNkNTFkNDEzNzk3ZmJlYy4uMTRkYjk3NDkxOWFiOTE3OWNkZDdiNGU0ZTM1MzU3YjYw
MDc5MzY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3Bw
CkBAIC05MCw2ICs5MCw3IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJG
cmFtZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJIaXRUZXN0UmVz
dWx0LmgiCiAjaW5jbHVkZSAiSFRNTENvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MRm9ybUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKQEAgLTEwNiw2ICsx
MDcsNyBAQAogI2luY2x1ZGUgIlBsdWdpbkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiUHJpbnRDb250
ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyRnJhbWUuaCIKKyNpbmNsdWRlICJSZW5kZXJMYXllci5o
IgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVBc1RleHQu
aCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCkBAIC0xNDAsNiArMTQyLDcgQEAKICNpbmNsdWRl
ICJXZWJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIldlYlBsdWdpbi5oIgogI2luY2x1ZGUgIldl
YlBsdWdpbkNvbnRhaW5lckltcGwuaCIKKyNpbmNsdWRlICJXZWJQb2ludC5oIgogI2luY2x1ZGUg
IldlYlJhbmdlLmgiCiAjaW5jbHVkZSAiV2ViUmVjdC5oIgogI2luY2x1ZGUgIldlYlNjcmlwdFNv
dXJjZS5oIgpAQCAtMTMwNSw2ICsxMzA4LDM5IEBAIGJvb2wgV2ViRnJhbWVJbXBsOjpzZWxlY3RX
b3JkQXJvdW5kQ2FyZXQoKQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIFdlYkZyYW1lSW1w
bDo6c2VsZWN0UmFuZ2UoY29uc3QgV2ViUG9pbnQmIHN0YXJ0LCBjb25zdCBXZWJQb2ludCYgZW5k
KQoreworICAgIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0aW9uKHZpc2libGVQb3NpdGlvbkZvcldp
bmRvd1BvaW50KHN0YXJ0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxl
UG9zaXRpb25Gb3JXaW5kb3dQb2ludChlbmQpKTsKKworICAgIGlmIChmcmFtZSgpLT5zZWxlY3Rp
b24oKS0+c2hvdWxkQ2hhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpCisgICAgICAgIGZyYW1lKCkt
PnNlbGVjdGlvbigpLT5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBDaGFyYWN0ZXJHcmFudWxhcml0
eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWtlTm9uRGly
ZWN0aW9uYWxTZWxlY3Rpb24pOworfQorCitWaXNpYmxlUG9zaXRpb24gV2ViRnJhbWVJbXBsOjp2
aXNpYmxlUG9zaXRpb25Gb3JXaW5kb3dQb2ludChjb25zdCBXZWJQb2ludCYgcG9pbnQpCit7Cisg
ICAgSGl0VGVzdFJlcXVlc3Q6OkhpdFRlc3RSZXF1ZXN0VHlwZSBoaXRUeXBlID0gSGl0VGVzdFJl
cXVlc3Q6Ok1vdXNlTW92ZTsKKyAgICBoaXRUeXBlIHw9IEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25s
eTsKKyAgICBoaXRUeXBlIHw9IEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmU7CisgICAgSGl0VGVzdFJl
cXVlc3QgcmVxdWVzdChoaXRUeXBlKTsKKyAgICBGcmFtZVZpZXcqIHZpZXcgPSBmcmFtZSgpLT52
aWV3KCk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQodmlldy0+d2luZG93VG9Db250ZW50cygK
KyAgICAgICAgdmlldy0+Y29udmVydEZyb21Db250YWluaW5nV2luZG93KEludFBvaW50KHBvaW50
LngsIHBvaW50LnkpKSkpOworCisgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+cmVuZGVyVmlldygp
LT5sYXllcigpLT5oaXRUZXN0KHJlcXVlc3QsIHJlc3VsdCk7CisKKyAgICAvLyBNYXRjaGluZyB0
aGUgbG9naWMgaW4gTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0czo6dGFyZ2V0Tm9kZSgpCisg
ICAgTm9kZSogbm9kZSA9IHJlc3VsdC5pbm5lck5vZGUoKTsKKyAgICBpZiAoIW5vZGUpCisgICAg
ICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gbm9k
ZS0+cGFyZW50RWxlbWVudCgpOworICAgIGlmICghbm9kZS0+aW5Eb2N1bWVudCgpICYmIGVsZW1l
bnQgJiYgZWxlbWVudC0+aW5Eb2N1bWVudCgpKQorICAgICAgICBub2RlID0gZWxlbWVudDsKKwor
ICAgIHJldHVybiBub2RlLT5yZW5kZXJlcigpLT5wb3NpdGlvbkZvclBvaW50KHJlc3VsdC5sb2Nh
bFBvaW50KCkpOworfQorCiBpbnQgV2ViRnJhbWVJbXBsOjpwcmludEJlZ2luKGNvbnN0IFdlYlNp
emUmIHBhZ2VTaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJOb2Rl
JiBjb25zdHJhaW5Ub05vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwcmlu
dGVyRFBJLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAppbmRleCA2
MTI5ZGUxYTFlZGQ3ZjU3MTEzZTU3M2JmMTU1MTRiNTc4Y2QzYmIyLi5hNTJiMGY3NmRlYjkzNzc2
OTUzOTM0ZmEzZjA3Njk5YzRmNGZiOTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJGcmFtZUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuaApAQCAtMTU3LDYgKzE1Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdl
YlN0cmluZyBzZWxlY3Rpb25Bc1RleHQoKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYlN0cmluZyBz
ZWxlY3Rpb25Bc01hcmt1cCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzZWxlY3RXb3JkQXJv
dW5kQ2FyZXQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0UmFuZ2UoY29uc3QgV2ViUG9pbnQm
IHN0YXJ0LCBjb25zdCBXZWJQb2ludCYgZW5kKTsKICAgICB2aXJ0dWFsIGludCBwcmludEJlZ2lu
KGNvbnN0IFdlYlNpemUmIHBhZ2VTaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgV2ViTm9kZSYgY29uc3RyYWluVG9Ob2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHByaW50ZXJEUEksCkBAIC0zMjYsNiArMzI3LDkgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
bG9hZEphdmFTY3JpcHRVUkwoY29uc3QgV2ViQ29yZTo6S1VSTCYpOwogCisgICAgLy8gUmV0dXJu
cyBhIGhpdC10ZXN0ZWQgVmlzaWJsZVBvc2l0aW9uIGZvciB0aGUgZ2l2ZW4gcG9pbnQKKyAgICBX
ZWJDb3JlOjpWaXNpYmxlUG9zaXRpb24gdmlzaWJsZVBvc2l0aW9uRm9yV2luZG93UG9pbnQoY29u
c3QgV2ViUG9pbnQmKTsKKwogICAgIEZyYW1lTG9hZGVyQ2xpZW50SW1wbCBtX2ZyYW1lTG9hZGVy
Q2xpZW50OwogCiAgICAgV2ViRnJhbWVDbGllbnQqIG1fY2xpZW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCmluZGV4IDdiYjlmN2U1YTIwNTJjYmY4
YzcyZGYwY2UwYzQ3NWVmYzFhN2I1ZTkuLjU4YTg4M2Y1NjhmN2VmMzBmOWYyZTAwMzRhMTc4ZTFl
YWJjMGE4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVw
TWVudUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJ
bXBsLmgKQEAgLTc4LDYgKzc4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBjb25maXJt
Q29tcG9zaXRpb24oY29uc3QgV2ViU3RyaW5nJiB0ZXh0KTsKICAgICB2aXJ0dWFsIFdlYlRleHRJ
bnB1dFR5cGUgdGV4dElucHV0VHlwZSgpOwogICAgIHZpcnR1YWwgV2ViUmVjdCBjYXJldE9yU2Vs
ZWN0aW9uQm91bmRzKCk7CisgICAgdmlydHVhbCBib29sIHNlbGVjdGlvblJhbmdlKFdlYlBvaW50
JiBzdGFydCwgV2ViUG9pbnQmIGVuZCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0
dWFsIHZvaWQgc2V0VGV4dERpcmVjdGlvbihXZWJUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbik7CiAg
ICAgdmlydHVhbCBib29sIGlzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2ZSgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcAppbmRleCA2NjllZmFmODI2MTE2ZmY3MGEyMmUyNjYzMzUzM2JiNTMzYWIwM2U4Li40MDdh
OGRjMTUwYzgwMjkwOTY3MGU1MGFmNGRkNDQ5YmM3OTg0Yjc1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xNDU0LDYgKzE0NTQsMzcgQEAgV2ViUmVj
dCBXZWJWaWV3SW1wbDo6Y2FyZXRPclNlbGVjdGlvbkJvdW5kcygpCiAgICAgcmV0dXJuIHJlY3Q7
CiB9CiAKK2Jvb2wgV2ViVmlld0ltcGw6OnNlbGVjdGlvblJhbmdlKFdlYlBvaW50JiBzdGFydCwg
V2ViUG9pbnQmIGVuZCkgY29uc3QKK3sKKyAgICBjb25zdCBGcmFtZSogZnJhbWUgPSBmb2N1c2Vk
V2ViQ29yZUZyYW1lKCk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIFJlZlB0cjxSYW5nZT4gc2VsZWN0ZWRSYW5nZSA9IGZyYW1lLT5zZWxlY3Rpb24oKS0+dG9O
b3JtYWxpemVkUmFuZ2UoKTsKKyAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlKFJhbmdlOjpjcmVhdGUo
c2VsZWN0ZWRSYW5nZS0+c3RhcnRDb250YWluZXIoKS0+ZG9jdW1lbnQoKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS0+c3RhcnRDb250YWluZXIo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS0+
c3RhcnRPZmZzZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
ZWN0ZWRSYW5nZS0+c3RhcnRDb250YWluZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS0+c3RhcnRPZmZzZXQoKSkpOworCisgICAgSW50UmVj
dCByZWN0ID0gZnJhbWUtPmVkaXRvcigpLT5maXJzdFJlY3RGb3JSYW5nZShyYW5nZS5nZXQoKSk7
CisgICAgc3RhcnQueCA9IHJlY3QueCgpOworICAgIHN0YXJ0LnkgPSByZWN0LnkoKSArIHJlY3Qu
aGVpZ2h0KCkgLSAxOworCisgICAgcmFuZ2UgPSBSYW5nZTo6Y3JlYXRlKHNlbGVjdGVkUmFuZ2Ut
PmVuZENvbnRhaW5lcigpLT5kb2N1bWVudCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxlY3RlZFJhbmdlLT5lbmRDb250YWluZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZWN0ZWRSYW5nZS0+ZW5kT2Zmc2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
bGVjdGVkUmFuZ2UtPmVuZENvbnRhaW5lcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxlY3RlZFJhbmdlLT5lbmRPZmZzZXQoKSk7CisKKyAgICByZWN0ID0gZnJhbWUtPmVkaXRvcigp
LT5maXJzdFJlY3RGb3JSYW5nZShyYW5nZS5nZXQoKSk7CisgICAgZW5kLnggPSByZWN0LngoKSAr
IHJlY3Qud2lkdGgoKSAtIDE7CisgICAgZW5kLnkgPSByZWN0LnkoKSArIHJlY3QuaGVpZ2h0KCkg
LSAxOworCisgICAgc3RhcnQgPSBmcmFtZS0+dmlldygpLT5jb250ZW50c1RvV2luZG93KHN0YXJ0
KTsKKyAgICBlbmQgPSBmcmFtZS0+dmlldygpLT5jb250ZW50c1RvV2luZG93KGVuZCk7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKIHZvaWQgV2ViVmlld0ltcGw6OnNldFRleHREaXJlY3Rpb24oV2Vi
VGV4dERpcmVjdGlvbiBkaXJlY3Rpb24pCiB7CiAgICAgLy8gVGhlIEVkaXRvcjo6c2V0QmFzZVdy
aXRpbmdEaXJlY3Rpb24oKSBmdW5jdGlvbiBjaGVja3MgaWYgd2UgY2FuIGNoYW5nZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggNjZiMjkwODFiYzQwNzZmZTcy
NTBiMWVjNmJkZTYzM2ZjNTY3N2QyMi4uMDYwMjdlYWFjNDNkMTQwMzJlMzAwMGM4ZmI1ODJmNjJk
MWRmZDgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0x
MDksNiArMTA5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBjb25maXJtQ29tcG9zaXRp
b24oY29uc3QgV2ViU3RyaW5nJiB0ZXh0KTsKICAgICB2aXJ0dWFsIFdlYlRleHRJbnB1dFR5cGUg
dGV4dElucHV0VHlwZSgpOwogICAgIHZpcnR1YWwgV2ViUmVjdCBjYXJldE9yU2VsZWN0aW9uQm91
bmRzKCk7CisgICAgdmlydHVhbCBib29sIHNlbGVjdGlvblJhbmdlKFdlYlBvaW50JiBzdGFydCwg
V2ViUG9pbnQmIGVuZCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFRleHREaXJlY3Rpb24o
V2ViVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24pOwogICAgIHZpcnR1YWwgYm9vbCBpc0FjY2VsZXJh
dGVkQ29tcG9zaXRpbmdBY3RpdmUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9Qb3B1cE1lbnVUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvUG9wdXBNZW51VGVzdC5jcHAKaW5kZXggOGM1M2ZmY2E3ZjkxZDQxMGU4MWUwMTNi
Mzk5MzNmMDU2ZGRmNTQ2ZC4uNWExODcwOGQ3MjE2ZjIzMWM4ZmVkZTE2NmIyMzU5MGM5YjlkYzk2
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Qb3B1cE1lbnVUZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1BvcHVwTWVudVRlc3QuY3Bw
CkBAIC0xNDIsNiArMTQyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBjb25maXJtQ29t
cG9zaXRpb24oY29uc3QgV2ViU3RyaW5nJiB0ZXh0KSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmly
dHVhbCBXZWJUZXh0SW5wdXRUeXBlIHRleHRJbnB1dFR5cGUoKSB7IHJldHVybiBXZWJLaXQ6Oldl
YlRleHRJbnB1dFR5cGVOb25lOyB9CiAgICAgdmlydHVhbCBXZWJSZWN0IGNhcmV0T3JTZWxlY3Rp
b25Cb3VuZHMoKSB7IHJldHVybiBXZWJSZWN0KCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0
aW9uUmFuZ2UoV2ViUG9pbnQmIHN0YXJ0LCBXZWJQb2ludCYgZW5kKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0RGlyZWN0aW9uKFdlYlRleHREaXJlY3Rp
b24pIHsgfQogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88721</attachid>
            <date>2011-04-07 15:56:48 -0700</date>
            <delta_ts>2011-04-08 11:53:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57888-20110407184712.patch</filename>
            <type>text/plain</type>
            <size>10283</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMyMjMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCBmMjhkNzczNDA1OGNmOGIyZTUzNjA1NjVlMTIyZTYzNGY3MzJmYjBmLi5jZWFh
NzIxYjI5OGFlOTc4NjVmZmZhMTdhZGY0M2Q5OGE5MDAzODEyIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDQtMDcgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5lZWQgdG8gZXh0ZW5kIFdlYktpdCBjaHJvbWl1bSBBUEkg
dG8gYWNjZXNzIHRleHQgc2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01Nzg4OAorCisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYldpZGdldC5oOgorICAgICAgICAqICBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAqICBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuaDoKKyAgICAgICAgKiAgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUG9wdXBNZW51SW1wbC5oOgorICAgICAgICAqICBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
UG9wdXBNZW51VGVzdC5jcHA6CisKIDIwMTEtMDQtMDcgIEFuZHJldyBTY2hlcmt1cyAgPHNjaGVy
a3VzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZlcnQgRU5BQkxFX1RSQUNLIHBhdGNoIGR1
ZSB0byBjb21waWxlIGZhaWx1cmVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZy
YW1lLmgKaW5kZXggZDVkMmZmNGQyNWYzMmY3ZTQ2N2QxNjQxYTI0MzhlNTNiYmVkMTc0OS4uOTM0
Y2YwODBmZTBiYWVhNDY1Y2I0MWY2YzE3OWE5ZGQ4OTA4MmQyYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCkBAIC02Nyw2ICs2Nyw3IEBAIGNsYXNzIFdlYlVSTFJl
cXVlc3Q7CiBjbGFzcyBXZWJWaWV3Owogc3RydWN0IFdlYkNvbnNvbGVNZXNzYWdlOwogc3RydWN0
IFdlYkZpbmRPcHRpb25zOworc3RydWN0IFdlYlBvaW50Owogc3RydWN0IFdlYlJlY3Q7CiBzdHJ1
Y3QgV2ViU2NyaXB0U291cmNlOwogc3RydWN0IFdlYlNpemU7CkBAIC00MDgsNiArNDA5LDggQEAg
cHVibGljOgogICAgIC8vIHRoZXJlIGlzIHJhbmdlZCBzZWxlY3Rpb24uCiAgICAgdmlydHVhbCBi
b29sIHNlbGVjdFdvcmRBcm91bmRDYXJldCgpID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCBzZWxl
Y3RSYW5nZShjb25zdCBXZWJQb2ludCYgc3RhcnQsIGNvbnN0IFdlYlBvaW50JiBlbmQpID0gMDsK
KwogCiAgICAgLy8gUHJpbnRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYldpZGdldC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViV2lkZ2V0LmgKaW5kZXggMzZmYmYzMTNhZDE3NDY0YzQxZDhkOTI3Y2IyMTMyYWRhYjZhZTg4
MS4uYzY3NzYyZmFkMjk2OGQ0YjUzM2M0YjQ0YzIzZDg2NTkyOGEzMGE4YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKQEAgLTQxLDYgKzQxLDcgQEAgbmFtZXNw
YWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYklucHV0RXZlbnQ7CiBjbGFzcyBXZWJTdHJpbmc7Citz
dHJ1Y3QgV2ViUG9pbnQ7CiBzdHJ1Y3QgV2ViUmVjdDsKIHN0cnVjdCBXZWJTaXplOwogdGVtcGxh
dGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYlZlY3RvcjsKQEAgLTEyNiw2ICsxMjcsMTUgQEAgcHVi
bGljOgogICAgIC8vIHdpbGwgYmUgcmV0dXJuZWQgaWYgYSBzZWxlY3Rpb24gcmFuZ2UgaXMgYXZh
aWxhYmxlLgogICAgIHZpcnR1YWwgV2ViUmVjdCBjYXJldE9yU2VsZWN0aW9uQm91bmRzKCkgPSAw
OwogCisgICAgLy8gUmV0dXJucyB0aGUgc3RhcnQgYW5kIGVuZCBwb2ludCBmb3IgdGhlIGN1cnJl
bnQgc2VsZWN0aW9uLCBhbGlnbmVkIHRvIHRoZQorICAgIC8vIGJvdHRvbSBvZiB0aGUgc2VsZWN0
ZWQgbGluZS4KKyAgICAvLyBGSVhNRTogbWFrZSB0aGlzIHB1cmUgdmlydHVhbCBhZnRlciBhbGwg
ZG93bnN0cmVhbSBjbGFzc2VzIGhhdmUKKyAgICAvLyBpbXBsZW1lbnRlZCBpdC4KKyAgICB2aXJ0
dWFsIGJvb2wgc2VsZWN0aW9uUmFuZ2UoV2ViUG9pbnQmIHN0YXJ0LCBXZWJQb2ludCYgZW5kKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIC8vIENoYW5n
ZXMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBzZWxlY3RlZCBpbnB1dCBub2RlLgogICAgIHZp
cnR1YWwgdm9pZCBzZXRUZXh0RGlyZWN0aW9uKFdlYlRleHREaXJlY3Rpb24pID0gMDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggOWM1ZTA1ZjVj
MGQ2ZTgzNDhlOTAwYTdhOTNkNTFkNDEzNzk3ZmJlYy4uMTRkYjk3NDkxOWFiOTE3OWNkZDdiNGU0
ZTM1MzU3YjYwMDc5MzY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwCkBAIC05MCw2ICs5MCw3IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNp
bmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJI
aXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSFRNTENvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJI
VE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKQEAg
LTEwNiw2ICsxMDcsNyBAQAogI2luY2x1ZGUgIlBsdWdpbkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
UHJpbnRDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyRnJhbWUuaCIKKyNpbmNsdWRlICJSZW5k
ZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclRy
ZWVBc1RleHQuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCkBAIC0xNDAsNiArMTQyLDcgQEAK
ICNpbmNsdWRlICJXZWJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIldlYlBsdWdpbi5oIgogI2lu
Y2x1ZGUgIldlYlBsdWdpbkNvbnRhaW5lckltcGwuaCIKKyNpbmNsdWRlICJXZWJQb2ludC5oIgog
I2luY2x1ZGUgIldlYlJhbmdlLmgiCiAjaW5jbHVkZSAiV2ViUmVjdC5oIgogI2luY2x1ZGUgIldl
YlNjcmlwdFNvdXJjZS5oIgpAQCAtMTMwNSw2ICsxMzA4LDM5IEBAIGJvb2wgV2ViRnJhbWVJbXBs
OjpzZWxlY3RXb3JkQXJvdW5kQ2FyZXQoKQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIFdl
YkZyYW1lSW1wbDo6c2VsZWN0UmFuZ2UoY29uc3QgV2ViUG9pbnQmIHN0YXJ0LCBjb25zdCBXZWJQ
b2ludCYgZW5kKQoreworICAgIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0aW9uKHZpc2libGVQb3Np
dGlvbkZvcldpbmRvd1BvaW50KHN0YXJ0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2aXNpYmxlUG9zaXRpb25Gb3JXaW5kb3dQb2ludChlbmQpKTsKKworICAgIGlmIChmcmFtZSgp
LT5zZWxlY3Rpb24oKS0+c2hvdWxkQ2hhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpCisgICAgICAg
IGZyYW1lKCktPnNlbGVjdGlvbigpLT5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBDaGFyYWN0ZXJH
cmFudWxhcml0eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBN
YWtlTm9uRGlyZWN0aW9uYWxTZWxlY3Rpb24pOworfQorCitWaXNpYmxlUG9zaXRpb24gV2ViRnJh
bWVJbXBsOjp2aXNpYmxlUG9zaXRpb25Gb3JXaW5kb3dQb2ludChjb25zdCBXZWJQb2ludCYgcG9p
bnQpCit7CisgICAgSGl0VGVzdFJlcXVlc3Q6OkhpdFRlc3RSZXF1ZXN0VHlwZSBoaXRUeXBlID0g
SGl0VGVzdFJlcXVlc3Q6Ok1vdXNlTW92ZTsKKyAgICBoaXRUeXBlIHw9IEhpdFRlc3RSZXF1ZXN0
OjpSZWFkT25seTsKKyAgICBoaXRUeXBlIHw9IEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmU7CisgICAg
SGl0VGVzdFJlcXVlc3QgcmVxdWVzdChoaXRUeXBlKTsKKyAgICBGcmFtZVZpZXcqIHZpZXcgPSBm
cmFtZSgpLT52aWV3KCk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQodmlldy0+d2luZG93VG9D
b250ZW50cygKKyAgICAgICAgdmlldy0+Y29udmVydEZyb21Db250YWluaW5nV2luZG93KEludFBv
aW50KHBvaW50LngsIHBvaW50LnkpKSkpOworCisgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+cmVu
ZGVyVmlldygpLT5sYXllcigpLT5oaXRUZXN0KHJlcXVlc3QsIHJlc3VsdCk7CisKKyAgICAvLyBN
YXRjaGluZyB0aGUgbG9naWMgaW4gTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0czo6dGFyZ2V0
Tm9kZSgpCisgICAgTm9kZSogbm9kZSA9IHJlc3VsdC5pbm5lck5vZGUoKTsKKyAgICBpZiAoIW5v
ZGUpCisgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKKyAgICBFbGVtZW50KiBlbGVt
ZW50ID0gbm9kZS0+cGFyZW50RWxlbWVudCgpOworICAgIGlmICghbm9kZS0+aW5Eb2N1bWVudCgp
ICYmIGVsZW1lbnQgJiYgZWxlbWVudC0+aW5Eb2N1bWVudCgpKQorICAgICAgICBub2RlID0gZWxl
bWVudDsKKworICAgIHJldHVybiBub2RlLT5yZW5kZXJlcigpLT5wb3NpdGlvbkZvclBvaW50KHJl
c3VsdC5sb2NhbFBvaW50KCkpOworfQorCiBpbnQgV2ViRnJhbWVJbXBsOjpwcmludEJlZ2luKGNv
bnN0IFdlYlNpemUmIHBhZ2VTaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBXZWJOb2RlJiBjb25zdHJhaW5Ub05vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBwcmludGVyRFBJLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwu
aAppbmRleCA2MTI5ZGUxYTFlZGQ3ZjU3MTEzZTU3M2JmMTU1MTRiNTc4Y2QzYmIyLi5hNTJiMGY3
NmRlYjkzNzc2OTUzOTM0ZmEzZjA3Njk5YzRmNGZiOTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAtMTU3LDYgKzE1Nyw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIFdlYlN0cmluZyBzZWxlY3Rpb25Bc1RleHQoKSBjb25zdDsKICAgICB2aXJ0dWFsIFdl
YlN0cmluZyBzZWxlY3Rpb25Bc01hcmt1cCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzZWxl
Y3RXb3JkQXJvdW5kQ2FyZXQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0UmFuZ2UoY29uc3Qg
V2ViUG9pbnQmIHN0YXJ0LCBjb25zdCBXZWJQb2ludCYgZW5kKTsKICAgICB2aXJ0dWFsIGludCBw
cmludEJlZ2luKGNvbnN0IFdlYlNpemUmIHBhZ2VTaXplLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgV2ViTm9kZSYgY29uc3RyYWluVG9Ob2RlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHByaW50ZXJEUEksCkBAIC0zMjYsNiArMzI3LDkgQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgbG9hZEphdmFTY3JpcHRVUkwoY29uc3QgV2ViQ29yZTo6S1VSTCYpOwogCisgICAg
Ly8gUmV0dXJucyBhIGhpdC10ZXN0ZWQgVmlzaWJsZVBvc2l0aW9uIGZvciB0aGUgZ2l2ZW4gcG9p
bnQKKyAgICBXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb24gdmlzaWJsZVBvc2l0aW9uRm9yV2luZG93
UG9pbnQoY29uc3QgV2ViUG9pbnQmKTsKKwogICAgIEZyYW1lTG9hZGVyQ2xpZW50SW1wbCBtX2Zy
YW1lTG9hZGVyQ2xpZW50OwogCiAgICAgV2ViRnJhbWVDbGllbnQqIG1fY2xpZW50OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCmluZGV4IDdiYjlmN2U1
YTIwNTJjYmY4YzcyZGYwY2UwYzQ3NWVmYzFhN2I1ZTkuLjU4YTg4M2Y1NjhmN2VmMzBmOWYyZTAw
MzRhMTc4ZTFlYWJjMGE4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlBvcHVwTWVudUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQ
b3B1cE1lbnVJbXBsLmgKQEAgLTc4LDYgKzc4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBjb25maXJtQ29tcG9zaXRpb24oY29uc3QgV2ViU3RyaW5nJiB0ZXh0KTsKICAgICB2aXJ0dWFs
IFdlYlRleHRJbnB1dFR5cGUgdGV4dElucHV0VHlwZSgpOwogICAgIHZpcnR1YWwgV2ViUmVjdCBj
YXJldE9yU2VsZWN0aW9uQm91bmRzKCk7CisgICAgdmlydHVhbCBib29sIHNlbGVjdGlvblJhbmdl
KFdlYlBvaW50JiBzdGFydCwgV2ViUG9pbnQmIGVuZCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4dERpcmVjdGlvbihXZWJUZXh0RGlyZWN0aW9uIGRpcmVj
dGlvbik7CiAgICAgdmlydHVhbCBib29sIGlzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2ZSgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcAppbmRleCA2NjllZmFmODI2MTE2ZmY3MGEyMmUyNjYzMzUzM2JiNTMzYWIw
M2U4Li40MDdhOGRjMTUwYzgwMjkwOTY3MGU1MGFmNGRkNDQ5YmM3OTg0Yjc1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xNDU0LDYgKzE0NTQsMzcg
QEAgV2ViUmVjdCBXZWJWaWV3SW1wbDo6Y2FyZXRPclNlbGVjdGlvbkJvdW5kcygpCiAgICAgcmV0
dXJuIHJlY3Q7CiB9CiAKK2Jvb2wgV2ViVmlld0ltcGw6OnNlbGVjdGlvblJhbmdlKFdlYlBvaW50
JiBzdGFydCwgV2ViUG9pbnQmIGVuZCkgY29uc3QKK3sKKyAgICBjb25zdCBGcmFtZSogZnJhbWUg
PSBmb2N1c2VkV2ViQ29yZUZyYW1lKCk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIFJlZlB0cjxSYW5nZT4gc2VsZWN0ZWRSYW5nZSA9IGZyYW1lLT5zZWxlY3Rp
b24oKS0+dG9Ob3JtYWxpemVkUmFuZ2UoKTsKKyAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlKFJhbmdl
OjpjcmVhdGUoc2VsZWN0ZWRSYW5nZS0+c3RhcnRDb250YWluZXIoKS0+ZG9jdW1lbnQoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS0+c3RhcnRD
b250YWluZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0
ZWRSYW5nZS0+c3RhcnRPZmZzZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZWN0ZWRSYW5nZS0+c3RhcnRDb250YWluZXIoKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZS0+c3RhcnRPZmZzZXQoKSkpOworCisg
ICAgSW50UmVjdCByZWN0ID0gZnJhbWUtPmVkaXRvcigpLT5maXJzdFJlY3RGb3JSYW5nZShyYW5n
ZS5nZXQoKSk7CisgICAgc3RhcnQueCA9IHJlY3QueCgpOworICAgIHN0YXJ0LnkgPSByZWN0Lnko
KSArIHJlY3QuaGVpZ2h0KCkgLSAxOworCisgICAgcmFuZ2UgPSBSYW5nZTo6Y3JlYXRlKHNlbGVj
dGVkUmFuZ2UtPmVuZENvbnRhaW5lcigpLT5kb2N1bWVudCgpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxlY3RlZFJhbmdlLT5lbmRDb250YWluZXIoKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZWN0ZWRSYW5nZS0+ZW5kT2Zmc2V0KCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGVjdGVkUmFuZ2UtPmVuZENvbnRhaW5lcigpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxlY3RlZFJhbmdlLT5lbmRPZmZzZXQoKSk7CisKKyAgICByZWN0ID0gZnJhbWUt
PmVkaXRvcigpLT5maXJzdFJlY3RGb3JSYW5nZShyYW5nZS5nZXQoKSk7CisgICAgZW5kLnggPSBy
ZWN0LngoKSArIHJlY3Qud2lkdGgoKSAtIDE7CisgICAgZW5kLnkgPSByZWN0LnkoKSArIHJlY3Qu
aGVpZ2h0KCkgLSAxOworCisgICAgc3RhcnQgPSBmcmFtZS0+dmlldygpLT5jb250ZW50c1RvV2lu
ZG93KHN0YXJ0KTsKKyAgICBlbmQgPSBmcmFtZS0+dmlldygpLT5jb250ZW50c1RvV2luZG93KGVu
ZCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgV2ViVmlld0ltcGw6OnNldFRleHREaXJl
Y3Rpb24oV2ViVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24pCiB7CiAgICAgLy8gVGhlIEVkaXRvcjo6
c2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24oKSBmdW5jdGlvbiBjaGVja3MgaWYgd2UgY2FuIGNoYW5n
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggNjZiMjkwODFi
YzQwNzZmZTcyNTBiMWVjNmJkZTYzM2ZjNTY3N2QyMi4uMDYwMjdlYWFjNDNkMTQwMzJlMzAwMGM4
ZmI1ODJmNjJkMWRmZDgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5oCkBAIC0xMDksNiArMTA5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBjb25maXJt
Q29tcG9zaXRpb24oY29uc3QgV2ViU3RyaW5nJiB0ZXh0KTsKICAgICB2aXJ0dWFsIFdlYlRleHRJ
bnB1dFR5cGUgdGV4dElucHV0VHlwZSgpOwogICAgIHZpcnR1YWwgV2ViUmVjdCBjYXJldE9yU2Vs
ZWN0aW9uQm91bmRzKCk7CisgICAgdmlydHVhbCBib29sIHNlbGVjdGlvblJhbmdlKFdlYlBvaW50
JiBzdGFydCwgV2ViUG9pbnQmIGVuZCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFRleHRE
aXJlY3Rpb24oV2ViVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24pOwogICAgIHZpcnR1YWwgYm9vbCBp
c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Qb3B1cE1lbnVUZXN0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvUG9wdXBNZW51VGVzdC5jcHAKaW5kZXggOGM1M2ZmY2E3ZjkxZDQx
MGU4MWUwMTNiMzk5MzNmMDU2ZGRmNTQ2ZC4uNWExODcwOGQ3MjE2ZjIzMWM4ZmVkZTE2NmIyMzU5
MGM5YjlkYzk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Qb3B1
cE1lbnVUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1BvcHVwTWVu
dVRlc3QuY3BwCkBAIC0xNDIsNiArMTQyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBj
b25maXJtQ29tcG9zaXRpb24oY29uc3QgV2ViU3RyaW5nJiB0ZXh0KSB7IHJldHVybiB0cnVlOyB9
CiAgICAgdmlydHVhbCBXZWJUZXh0SW5wdXRUeXBlIHRleHRJbnB1dFR5cGUoKSB7IHJldHVybiBX
ZWJLaXQ6OldlYlRleHRJbnB1dFR5cGVOb25lOyB9CiAgICAgdmlydHVhbCBXZWJSZWN0IGNhcmV0
T3JTZWxlY3Rpb25Cb3VuZHMoKSB7IHJldHVybiBXZWJSZWN0KCk7IH0KKyAgICB2aXJ0dWFsIGJv
b2wgc2VsZWN0aW9uUmFuZ2UoV2ViUG9pbnQmIHN0YXJ0LCBXZWJQb2ludCYgZW5kKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0RGlyZWN0aW9uKFdlYlRl
eHREaXJlY3Rpb24pIHsgfQogfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>