<?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>45898</bug_id>
          
          <creation_ts>2010-09-16 09:29:33 -0700</creation_ts>
          <short_desc>editing/selection/context-menu-on-text.html fails on chromium</short_desc>
          <delta_ts>2010-11-14 17:18:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>
          
          <blocked>49366</blocked>
    
    <blocked>49367</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="John Gregg">johnnyg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>bulach</cc>
    
    <cc>eric</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>280143</commentid>
    <comment_count>0</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-09-16 09:29:33 -0700</bug_when>
    <thetext>new test added in http://trac.webkit.org/changeset/67626/ fails on chromium, being skipped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280162</commentid>
    <comment_count>1</comment_count>
      <attachid>67810</attachid>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-09-16 09:55:48 -0700</bug_when>
    <thetext>Created attachment 67810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280169</commentid>
    <comment_count>2</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-09-16 10:05:00 -0700</bug_when>
    <thetext>Committed r67632: &lt;http://trac.webkit.org/changeset/67632&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280170</commentid>
    <comment_count>3</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-09-16 10:05:40 -0700</bug_when>
    <thetext>Patch landed was just test expectations.  Bug still exists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280195</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-16 10:35:13 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67632 might have broken GTK Linux 32-bit Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307760</commentid>
    <comment_count>5</comment_count>
      <attachid>73585</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-11 00:23:42 -0800</bug_when>
    <thetext>Created attachment 73585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307764</commentid>
    <comment_count>6</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-11 00:29:31 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created an attachment (id=73585) [details]
&gt; Patch

The patch doesn&apos;t care about spellchecking.
I filed Bug 49366 for that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308330</commentid>
    <comment_count>7</comment_count>
      <attachid>73585</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-11 19:38:51 -0800</bug_when>
    <thetext>Comment on attachment 73585
Patch

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

&gt; WebKit/chromium/src/WebBindings.cpp:330
&gt; +    for (size_t i = 0; i &lt; data.size(); i++)

nit: we prefer ++i

&gt; WebKitTools/DumpRenderTree/chromium/EventSender.cpp:741
&gt; +    // These constant is based on Safari&apos;s context menu because tests are made for it.

&quot;These constants are&quot;?

&gt; WebKitTools/DumpRenderTree/chromium/EventSender.cpp:770
&gt; +    // Clears last context menu data because
&gt; +    // we need to know if the context menu be requested after following mouse events.

Line breaking between &quot;because&quot; and &quot;we&quot; looks curious.  The first line is not so long and it can contain more words.

&gt; WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp:449
&gt; +    OwnPtr&lt;WebContextMenuData&gt; given(new WebContextMenuData(contextMenuData));
&gt; +    m_lastContextMenuData.swap(given);

Why not m_lastContextMenuData = adoptPtr(new WebContextmenuData(contextMenuData)) ?

&gt; WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp:455
&gt; +    OwnPtr&lt;WebContextMenuData&gt; empty;
&gt; +    m_lastContextMenuData.swap(empty);

Why not m_lastContextMenuData.clear()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308338</commentid>
    <comment_count>8</comment_count>
      <attachid>73694</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-11 20:07:30 -0800</bug_when>
    <thetext>Created attachment 73694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308339</commentid>
    <comment_count>9</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-11 20:09:39 -0800</bug_when>
    <thetext>Hi Kent-san, thank you for reviewing!
I updated the patch to address your feedback.

&gt; &gt; WebKit/chromium/src/WebBindings.cpp:330
&gt; &gt; +    for (size_t i = 0; i &lt; data.size(); i++)
&gt; 
&gt; nit: we prefer ++i
Fixed.

&gt; 
&gt; &gt; WebKitTools/DumpRenderTree/chromium/EventSender.cpp:741
&gt; &gt; +    // These constant is based on Safari&apos;s context menu because tests are made for it.
&gt; 
&gt; &quot;These constants are&quot;?
Fixed.

&gt; 
&gt; &gt; WebKitTools/DumpRenderTree/chromium/EventSender.cpp:770
&gt; &gt; +    // Clears last context menu data because
&gt; &gt; +    // we need to know if the context menu be requested after following mouse events.
&gt; 
&gt; Line breaking between &quot;because&quot; and &quot;we&quot; looks curious.  The first line is not so long and it can contain more words.
Fixed.

&gt; 
&gt; &gt; WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp:449
&gt; &gt; +    OwnPtr&lt;WebContextMenuData&gt; given(new WebContextMenuData(contextMenuData));
&gt; &gt; +    m_lastContextMenuData.swap(given);
&gt; 
&gt; Why not m_lastContextMenuData = adoptPtr(new WebContextmenuData(contextMenuData)) ?
Rewrote to use adoptPtr(). Thank you for telling this.

&gt; 
&gt; &gt; WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp:455
&gt; &gt; +    OwnPtr&lt;WebContextMenuData&gt; empty;
&gt; &gt; +    m_lastContextMenuData.swap(empty);
&gt; 
&gt; Why not m_lastContextMenuData.clear()?
Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308342</commentid>
    <comment_count>10</comment_count>
      <attachid>73694</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-11 20:16:27 -0800</bug_when>
    <thetext>Comment on attachment 73694
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308370</commentid>
    <comment_count>11</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-11 22:02:21 -0800</bug_when>
    <thetext>Committed r71886: &lt;http://trac.webkit.org/changeset/71886&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308384</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-11 22:31:50 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/71886 might have broken Chromium Win Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308466</commentid>
    <comment_count>13</comment_count>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-11-12 03:00:30 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; http://trac.webkit.org/changeset/71886 might have broken Chromium Win Release

We need to make a similar change to fix test_shell.
I&apos;ve temporarily disabled this test again, see more details:
https://bugs.webkit.org/show_bug.cgi?id=45898</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308467</commentid>
    <comment_count>14</comment_count>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-11-12 03:01:02 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; http://trac.webkit.org/changeset/71886 might have broken Chromium Win Release
&gt; 
&gt; We need to make a similar change to fix test_shell.
&gt; I&apos;ve temporarily disabled this test again, see more details:
&gt; https://bugs.webkit.org/show_bug.cgi?id=45898

Sorry, this is the correct bug:
https://bugs.webkit.org/show_bug.cgi?id=49436</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309142</commentid>
    <comment_count>15</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-14 17:18:50 -0800</bug_when>
    <thetext>Hi Bulach, thank you for file them!
I have one more upcoming DRT change.
So I&apos;ll port them to test_shell after land next one. 

(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; (In reply to comment #12)
&gt; &gt; &gt; http://trac.webkit.org/changeset/71886 might have broken Chromium Win Release
&gt; &gt; 
&gt; &gt; We need to make a similar change to fix test_shell.
&gt; &gt; I&apos;ve temporarily disabled this test again, see more details:
&gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=45898
&gt; 
&gt; Sorry, this is the correct bug:
&gt; https://bugs.webkit.org/show_bug.cgi?id=49436</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67810</attachid>
            <date>2010-09-16 09:55:48 -0700</date>
            <delta_ts>2010-11-11 00:23:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45898-20100916095547.patch</filename>
            <type>text/plain</type>
            <size>1112</size>
            <attacher name="John Gregg">johnnyg</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY3NjMxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTAtMDktMTYgIEpvaG4gR3JlZ2cgIDxqb2hu
bnlnQGdvb2dsZS5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZDsgY2hyb21pdW0gdGVzdCBleHBl
Y3RhdGlvbnMuCisKKyAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LW9uLXRl
eHQuaHRtbCBmYWlscyBvbiBjaHJvbWl1bQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDU4OTgKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dDoKKwogMjAxMC0wOS0xNSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBu
b3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dAkocmV2aXNpb24gNjc2MjgpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMxMjIsMyArMzEy
Miw1IEBAIEJVR0RQUkFOS0UgTElOVVggREVCVUcgOiBodHRwL3Rlc3RzL2luY3IKIEJVR0RQUkFO
S0UgTElOVVggREVCVUcgOiBmYXN0L2Zvcm1zL3Jlc3RvcmUtc2VsZWN0aW9uLWFmdGVyLWxheW91
dC5odG1sID0gVEVYVAogCiBCVUdEUFJBTktFIFdJTiBMSU5VWCA6IG1lZGlhL3ZpZGVvLXBvc3Rl
ci5odG1sID0gUEFTUyBURVhUCisKK0JVR1dLNDU4OTggOiBlZGl0aW5nL3NlbGVjdGlvbi9jb250
ZXh0LW1lbnUtb24tdGV4dC5odG1sID0gVEVYVAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73585</attachid>
            <date>2010-11-11 00:23:42 -0800</date>
            <delta_ts>2010-11-11 20:07:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45898-20101111172339.patch</filename>
            <type>text/plain</type>
            <size>11101</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMDFhNDQ2OGE2MDZkYWExYWQwYTIyYTUxMTQ3MmU5NzNkMGY3ZjNjLi4yNzc1ZjY3
MTgxNDJkOWZmMDhkMWJiNzY1MzM1ZTkyNzMxNWE3ZDY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTAtMTEtMTEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgZWRpdGluZy9zZWxlY3Rp
b24vY29udGV4dC1tZW51LW9uLXRleHQuaHRtbCBmYWlscyBvbiBjaHJvbWl1bQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU4OTgKKworICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDogVW5za2lwcGVkIGNvbnRl
eHQtbWVudS1vbi10ZXh0Lmh0bWwKKwogMjAxMC0xMS0xMCAgTWloYWkgUGFycGFyaXRhICA8bWlo
YWlwQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIENocm9taXVtIHJlYmFzZWxp
bmVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0CmluZGV4IDQ0NGM2OTY4Mzc4ZjE2Njg1OTA4NzM5YmIxZTZiMGNiNDE4M2Y2Nzgu
LmZjNjgxZWE0YjgwYzgwOGZjNWJkZjIwY2I5OGQ5NWMyYjgwNmM2NGMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTY5
Niw3ICs2OTYsNiBAQCBCVUczODY1MyBNQUMgOiBlZGl0aW5nL3NlbGVjdGlvbi9maW5kLXllbnNp
Z24tYW5kLWJhY2tzbGFzaC5odG1sID0gVEVYVAogQlVHV0szOTEwNSA6IGVkaXRpbmcvc3BlbGxp
bmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgPSBURVhUCiAKIEJVR1dLNDU0MzggOiBl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWJhY2tzcGFjZS1iZXR3ZWVuLWxpbmVzLmh0bWwgPSBU
RVhUCi1CVUdXSzQ1ODk4IDogZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LW9uLXRleHQu
aHRtbCA9IFRFWFQKIAogLy8gU2VsZWN0aW9uIGlzIHdyb25nLgogQlVHMTAyOTIgTUFDIDogZWRp
dGluZy9zZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgPSBGQUlMCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA3YzQ2
MmVhMzc1ZmM5MmQwYjE1YTkyNDg1YTNmODg3ZDAyMTM1N2M2Li5lMGJhOGYyZmNjNWQyNGVmOGRj
ZDNlNTFiNWJlODBmNWNmZDhiMDE3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
MC0xMS0xMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9j
b250ZXh0LW1lbnUtb24tdGV4dC5odG1sIGZhaWxzIG9uIGNocm9taXVtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTg5OAorCisgICAgICAgIEFkZGVk
IG1ha2VTdHJpbmdBcnJheSgpLCB0aGF0IGlzIHVzZWQgYnkgRHVtcFJlbmRlclRyZWUuCisgICAg
ICAgIAorICAgICAgICAqIHB1YmxpYy9XZWJCaW5kaW5ncy5oOgorICAgICAgICAqIHNyYy9XZWJC
aW5kaW5ncy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1ha2VTdHJpbmdBcnJheUltcGwpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6Om1ha2VTdHJpbmdBcnJheSk6IEFkZGVk
LgorCiAyMDEwLTExLTEwICBFdmFuIFN0YWRlICA8ZXN0YWRlQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJCaW5kaW5ncy5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJCaW5kaW5n
cy5oCmluZGV4IDE0N2NlNDUwNjM0MDhhNDEwYWJlN2JmODI1YmJkNTAxZDAyMTQ1MmEuLmNiMzM3
ODFmMTFkZWE0MmYwMjBiN2JlNDQ4YWY2ZjBjNTMwM2EzNjAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQmluZGluZ3MuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkJpbmRpbmdzLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNkZWZpbmUgV2ViQmluZGluZ3NfaAog
CiAjaW5jbHVkZSAiV2ViQ29tbW9uLmgiCisjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiV2ViVmVjdG9yLmgiCiAjaW5jbHVkZSA8YmluZGluZ3MvbnBydW50aW1lLmg+CiAKQEAgLTE0
Niw2ICsxNDcsNyBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0FQSSBzdGF0aWMgYm9vbCBnZXRFbGVt
ZW50KE5QT2JqZWN0KiBlbGVtZW50LCBXZWJFbGVtZW50Kik7CiAKICAgICBXRUJLSVRfQVBJIHN0
YXRpYyBOUE9iamVjdCogbWFrZUludEFycmF5KGNvbnN0IFdlYlZlY3RvcjxpbnQ+Jik7CisgICAg
V0VCS0lUX0FQSSBzdGF0aWMgTlBPYmplY3QqIG1ha2VTdHJpbmdBcnJheShjb25zdCBXZWJWZWN0
b3I8V2ViU3RyaW5nPiYpOwogCiAgICAgLy8gRXhjZXB0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQmluZGluZ3MuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJCaW5kaW5ncy5jcHAKaW5kZXggYzI1YzMxYjQwZWNhZDE5NjEyNGZlMTIxOTVkODNhNzQ5
OWY2MTFiMy4uYWU1ZTY0OTM5NmQzNzc4NDk0MjFhYjI4YWEyN2EwZmI1Nzg3ZWE4MiAxMDA2NDQK
LS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJCaW5kaW5ncy5jcHAKKysrIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJCaW5kaW5ncy5jcHAKQEAgLTMyMyw2ICszMjMsMTcgQEAgc3RhdGljIE5Q
T2JqZWN0KiBtYWtlSW50QXJyYXlJbXBsKGNvbnN0IFdlYlZlY3RvcjxpbnQ+JiBkYXRhKQogICAg
IHJldHVybiBucENyZWF0ZVY4U2NyaXB0T2JqZWN0KDAsIHJlc3VsdCwgd2luZG93KTsKIH0KIAor
c3RhdGljIE5QT2JqZWN0KiBtYWtlU3RyaW5nQXJyYXlJbXBsKGNvbnN0IFdlYlZlY3RvcjxXZWJT
dHJpbmc+JiBkYXRhKQoreworICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKKyAgICB2
ODo6SGFuZGxlPHY4OjpBcnJheT4gcmVzdWx0ID0gdjg6OkFycmF5OjpOZXcoZGF0YS5zaXplKCkp
OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZGF0YS5zaXplKCk7IGkrKykKKyAgICAgICAg
cmVzdWx0LT5TZXQoaSwgZGF0YVtpXS5kYXRhKCkgPyB2ODo6U3RyaW5nOjpOZXcoZGF0YVtpXS5k
YXRhKCkpIDogdjg6OlN0cmluZzo6TmV3KCIiKSk7CisKKyAgICBXZWJDb3JlOjpET01XaW5kb3cq
IHdpbmRvdyA9IFdlYkNvcmU6OlY4UHJveHk6OnJldHJpZXZlV2luZG93KFdlYkNvcmU6OlY4UHJv
eHk6OmN1cnJlbnRDb250ZXh0KCkpOworICAgIHJldHVybiBucENyZWF0ZVY4U2NyaXB0T2JqZWN0
KDAsIHJlc3VsdCwgd2luZG93KTsKK30KKwogI2VuZGlmCiAKIGJvb2wgV2ViQmluZGluZ3M6Omdl
dERyYWdEYXRhKE5QT2JqZWN0KiBldmVudCwgaW50KiBldmVudElkLCBXZWJEcmFnRGF0YSogZGF0
YSkKQEAgLTM3MSw2ICszODIsMTYgQEAgTlBPYmplY3QqIFdlYkJpbmRpbmdzOjptYWtlSW50QXJy
YXkoY29uc3QgV2ViVmVjdG9yPGludD4gJiBkYXRhKQogI2VuZGlmCiB9CiAKK05QT2JqZWN0KiBX
ZWJCaW5kaW5nczo6bWFrZVN0cmluZ0FycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBk
YXRhKQoreworI2lmIFVTRShWOCkKKyAgICByZXR1cm4gbWFrZVN0cmluZ0FycmF5SW1wbChkYXRh
KTsKKyNlbHNlCisgICAgLy8gTm90IHN1cHBvcnRlZCBvbiBvdGhlciBwb3J0cyAoSlNDLCBldGMu
KS4KKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCiB2b2lkIFdlYkJpbmRpbmdzOjpwdXNoRXhj
ZXB0aW9uSGFuZGxlcihFeGNlcHRpb25IYW5kbGVyIGhhbmRsZXIsIHZvaWQqIGRhdGEpCiB7CiAg
ICAgV2ViQ29yZTo6cHVzaEV4Y2VwdGlvbkhhbmRsZXIoaGFuZGxlciwgZGF0YSk7CmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXgg
NWY2OWU4NTMzODVmYzJiNmI5NDBjZWEzMjYzNDU4YjIxNDg4MWYwOC4uY2UwNzA5MzA4ZmQwMmY4
YzI2MzdmYzU2NTY2OTc0Yjg3MWY2OWVkNiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEwLTEx
LTExICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRl
eHQtbWVudS1vbi10ZXh0Lmh0bWwgZmFpbHMgb24gY2hyb21pdW0KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1ODk4CisKKyAgICAgICAgRW5oYW5jZSBD
aHJvbWl1bSdzIEV2ZW50U2VuZGVyOjpjb250ZXh0Q2xpY2soKSB0byByZXR1cm4KKyAgICAgICAg
YXJyYXkgb2YgbWVudSBzdHJpbmdzLiBUaGUgaW1wbGVtZW50YXRpb24gaW5jb21wbGV0ZSBiZWNh
dXNlCisgICAgICAgIEFsdGhvdWdoIGFjdHVhbCBjb250ZXh0IG1lbnUgaXMgaW1wbGVtZW50ZWQg
YnkgdGhlIGJyb3dzZXIsCisgICAgICAgIGl0IHJlZmxlY3RzIGVkaXRhYmlsaXR5IG9mIHVuZGVy
bHlpbmcgY29udGV4dCB0aHVzIG1ha2VzCisgICAgICAgIGNvbnRleHQtbWVudS1vbi10ZXh0Lmh0
bWwgcGFzc2VkLgorICAgICAgICAKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9F
dmVudFNlbmRlci5jcHA6CisgICAgICAgIChtYWtlTWVudUl0ZW1TdHJpbmdzRm9yKTogQWRkZWQu
CisgICAgICAgIChFdmVudFNlbmRlcjo6Y29udGV4dENsaWNrKTogTm93IHJldHVybnMgYXJyYXkg
b2YgbWVudSBzdHJpbmdzLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmNwcDoKKyAgICAgICAgKFdlYlZpZXdIb3N0OjpzaG93Q29udGV4dE1lbnUpOiBOb3cg
c3RvcmluZyBnaXZlbiBXZWJDb250ZXh0TWVudURhdGEgb2JqZWN0LgorICAgICAgICAoV2ViVmll
d0hvc3Q6OmNsZWFyQ29udGV4dE1lbnVEYXRhKTogQWRkZWQuCisgICAgICAgIChXZWJWaWV3SG9z
dDo6bGFzdENvbnRleHRNZW51RGF0YSk6IEFkZGVkLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisKIDIwMTAtMTEtMTAgIENzYWJhIE9zenRyb2dvbsOh
YyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4K
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2Vu
ZGVyLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVy
LmNwcAppbmRleCBlYzE2Y2Y3YThjMzIwN2E5MWRlN2VjYmFjYTQ0YmRiNTFiZTUwM2JlLi45ZmVi
Y2E2ODBiMzM0ZGQ5ZDVkZDMyMTE4OWRlYWNlNmRkODgwMzlkIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHAKKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuY3BwCkBAIC00NCw2ICs0
NCw3IEBACiAjaW5jbHVkZSAiRXZlbnRTZW5kZXIuaCIKIAogI2luY2x1ZGUgIlRlc3RTaGVsbC5o
IgorI2luY2x1ZGUgIldlYkNvbnRleHRNZW51RGF0YS5oIgogI2luY2x1ZGUgIldlYkRyYWdEYXRh
LmgiCiAjaW5jbHVkZSAiV2ViRHJhZ09wZXJhdGlvbi5oIgogI2luY2x1ZGUgIldlYlBvaW50Lmgi
CkBAIC03MjgsMTYgKzcyOSw0OCBAQCB2b2lkIEV2ZW50U2VuZGVyOjpyZXBsYXlTYXZlZEV2ZW50
cygpCiAgICAgcmVwbGF5aW5nU2F2ZWRFdmVudHMgPSBmYWxzZTsKIH0KIAotdm9pZCBFdmVudFNl
bmRlcjo6Y29udGV4dENsaWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBW
YXJpYW50KiByZXN1bHQpCisvLyBCZWNhdXNlIGFjdHVhbCBjb250ZXh0IG1lbnUgaXMgaW1wbGVt
ZW50ZWQgYnkgdGhlIGJyb3dzZXIgc2lkZSwgCisvLyB0aGlzIGZ1bmN0aW9uIGRvZXMgb25seSB3
aGF0IExheW91dFRlc3RzIGFyZSBleHBlY3Rpbmc6CisvLyAtIE1hbnkgdGVzdCBjaGVja3MgdGhl
IGNvdW50IG9mIGl0ZW1zLiBTbyByZXR1cm5pbmcgbm9uLXplcm8gdmFsdWUgbWFrZXMgc2Vuc2Uu
CisvLyAtIFNvbWUgdGVzdCBjb21wYXJlcyB0aGUgY291bnQgYmVmb3JlIGFuZCBhZnRlciBzb21l
IGFjdGlvbi4gU28gY2hhbmdpbmcgdGhlIGNvdW50IGJhc2VkIG9uIGZsYWdzCisvLyAgIGFsc28g
bWFrZXMgc2Vuc2UuIFRoaXMgZnVuY3Rpb24gaXMgZG9pbmcgc3VjaCBmb3Igc29tZSBmbGFncy4K
Ky8vIC0gU29tZSB0ZXN0IGV2ZW4gY2hlY2tzIGFjdHVhbCBzdHJpbmcgY29udGVudC4gU28gcHJv
dmlkaW5nIGl0IHdvdWxkIGJlIGFsc28gaGVscGZ1bC4KKy8vCitzdGF0aWMgVmVjdG9yPFdlYlN0
cmluZz4gbWFrZU1lbnVJdGVtU3RyaW5nc0ZvcihXZWJDb250ZXh0TWVudURhdGEqIGNvbnRleHRN
ZW51KQogewotICAgIHJlc3VsdC0+c2V0TnVsbCgpOworICAgIC8vIFRoZXNlIGNvbnN0YW50IGlz
IGJhc2VkIG9uIFNhZmFyaSdzIGNvbnRleHQgbWVudSBiZWNhdXNlIHRlc3RzIGFyZSBtYWRlIGZv
ciBpdC4KKyAgICBzdGF0aWMgY29uc3QgY2hhciogbm9uRWRpdGFibGVNZW51U3RyaW5nc1tdID0g
eyAiQmFjayIsICJSZWxvYWQgUGFnZSIsICJPcGVuIGluIERhc2hiYW9yZCIsICI8c2VwYXJhdG9y
PiIsICJWaWV3IFNvdXJjZSIsICJTYXZlIFBhZ2UgQXMiLCAiUHJpbnQgUGFnZSIsICJJbnNwZWN0
IEVsZW1lbnQiLCAwIH07CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIGVkaXRhYmxlTWVudVN0cmlu
Z3NbXSA9IHsgIkN1dCIsICJDb3B5IiwgIjxzZXBhcmF0b3I+IiwgIlBhc3RlIiwgIlNwZWxsaW5n
IGFuZCBHcmFtbWFyIiwgIlN1YnN0aXR1dGlvbnMsIFRyYW5zZm9ybWF0aW9ucyIsICJGb250Iiwg
IlNwZWVjaCIsICJQYXJhZ3JhcGggRGlyZWN0aW9uIiwgIjxzZXBhcmF0b3I+IiwgMCB9OworCisg
ICAgLy8gVGhpcyBpcyBwb3NzaWJsZSBiZWNhdXNlIG1vdXNlIGV2ZW50cyBhcmUgY2FuY2VsbGVh
YmxlLgorICAgIGlmICghY29udGV4dE1lbnUpCisgICAgICAgIHJldHVybiBWZWN0b3I8V2ViU3Ry
aW5nPigpOworCisgICAgVmVjdG9yPFdlYlN0cmluZz4gc3RyaW5nczsKKworICAgIGlmIChjb250
ZXh0TWVudS0+aXNFZGl0YWJsZSkgeworICAgICAgICBmb3IgKGNvbnN0IGNoYXIqKiBpdGVtID0g
ZWRpdGFibGVNZW51U3RyaW5nczsgKml0ZW07ICsraXRlbSkgCisgICAgICAgICAgICBzdHJpbmdz
LmFwcGVuZChXZWJTdHJpbmc6OmZyb21VVEY4KCppdGVtKSk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgZm9yIChjb25zdCBjaGFyKiogaXRlbSA9IG5vbkVkaXRhYmxlTWVudVN0cmluZ3M7ICppdGVt
OyArK2l0ZW0pIAorICAgICAgICAgICAgc3RyaW5ncy5hcHBlbmQoV2ViU3RyaW5nOjpmcm9tVVRG
OCgqaXRlbSkpOworICAgIH0KIAorICAgIHJldHVybiBzdHJpbmdzOworfQorCisKK3ZvaWQgRXZl
bnRTZW5kZXI6OmNvbnRleHRDbGljayhjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywg
Q3BwVmFyaWFudCogcmVzdWx0KQorewogICAgIHdlYnZpZXcoKS0+bGF5b3V0KCk7CiAKICAgICB1
cGRhdGVDbGlja0NvdW50Rm9yQnV0dG9uKFdlYk1vdXNlRXZlbnQ6OkJ1dHRvblJpZ2h0KTsKIAot
ICAgIC8vIEdlbmVyYXRlIHJpZ2h0IG1vdXNlIGRvd24gYW5kIHVwLgorICAgIC8vIENsZWFycyBs
YXN0IGNvbnRleHQgbWVudSBkYXRhIGJlY2F1c2UKKyAgICAvLyB3ZSBuZWVkIHRvIGtub3cgaWYg
dGhlIGNvbnRleHQgbWVudSBiZSByZXF1ZXN0ZWQgYWZ0ZXIgZm9sbG93aW5nIG1vdXNlIGV2ZW50
cy4KKyAgICBtX3NoZWxsLT53ZWJWaWV3SG9zdCgpLT5jbGVhckNvbnRleHRNZW51RGF0YSgpOwog
CisgICAgLy8gR2VuZXJhdGUgcmlnaHQgbW91c2UgZG93biBhbmQgdXAuCiAgICAgV2ViTW91c2VF
dmVudCBldmVudDsKICAgICBwcmVzc2VkQnV0dG9uID0gV2ViTW91c2VFdmVudDo6QnV0dG9uUmln
aHQ7CiAgICAgaW5pdE1vdXNlRXZlbnQoV2ViSW5wdXRFdmVudDo6TW91c2VEb3duLCBXZWJNb3Vz
ZUV2ZW50OjpCdXR0b25SaWdodCwgbGFzdE1vdXNlUG9zLCAmZXZlbnQpOwpAQCAtNzQ3LDYgKzc4
MCw5IEBAIHZvaWQgRXZlbnRTZW5kZXI6OmNvbnRleHRDbGljayhjb25zdCBDcHBBcmd1bWVudExp
c3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzCiAgICAgd2VidmlldygpLT5oYW5kbGVJbnB1
dEV2ZW50KGV2ZW50KTsKIAogICAgIHByZXNzZWRCdXR0b24gPSBXZWJNb3VzZUV2ZW50OjpCdXR0
b25Ob25lOworCisgICAgV2ViQ29udGV4dE1lbnVEYXRhKiBsYXN0Q29udGV4dE1lbnUgPSBtX3No
ZWxsLT53ZWJWaWV3SG9zdCgpLT5sYXN0Q29udGV4dE1lbnVEYXRhKCk7CisgICAgcmVzdWx0LT5z
ZXQoV2ViQmluZGluZ3M6Om1ha2VTdHJpbmdBcnJheShtYWtlTWVudUl0ZW1TdHJpbmdzRm9yKGxh
c3RDb250ZXh0TWVudSkpKTsKIH0KIAogY2xhc3MgTW91c2VEb3duVGFzazogcHVibGljIE1ldGhv
ZFRhc2s8RXZlbnRTZW5kZXI+IHsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAppbmRleCA2YzBiZDdkNTFiNGUwODE2MmMwNzM2YTJh
MjliYzJjZDVlMTc2MWI4Li43ZWMxZTU1MGQxMjY1MWIwYmM2M2VjYjYxMmUwODZjYzhlYmQ5MDQy
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3
SG9zdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwCkBAIC00NDMsMTAgKzQ0MywyMiBAQCBib29sIFdlYlZpZXdIb3N0OjpydW5Nb2Rh
bEJlZm9yZVVubG9hZERpYWxvZyhXZWJGcmFtZSosIGNvbnN0IFdlYlN0cmluZyYpCiAgICAgcmV0
dXJuIHRydWU7IC8vIEFsbG93IHdpbmRvdyBjbG9zdXJlLgogfQogCi12b2lkIFdlYlZpZXdIb3N0
OjpzaG93Q29udGV4dE1lbnUoV2ViRnJhbWUqLCBjb25zdCBXZWJDb250ZXh0TWVudURhdGEmKQor
dm9pZCBXZWJWaWV3SG9zdDo6c2hvd0NvbnRleHRNZW51KFdlYkZyYW1lKiwgY29uc3QgV2ViQ29u
dGV4dE1lbnVEYXRhJiBjb250ZXh0TWVudURhdGEpCiB7CisgICAgT3duUHRyPFdlYkNvbnRleHRN
ZW51RGF0YT4gZ2l2ZW4obmV3IFdlYkNvbnRleHRNZW51RGF0YShjb250ZXh0TWVudURhdGEpKTsK
KyAgICBtX2xhc3RDb250ZXh0TWVudURhdGEuc3dhcChnaXZlbik7CiB9CiAKK3ZvaWQgV2ViVmll
d0hvc3Q6OmNsZWFyQ29udGV4dE1lbnVEYXRhKCkKK3sKKyAgICBPd25QdHI8V2ViQ29udGV4dE1l
bnVEYXRhPiBlbXB0eTsKKyAgICBtX2xhc3RDb250ZXh0TWVudURhdGEuc3dhcChlbXB0eSk7Cit9
CisKK1dlYkNvbnRleHRNZW51RGF0YSogV2ViVmlld0hvc3Q6Omxhc3RDb250ZXh0TWVudURhdGEo
KSBjb25zdAoreworICAgIHJldHVybiBtX2xhc3RDb250ZXh0TWVudURhdGEuZ2V0KCk7Cit9CiAK
IHZvaWQgV2ViVmlld0hvc3Q6OnNldFN0YXR1c1RleHQoY29uc3QgV2ViU3RyaW5nJiB0ZXh0KQog
ewpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmgKaW5kZXggZjIxZTY2MzdmYTVmY2IwNTYxOGIyMzc1MDc3MjQyYWQ0NjUzY2ZhMy4uMGUxMjk3
ODBjYWVhNDhkYTliY2I5MzgwNWExNjNhOTg4MDM4ZTk4MiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCkBAIC05MCw2ICs5MCw5IEBA
IGNsYXNzIFdlYlZpZXdIb3N0IDogcHVibGljIFdlYktpdDo6V2ViVmlld0NsaWVudCwgcHVibGlj
IFdlYktpdDo6V2ViRnJhbWVDbGllbnQsCiAgICAgdm9pZCBhZGRDbGVhckhlYWRlcihjb25zdCBX
VEY6OlN0cmluZyYgaGVhZGVyKSB7IG1fY2xlYXJIZWFkZXJzLmFkZChoZWFkZXIpOyB9CiAgICAg
Y29uc3QgSGFzaFNldDxXVEY6OlN0cmluZz4mIGNsZWFySGVhZGVycygpIGNvbnN0IHsgcmV0dXJu
IG1fY2xlYXJIZWFkZXJzOyB9CiAKKyAgICBXZWJLaXQ6OldlYkNvbnRleHRNZW51RGF0YSogbGFz
dENvbnRleHRNZW51RGF0YSgpIGNvbnN0OworICAgIHZvaWQgY2xlYXJDb250ZXh0TWVudURhdGEo
KTsKKwogICAgIC8vIE5hdmlnYXRpb25Ib3N0CiAgICAgdmlydHVhbCBib29sIG5hdmlnYXRlKGNv
bnN0IFRlc3ROYXZpZ2F0aW9uRW50cnkmLCBib29sIHJlbG9hZCk7CiAKQEAgLTI5NCw2ICsyOTcs
OCBAQCBwcml2YXRlOgogICAgIFdlYktpdDo6V2ViUmVjdCBtX3BhaW50UmVjdDsKICAgICBib29s
IG1faXNQYWludGluZzsKIAorICAgIE93blB0cjxXZWJLaXQ6OldlYkNvbnRleHRNZW51RGF0YT4g
bV9sYXN0Q29udGV4dE1lbnVEYXRhOworCiAjaWYgIUVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9D
QVRJT04pCiAgICAgLy8gR2VvbG9jYXRpb24KICAgICBPd25QdHI8V2ViS2l0OjpXZWJHZW9sb2Nh
dGlvblNlcnZpY2VNb2NrPiBtX2dlb2xvY2F0aW9uU2VydmljZU1vY2s7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73694</attachid>
            <date>2010-11-11 20:07:30 -0800</date>
            <delta_ts>2010-11-11 20:16:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45898-20101112130728.patch</filename>
            <type>text/plain</type>
            <size>11014</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmNWIzYmRmZDAyZGI5MDA4NmIyYmJkNmNiNzg1MjBmOTI0MzU3NmI0Li42NTQyNmM0
YzA3NjhjMjQwOTRiZjU3MWE1NDY4ZTc4MmI5NmJlZjM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTAtMTEtMTEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgZWRpdGluZy9zZWxlY3Rp
b24vY29udGV4dC1tZW51LW9uLXRleHQuaHRtbCBmYWlscyBvbiBjaHJvbWl1bQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU4OTgKKworICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDogVW5za2lwcGVkIGNvbnRl
eHQtbWVudS1vbi10ZXh0Lmh0bWwKKwogMjAxMC0xMS0xMSAgSnVsaWUtSmVvbmdldW4tS2ltICA8
aml5dWx1bmFAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CmluZGV4IGM1YmQ2ZDA1OTJlZDQzMTM0N2YxMDMxYTEyMGY2MjRmYjM5ZjQyMTMuLmNmNTFj
MmFlYzE2MWY2Mzk5MzdkZTQxYzViZDJmYWE5YTNhOWM4MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTY5Niw3ICs2
OTYsNiBAQCBCVUczODY1MyBNQUMgOiBlZGl0aW5nL3NlbGVjdGlvbi9maW5kLXllbnNpZ24tYW5k
LWJhY2tzbGFzaC5odG1sID0gVEVYVAogQlVHV0szOTEwNSA6IGVkaXRpbmcvc3BlbGxpbmcvY29u
dGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwgPSBURVhUCiAKIEJVR1dLNDU0MzggOiBlZGl0aW5n
L3NwZWxsaW5nL3NwZWxsaW5nLWJhY2tzcGFjZS1iZXR3ZWVuLWxpbmVzLmh0bWwgPSBURVhUCi1C
VUdXSzQ1ODk4IDogZWRpdGluZy9zZWxlY3Rpb24vY29udGV4dC1tZW51LW9uLXRleHQuaHRtbCA9
IFRFWFQKIAogLy8gU2VsZWN0aW9uIGlzIHdyb25nLgogQlVHMTAyOTIgTUFDIDogZWRpdGluZy9z
ZWxlY3Rpb24vNTM1NDQ1NS0xLmh0bWwgPSBGQUlMCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2MzEwNzQ2OTI2
ZTY3YzJmMTJjMjE4N2Y1NDhlNjYzNTNiNmI5YzU2Li5kZjUzZWEwNDEyMjM4MTc2MWRmOTg4ODc2
M2I1N2I0NmU1NjZjZmZmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0xMS0x
MSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9jb250ZXh0
LW1lbnUtb24tdGV4dC5odG1sIGZhaWxzIG9uIGNocm9taXVtCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTg5OAorCisgICAgICAgIEFkZGVkIG1ha2VT
dHJpbmdBcnJheSgpLCB0aGF0IGlzIHVzZWQgYnkgRHVtcFJlbmRlclRyZWUuCisgICAgICAgIAor
ICAgICAgICAqIHB1YmxpYy9XZWJCaW5kaW5ncy5oOgorICAgICAgICAqIHNyYy9XZWJCaW5kaW5n
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1ha2VTdHJpbmdBcnJheUltcGwpOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6Om1ha2VTdHJpbmdBcnJheSk6IEFkZGVkLgorCiAy
MDEwLTExLTExICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJCaW5kaW5ncy5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJCaW5kaW5ncy5o
CmluZGV4IDE0N2NlNDUwNjM0MDhhNDEwYWJlN2JmODI1YmJkNTAxZDAyMTQ1MmEuLmNiMzM3ODFm
MTFkZWE0MmYwMjBiN2JlNDQ4YWY2ZjBjNTMwM2EzNjAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViQmluZGluZ3MuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkJpbmRpbmdzLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNkZWZpbmUgV2ViQmluZGluZ3NfaAogCiAj
aW5jbHVkZSAiV2ViQ29tbW9uLmgiCisjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAi
V2ViVmVjdG9yLmgiCiAjaW5jbHVkZSA8YmluZGluZ3MvbnBydW50aW1lLmg+CiAKQEAgLTE0Niw2
ICsxNDcsNyBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0FQSSBzdGF0aWMgYm9vbCBnZXRFbGVtZW50
KE5QT2JqZWN0KiBlbGVtZW50LCBXZWJFbGVtZW50Kik7CiAKICAgICBXRUJLSVRfQVBJIHN0YXRp
YyBOUE9iamVjdCogbWFrZUludEFycmF5KGNvbnN0IFdlYlZlY3RvcjxpbnQ+Jik7CisgICAgV0VC
S0lUX0FQSSBzdGF0aWMgTlBPYmplY3QqIG1ha2VTdHJpbmdBcnJheShjb25zdCBXZWJWZWN0b3I8
V2ViU3RyaW5nPiYpOwogCiAgICAgLy8gRXhjZXB0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViQmluZGluZ3MuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJCaW5kaW5ncy5jcHAKaW5kZXggYzI1YzMxYjQwZWNhZDE5NjEyNGZlMTIxOTVkODNhNzQ5OWY2
MTFiMy4uNDM2YmZlYTQyODc4MjVhMGU2ZGI1YTk4NmJjYWZiNzUyYWU1NjdlMSAxMDA2NDQKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJCaW5kaW5ncy5jcHAKKysrIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJCaW5kaW5ncy5jcHAKQEAgLTMyMyw2ICszMjMsMTcgQEAgc3RhdGljIE5QT2Jq
ZWN0KiBtYWtlSW50QXJyYXlJbXBsKGNvbnN0IFdlYlZlY3RvcjxpbnQ+JiBkYXRhKQogICAgIHJl
dHVybiBucENyZWF0ZVY4U2NyaXB0T2JqZWN0KDAsIHJlc3VsdCwgd2luZG93KTsKIH0KIAorc3Rh
dGljIE5QT2JqZWN0KiBtYWtlU3RyaW5nQXJyYXlJbXBsKGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJp
bmc+JiBkYXRhKQoreworICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKKyAgICB2ODo6
SGFuZGxlPHY4OjpBcnJheT4gcmVzdWx0ID0gdjg6OkFycmF5OjpOZXcoZGF0YS5zaXplKCkpOwor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZGF0YS5zaXplKCk7ICsraSkKKyAgICAgICAgcmVz
dWx0LT5TZXQoaSwgZGF0YVtpXS5kYXRhKCkgPyB2ODo6U3RyaW5nOjpOZXcoZGF0YVtpXS5kYXRh
KCkpIDogdjg6OlN0cmluZzo6TmV3KCIiKSk7CisKKyAgICBXZWJDb3JlOjpET01XaW5kb3cqIHdp
bmRvdyA9IFdlYkNvcmU6OlY4UHJveHk6OnJldHJpZXZlV2luZG93KFdlYkNvcmU6OlY4UHJveHk6
OmN1cnJlbnRDb250ZXh0KCkpOworICAgIHJldHVybiBucENyZWF0ZVY4U2NyaXB0T2JqZWN0KDAs
IHJlc3VsdCwgd2luZG93KTsKK30KKwogI2VuZGlmCiAKIGJvb2wgV2ViQmluZGluZ3M6OmdldERy
YWdEYXRhKE5QT2JqZWN0KiBldmVudCwgaW50KiBldmVudElkLCBXZWJEcmFnRGF0YSogZGF0YSkK
QEAgLTM3MSw2ICszODIsMTYgQEAgTlBPYmplY3QqIFdlYkJpbmRpbmdzOjptYWtlSW50QXJyYXko
Y29uc3QgV2ViVmVjdG9yPGludD4gJiBkYXRhKQogI2VuZGlmCiB9CiAKK05QT2JqZWN0KiBXZWJC
aW5kaW5nczo6bWFrZVN0cmluZ0FycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBkYXRh
KQoreworI2lmIFVTRShWOCkKKyAgICByZXR1cm4gbWFrZVN0cmluZ0FycmF5SW1wbChkYXRhKTsK
KyNlbHNlCisgICAgLy8gTm90IHN1cHBvcnRlZCBvbiBvdGhlciBwb3J0cyAoSlNDLCBldGMuKS4K
KyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCiB2b2lkIFdlYkJpbmRpbmdzOjpwdXNoRXhjZXB0
aW9uSGFuZGxlcihFeGNlcHRpb25IYW5kbGVyIGhhbmRsZXIsIHZvaWQqIGRhdGEpCiB7CiAgICAg
V2ViQ29yZTo6cHVzaEV4Y2VwdGlvbkhhbmRsZXIoaGFuZGxlciwgZGF0YSk7CmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggMzU5
M2MwMDViZmI2Mjk4OTkwZTA2ODY0NWI3ZGFjMWM0NjllZDEzMy4uNTVlNTY3ZWMxNjRlMWViZTNh
YjczZGU1MmU4ZWYzN2ZhMjBmZWVkYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEwLTExLTEx
ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGVkaXRpbmcvc2VsZWN0aW9uL2NvbnRleHQt
bWVudS1vbi10ZXh0Lmh0bWwgZmFpbHMgb24gY2hyb21pdW0KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1ODk4CisKKyAgICAgICAgRW5oYW5jZSBDaHJv
bWl1bSdzIEV2ZW50U2VuZGVyOjpjb250ZXh0Q2xpY2soKSB0byByZXR1cm4KKyAgICAgICAgYXJy
YXkgb2YgbWVudSBzdHJpbmdzLiBUaGUgaW1wbGVtZW50YXRpb24gaW5jb21wbGV0ZSBiZWNhdXNl
CisgICAgICAgIEFsdGhvdWdoIGFjdHVhbCBjb250ZXh0IG1lbnUgaXMgaW1wbGVtZW50ZWQgYnkg
dGhlIGJyb3dzZXIsCisgICAgICAgIGl0IHJlZmxlY3RzIGVkaXRhYmlsaXR5IG9mIHVuZGVybHlp
bmcgY29udGV4dCB0aHVzIG1ha2VzCisgICAgICAgIGNvbnRleHQtbWVudS1vbi10ZXh0Lmh0bWwg
cGFzc2VkLgorICAgICAgICAKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVu
dFNlbmRlci5jcHA6CisgICAgICAgIChtYWtlTWVudUl0ZW1TdHJpbmdzRm9yKTogQWRkZWQuCisg
ICAgICAgIChFdmVudFNlbmRlcjo6Y29udGV4dENsaWNrKTogTm93IHJldHVybnMgYXJyYXkgb2Yg
bWVudSBzdHJpbmdzLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdI
b3N0LmNwcDoKKyAgICAgICAgKFdlYlZpZXdIb3N0OjpzaG93Q29udGV4dE1lbnUpOiBOb3cgc3Rv
cmluZyBnaXZlbiBXZWJDb250ZXh0TWVudURhdGEgb2JqZWN0LgorICAgICAgICAoV2ViVmlld0hv
c3Q6OmNsZWFyQ29udGV4dE1lbnVEYXRhKTogQWRkZWQuCisgICAgICAgIChXZWJWaWV3SG9zdDo6
bGFzdENvbnRleHRNZW51RGF0YSk6IEFkZGVkLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlZpZXdIb3N0Lmg6CisKIDIwMTAtMTEtMTEgIERpcmsgUHJhbmtlICA8ZHByYW5r
ZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuY3Bw
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuY3BwCmlu
ZGV4IGVjMTZjZjdhOGMzMjA3YTkxZGU3ZWNiYWNhNDRiZGI1MWJlNTAzYmUuLjU3MDdlZWE2Nzlh
YjhjYTA3NGFiZWQ5ZDQ2NzY4ZjU0ZTBhN2ZhOTMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAK
ICNpbmNsdWRlICJFdmVudFNlbmRlci5oIgogCiAjaW5jbHVkZSAiVGVzdFNoZWxsLmgiCisjaW5j
bHVkZSAiV2ViQ29udGV4dE1lbnVEYXRhLmgiCiAjaW5jbHVkZSAiV2ViRHJhZ0RhdGEuaCIKICNp
bmNsdWRlICJXZWJEcmFnT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiV2ViUG9pbnQuaCIKQEAgLTcy
OCwxNiArNzI5LDQ4IEBAIHZvaWQgRXZlbnRTZW5kZXI6OnJlcGxheVNhdmVkRXZlbnRzKCkKICAg
ICByZXBsYXlpbmdTYXZlZEV2ZW50cyA9IGZhbHNlOwogfQogCi12b2lkIEV2ZW50U2VuZGVyOjpj
b250ZXh0Q2xpY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQq
IHJlc3VsdCkKKy8vIEJlY2F1c2UgYWN0dWFsIGNvbnRleHQgbWVudSBpcyBpbXBsZW1lbnRlZCBi
eSB0aGUgYnJvd3NlciBzaWRlLCAKKy8vIHRoaXMgZnVuY3Rpb24gZG9lcyBvbmx5IHdoYXQgTGF5
b3V0VGVzdHMgYXJlIGV4cGVjdGluZzoKKy8vIC0gTWFueSB0ZXN0IGNoZWNrcyB0aGUgY291bnQg
b2YgaXRlbXMuIFNvIHJldHVybmluZyBub24temVybyB2YWx1ZSBtYWtlcyBzZW5zZS4KKy8vIC0g
U29tZSB0ZXN0IGNvbXBhcmVzIHRoZSBjb3VudCBiZWZvcmUgYW5kIGFmdGVyIHNvbWUgYWN0aW9u
LiBTbyBjaGFuZ2luZyB0aGUgY291bnQgYmFzZWQgb24gZmxhZ3MKKy8vICAgYWxzbyBtYWtlcyBz
ZW5zZS4gVGhpcyBmdW5jdGlvbiBpcyBkb2luZyBzdWNoIGZvciBzb21lIGZsYWdzLgorLy8gLSBT
b21lIHRlc3QgZXZlbiBjaGVja3MgYWN0dWFsIHN0cmluZyBjb250ZW50LiBTbyBwcm92aWRpbmcg
aXQgd291bGQgYmUgYWxzbyBoZWxwZnVsLgorLy8KK3N0YXRpYyBWZWN0b3I8V2ViU3RyaW5nPiBt
YWtlTWVudUl0ZW1TdHJpbmdzRm9yKFdlYkNvbnRleHRNZW51RGF0YSogY29udGV4dE1lbnUpCiB7
Ci0gICAgcmVzdWx0LT5zZXROdWxsKCk7CisgICAgLy8gVGhlc2UgY29uc3RhbnRzIGFyZSBiYXNl
ZCBvbiBTYWZhcmkncyBjb250ZXh0IG1lbnUgYmVjYXVzZSB0ZXN0cyBhcmUgbWFkZSBmb3IgaXQu
CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIG5vbkVkaXRhYmxlTWVudVN0cmluZ3NbXSA9IHsgIkJh
Y2siLCAiUmVsb2FkIFBhZ2UiLCAiT3BlbiBpbiBEYXNoYmFvcmQiLCAiPHNlcGFyYXRvcj4iLCAi
VmlldyBTb3VyY2UiLCAiU2F2ZSBQYWdlIEFzIiwgIlByaW50IFBhZ2UiLCAiSW5zcGVjdCBFbGVt
ZW50IiwgMCB9OworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBlZGl0YWJsZU1lbnVTdHJpbmdzW10g
PSB7ICJDdXQiLCAiQ29weSIsICI8c2VwYXJhdG9yPiIsICJQYXN0ZSIsICJTcGVsbGluZyBhbmQg
R3JhbW1hciIsICJTdWJzdGl0dXRpb25zLCBUcmFuc2Zvcm1hdGlvbnMiLCAiRm9udCIsICJTcGVl
Y2giLCAiUGFyYWdyYXBoIERpcmVjdGlvbiIsICI8c2VwYXJhdG9yPiIsIDAgfTsKKworICAgIC8v
IFRoaXMgaXMgcG9zc2libGUgYmVjYXVzZSBtb3VzZSBldmVudHMgYXJlIGNhbmNlbGxlYWJsZS4K
KyAgICBpZiAoIWNvbnRleHRNZW51KQorICAgICAgICByZXR1cm4gVmVjdG9yPFdlYlN0cmluZz4o
KTsKKworICAgIFZlY3RvcjxXZWJTdHJpbmc+IHN0cmluZ3M7CisKKyAgICBpZiAoY29udGV4dE1l
bnUtPmlzRWRpdGFibGUpIHsKKyAgICAgICAgZm9yIChjb25zdCBjaGFyKiogaXRlbSA9IGVkaXRh
YmxlTWVudVN0cmluZ3M7ICppdGVtOyArK2l0ZW0pIAorICAgICAgICAgICAgc3RyaW5ncy5hcHBl
bmQoV2ViU3RyaW5nOjpmcm9tVVRGOCgqaXRlbSkpOworICAgIH0gZWxzZSB7CisgICAgICAgIGZv
ciAoY29uc3QgY2hhcioqIGl0ZW0gPSBub25FZGl0YWJsZU1lbnVTdHJpbmdzOyAqaXRlbTsgKytp
dGVtKSAKKyAgICAgICAgICAgIHN0cmluZ3MuYXBwZW5kKFdlYlN0cmluZzo6ZnJvbVVURjgoKml0
ZW0pKTsKKyAgICB9CiAKKyAgICByZXR1cm4gc3RyaW5nczsKK30KKworCit2b2lkIEV2ZW50U2Vu
ZGVyOjpjb250ZXh0Q2xpY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZh
cmlhbnQqIHJlc3VsdCkKK3sKICAgICB3ZWJ2aWV3KCktPmxheW91dCgpOwogCiAgICAgdXBkYXRl
Q2xpY2tDb3VudEZvckJ1dHRvbihXZWJNb3VzZUV2ZW50OjpCdXR0b25SaWdodCk7CiAKLSAgICAv
LyBHZW5lcmF0ZSByaWdodCBtb3VzZSBkb3duIGFuZCB1cC4KKyAgICAvLyBDbGVhcnMgbGFzdCBj
b250ZXh0IG1lbnUgZGF0YSBiZWNhdXNlIHdlIG5lZWQgdG8ga25vdyBpZiB0aGUgY29udGV4dCBt
ZW51IGJlIHJlcXVlc3RlZCAKKyAgICAvLyBhZnRlciBmb2xsb3dpbmcgbW91c2UgZXZlbnRzLgor
ICAgIG1fc2hlbGwtPndlYlZpZXdIb3N0KCktPmNsZWFyQ29udGV4dE1lbnVEYXRhKCk7CiAKKyAg
ICAvLyBHZW5lcmF0ZSByaWdodCBtb3VzZSBkb3duIGFuZCB1cC4KICAgICBXZWJNb3VzZUV2ZW50
IGV2ZW50OwogICAgIHByZXNzZWRCdXR0b24gPSBXZWJNb3VzZUV2ZW50OjpCdXR0b25SaWdodDsK
ICAgICBpbml0TW91c2VFdmVudChXZWJJbnB1dEV2ZW50OjpNb3VzZURvd24sIFdlYk1vdXNlRXZl
bnQ6OkJ1dHRvblJpZ2h0LCBsYXN0TW91c2VQb3MsICZldmVudCk7CkBAIC03NDcsNiArNzgwLDkg
QEAgdm9pZCBFdmVudFNlbmRlcjo6Y29udGV4dENsaWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYg
YXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXMKICAgICB3ZWJ2aWV3KCktPmhhbmRsZUlucHV0RXZl
bnQoZXZlbnQpOwogCiAgICAgcHJlc3NlZEJ1dHRvbiA9IFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbk5v
bmU7CisKKyAgICBXZWJDb250ZXh0TWVudURhdGEqIGxhc3RDb250ZXh0TWVudSA9IG1fc2hlbGwt
PndlYlZpZXdIb3N0KCktPmxhc3RDb250ZXh0TWVudURhdGEoKTsKKyAgICByZXN1bHQtPnNldChX
ZWJCaW5kaW5nczo6bWFrZVN0cmluZ0FycmF5KG1ha2VNZW51SXRlbVN0cmluZ3NGb3IobGFzdENv
bnRleHRNZW51KSkpOwogfQogCiBjbGFzcyBNb3VzZURvd25UYXNrOiBwdWJsaWMgTWV0aG9kVGFz
azxFdmVudFNlbmRlcj4gewpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVmlld0hvc3QuY3BwCmluZGV4IDZjMGJkN2Q1MWI0ZTA4MTYyYzA3MzZhMmEyOWJj
MmNkNWUxNzYxYjguLjQ3NjI0Njk1ZjUyMWRjMTRjNTk3YzExZjlmZTc1ZWNmNWVjODkwY2MgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9z
dC5jcHAKQEAgLTQ0MywxMCArNDQzLDIwIEBAIGJvb2wgV2ViVmlld0hvc3Q6OnJ1bk1vZGFsQmVm
b3JlVW5sb2FkRGlhbG9nKFdlYkZyYW1lKiwgY29uc3QgV2ViU3RyaW5nJikKICAgICByZXR1cm4g
dHJ1ZTsgLy8gQWxsb3cgd2luZG93IGNsb3N1cmUuCiB9CiAKLXZvaWQgV2ViVmlld0hvc3Q6OnNo
b3dDb250ZXh0TWVudShXZWJGcmFtZSosIGNvbnN0IFdlYkNvbnRleHRNZW51RGF0YSYpCit2b2lk
IFdlYlZpZXdIb3N0OjpzaG93Q29udGV4dE1lbnUoV2ViRnJhbWUqLCBjb25zdCBXZWJDb250ZXh0
TWVudURhdGEmIGNvbnRleHRNZW51RGF0YSkKIHsKKyAgICBtX2xhc3RDb250ZXh0TWVudURhdGEg
PSBhZG9wdFB0cihuZXcgV2ViQ29udGV4dE1lbnVEYXRhKGNvbnRleHRNZW51RGF0YSkpOwogfQog
Cit2b2lkIFdlYlZpZXdIb3N0OjpjbGVhckNvbnRleHRNZW51RGF0YSgpCit7CisgICAgbV9sYXN0
Q29udGV4dE1lbnVEYXRhLmNsZWFyKCk7Cit9CisKK1dlYkNvbnRleHRNZW51RGF0YSogV2ViVmll
d0hvc3Q6Omxhc3RDb250ZXh0TWVudURhdGEoKSBjb25zdAoreworICAgIHJldHVybiBtX2xhc3RD
b250ZXh0TWVudURhdGEuZ2V0KCk7Cit9CiAKIHZvaWQgV2ViVmlld0hvc3Q6OnNldFN0YXR1c1Rl
eHQoY29uc3QgV2ViU3RyaW5nJiB0ZXh0KQogewpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKaW5kZXggZjIxZTY2MzdmYTVmY2IwNTYxOGIy
Mzc1MDc3MjQyYWQ0NjUzY2ZhMy4uMGUxMjk3ODBjYWVhNDhkYTliY2I5MzgwNWExNjNhOTg4MDM4
ZTk4MiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
Vmlld0hvc3QuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJW
aWV3SG9zdC5oCkBAIC05MCw2ICs5MCw5IEBAIGNsYXNzIFdlYlZpZXdIb3N0IDogcHVibGljIFdl
YktpdDo6V2ViVmlld0NsaWVudCwgcHVibGljIFdlYktpdDo6V2ViRnJhbWVDbGllbnQsCiAgICAg
dm9pZCBhZGRDbGVhckhlYWRlcihjb25zdCBXVEY6OlN0cmluZyYgaGVhZGVyKSB7IG1fY2xlYXJI
ZWFkZXJzLmFkZChoZWFkZXIpOyB9CiAgICAgY29uc3QgSGFzaFNldDxXVEY6OlN0cmluZz4mIGNs
ZWFySGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1fY2xlYXJIZWFkZXJzOyB9CiAKKyAgICBXZWJL
aXQ6OldlYkNvbnRleHRNZW51RGF0YSogbGFzdENvbnRleHRNZW51RGF0YSgpIGNvbnN0OworICAg
IHZvaWQgY2xlYXJDb250ZXh0TWVudURhdGEoKTsKKwogICAgIC8vIE5hdmlnYXRpb25Ib3N0CiAg
ICAgdmlydHVhbCBib29sIG5hdmlnYXRlKGNvbnN0IFRlc3ROYXZpZ2F0aW9uRW50cnkmLCBib29s
IHJlbG9hZCk7CiAKQEAgLTI5NCw2ICsyOTcsOCBAQCBwcml2YXRlOgogICAgIFdlYktpdDo6V2Vi
UmVjdCBtX3BhaW50UmVjdDsKICAgICBib29sIG1faXNQYWludGluZzsKIAorICAgIE93blB0cjxX
ZWJLaXQ6OldlYkNvbnRleHRNZW51RGF0YT4gbV9sYXN0Q29udGV4dE1lbnVEYXRhOworCiAjaWYg
IUVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCiAgICAgLy8gR2VvbG9jYXRpb24KICAg
ICBPd25QdHI8V2ViS2l0OjpXZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrPiBtX2dlb2xvY2F0aW9u
U2VydmljZU1vY2s7Cg==
</data>
<flag name="review"
          id="64177"
          type_id="1"
          status="+"
          setter="tkent"
    />
          </attachment>
      

    </bug>

</bugzilla>