<?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>86625</bug_id>
          
          <creation_ts>2012-05-16 07:18:47 -0700</creation_ts>
          <short_desc>[Chromium] Implement the ContextMenuItem SubMenu type</short_desc>
          <delta_ts>2012-05-22 07:31:50 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>86630</blocked>
    
    <blocked>86847</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>625389</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-16 07:18:47 -0700</bug_when>
    <thetext>This is necessary for rendering submenu items in the Web Inspector&apos;s context menu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625413</commentid>
    <comment_count>1</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-16 07:35:13 -0700</bug_when>
    <thetext>The bug is tracked downstream as https://code.google.com/p/chromium/issues/detail?id=128351 as it requires the Chromium non-WebKit code changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625429</commentid>
    <comment_count>2</comment_count>
      <attachid>142261</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-16 07:43:04 -0700</bug_when>
    <thetext>Created attachment 142261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625431</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-16 07:46:53 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626170</commentid>
    <comment_count>4</comment_count>
      <attachid>142261</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-16 19:53:50 -0700</bug_when>
    <thetext>Comment on attachment 142261
Patch

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

The API change LGTM.  The rest of the patch looks plausible, but I&apos;m not the right person to review it.

&gt; Source/WebCore/platform/chromium/ContextMenuChromium.cpp:68
&gt; +    Vector&lt;Vector&lt;ContextMenuItem&gt;*&gt; menuItemStack;

Would it be better to use Vector&lt;Vector&lt;ContextMenuItem&gt;&amp;&gt; to avoid all the conversion back and forth between references and pointers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626449</commentid>
    <comment_count>5</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-17 04:32:56 -0700</bug_when>
    <thetext>(In reply to comment #4)

&gt; Would it be better to use Vector&lt;Vector&lt;ContextMenuItem&gt;&amp;&gt; to avoid all the conversion back and forth between references and pointers?

Does not compile for me: gives a bunch of messages like
../../third_party/WebKit/Source/WTF/wtf/Vector.h:489: error: forming pointer to reference type &apos;WTF::Vector&lt;WebCore::ContextMenuItem, 0ul&gt;&amp;&apos;
(which refers to &quot;typedef T* iterator;&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626461</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-17 04:51:06 -0700</bug_when>
    <thetext>Interesting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627522</commentid>
    <comment_count>7</comment_count>
      <attachid>142261</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-18 02:57:15 -0700</bug_when>
    <thetext>Comment on attachment 142261
Patch

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

&gt; Source/WebKit/chromium/public/WebMenuItemInfo.h:68
&gt;      bool hasTextDirectionOverride;
&gt;      bool enabled;
&gt;      bool checked;
&gt; +    WebVector&lt;WebMenuItemInfo&gt; subMenuItems;

We had better put subMenuItems before hasTextDirectionOverride to minimize padding.
Other than this point, WebKit API change looks ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627528</commentid>
    <comment_count>8</comment_count>
      <attachid>142676</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-05-18 03:06:29 -0700</bug_when>
    <thetext>Created attachment 142676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630348</commentid>
    <comment_count>9</comment_count>
      <attachid>142676</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 07:31:45 -0700</bug_when>
    <thetext>Comment on attachment 142676
Patch

Clearing flags on attachment: 142676

Committed r117970: &lt;http://trac.webkit.org/changeset/117970&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630349</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 07:31:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142261</attachid>
            <date>2012-05-16 07:43:04 -0700</date>
            <delta_ts>2012-05-18 03:06:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86625-20120516184302.patch</filename>
            <type>text/plain</type>
            <size>10421</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWMxN2JjMTg5NmY2NDZk
NzEwODliZmUzNjA2YTdhMjRhODYzNDYxOC4uMzUwM2RhZjRkNWQ5ODE4YWE4ZWY2NTRlYTE4MTFj
NDRhYWVhNTE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDEyLTA1LTE2ICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW0Nocm9taXVt
XSBJbXBsZW1lbnQgdGhlIENvbnRleHRNZW51SXRlbSBTdWJNZW51IHR5cGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2NjI1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaXMgdGhlIFdl
YktpdCBwYXJ0IG9mIGEgdHdvLXNpZGVkIHBhdGNoIHRoYXQgYWRkcyBzdWJNZW51SXRlbXMgdG8g
Q29udGV4dE1lbnVJdGVtCisgICAgICAgIGFuZCBpbnRyb2R1Y2VzIGNvZGUgbmVlZGVkIHRvIGhh
bmRsZSBpdCBwcm9wZXJseS4KKworICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5o
OgorICAgICAgICAoUGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9uKTogQWRkIGEgVmVjdG9yIGZv
ciBzdWJNZW51SXRlbXMuCisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1NZW51RGVzY3JpcHRp
b24uaDoKKyAgICAgICAgKFdlYkNvcmUpOiBJbnRyb2R1Y2UgYSBtZWFuaW5nZnVsIHR5cGVkZWYg
Zm9yIFBsYXRmb3JtTWVudURlc2NyaXB0aW9uIGluIENocm9taXVtLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL0NvbnRleHRNZW51Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29udGV4dE1lbnU6Oml0ZW1XaXRoQWN0aW9uKTogU2VhcmNoIHN1Ym1lbnVzIHdoZW4gbG9va2lu
ZyB1cCBhIHJlcXVlc3RlZCBhY3Rpb24gaWQuCisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVu
dTo6cGxhdGZvcm1EZXNjcmlwdGlvbik6IFJldHVybiBhIHJlYWwgUGxhdGZvcm1NZW51RGVzY3Jp
cHRpb24gcmF0aGVyIHRoYW4gMC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Db250ZXh0
TWVudUl0ZW1DaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW06
OkNvbnRleHRNZW51SXRlbSk6IFNldCBzdWJtZW51IGlmIG9uZSBoYXMgYmVlbiBwYXNzZWQgaW4u
CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW06OnBsYXRmb3JtU3ViTWVudSk6IFJl
dHVybiByZWFsIHN1Yk1lbnVJdGVtcyBpbnN0ZWFkIG9mIGFuIGVtcHR5IFBsYXRmb3JtTWVudURl
c2NyaXB0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtOjpzZXRTdWJNZW51
KTogSW1wbGVtZW50ZWQuCisgICAgICAgIChXZWJDb3JlKToKKworMjAxMi0wNS0xNiAgQWxleGFu
ZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGdyYWRpZW50IHByb3BlcnRpZXMgYXJlIHBhaW5mdWwgdG8gaW5zcGVjdCAvIGF1dGhvci4K
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2Mzc5CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMWE1YzdkYzU3ZTJjOTM1OWY3ZjZmYWI4ZmFj
ZjMwZjMyYjkwNjEzMS4uZmEwYTg5YjBkY2I2ZTA4YTYyMzI2MzgxMTZmZTFiNGNhZGM3Y2JkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNS0xNiAg
QWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJv
bWl1bV0gSW1wbGVtZW50IHRoZSBDb250ZXh0TWVudUl0ZW0gU3ViTWVudSB0eXBlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjYyNQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYk1lbnVJ
dGVtSW5mby5oOgorICAgICAgICAoV2ViTWVudUl0ZW1JbmZvKTogQWRkIHRoZSBTdWJNZW51IHR5
cGUgYW5kIGEgdmVjdG9yIG9mIHN1Yk1lbnVJdGVtcy4KKyAgICAgICAgKiBzcmMvQ29udGV4dE1l
bnVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6cG9wdWxhdGVTdWJNZW51SXRlbXMp
OiBBIHJlY3Vyc2l2ZSBpbXBsZW1lbnRhdGlvbiB0aGF0IHBvcHVsYXRlcyBzdWJtZW51IGl0ZW1z
IGFzIHdlbGwgYXMgb3RoZXIgaXRlbSB0eXBlcy4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OkNvbnRleHRNZW51Q2xpZW50SW1wbDo6cG9wdWxhdGVDdXN0b21NZW51SXRlbXMp
OiBDb25zaWRlciBzdWJtZW51cyB3aGVuIHBvcHVsYXRpbmcgV2ViTWVudUl0ZW1JbmZvcy4KKwog
MjAxMi0wNS0xNiAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbY2hyb21pdW1dIEFkZCBXZWJLaXQgQVBJIHRvIGFjY2VzcyBpbm5lciB0ZXh0IHZhbHVlIG9m
IGlucHV0IGVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRl
eHRNZW51SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgK
aW5kZXggZjk3ZTJmYjA1MDY0ZmViOGFkYjg5ZjQxNWI3MTNhNjY1MDgwNjMwYi4uMzdiZmVlNGUy
NTgzNWUzNzg0ZDU2NDdjMGJjNjcyYTIwMWRlNDhkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQ29udGV4dE1lbnVJdGVtLmgKQEAgLTIyNSw2ICsyMjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIFN0cmluZyB0aXRsZTsKICAgICAgICAgYm9vbCBjaGVja2VkOwogICAgICAg
ICBib29sIGVuYWJsZWQ7CisgICAgICAgIFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+IHN1Yk1lbnVJ
dGVtczsKICAgICB9OwogI2Vsc2UKICAgICB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtTWVudUl0ZW1E
ZXNjcmlwdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3Jt
TWVudURlc2NyaXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1lbnVE
ZXNjcmlwdGlvbi5oCmluZGV4IDc4MTk2YWRkODIzMDQ3NmUzYTZmMWY3OThiYWIxYmE0N2NlMWM2
MjYuLjU2YTdkMDhjNWMwNzViNTFiNjM3Njk3YTEwYWM1ZDYxYzUxM2NiYjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtTWVudURlc2NyaXB0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1NZW51RGVzY3JpcHRpb24uaApAQCAtMzQs
NyArMzQsNyBAQCBPQkpDX0NMQVNTIE5TTXV0YWJsZUFycmF5OwogdHlwZWRlZiBzdHJ1Y3QgX0d0
a01lbnUgR3RrTWVudTsKICNlbGlmIFBMQVRGT1JNKFdYKQogY2xhc3Mgd3hNZW51OwotI2VsaWYg
UExBVEZPUk0oRUZMKQorI2VsaWYgUExBVEZPUk0oQ0hST01JVU0pIHx8IFBMQVRGT1JNKEVGTCkK
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjZW5kaWYKIApAQCAtNTAsNyArNTAsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiBHdGtNZW51KiBQbGF0Zm9ybU1lbnVEZXNjcmlw
dGlvbjsKICNlbGlmIFBMQVRGT1JNKFdYKQogICAgIHR5cGVkZWYgd3hNZW51KiBQbGF0Zm9ybU1l
bnVEZXNjcmlwdGlvbjsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKKyNlbGlmIFBMQVRGT1JNKENIUk9N
SVVNKSB8fCBQTEFURk9STShFRkwpCiAgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtOwogICAgIHR5
cGVkZWYgY29uc3QgVmVjdG9yPENvbnRleHRNZW51SXRlbT4qIFBsYXRmb3JtTWVudURlc2NyaXB0
aW9uOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0NvbnRleHRNZW51Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vQ29udGV4dE1lbnVDaHJvbWl1bS5jcHAKaW5kZXggOWJkZGQyODc4ZGVjMzFhZTdiMDBkYmU0
ZDY3YzExZmQyNmQ2ODNjZi4uZTQxNTEzOGQ5MjU0M2M1MTk3OTExZjhkOWQ5YjJkYzhjNjhjNGE5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ29udGV4dE1l
bnVDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ29u
dGV4dE1lbnVDaHJvbWl1bS5jcHAKQEAgLTY1LDkgKzY1LDE3IEBAIHZvaWQgQ29udGV4dE1lbnU6
OmFwcGVuZEl0ZW0oQ29udGV4dE1lbnVJdGVtJiBpdGVtKQogCiBDb250ZXh0TWVudUl0ZW0qIENv
bnRleHRNZW51OjppdGVtV2l0aEFjdGlvbih1bnNpZ25lZCBhY3Rpb24pCiB7Ci0gICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBtX2l0ZW1zLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChtX2l0
ZW1zW2ldLmFjdGlvbigpID09IHN0YXRpY19jYXN0PENvbnRleHRNZW51QWN0aW9uPihhY3Rpb24p
KQotICAgICAgICAgICAgcmV0dXJuICZtX2l0ZW1zW2ldOworICAgIFZlY3RvcjxWZWN0b3I8Q29u
dGV4dE1lbnVJdGVtPio+IG1lbnVJdGVtU3RhY2s7CisgICAgbWVudUl0ZW1TdGFjay5hcHBlbmQo
Jm1faXRlbXMpOworICAgIHdoaWxlICghbWVudUl0ZW1TdGFjay5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgVmVjdG9yPENvbnRleHRNZW51SXRlbT4mIGl0ZW1zID0gKihtZW51SXRlbVN0YWNrLmxhc3Qo
KSk7CisgICAgICAgIG1lbnVJdGVtU3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGl0ZW1zLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBpZiAoaXRl
bXNbaV0uYWN0aW9uKCkgPT0gc3RhdGljX2Nhc3Q8Q29udGV4dE1lbnVBY3Rpb24+KGFjdGlvbikp
CisgICAgICAgICAgICAgICAgcmV0dXJuICZpdGVtc1tpXTsKKyAgICAgICAgICAgIGlmIChpdGVt
c1tpXS50eXBlKCkgPT0gU3VibWVudVR5cGUpCisgICAgICAgICAgICAgICAgbWVudUl0ZW1TdGFj
ay5hcHBlbmQoY29uc3RfY2FzdDxWZWN0b3I8Q29udGV4dE1lbnVJdGVtPio+KGl0ZW1zW2ldLnBs
YXRmb3JtU3ViTWVudSgpKSk7CisgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIDA7CiB9CkBA
IC04Myw3ICs5MSw3IEBAIHZvaWQgQ29udGV4dE1lbnU6OnNldFBsYXRmb3JtRGVzY3JpcHRpb24o
UGxhdGZvcm1NZW51RGVzY3JpcHRpb24gbWVudSkKIAogUGxhdGZvcm1NZW51RGVzY3JpcHRpb24g
Q29udGV4dE1lbnU6OnBsYXRmb3JtRGVzY3JpcHRpb24oKSBjb25zdAogewotICAgIHJldHVybiAw
OworICAgIHJldHVybiAmbV9pdGVtczsKIH0KIAogUGxhdGZvcm1NZW51RGVzY3JpcHRpb24gQ29u
dGV4dE1lbnU6OnJlbGVhc2VQbGF0Zm9ybURlc2NyaXB0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NvbnRleHRNZW51SXRlbUNocm9taXVtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NvbnRleHRNZW51SXRlbUNocm9taXVt
LmNwcAppbmRleCA2YTBkNjU3ZjZlOGMwNDk1MTE3ZDY2MzgzMjlmMmU1MmJiY2FhMzdlLi4wZWU3
ZWU5YTdhMzJmYzQ4MDQ5ZWJjMjNkYWViNzU5MjY3M2I1NTMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Db250ZXh0TWVudUl0ZW1DaHJvbWl1bS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ29udGV4dE1lbnVJdGVtQ2hyb21p
dW0uY3BwCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
Q29udGV4dE1lbnVJdGVtLmgiCiAKKyNpbmNsdWRlICJDb250ZXh0TWVudS5oIgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIC8vIFRoaXMgaXMgYSBzdHViIGltcGxlbWVudGF0aW9uIG9mIFdlYktp
dCdzIENvbnRleHRNZW51IGNsYXNzIHRoYXQgZG9lcwpAQCAtNDksNiArNTEsOCBAQCBDb250ZXh0
TWVudUl0ZW06OkNvbnRleHRNZW51SXRlbShDb250ZXh0TWVudUl0ZW1UeXBlIHR5cGUsIENvbnRl
eHRNZW51QWN0aW9uIGFjdAogICAgIG1fcGxhdGZvcm1EZXNjcmlwdGlvbi50eXBlID0gdHlwZTsK
ICAgICBtX3BsYXRmb3JtRGVzY3JpcHRpb24uYWN0aW9uID0gYWN0aW9uOwogICAgIG1fcGxhdGZv
cm1EZXNjcmlwdGlvbi50aXRsZSA9IHRpdGxlOworICAgIGlmIChzdWJNZW51KQorICAgICAgICBz
ZXRTdWJNZW51KHN1Yk1lbnUpOwogfQogCiBDb250ZXh0TWVudUl0ZW06On5Db250ZXh0TWVudUl0
ZW0oKQpAQCAtODcsNyArOTEsNyBAQCBib29sIENvbnRleHRNZW51SXRlbTo6ZW5hYmxlZCgpIGNv
bnN0CiAKIFBsYXRmb3JtTWVudURlc2NyaXB0aW9uIENvbnRleHRNZW51SXRlbTo6cGxhdGZvcm1T
dWJNZW51KCkgY29uc3QKIHsKLSAgICByZXR1cm4gUGxhdGZvcm1NZW51RGVzY3JpcHRpb24oKTsK
KyAgICByZXR1cm4gJm1fcGxhdGZvcm1EZXNjcmlwdGlvbi5zdWJNZW51SXRlbXM7CiB9CiAKIHZv
aWQgQ29udGV4dE1lbnVJdGVtOjpzZXRUeXBlKENvbnRleHRNZW51SXRlbVR5cGUgdHlwZSkKQEAg
LTEwNSw4ICsxMDksMTQgQEAgdm9pZCBDb250ZXh0TWVudUl0ZW06OnNldFRpdGxlKGNvbnN0IFN0
cmluZyYgdGl0bGUpCiAgICAgbV9wbGF0Zm9ybURlc2NyaXB0aW9uLnRpdGxlID0gdGl0bGU7CiB9
CiAKLXZvaWQgQ29udGV4dE1lbnVJdGVtOjpzZXRTdWJNZW51KENvbnRleHRNZW51KiBzdWJNZW51
KQordm9pZCBDb250ZXh0TWVudUl0ZW06OnNldFN1Yk1lbnUoQ29udGV4dE1lbnUqIG1lbnUpCit7
CisgICAgbV9wbGF0Zm9ybURlc2NyaXB0aW9uLnN1Yk1lbnVJdGVtcyA9ICptZW51LT5wbGF0Zm9y
bURlc2NyaXB0aW9uKCk7Cit9CisKK3ZvaWQgQ29udGV4dE1lbnVJdGVtOjpzZXRTdWJNZW51KFZl
Y3RvcjxDb250ZXh0TWVudUl0ZW0+JiBpdGVtcykKIHsKKyAgICBtX3BsYXRmb3JtRGVzY3JpcHRp
b24uc3ViTWVudUl0ZW1zID0gaXRlbXM7CiB9CiAKIHZvaWQgQ29udGV4dE1lbnVJdGVtOjpzZXRD
aGVja2VkKGJvb2wgY2hlY2tlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYk1lbnVJdGVtSW5mby5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViTWVudUl0ZW1JbmZvLmgKaW5kZXggYWUyODRlN2IzNTkxOWQyMTI3NmE2YzllOTk1OTJkYTI5
ZDJjNjhiZS4uNjdhYTBhMjJhYTIxMDhmNDQ1OThlMDFhZDVhY2E5MzkyMGZhZTExNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVudUl0ZW1JbmZvLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVudUl0ZW1JbmZvLmgKQEAgLTQ0
LDYgKzQ0LDcgQEAgc3RydWN0IFdlYk1lbnVJdGVtSW5mbyB7CiAgICAgICAgIENoZWNrYWJsZU9w
dGlvbiwKICAgICAgICAgR3JvdXAsCiAgICAgICAgIFNlcGFyYXRvciwKKyAgICAgICAgU3ViTWVu
dQogICAgIH07CiAKICAgICBXZWJNZW51SXRlbUluZm8oKSAKQEAgLTY0LDYgKzY1LDcgQEAgc3Ry
dWN0IFdlYk1lbnVJdGVtSW5mbyB7CiAgICAgYm9vbCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGU7
CiAgICAgYm9vbCBlbmFibGVkOwogICAgIGJvb2wgY2hlY2tlZDsKKyAgICBXZWJWZWN0b3I8V2Vi
TWVudUl0ZW1JbmZvPiBzdWJNZW51SXRlbXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbnRleHRNZW51Q2xpZW50
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Db250ZXh0TWVudUNsaWVudElt
cGwuY3BwCmluZGV4IGQzNWViMGU2Y2VhZDVmY2ZlNDc3YjZjMjEzZDhhYTk4ZDVmOTg3NWYuLjg3
YjExZmVhYzJkZDNiYTA2NzhjNWYyNmJlMjI0ZjZiMjYxMDdlY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbnRleHRNZW51Q2xpZW50SW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29udGV4dE1lbnVDbGllbnRJbXBsLmNwcApAQCAtMzQ3
LDEyICszNDcsMTIgQEAgUGxhdGZvcm1NZW51RGVzY3JpcHRpb24gQ29udGV4dE1lbnVDbGllbnRJ
bXBsOjpnZXRDdXN0b21NZW51RnJvbURlZmF1bHRJdGVtcygKICAgICByZXR1cm4gMDsKIH0KIAot
dm9pZCBDb250ZXh0TWVudUNsaWVudEltcGw6OnBvcHVsYXRlQ3VzdG9tTWVudUl0ZW1zKFdlYkNv
cmU6OkNvbnRleHRNZW51KiBkZWZhdWx0TWVudSwgV2ViQ29udGV4dE1lbnVEYXRhKiBkYXRhKQor
c3RhdGljIHZvaWQgcG9wdWxhdGVTdWJNZW51SXRlbXMoUGxhdGZvcm1NZW51RGVzY3JpcHRpb24g
aW5wdXRNZW51LCBXZWJWZWN0b3I8V2ViTWVudUl0ZW1JbmZvPiYgc3ViTWVudUl0ZW1zKQogewot
ICAgIFZlY3RvcjxXZWJNZW51SXRlbUluZm8+IGN1c3RvbUl0ZW1zOwotICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgZGVmYXVsdE1lbnUtPml0ZW1Db3VudCgpOyArK2kpIHsKLSAgICAgICAgQ29u
dGV4dE1lbnVJdGVtKiBpbnB1dEl0ZW0gPSBkZWZhdWx0TWVudS0+aXRlbUF0SW5kZXgoaSwgZGVm
YXVsdE1lbnUtPnBsYXRmb3JtRGVzY3JpcHRpb24oKSk7Ci0gICAgICAgIGlmIChpbnB1dEl0ZW0t
PmFjdGlvbigpIDwgQ29udGV4dE1lbnVJdGVtQmFzZUN1c3RvbVRhZyB8fCBpbnB1dEl0ZW0tPmFj
dGlvbigpID4gIENvbnRleHRNZW51SXRlbUxhc3RDdXN0b21UYWcpCisgICAgVmVjdG9yPFdlYk1l
bnVJdGVtSW5mbz4gc3ViSXRlbXM7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpbnB1dE1l
bnUtPnNpemUoKTsgKytpKSB7CisgICAgICAgIGNvbnN0IENvbnRleHRNZW51SXRlbSogaW5wdXRJ
dGVtID0gJmlucHV0TWVudS0+YXQoaSk7CisgICAgICAgIGlmIChpbnB1dEl0ZW0tPmFjdGlvbigp
IDwgQ29udGV4dE1lbnVJdGVtQmFzZUN1c3RvbVRhZyB8fCBpbnB1dEl0ZW0tPmFjdGlvbigpID4g
Q29udGV4dE1lbnVJdGVtTGFzdEN1c3RvbVRhZykKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAg
ICAgICAgIFdlYk1lbnVJdGVtSW5mbyBvdXRwdXRJdGVtOwpAQCAtMzcxLDE2ICszNzEsMjIgQEAg
dm9pZCBDb250ZXh0TWVudUNsaWVudEltcGw6OnBvcHVsYXRlQ3VzdG9tTWVudUl0ZW1zKFdlYkNv
cmU6OkNvbnRleHRNZW51KiBkZWZhdWwKICAgICAgICAgICAgIG91dHB1dEl0ZW0udHlwZSA9IFdl
Yk1lbnVJdGVtSW5mbzo6U2VwYXJhdG9yOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgU3VibWVudVR5cGU6Ci0gICAgICAgICAgICBvdXRwdXRJdGVtLnR5cGUgPSBXZWJNZW51SXRl
bUluZm86Okdyb3VwOworICAgICAgICAgICAgb3V0cHV0SXRlbS50eXBlID0gV2ViTWVudUl0ZW1J
bmZvOjpTdWJNZW51OworICAgICAgICAgICAgcG9wdWxhdGVTdWJNZW51SXRlbXMoaW5wdXRJdGVt
LT5wbGF0Zm9ybVN1Yk1lbnUoKSwgb3V0cHV0SXRlbS5zdWJNZW51SXRlbXMpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY3VzdG9tSXRlbXMuYXBwZW5kKG91dHB1dEl0
ZW0pOworICAgICAgICBzdWJJdGVtcy5hcHBlbmQob3V0cHV0SXRlbSk7CiAgICAgfQogCi0gICAg
V2ViVmVjdG9yPFdlYk1lbnVJdGVtSW5mbz4gb3V0cHV0SXRlbXMoY3VzdG9tSXRlbXMuc2l6ZSgp
KTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGN1c3RvbUl0ZW1zLnNpemUoKTsgKytpKQot
ICAgICAgICBvdXRwdXRJdGVtc1tpXSA9IGN1c3RvbUl0ZW1zW2ldOwotICAgIGRhdGEtPmN1c3Rv
bUl0ZW1zLnN3YXAob3V0cHV0SXRlbXMpOworICAgIFdlYlZlY3RvcjxXZWJNZW51SXRlbUluZm8+
IG91dHB1dEl0ZW1zKHN1Ykl0ZW1zLnNpemUoKSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBzdWJJdGVtcy5zaXplKCk7ICsraSkKKyAgICAgICAgb3V0cHV0SXRlbXNbaV0gPSBzdWJJdGVt
c1tpXTsKKyAgICBzdWJNZW51SXRlbXMuc3dhcChvdXRwdXRJdGVtcyk7Cit9CisKK3ZvaWQgQ29u
dGV4dE1lbnVDbGllbnRJbXBsOjpwb3B1bGF0ZUN1c3RvbU1lbnVJdGVtcyhXZWJDb3JlOjpDb250
ZXh0TWVudSogZGVmYXVsdE1lbnUsIFdlYkNvbnRleHRNZW51RGF0YSogZGF0YSkKK3sKKyAgICBw
b3B1bGF0ZVN1Yk1lbnVJdGVtcyhkZWZhdWx0TWVudS0+cGxhdGZvcm1EZXNjcmlwdGlvbigpLCBk
YXRhLT5jdXN0b21JdGVtcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142676</attachid>
            <date>2012-05-18 03:06:29 -0700</date>
            <delta_ts>2012-05-22 07:31:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86625-20120518140627.patch</filename>
            <type>text/plain</type>
            <size>10404</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU2M2U0OTgyYTgxZmVk
ZTUzZGMyNzA1Y2I1ODgyZTVlY2Q2Njc1MC4uNjhhZjg2MDE2Y2ZmZGZmZTMxNjUxNmQ0Y2Y2YTg5
NDA3MzQwNzJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTE2ICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVt
XSBJbXBsZW1lbnQgdGhlIENvbnRleHRNZW51SXRlbSBTdWJNZW51IHR5cGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2NjI1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaXMgdGhlIFdl
YktpdCBwYXJ0IG9mIGEgdHdvLXNpZGVkIHBhdGNoIHRoYXQgYWRkcyBzdWJNZW51SXRlbXMgdG8g
Q29udGV4dE1lbnVJdGVtCisgICAgICAgIGFuZCBpbnRyb2R1Y2VzIGNvZGUgbmVlZGVkIHRvIGhh
bmRsZSBpdCBwcm9wZXJseS4KKworICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5o
OgorICAgICAgICAoUGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9uKTogQWRkIGEgVmVjdG9yIGZv
ciBzdWJNZW51SXRlbXMuCisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1NZW51RGVzY3JpcHRp
b24uaDoKKyAgICAgICAgKFdlYkNvcmUpOiBJbnRyb2R1Y2UgYSBtZWFuaW5nZnVsIHR5cGVkZWYg
Zm9yIFBsYXRmb3JtTWVudURlc2NyaXB0aW9uIGluIENocm9taXVtLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL0NvbnRleHRNZW51Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29udGV4dE1lbnU6Oml0ZW1XaXRoQWN0aW9uKTogU2VhcmNoIHN1Ym1lbnVzIHdoZW4gbG9va2lu
ZyB1cCBhIHJlcXVlc3RlZCBhY3Rpb24gaWQuCisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVu
dTo6cGxhdGZvcm1EZXNjcmlwdGlvbik6IFJldHVybiBhIHJlYWwgUGxhdGZvcm1NZW51RGVzY3Jp
cHRpb24gcmF0aGVyIHRoYW4gMC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Db250ZXh0
TWVudUl0ZW1DaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW06
OkNvbnRleHRNZW51SXRlbSk6IFNldCBzdWJtZW51IGlmIG9uZSBoYXMgYmVlbiBwYXNzZWQgaW4u
CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW06OnBsYXRmb3JtU3ViTWVudSk6IFJl
dHVybiByZWFsIHN1Yk1lbnVJdGVtcyBpbnN0ZWFkIG9mIGFuIGVtcHR5IFBsYXRmb3JtTWVudURl
c2NyaXB0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtOjpzZXRTdWJNZW51
KTogSW1wbGVtZW50ZWQuCisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0wNS0xOCAgU2hlcmlm
ZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjExNzU1Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggM2Jj
ZTkwYjVjOWYxZGFmOWI2NTA2MTMyYWRkYTU5MjMyMzc5MDQ5Zi4uOWI2OTEwMGM2MWQ3YjY3ODk5
ZWRhZjM1YTQwODY3NjZkYzZmNTVkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0wNS0xNiAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gSW1wbGVtZW50IHRoZSBDb250ZXh0TWVudUl0
ZW0gU3ViTWVudSB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NjYyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcHVibGljL1dlYk1lbnVJdGVtSW5mby5oOgorICAgICAgICAoV2ViTWVudUl0ZW1J
bmZvKTogQWRkIHRoZSBTdWJNZW51IHR5cGUgYW5kIGEgdmVjdG9yIG9mIHN1Yk1lbnVJdGVtcy4K
KyAgICAgICAgKiBzcmMvQ29udGV4dE1lbnVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6cG9wdWxhdGVTdWJNZW51SXRlbXMpOiBBIHJlY3Vyc2l2ZSBpbXBsZW1lbnRhdGlvbiB0aGF0
IHBvcHVsYXRlcyBzdWJtZW51IGl0ZW1zIGFzIHdlbGwgYXMgb3RoZXIgaXRlbSB0eXBlcy4KKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OkNvbnRleHRNZW51Q2xpZW50SW1wbDo6
cG9wdWxhdGVDdXN0b21NZW51SXRlbXMpOiBDb25zaWRlciBzdWJtZW51cyB3aGVuIHBvcHVsYXRp
bmcgV2ViTWVudUl0ZW1JbmZvcy4KKwogMjAxMi0wNS0xOCAgSm9jaGVuIEVpc2luZ2VyICA8am9j
aGVuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIHBsdW1iIHRoZSBmcmFtZSBm
b3Igd2hpY2ggYSBkcmFnIHdhcyBpbml0aWF0ZWQgdG8gdGhlIFdlYlZpZXdDbGllbnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXggZjk3ZTJmYjA1MDY0ZmVi
OGFkYjg5ZjQxNWI3MTNhNjY1MDgwNjMwYi4uZjhhMWEyOWFhMTU2YTZiYTI3OWY0ZTczNTFlNWZh
NDJjMmU1MTc3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1l
bnVJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgK
QEAgLTIyMyw2ICsyMjMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIENvbnRleHRN
ZW51SXRlbVR5cGUgdHlwZTsKICAgICAgICAgQ29udGV4dE1lbnVBY3Rpb24gYWN0aW9uOwogICAg
ICAgICBTdHJpbmcgdGl0bGU7CisgICAgICAgIFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+IHN1Yk1l
bnVJdGVtczsKICAgICAgICAgYm9vbCBjaGVja2VkOwogICAgICAgICBib29sIGVuYWJsZWQ7CiAg
ICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtTWVudURl
c2NyaXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1lbnVEZXNjcmlw
dGlvbi5oCmluZGV4IDc4MTk2YWRkODIzMDQ3NmUzYTZmMWY3OThiYWIxYmE0N2NlMWM2MjYuLjU2
YTdkMDhjNWMwNzViNTFiNjM3Njk3YTEwYWM1ZDYxYzUxM2NiYjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtTWVudURlc2NyaXB0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1NZW51RGVzY3JpcHRpb24uaApAQCAtMzQsNyArMzQs
NyBAQCBPQkpDX0NMQVNTIE5TTXV0YWJsZUFycmF5OwogdHlwZWRlZiBzdHJ1Y3QgX0d0a01lbnUg
R3RrTWVudTsKICNlbGlmIFBMQVRGT1JNKFdYKQogY2xhc3Mgd3hNZW51OwotI2VsaWYgUExBVEZP
Uk0oRUZMKQorI2VsaWYgUExBVEZPUk0oQ0hST01JVU0pIHx8IFBMQVRGT1JNKEVGTCkKICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjZW5kaWYKIApAQCAtNTAsNyArNTAsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgdHlwZWRlZiBHdGtNZW51KiBQbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbjsK
ICNlbGlmIFBMQVRGT1JNKFdYKQogICAgIHR5cGVkZWYgd3hNZW51KiBQbGF0Zm9ybU1lbnVEZXNj
cmlwdGlvbjsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKKyNlbGlmIFBMQVRGT1JNKENIUk9NSVVNKSB8
fCBQTEFURk9STShFRkwpCiAgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtOwogICAgIHR5cGVkZWYg
Y29uc3QgVmVjdG9yPENvbnRleHRNZW51SXRlbT4qIFBsYXRmb3JtTWVudURlc2NyaXB0aW9uOwog
I2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NvbnRl
eHRNZW51Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ29u
dGV4dE1lbnVDaHJvbWl1bS5jcHAKaW5kZXggOWJkZGQyODc4ZGVjMzFhZTdiMDBkYmU0ZDY3YzEx
ZmQyNmQ2ODNjZi4uZTQxNTEzOGQ5MjU0M2M1MTk3OTExZjhkOWQ5YjJkYzhjNjhjNGE5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ29udGV4dE1lbnVDaHJv
bWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ29udGV4dE1l
bnVDaHJvbWl1bS5jcHAKQEAgLTY1LDkgKzY1LDE3IEBAIHZvaWQgQ29udGV4dE1lbnU6OmFwcGVu
ZEl0ZW0oQ29udGV4dE1lbnVJdGVtJiBpdGVtKQogCiBDb250ZXh0TWVudUl0ZW0qIENvbnRleHRN
ZW51OjppdGVtV2l0aEFjdGlvbih1bnNpZ25lZCBhY3Rpb24pCiB7Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtX2l0ZW1zLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChtX2l0ZW1zW2ld
LmFjdGlvbigpID09IHN0YXRpY19jYXN0PENvbnRleHRNZW51QWN0aW9uPihhY3Rpb24pKQotICAg
ICAgICAgICAgcmV0dXJuICZtX2l0ZW1zW2ldOworICAgIFZlY3RvcjxWZWN0b3I8Q29udGV4dE1l
bnVJdGVtPio+IG1lbnVJdGVtU3RhY2s7CisgICAgbWVudUl0ZW1TdGFjay5hcHBlbmQoJm1faXRl
bXMpOworICAgIHdoaWxlICghbWVudUl0ZW1TdGFjay5pc0VtcHR5KCkpIHsKKyAgICAgICAgVmVj
dG9yPENvbnRleHRNZW51SXRlbT4mIGl0ZW1zID0gKihtZW51SXRlbVN0YWNrLmxhc3QoKSk7Cisg
ICAgICAgIG1lbnVJdGVtU3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGl0ZW1zLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBpZiAoaXRlbXNbaV0u
YWN0aW9uKCkgPT0gc3RhdGljX2Nhc3Q8Q29udGV4dE1lbnVBY3Rpb24+KGFjdGlvbikpCisgICAg
ICAgICAgICAgICAgcmV0dXJuICZpdGVtc1tpXTsKKyAgICAgICAgICAgIGlmIChpdGVtc1tpXS50
eXBlKCkgPT0gU3VibWVudVR5cGUpCisgICAgICAgICAgICAgICAgbWVudUl0ZW1TdGFjay5hcHBl
bmQoY29uc3RfY2FzdDxWZWN0b3I8Q29udGV4dE1lbnVJdGVtPio+KGl0ZW1zW2ldLnBsYXRmb3Jt
U3ViTWVudSgpKSk7CisgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIDA7CiB9CkBAIC04Myw3
ICs5MSw3IEBAIHZvaWQgQ29udGV4dE1lbnU6OnNldFBsYXRmb3JtRGVzY3JpcHRpb24oUGxhdGZv
cm1NZW51RGVzY3JpcHRpb24gbWVudSkKIAogUGxhdGZvcm1NZW51RGVzY3JpcHRpb24gQ29udGV4
dE1lbnU6OnBsYXRmb3JtRGVzY3JpcHRpb24oKSBjb25zdAogewotICAgIHJldHVybiAwOworICAg
IHJldHVybiAmbV9pdGVtczsKIH0KIAogUGxhdGZvcm1NZW51RGVzY3JpcHRpb24gQ29udGV4dE1l
bnU6OnJlbGVhc2VQbGF0Zm9ybURlc2NyaXB0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL0NvbnRleHRNZW51SXRlbUNocm9taXVtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NvbnRleHRNZW51SXRlbUNocm9taXVtLmNwcApp
bmRleCA2YTBkNjU3ZjZlOGMwNDk1MTE3ZDY2MzgzMjlmMmU1MmJiY2FhMzdlLi4wZWU3ZWU5YTdh
MzJmYzQ4MDQ5ZWJjMjNkYWViNzU5MjY3M2I1NTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9Db250ZXh0TWVudUl0ZW1DaHJvbWl1bS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ29udGV4dE1lbnVJdGVtQ2hyb21pdW0uY3Bw
CkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ29udGV4
dE1lbnVJdGVtLmgiCiAKKyNpbmNsdWRlICJDb250ZXh0TWVudS5oIgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIFRoaXMgaXMgYSBzdHViIGltcGxlbWVudGF0aW9uIG9mIFdlYktpdCdzIENv
bnRleHRNZW51IGNsYXNzIHRoYXQgZG9lcwpAQCAtNDksNiArNTEsOCBAQCBDb250ZXh0TWVudUl0
ZW06OkNvbnRleHRNZW51SXRlbShDb250ZXh0TWVudUl0ZW1UeXBlIHR5cGUsIENvbnRleHRNZW51
QWN0aW9uIGFjdAogICAgIG1fcGxhdGZvcm1EZXNjcmlwdGlvbi50eXBlID0gdHlwZTsKICAgICBt
X3BsYXRmb3JtRGVzY3JpcHRpb24uYWN0aW9uID0gYWN0aW9uOwogICAgIG1fcGxhdGZvcm1EZXNj
cmlwdGlvbi50aXRsZSA9IHRpdGxlOworICAgIGlmIChzdWJNZW51KQorICAgICAgICBzZXRTdWJN
ZW51KHN1Yk1lbnUpOwogfQogCiBDb250ZXh0TWVudUl0ZW06On5Db250ZXh0TWVudUl0ZW0oKQpA
QCAtODcsNyArOTEsNyBAQCBib29sIENvbnRleHRNZW51SXRlbTo6ZW5hYmxlZCgpIGNvbnN0CiAK
IFBsYXRmb3JtTWVudURlc2NyaXB0aW9uIENvbnRleHRNZW51SXRlbTo6cGxhdGZvcm1TdWJNZW51
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gUGxhdGZvcm1NZW51RGVzY3JpcHRpb24oKTsKKyAgICBy
ZXR1cm4gJm1fcGxhdGZvcm1EZXNjcmlwdGlvbi5zdWJNZW51SXRlbXM7CiB9CiAKIHZvaWQgQ29u
dGV4dE1lbnVJdGVtOjpzZXRUeXBlKENvbnRleHRNZW51SXRlbVR5cGUgdHlwZSkKQEAgLTEwNSw4
ICsxMDksMTQgQEAgdm9pZCBDb250ZXh0TWVudUl0ZW06OnNldFRpdGxlKGNvbnN0IFN0cmluZyYg
dGl0bGUpCiAgICAgbV9wbGF0Zm9ybURlc2NyaXB0aW9uLnRpdGxlID0gdGl0bGU7CiB9CiAKLXZv
aWQgQ29udGV4dE1lbnVJdGVtOjpzZXRTdWJNZW51KENvbnRleHRNZW51KiBzdWJNZW51KQordm9p
ZCBDb250ZXh0TWVudUl0ZW06OnNldFN1Yk1lbnUoQ29udGV4dE1lbnUqIG1lbnUpCit7CisgICAg
bV9wbGF0Zm9ybURlc2NyaXB0aW9uLnN1Yk1lbnVJdGVtcyA9ICptZW51LT5wbGF0Zm9ybURlc2Ny
aXB0aW9uKCk7Cit9CisKK3ZvaWQgQ29udGV4dE1lbnVJdGVtOjpzZXRTdWJNZW51KFZlY3RvcjxD
b250ZXh0TWVudUl0ZW0+JiBpdGVtcykKIHsKKyAgICBtX3BsYXRmb3JtRGVzY3JpcHRpb24uc3Vi
TWVudUl0ZW1zID0gaXRlbXM7CiB9CiAKIHZvaWQgQ29udGV4dE1lbnVJdGVtOjpzZXRDaGVja2Vk
KGJvb2wgY2hlY2tlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYk1lbnVJdGVtSW5mby5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVu
dUl0ZW1JbmZvLmgKaW5kZXggYWUyODRlN2IzNTkxOWQyMTI3NmE2YzllOTk1OTJkYTI5ZDJjNjhi
ZS4uZDkwMDQ5ZDIyNzMzMGVlOWViYmNhNGU1YTQ5NjVmOGIyNjZjMzc5MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVudUl0ZW1JbmZvLmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVudUl0ZW1JbmZvLmgKQEAgLTQ0LDYgKzQ0
LDcgQEAgc3RydWN0IFdlYk1lbnVJdGVtSW5mbyB7CiAgICAgICAgIENoZWNrYWJsZU9wdGlvbiwK
ICAgICAgICAgR3JvdXAsCiAgICAgICAgIFNlcGFyYXRvciwKKyAgICAgICAgU3ViTWVudQogICAg
IH07CiAKICAgICBXZWJNZW51SXRlbUluZm8oKSAKQEAgLTYxLDYgKzYyLDcgQEAgc3RydWN0IFdl
Yk1lbnVJdGVtSW5mbyB7CiAgICAgVHlwZSB0eXBlOwogICAgIHVuc2lnbmVkIGFjdGlvbjsKICAg
ICBXZWJUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rpb247CisgICAgV2ViVmVjdG9yPFdlYk1lbnVJ
dGVtSW5mbz4gc3ViTWVudUl0ZW1zOwogICAgIGJvb2wgaGFzVGV4dERpcmVjdGlvbk92ZXJyaWRl
OwogICAgIGJvb2wgZW5hYmxlZDsKICAgICBib29sIGNoZWNrZWQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Db250ZXh0TWVudUNsaWVudEltcGwuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQ29udGV4dE1lbnVDbGllbnRJbXBsLmNwcAppbmRleCBkMzVl
YjBlNmNlYWQ1ZmNmZTQ3N2I2YzIxM2Q4YWE5OGQ1Zjk4NzVmLi44N2IxMWZlYWMyZGQzYmEwNjc4
YzVmMjZiZTIyNGY2YjI2MTA3ZWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Db250ZXh0TWVudUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0NvbnRleHRNZW51Q2xpZW50SW1wbC5jcHAKQEAgLTM0NywxMiArMzQ3LDEyIEBAIFBs
YXRmb3JtTWVudURlc2NyaXB0aW9uIENvbnRleHRNZW51Q2xpZW50SW1wbDo6Z2V0Q3VzdG9tTWVu
dUZyb21EZWZhdWx0SXRlbXMoCiAgICAgcmV0dXJuIDA7CiB9CiAKLXZvaWQgQ29udGV4dE1lbnVD
bGllbnRJbXBsOjpwb3B1bGF0ZUN1c3RvbU1lbnVJdGVtcyhXZWJDb3JlOjpDb250ZXh0TWVudSog
ZGVmYXVsdE1lbnUsIFdlYkNvbnRleHRNZW51RGF0YSogZGF0YSkKK3N0YXRpYyB2b2lkIHBvcHVs
YXRlU3ViTWVudUl0ZW1zKFBsYXRmb3JtTWVudURlc2NyaXB0aW9uIGlucHV0TWVudSwgV2ViVmVj
dG9yPFdlYk1lbnVJdGVtSW5mbz4mIHN1Yk1lbnVJdGVtcykKIHsKLSAgICBWZWN0b3I8V2ViTWVu
dUl0ZW1JbmZvPiBjdXN0b21JdGVtczsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGRlZmF1
bHRNZW51LT5pdGVtQ291bnQoKTsgKytpKSB7Ci0gICAgICAgIENvbnRleHRNZW51SXRlbSogaW5w
dXRJdGVtID0gZGVmYXVsdE1lbnUtPml0ZW1BdEluZGV4KGksIGRlZmF1bHRNZW51LT5wbGF0Zm9y
bURlc2NyaXB0aW9uKCkpOwotICAgICAgICBpZiAoaW5wdXRJdGVtLT5hY3Rpb24oKSA8IENvbnRl
eHRNZW51SXRlbUJhc2VDdXN0b21UYWcgfHwgaW5wdXRJdGVtLT5hY3Rpb24oKSA+ICBDb250ZXh0
TWVudUl0ZW1MYXN0Q3VzdG9tVGFnKQorICAgIFZlY3RvcjxXZWJNZW51SXRlbUluZm8+IHN1Ykl0
ZW1zOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaW5wdXRNZW51LT5zaXplKCk7ICsraSkg
eworICAgICAgICBjb25zdCBDb250ZXh0TWVudUl0ZW0qIGlucHV0SXRlbSA9ICZpbnB1dE1lbnUt
PmF0KGkpOworICAgICAgICBpZiAoaW5wdXRJdGVtLT5hY3Rpb24oKSA8IENvbnRleHRNZW51SXRl
bUJhc2VDdXN0b21UYWcgfHwgaW5wdXRJdGVtLT5hY3Rpb24oKSA+IENvbnRleHRNZW51SXRlbUxh
c3RDdXN0b21UYWcpCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBXZWJNZW51SXRl
bUluZm8gb3V0cHV0SXRlbTsKQEAgLTM3MSwxNiArMzcxLDIyIEBAIHZvaWQgQ29udGV4dE1lbnVD
bGllbnRJbXBsOjpwb3B1bGF0ZUN1c3RvbU1lbnVJdGVtcyhXZWJDb3JlOjpDb250ZXh0TWVudSog
ZGVmYXVsCiAgICAgICAgICAgICBvdXRwdXRJdGVtLnR5cGUgPSBXZWJNZW51SXRlbUluZm86OlNl
cGFyYXRvcjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN1Ym1lbnVUeXBlOgot
ICAgICAgICAgICAgb3V0cHV0SXRlbS50eXBlID0gV2ViTWVudUl0ZW1JbmZvOjpHcm91cDsKKyAg
ICAgICAgICAgIG91dHB1dEl0ZW0udHlwZSA9IFdlYk1lbnVJdGVtSW5mbzo6U3ViTWVudTsKKyAg
ICAgICAgICAgIHBvcHVsYXRlU3ViTWVudUl0ZW1zKGlucHV0SXRlbS0+cGxhdGZvcm1TdWJNZW51
KCksIG91dHB1dEl0ZW0uc3ViTWVudUl0ZW1zKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9Ci0gICAgICAgIGN1c3RvbUl0ZW1zLmFwcGVuZChvdXRwdXRJdGVtKTsKKyAgICAgICAgc3Vi
SXRlbXMuYXBwZW5kKG91dHB1dEl0ZW0pOwogICAgIH0KIAotICAgIFdlYlZlY3RvcjxXZWJNZW51
SXRlbUluZm8+IG91dHB1dEl0ZW1zKGN1c3RvbUl0ZW1zLnNpemUoKSk7Ci0gICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBjdXN0b21JdGVtcy5zaXplKCk7ICsraSkKLSAgICAgICAgb3V0cHV0SXRl
bXNbaV0gPSBjdXN0b21JdGVtc1tpXTsKLSAgICBkYXRhLT5jdXN0b21JdGVtcy5zd2FwKG91dHB1
dEl0ZW1zKTsKKyAgICBXZWJWZWN0b3I8V2ViTWVudUl0ZW1JbmZvPiBvdXRwdXRJdGVtcyhzdWJJ
dGVtcy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3ViSXRlbXMuc2l6ZSgp
OyArK2kpCisgICAgICAgIG91dHB1dEl0ZW1zW2ldID0gc3ViSXRlbXNbaV07CisgICAgc3ViTWVu
dUl0ZW1zLnN3YXAob3V0cHV0SXRlbXMpOworfQorCit2b2lkIENvbnRleHRNZW51Q2xpZW50SW1w
bDo6cG9wdWxhdGVDdXN0b21NZW51SXRlbXMoV2ViQ29yZTo6Q29udGV4dE1lbnUqIGRlZmF1bHRN
ZW51LCBXZWJDb250ZXh0TWVudURhdGEqIGRhdGEpCit7CisgICAgcG9wdWxhdGVTdWJNZW51SXRl
bXMoZGVmYXVsdE1lbnUtPnBsYXRmb3JtRGVzY3JpcHRpb24oKSwgZGF0YS0+Y3VzdG9tSXRlbXMp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>