<?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>221104</bug_id>
          
          <creation_ts>2021-01-28 14:27:57 -0800</creation_ts>
          <short_desc>[macOS] Policy for warning about or killing processes using too much memory triggers too easily</short_desc>
          <delta_ts>2021-01-28 19:58:02 -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>WebKit2</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mjs</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1723500</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-28 14:27:57 -0800</bug_when>
    <thetext>Policy for warning about or killing processes using too much memory triggers too easily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723501</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-28 14:28:08 -0800</bug_when>
    <thetext>&lt;rdar://73625621&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723509</commentid>
    <comment_count>2</comment_count>
      <attachid>418672</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-28 14:35:46 -0800</bug_when>
    <thetext>Created attachment 418672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723515</commentid>
    <comment_count>3</comment_count>
      <attachid>418672</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-01-28 15:02:55 -0800</bug_when>
    <thetext>Comment on attachment 418672
Patch

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

&gt; Source/WTF/wtf/MemoryPressureHandler.cpp:-110
&gt; -    size_t baseThreshold = 2 * GB;
&gt; -#if CPU(X86_64) || CPU(ARM64)
&gt; -    if (processState == WebsamProcessState::Active)
&gt; -        baseThreshold = 4 * GB;
&gt; +    size_t baseThreshold = 4 * GB;
&gt;      if (tabCount &gt; 1)
&gt;          baseThreshold += std::min(tabCount - 1, 4u) * 1 * GB;
&gt; -#else
&gt; -    if ((tabCount &gt; 1) || (processState == WebsamProcessState::Active))
&gt; -        baseThreshold = 3 * GB;
&gt; -#endif

This also increases the threshold for armv7k and other (presumably embedded) linux ports using non-x86 CPUs.  Is this intensional?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723518</commentid>
    <comment_count>4</comment_count>
      <attachid>418674</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-28 15:08:38 -0800</bug_when>
    <thetext>Created attachment 418674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723519</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-28 15:10:02 -0800</bug_when>
    <thetext>(In reply to Mark Lam from comment #3)
&gt; Comment on attachment 418672 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=418672&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/MemoryPressureHandler.cpp:-110
&gt; &gt; -    size_t baseThreshold = 2 * GB;
&gt; &gt; -#if CPU(X86_64) || CPU(ARM64)
&gt; &gt; -    if (processState == WebsamProcessState::Active)
&gt; &gt; -        baseThreshold = 4 * GB;
&gt; &gt; +    size_t baseThreshold = 4 * GB;
&gt; &gt;      if (tabCount &gt; 1)
&gt; &gt;          baseThreshold += std::min(tabCount - 1, 4u) * 1 * GB;
&gt; &gt; -#else
&gt; &gt; -    if ((tabCount &gt; 1) || (processState == WebsamProcessState::Active))
&gt; &gt; -        baseThreshold = 3 * GB;
&gt; &gt; -#endif
&gt; 
&gt; This also increases the threshold for armv7k and other (presumably embedded)
&gt; linux ports using non-x86 CPUs.  Is this intensional?

Yes, I was trying to simplify things and it was not obvious to me what platform this was targeting. Anyway, I have now updated my patch to maintain previous behavior for armv7k.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723522</commentid>
    <comment_count>6</comment_count>
      <attachid>418674</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-01-28 15:13:31 -0800</bug_when>
    <thetext>Comment on attachment 418674
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723528</commentid>
    <comment_count>7</comment_count>
      <attachid>418674</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-01-28 15:47:06 -0800</bug_when>
    <thetext>Comment on attachment 418674
Patch

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

&gt; Source/WTF/wtf/MemoryPressureHandler.cpp:104
&gt; +    size_t baseThreshold = 4 * GB;
&gt;      if (tabCount &gt; 1)
&gt;          baseThreshold += std::min(tabCount - 1, 4u) * 1 * GB;

what&apos;s the point of this math?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723529</commentid>
    <comment_count>8</comment_count>
      <attachid>418674</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-28 15:49:06 -0800</bug_when>
    <thetext>Comment on attachment 418674
Patch

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

&gt;&gt; Source/WTF/wtf/MemoryPressureHandler.cpp:104
&gt;&gt;          baseThreshold += std::min(tabCount - 1, 4u) * 1 * GB;
&gt; 
&gt; what&apos;s the point of this math?

We had some pathological cases where a many tabs would end up in the same WebProcess (Clicking links in a Gmail tab iirc). This was a way to give more memory to processes that are shared by more than 1 tab (we give an extra GB per extra tab, no more than 4 extra GBs total).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723559</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-28 17:20:20 -0800</bug_when>
    <thetext>commit-queue failed to commit attachment 418674 to WebKit repository.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723575</commentid>
    <comment_count>10</comment_count>
      <attachid>418689</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-28 18:32:24 -0800</bug_when>
    <thetext>Created attachment 418689
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723608</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-28 19:57:59 -0800</bug_when>
    <thetext>Committed r272046: &lt;https://trac.webkit.org/changeset/272046&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418689.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418672</attachid>
            <date>2021-01-28 14:35:46 -0800</date>
            <delta_ts>2021-01-28 16:08:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221104-20210128143545.patch</filename>
            <type>text/plain</type>
            <size>8912</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRiYzk1MThjZDYyYTc1ZWEyZmFiZDc1
NDkzZWViZDQ3YmM5YTI1MzUuLjZmY2M5NjQ4YmYwOGI0MTY4ZmI4NWMwNmMwZWNlOTgxMmM2NGI4
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDEtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBvbGljeSBmb3Igd2FybmluZyBhYm91dCBv
ciBraWxsaW5nIHByb2Nlc3NlcyB1c2luZyB0b28gbXVjaCBtZW1vcnkgdHJpZ2dlcnMgdG9vIGVh
c2lseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIx
MTA0CisgICAgICAgIDxyZGFyOi8vNzM2MjU2MjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHBvbGljeSBmb3Igd2FybmluZyBhYm91dCBvciBr
aWxsaW5nIHByb2Nlc3NlcyB1c2luZyB0b28gbXVjaCBtZW1vcnkgd2FzIHRyaWdnZXJpbmcgdG9v
CisgICAgICAgIGVhc2lseS4gSSBtYWRlIHRoZSBmb2xsb3dpbmcgY2hhbmdlcyB0byB0aGUgcG9s
aWN5IHRvIGFkZHJlc3MgdGhpczoKKyAgICAgICAgMS4gV2Ugbm8gbG9uZ2VyIGtpbGwgV2ViUHJv
Y2Vzc2VzIGFzc29jaWF0ZWQgd2l0aCBhIHZpc2libGUgKHBhcmVudGVkKSB2aWV3IHVuZGVyIGFu
eQorICAgICAgICAgICBjaXJjdW1zdGFuY2VzLiBXZSB1c2VkIHRvIGtpbGwgYWN0aXZlIFdlYlBy
b2Nlc3NlcyB3aGVuIHRoZXkgcmVhY2hlZCA0R0IuIFdlIHdvdWxkCisgICAgICAgICAgIGFsc28g
a2lsbCB2aXNpYmxlIFdlYlByb2Nlc3NlcyB3aGVuIHRoZXkgcmVhY2hlZCAyR0IgaWYgdGhlcmUg
d2VyZSB2aXNpYmxlIGJ1dCBub3QKKyAgICAgICAgICAgYWN0aXZlIC8gZm9jdXNlZC4KKyAgICAg
ICAgMi4gRm9yIGJhY2tncm91bmQgV2ViUHJvY2Vzc2VzIChhc3NvY2lhdGVkIHdpdGggbm9uIHZp
c2libGUgLyBwYXJlbnRlZCB2aWV3cyksIEkgaGF2ZQorICAgICAgICAgICByYWlzZWQgdGhlIGtp
bGwgbGltaXQgZnJvbSAyR0IgdG8gNEdCLgorICAgICAgICAzLiBGb3IgZm9yZWdyb3VuZCBXZWJQ
cm9jZXNzZXMgKGFzc29jaWF0ZWQgd2l0aCB2aXNpYmxlIC8gcGFyZW50IHZpZXdzKSwgSSBoYXZl
IGFsc28KKyAgICAgICAgICAgcmFpc2VkIHRoZSBsaW1pdCB0byBzaG93IHRoZSBleGNlc3NpdmUg
bWVtb3J5IHVzYWdlIGJhbm5lciBmcm9tIDJHQiB0byA0R0IuCisKKyAgICAgICAgKiB3dGYvTWVt
b3J5UHJlc3N1cmVIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdURjo6dGhyZXNob2xkRm9yTWVtb3J5
S2lsbE9mSW5hY3RpdmVQcm9jZXNzKToKKyAgICAgICAgKFdURjo6TWVtb3J5UHJlc3N1cmVIYW5k
bGVyOjp0aHJlc2hvbGRGb3JNZW1vcnlLaWxsKToKKyAgICAgICAgKFdURjo6TWVtb3J5UHJlc3N1
cmVIYW5kbGVyOjpzaHJpbmtPckRpZSk6CisgICAgICAgIChXVEY6Ok1lbW9yeVByZXNzdXJlSGFu
ZGxlcjo6bWVhc3VyZW1lbnRUaW1lckZpcmVkKToKKyAgICAgICAgKiB3dGYvTWVtb3J5UHJlc3N1
cmVIYW5kbGVyLmg6CisKIDIwMjEtMDEtMjggIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBbSlNDXSBBZGQgSlNDX1NJR05BTF9GT1JfR0MgZW52aXJvbm1lbnQg
dmFyaWFibGUgZm9yIExpbnV4IC8gRnJlZUJTRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDZmNjJkYWNhNzJhNzAy
OGRjOGIyNThjNGE0MzM0YmJiZTg1YmQ1NmIuLmQwYzEyMDc1YTZhMzU2NDQ2ZjdiYmY3NThkZTE1
MjVjMjZjMGFlYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0wMS0yOCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gUG9saWN5IGZv
ciB3YXJuaW5nIGFib3V0IG9yIGtpbGxpbmcgcHJvY2Vzc2VzIHVzaW5nIHRvbyBtdWNoIG1lbW9y
eSB0cmlnZ2VycyB0b28gZWFzaWx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjExMDQKKyAgICAgICAgPHJkYXI6Ly83MzYyNTYyMT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcG9saWN5IGZvciB3
YXJuaW5nIGFib3V0IG9yIGtpbGxpbmcgcHJvY2Vzc2VzIHVzaW5nIHRvbyBtdWNoIG1lbW9yeSB3
YXMgdHJpZ2dlcmluZyB0b28KKyAgICAgICAgZWFzaWx5LiBJIG1hZGUgdGhlIGZvbGxvd2luZyBj
aGFuZ2VzIHRvIHRoZSBwb2xpY3kgdG8gYWRkcmVzcyB0aGlzOgorICAgICAgICAxLiBXZSBubyBs
b25nZXIga2lsbCBXZWJQcm9jZXNzZXMgYXNzb2NpYXRlZCB3aXRoIGEgdmlzaWJsZSAocGFyZW50
ZWQpIHZpZXcgdW5kZXIgYW55CisgICAgICAgICAgIGNpcmN1bXN0YW5jZXMuIFdlIHVzZWQgdG8g
a2lsbCBhY3RpdmUgV2ViUHJvY2Vzc2VzIHdoZW4gdGhleSByZWFjaGVkIDRHQi4gV2Ugd291bGQK
KyAgICAgICAgICAgYWxzbyBraWxsIHZpc2libGUgV2ViUHJvY2Vzc2VzIHdoZW4gdGhleSByZWFj
aGVkIDJHQiBpZiB0aGVyZSB3ZXJlIHZpc2libGUgYnV0IG5vdAorICAgICAgICAgICBhY3RpdmUg
LyBmb2N1c2VkLgorICAgICAgICAyLiBGb3IgYmFja2dyb3VuZCBXZWJQcm9jZXNzZXMgKGFzc29j
aWF0ZWQgd2l0aCBub24gdmlzaWJsZSAvIHBhcmVudGVkIHZpZXdzKSwgSSBoYXZlCisgICAgICAg
ICAgIHJhaXNlZCB0aGUga2lsbCBsaW1pdCBmcm9tIDJHQiB0byA0R0IuCisgICAgICAgIDMuIEZv
ciBmb3JlZ3JvdW5kIFdlYlByb2Nlc3NlcyAoYXNzb2NpYXRlZCB3aXRoIHZpc2libGUgLyBwYXJl
bnQgdmlld3MpLCBJIGhhdmUgYWxzbworICAgICAgICAgICByYWlzZWQgdGhlIGxpbWl0IHRvIHNo
b3cgdGhlIGV4Y2Vzc2l2ZSBtZW1vcnkgdXNhZ2UgYmFubmVyIGZyb20gMkdCIHRvIDRHQi4KKwor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlTW9uaXRvcjo6YWN0aXZpdHlTdGF0ZUNoYW5nZWQpOgorCiAyMDIxLTAxLTI4
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBTb3J0IGNvbG9ycyBp
biBDb2xvclR5cGVzLmggYWxwaGFiZXRpY2FsbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIuY3BwCmluZGV4IGZlOWM5YTUxN2NmMjFlMTliNmRkZTNmN2RmOGY0NjAxZmVmZjcy
ZjYuLjY2ZjFmMDJkMzNhNmI0Njg2ZDMzYjUxNjU3MWEwMjc3MmJmOTNlZjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dU
Ri93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtOTYsMTggKzk2LDExIEBAIHN0YXRp
YyBjb25zdCBjaGFyKiB0b1N0cmluZyhNZW1vcnlVc2FnZVBvbGljeSBwb2xpY3kpCiB9CiAjZW5k
aWYKIAotc3RhdGljIHNpemVfdCB0aHJlc2hvbGRGb3JNZW1vcnlLaWxsV2l0aFByb2Nlc3NTdGF0
ZShXZWJzYW1Qcm9jZXNzU3RhdGUgcHJvY2Vzc1N0YXRlLCB1bnNpZ25lZCB0YWJDb3VudCkKK3N0
YXRpYyBzaXplX3QgdGhyZXNob2xkRm9yTWVtb3J5S2lsbE9mSW5hY3RpdmVQcm9jZXNzKHVuc2ln
bmVkIHRhYkNvdW50KQogewotICAgIHNpemVfdCBiYXNlVGhyZXNob2xkID0gMiAqIEdCOwotI2lm
IENQVShYODZfNjQpIHx8IENQVShBUk02NCkKLSAgICBpZiAocHJvY2Vzc1N0YXRlID09IFdlYnNh
bVByb2Nlc3NTdGF0ZTo6QWN0aXZlKQotICAgICAgICBiYXNlVGhyZXNob2xkID0gNCAqIEdCOwor
ICAgIHNpemVfdCBiYXNlVGhyZXNob2xkID0gNCAqIEdCOwogICAgIGlmICh0YWJDb3VudCA+IDEp
CiAgICAgICAgIGJhc2VUaHJlc2hvbGQgKz0gc3RkOjptaW4odGFiQ291bnQgLSAxLCA0dSkgKiAx
ICogR0I7Ci0jZWxzZQotICAgIGlmICgodGFiQ291bnQgPiAxKSB8fCAocHJvY2Vzc1N0YXRlID09
IFdlYnNhbVByb2Nlc3NTdGF0ZTo6QWN0aXZlKSkKLSAgICAgICAgYmFzZVRocmVzaG9sZCA9IDMg
KiBHQjsKLSNlbmRpZgogICAgIHJldHVybiBzdGQ6Om1pbihiYXNlVGhyZXNob2xkLCBzdGF0aWNf
Y2FzdDxzaXplX3Q+KHJhbVNpemUoKSAqIDAuOSkpOwogfQogCkBAIC0xMTgsOSArMTExLDE0IEBA
IHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzZXRQYWdlQ291bnQodW5zaWduZWQgcGFnZUNv
dW50KQogICAgIHNpbmdsZXRvbigpLm1fcGFnZUNvdW50ID0gcGFnZUNvdW50OwogfQogCi1zaXpl
X3QgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjp0aHJlc2hvbGRGb3JNZW1vcnlLaWxsKCkKK09wdGlv
bmFsPHNpemVfdD4gTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjp0aHJlc2hvbGRGb3JNZW1vcnlLaWxs
KCkKIHsKLSAgICByZXR1cm4gdGhyZXNob2xkRm9yTWVtb3J5S2lsbFdpdGhQcm9jZXNzU3RhdGUo
bV9wcm9jZXNzU3RhdGUsIG1fcGFnZUNvdW50KTsKKyAgICBzd2l0Y2ggKG1fcHJvY2Vzc1N0YXRl
KSB7CisgICAgY2FzZSBXZWJzYW1Qcm9jZXNzU3RhdGU6OkFjdGl2ZToKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICBjYXNlIFdlYnNhbVByb2Nlc3NTdGF0ZTo6SW5hY3RpdmU6Cisg
ICAgICAgIHJldHVybiB0aHJlc2hvbGRGb3JNZW1vcnlLaWxsT2ZJbmFjdGl2ZVByb2Nlc3MobV9w
YWdlQ291bnQpOworICAgIH0KIH0KIAogc3RhdGljIHNpemVfdCB0aHJlc2hvbGRGb3JQb2xpY3ko
TWVtb3J5VXNhZ2VQb2xpY3kgcG9saWN5KQpAQCAtMTYyLDcgKzE2MCw3IEBAIE1lbW9yeVVzYWdl
UG9saWN5IE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6Y3VycmVudE1lbW9yeVVzYWdlUG9saWN5KCkK
ICAgICByZXR1cm4gcG9saWN5Rm9yRm9vdHByaW50KG1lbW9yeUZvb3RwcmludCgpKTsKIH0KIAot
dm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNocmlua09yRGllKCkKK3ZvaWQgTWVtb3J5UHJl
c3N1cmVIYW5kbGVyOjpzaHJpbmtPckRpZShzaXplX3Qga2lsbFRocmVzaG9sZCkKIHsKICAgICBS
RUxFQVNFX0xPRyhNZW1vcnlQcmVzc3VyZSwgIlByb2Nlc3MgaXMgYWJvdmUgdGhlIG1lbW9yeSBr
aWxsIHRocmVzaG9sZC4gVHJ5aW5nIHRvIHNocmluayBkb3duLiIpOwogICAgIHJlbGVhc2VNZW1v
cnkoQ3JpdGljYWw6OlllcywgU3luY2hyb25vdXM6Olllcyk7CkBAIC0xNzAsMTMgKzE2OCwxMyBA
QCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2hyaW5rT3JEaWUoKQogICAgIHNpemVfdCBm
b290cHJpbnQgPSBtZW1vcnlGb290cHJpbnQoKTsKICAgICBSRUxFQVNFX0xPRyhNZW1vcnlQcmVz
c3VyZSwgIk5ldyBtZW1vcnkgZm9vdHByaW50OiAlenUgTUIiLCBmb290cHJpbnQgLyBNQik7CiAK
LSAgICBpZiAoZm9vdHByaW50IDwgdGhyZXNob2xkRm9yTWVtb3J5S2lsbCgpKSB7CisgICAgaWYg
KGZvb3RwcmludCA8IGtpbGxUaHJlc2hvbGQpIHsKICAgICAgICAgUkVMRUFTRV9MT0coTWVtb3J5
UHJlc3N1cmUsICJTaHJhbmsgYmVsb3cgbWVtb3J5IGtpbGwgdGhyZXNob2xkLiBQcm9jZXNzIGdl
dHMgdG8gbGl2ZS4iKTsKICAgICAgICAgc2V0TWVtb3J5VXNhZ2VQb2xpY3lCYXNlZE9uRm9vdHBy
aW50KGZvb3RwcmludCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBXVEZMb2dBbHdh
eXMoIlVuYWJsZSB0byBzaHJpbmsgbWVtb3J5IGZvb3RwcmludCBvZiBwcm9jZXNzICglenUgTUIp
IGJlbG93IHRoZSBraWxsIHRocmVzb2xkICglenUgTUIpLiBLaWxsZWRcbiIsIGZvb3RwcmludCAv
IE1CLCB0aHJlc2hvbGRGb3JNZW1vcnlLaWxsKCkgLyBNQik7CisgICAgV1RGTG9nQWx3YXlzKCJV
bmFibGUgdG8gc2hyaW5rIG1lbW9yeSBmb290cHJpbnQgb2YgcHJvY2VzcyAoJXp1IE1CKSBiZWxv
dyB0aGUga2lsbCB0aHJlc29sZCAoJXp1IE1CKS4gS2lsbGVkXG4iLCBmb290cHJpbnQgLyBNQiwg
a2lsbFRocmVzaG9sZCAvIE1CKTsKICAgICBSRUxFQVNFX0FTU0VSVChtX21lbW9yeUtpbGxDYWxs
YmFjayk7CiAgICAgbV9tZW1vcnlLaWxsQ2FsbGJhY2soKTsKIH0KQEAgLTE5OCw4ICsxOTYsOSBA
QCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6bWVhc3VyZW1lbnRUaW1lckZpcmVkKCkKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBSRUxFQVNFX0xPRyhNZW1vcnlQcmVzc3VyZSwgIkN1cnJl
bnQgbWVtb3J5IGZvb3RwcmludDogJXp1IE1CIiwgZm9vdHByaW50IC8gTUIpOwogI2VuZGlmCi0g
ICAgaWYgKGZvb3RwcmludCA+PSB0aHJlc2hvbGRGb3JNZW1vcnlLaWxsKCkpIHsKLSAgICAgICAg
c2hyaW5rT3JEaWUoKTsKKyAgICBhdXRvIGtpbGxUaHJlc2hvbGQgPSB0aHJlc2hvbGRGb3JNZW1v
cnlLaWxsKCk7CisgICAgaWYgKGtpbGxUaHJlc2hvbGQgJiYgZm9vdHByaW50ID49ICpraWxsVGhy
ZXNob2xkKSB7CisgICAgICAgIHNocmlua09yRGllKCpraWxsVGhyZXNob2xkKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIApAQCAtMjE2LDcgKzIxNSw3IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVI
YW5kbGVyOjptZWFzdXJlbWVudFRpbWVyRmlyZWQoKQogICAgICAgICBicmVhazsKICAgICB9CiAK
LSAgICBpZiAocHJvY2Vzc1N0YXRlKCkgPT0gV2Vic2FtUHJvY2Vzc1N0YXRlOjpBY3RpdmUgJiYg
Zm9vdHByaW50ID4gdGhyZXNob2xkRm9yTWVtb3J5S2lsbFdpdGhQcm9jZXNzU3RhdGUoV2Vic2Ft
UHJvY2Vzc1N0YXRlOjpJbmFjdGl2ZSwgbV9wYWdlQ291bnQpKQorICAgIGlmIChwcm9jZXNzU3Rh
dGUoKSA9PSBXZWJzYW1Qcm9jZXNzU3RhdGU6OkFjdGl2ZSAmJiBmb290cHJpbnQgPiB0aHJlc2hv
bGRGb3JNZW1vcnlLaWxsT2ZJbmFjdGl2ZVByb2Nlc3MobV9wYWdlQ291bnQpKQogICAgICAgICBk
b2VzRXhjZWVkSW5hY3RpdmVMaW1pdFdoaWxlQWN0aXZlKCk7CiAgICAgZWxzZQogICAgICAgICBk
b2VzTm90RXhjZWVkSW5hY3RpdmVMaW1pdFdoaWxlQWN0aXZlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL01lbW9y
eVByZXNzdXJlSGFuZGxlci5oCmluZGV4IDgwMjFjNmZhNzRmNjhjNzUzNGI4ZDIwZTEwNDNkYmM4
NGIzMTIyOGEuLmYyMWVkODkyMjljNmU2MDdjZDYzMWQyZWNmNTg4M2M1NDdjNDdjNDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oCkBAIC0xNTYsNyArMTU2LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0U2hvdWxkTG9nTWVtb3J5TWVtb3J5UHJlc3N1cmVFdmVudHMoYm9v
bCBzaG91bGRMb2cpIHsgbV9zaG91bGRMb2dNZW1vcnlNZW1vcnlQcmVzc3VyZUV2ZW50cyA9IHNo
b3VsZExvZzsgfQogCiBwcml2YXRlOgotICAgIHNpemVfdCB0aHJlc2hvbGRGb3JNZW1vcnlLaWxs
KCk7CisgICAgT3B0aW9uYWw8c2l6ZV90PiB0aHJlc2hvbGRGb3JNZW1vcnlLaWxsKCk7CiAgICAg
dm9pZCBtZW1vcnlQcmVzc3VyZVN0YXR1c0NoYW5nZWQoKTsKIAogICAgIHZvaWQgdW5pbnN0YWxs
KCk7CkBAIC0xNzEsNyArMTcxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlh
bGl6ZSgpOwogCiAgICAgdm9pZCBtZWFzdXJlbWVudFRpbWVyRmlyZWQoKTsKLSAgICB2b2lkIHNo
cmlua09yRGllKCk7CisgICAgdm9pZCBzaHJpbmtPckRpZShzaXplX3Qga2lsbFRocmVzaG9sZCk7
CiAgICAgdm9pZCBzZXRNZW1vcnlVc2FnZVBvbGljeUJhc2VkT25Gb290cHJpbnQoc2l6ZV90KTsK
ICAgICB2b2lkIGRvZXNFeGNlZWRJbmFjdGl2ZUxpbWl0V2hpbGVBY3RpdmUoKTsKICAgICB2b2lk
IGRvZXNOb3RFeGNlZWRJbmFjdGl2ZUxpbWl0V2hpbGVBY3RpdmUoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcAppbmRleCBhYjRiYzg2ZWRmMzAyZTFiMDliYmUy
MjhjM2VjYzc3ZjgxYzkyOGI3Li44OTg2MjI0Y2MzZTk5YTI4OTE1M2M1MmQ2OTY0YTA3N2M4Y2U5
MTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3IuY3BwCkBAIC0x
MzEsNyArMTMxLDcgQEAgdm9pZCBQZXJmb3JtYW5jZU1vbml0b3I6OmFjdGl2aXR5U3RhdGVDaGFu
Z2VkKE9wdGlvblNldDxBY3Rpdml0eVN0YXRlOjpGbGFnPiBvbGQKICAgICAgICAgICAgIG1fcG9z
dEJhY2tncm91bmRpbmdNZW1vcnlVc2FnZVRpbWVyLnN0YXJ0T25lU2hvdChtZW1vcnlVc2FnZU1l
YXN1cmVtZW50RGVsYXkpOwogICAgIH0KIAotICAgIGlmIChuZXdTdGF0ZS5jb250YWluc0FsbCh7
IEFjdGl2aXR5U3RhdGU6OklzVmlzaWJsZSwgQWN0aXZpdHlTdGF0ZTo6V2luZG93SXNBY3RpdmUg
fSkpIHsKKyAgICBpZiAobmV3U3RhdGUuY29udGFpbnMoQWN0aXZpdHlTdGF0ZTo6SXNWaXNpYmxl
KSkgewogICAgICAgICBtX3Byb2Nlc3NNYXlCZWNvbWVJbmFjdGl2ZSA9IGZhbHNlOwogICAgICAg
ICBtX3Byb2Nlc3NNYXlCZWNvbWVJbmFjdGl2ZVRpbWVyLnN0b3AoKTsKICAgICB9IGVsc2UgaWYg
KCFtX3Byb2Nlc3NNYXlCZWNvbWVJbmFjdGl2ZSAmJiAhbV9wcm9jZXNzTWF5QmVjb21lSW5hY3Rp
dmVUaW1lci5pc0FjdGl2ZSgpKQo=
</data>
<flag name="commit-queue"
          id="436708"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418674</attachid>
            <date>2021-01-28 15:08:38 -0800</date>
            <delta_ts>2021-01-28 18:32:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221104-20210128150837.patch</filename>
            <type>text/plain</type>
            <size>8970</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRiYzk1MThjZDYyYTc1ZWEyZmFiZDc1
NDkzZWViZDQ3YmM5YTI1MzUuLjZmY2M5NjQ4YmYwOGI0MTY4ZmI4NWMwNmMwZWNlOTgxMmM2NGI4
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDEtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBvbGljeSBmb3Igd2FybmluZyBhYm91dCBv
ciBraWxsaW5nIHByb2Nlc3NlcyB1c2luZyB0b28gbXVjaCBtZW1vcnkgdHJpZ2dlcnMgdG9vIGVh
c2lseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIx
MTA0CisgICAgICAgIDxyZGFyOi8vNzM2MjU2MjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHBvbGljeSBmb3Igd2FybmluZyBhYm91dCBvciBr
aWxsaW5nIHByb2Nlc3NlcyB1c2luZyB0b28gbXVjaCBtZW1vcnkgd2FzIHRyaWdnZXJpbmcgdG9v
CisgICAgICAgIGVhc2lseS4gSSBtYWRlIHRoZSBmb2xsb3dpbmcgY2hhbmdlcyB0byB0aGUgcG9s
aWN5IHRvIGFkZHJlc3MgdGhpczoKKyAgICAgICAgMS4gV2Ugbm8gbG9uZ2VyIGtpbGwgV2ViUHJv
Y2Vzc2VzIGFzc29jaWF0ZWQgd2l0aCBhIHZpc2libGUgKHBhcmVudGVkKSB2aWV3IHVuZGVyIGFu
eQorICAgICAgICAgICBjaXJjdW1zdGFuY2VzLiBXZSB1c2VkIHRvIGtpbGwgYWN0aXZlIFdlYlBy
b2Nlc3NlcyB3aGVuIHRoZXkgcmVhY2hlZCA0R0IuIFdlIHdvdWxkCisgICAgICAgICAgIGFsc28g
a2lsbCB2aXNpYmxlIFdlYlByb2Nlc3NlcyB3aGVuIHRoZXkgcmVhY2hlZCAyR0IgaWYgdGhlcmUg
d2VyZSB2aXNpYmxlIGJ1dCBub3QKKyAgICAgICAgICAgYWN0aXZlIC8gZm9jdXNlZC4KKyAgICAg
ICAgMi4gRm9yIGJhY2tncm91bmQgV2ViUHJvY2Vzc2VzIChhc3NvY2lhdGVkIHdpdGggbm9uIHZp
c2libGUgLyBwYXJlbnRlZCB2aWV3cyksIEkgaGF2ZQorICAgICAgICAgICByYWlzZWQgdGhlIGtp
bGwgbGltaXQgZnJvbSAyR0IgdG8gNEdCLgorICAgICAgICAzLiBGb3IgZm9yZWdyb3VuZCBXZWJQ
cm9jZXNzZXMgKGFzc29jaWF0ZWQgd2l0aCB2aXNpYmxlIC8gcGFyZW50IHZpZXdzKSwgSSBoYXZl
IGFsc28KKyAgICAgICAgICAgcmFpc2VkIHRoZSBsaW1pdCB0byBzaG93IHRoZSBleGNlc3NpdmUg
bWVtb3J5IHVzYWdlIGJhbm5lciBmcm9tIDJHQiB0byA0R0IuCisKKyAgICAgICAgKiB3dGYvTWVt
b3J5UHJlc3N1cmVIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdURjo6dGhyZXNob2xkRm9yTWVtb3J5
S2lsbE9mSW5hY3RpdmVQcm9jZXNzKToKKyAgICAgICAgKFdURjo6TWVtb3J5UHJlc3N1cmVIYW5k
bGVyOjp0aHJlc2hvbGRGb3JNZW1vcnlLaWxsKToKKyAgICAgICAgKFdURjo6TWVtb3J5UHJlc3N1
cmVIYW5kbGVyOjpzaHJpbmtPckRpZSk6CisgICAgICAgIChXVEY6Ok1lbW9yeVByZXNzdXJlSGFu
ZGxlcjo6bWVhc3VyZW1lbnRUaW1lckZpcmVkKToKKyAgICAgICAgKiB3dGYvTWVtb3J5UHJlc3N1
cmVIYW5kbGVyLmg6CisKIDIwMjEtMDEtMjggIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBbSlNDXSBBZGQgSlNDX1NJR05BTF9GT1JfR0MgZW52aXJvbm1lbnQg
dmFyaWFibGUgZm9yIExpbnV4IC8gRnJlZUJTRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDZmNjJkYWNhNzJhNzAy
OGRjOGIyNThjNGE0MzM0YmJiZTg1YmQ1NmIuLmQwYzEyMDc1YTZhMzU2NDQ2ZjdiYmY3NThkZTE1
MjVjMjZjMGFlYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0wMS0yOCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gUG9saWN5IGZv
ciB3YXJuaW5nIGFib3V0IG9yIGtpbGxpbmcgcHJvY2Vzc2VzIHVzaW5nIHRvbyBtdWNoIG1lbW9y
eSB0cmlnZ2VycyB0b28gZWFzaWx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjExMDQKKyAgICAgICAgPHJkYXI6Ly83MzYyNTYyMT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcG9saWN5IGZvciB3
YXJuaW5nIGFib3V0IG9yIGtpbGxpbmcgcHJvY2Vzc2VzIHVzaW5nIHRvbyBtdWNoIG1lbW9yeSB3
YXMgdHJpZ2dlcmluZyB0b28KKyAgICAgICAgZWFzaWx5LiBJIG1hZGUgdGhlIGZvbGxvd2luZyBj
aGFuZ2VzIHRvIHRoZSBwb2xpY3kgdG8gYWRkcmVzcyB0aGlzOgorICAgICAgICAxLiBXZSBubyBs
b25nZXIga2lsbCBXZWJQcm9jZXNzZXMgYXNzb2NpYXRlZCB3aXRoIGEgdmlzaWJsZSAocGFyZW50
ZWQpIHZpZXcgdW5kZXIgYW55CisgICAgICAgICAgIGNpcmN1bXN0YW5jZXMuIFdlIHVzZWQgdG8g
a2lsbCBhY3RpdmUgV2ViUHJvY2Vzc2VzIHdoZW4gdGhleSByZWFjaGVkIDRHQi4gV2Ugd291bGQK
KyAgICAgICAgICAgYWxzbyBraWxsIHZpc2libGUgV2ViUHJvY2Vzc2VzIHdoZW4gdGhleSByZWFj
aGVkIDJHQiBpZiB0aGVyZSB3ZXJlIHZpc2libGUgYnV0IG5vdAorICAgICAgICAgICBhY3RpdmUg
LyBmb2N1c2VkLgorICAgICAgICAyLiBGb3IgYmFja2dyb3VuZCBXZWJQcm9jZXNzZXMgKGFzc29j
aWF0ZWQgd2l0aCBub24gdmlzaWJsZSAvIHBhcmVudGVkIHZpZXdzKSwgSSBoYXZlCisgICAgICAg
ICAgIHJhaXNlZCB0aGUga2lsbCBsaW1pdCBmcm9tIDJHQiB0byA0R0IuCisgICAgICAgIDMuIEZv
ciBmb3JlZ3JvdW5kIFdlYlByb2Nlc3NlcyAoYXNzb2NpYXRlZCB3aXRoIHZpc2libGUgLyBwYXJl
bnQgdmlld3MpLCBJIGhhdmUgYWxzbworICAgICAgICAgICByYWlzZWQgdGhlIGxpbWl0IHRvIHNo
b3cgdGhlIGV4Y2Vzc2l2ZSBtZW1vcnkgdXNhZ2UgYmFubmVyIGZyb20gMkdCIHRvIDRHQi4KKwor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlTW9uaXRvcjo6YWN0aXZpdHlTdGF0ZUNoYW5nZWQpOgorCiAyMDIxLTAxLTI4
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBTb3J0IGNvbG9ycyBp
biBDb2xvclR5cGVzLmggYWxwaGFiZXRpY2FsbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIuY3BwCmluZGV4IGZlOWM5YTUxN2NmMjFlMTliNmRkZTNmN2RmOGY0NjAxZmVmZjcy
ZjYuLjY5MTUzM2JkZDdhMTJlM2JhNmJlNGYyNDA0YzJmNWY5MGFhMTQzMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dU
Ri93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtOTYsMTcgKzk2LDE0IEBAIHN0YXRp
YyBjb25zdCBjaGFyKiB0b1N0cmluZyhNZW1vcnlVc2FnZVBvbGljeSBwb2xpY3kpCiB9CiAjZW5k
aWYKIAotc3RhdGljIHNpemVfdCB0aHJlc2hvbGRGb3JNZW1vcnlLaWxsV2l0aFByb2Nlc3NTdGF0
ZShXZWJzYW1Qcm9jZXNzU3RhdGUgcHJvY2Vzc1N0YXRlLCB1bnNpZ25lZCB0YWJDb3VudCkKK3N0
YXRpYyBzaXplX3QgdGhyZXNob2xkRm9yTWVtb3J5S2lsbE9mSW5hY3RpdmVQcm9jZXNzKHVuc2ln
bmVkIHRhYkNvdW50KQogewotICAgIHNpemVfdCBiYXNlVGhyZXNob2xkID0gMiAqIEdCOwogI2lm
IENQVShYODZfNjQpIHx8IENQVShBUk02NCkKLSAgICBpZiAocHJvY2Vzc1N0YXRlID09IFdlYnNh
bVByb2Nlc3NTdGF0ZTo6QWN0aXZlKQotICAgICAgICBiYXNlVGhyZXNob2xkID0gNCAqIEdCOwor
ICAgIHNpemVfdCBiYXNlVGhyZXNob2xkID0gNCAqIEdCOwogICAgIGlmICh0YWJDb3VudCA+IDEp
CiAgICAgICAgIGJhc2VUaHJlc2hvbGQgKz0gc3RkOjptaW4odGFiQ291bnQgLSAxLCA0dSkgKiAx
ICogR0I7CiAjZWxzZQotICAgIGlmICgodGFiQ291bnQgPiAxKSB8fCAocHJvY2Vzc1N0YXRlID09
IFdlYnNhbVByb2Nlc3NTdGF0ZTo6QWN0aXZlKSkKLSAgICAgICAgYmFzZVRocmVzaG9sZCA9IDMg
KiBHQjsKKyAgICBzaXplX3QgYmFzZVRocmVzaG9sZCA9IHRhYkNvdW50ID4gMSA/IDMgKiBHQiA6
IDIgKiBHQjsKICNlbmRpZgogICAgIHJldHVybiBzdGQ6Om1pbihiYXNlVGhyZXNob2xkLCBzdGF0
aWNfY2FzdDxzaXplX3Q+KHJhbVNpemUoKSAqIDAuOSkpOwogfQpAQCAtMTE4LDkgKzExNSwxNCBA
QCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2V0UGFnZUNvdW50KHVuc2lnbmVkIHBhZ2VD
b3VudCkKICAgICBzaW5nbGV0b24oKS5tX3BhZ2VDb3VudCA9IHBhZ2VDb3VudDsKIH0KIAotc2l6
ZV90IE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6dGhyZXNob2xkRm9yTWVtb3J5S2lsbCgpCitPcHRp
b25hbDxzaXplX3Q+IE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6dGhyZXNob2xkRm9yTWVtb3J5S2ls
bCgpCiB7Ci0gICAgcmV0dXJuIHRocmVzaG9sZEZvck1lbW9yeUtpbGxXaXRoUHJvY2Vzc1N0YXRl
KG1fcHJvY2Vzc1N0YXRlLCBtX3BhZ2VDb3VudCk7CisgICAgc3dpdGNoIChtX3Byb2Nlc3NTdGF0
ZSkgeworICAgIGNhc2UgV2Vic2FtUHJvY2Vzc1N0YXRlOjpBY3RpdmU6CisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgY2FzZSBXZWJzYW1Qcm9jZXNzU3RhdGU6OkluYWN0aXZlOgor
ICAgICAgICByZXR1cm4gdGhyZXNob2xkRm9yTWVtb3J5S2lsbE9mSW5hY3RpdmVQcm9jZXNzKG1f
cGFnZUNvdW50KTsKKyAgICB9CiB9CiAKIHN0YXRpYyBzaXplX3QgdGhyZXNob2xkRm9yUG9saWN5
KE1lbW9yeVVzYWdlUG9saWN5IHBvbGljeSkKQEAgLTE2Miw3ICsxNjQsNyBAQCBNZW1vcnlVc2Fn
ZVBvbGljeSBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OmN1cnJlbnRNZW1vcnlVc2FnZVBvbGljeSgp
CiAgICAgcmV0dXJuIHBvbGljeUZvckZvb3RwcmludChtZW1vcnlGb290cHJpbnQoKSk7CiB9CiAK
LXZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzaHJpbmtPckRpZSgpCit2b2lkIE1lbW9yeVBy
ZXNzdXJlSGFuZGxlcjo6c2hyaW5rT3JEaWUoc2l6ZV90IGtpbGxUaHJlc2hvbGQpCiB7CiAgICAg
UkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUsICJQcm9jZXNzIGlzIGFib3ZlIHRoZSBtZW1vcnkg
a2lsbCB0aHJlc2hvbGQuIFRyeWluZyB0byBzaHJpbmsgZG93bi4iKTsKICAgICByZWxlYXNlTWVt
b3J5KENyaXRpY2FsOjpZZXMsIFN5bmNocm9ub3VzOjpZZXMpOwpAQCAtMTcwLDEzICsxNzIsMTMg
QEAgdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNocmlua09yRGllKCkKICAgICBzaXplX3Qg
Zm9vdHByaW50ID0gbWVtb3J5Rm9vdHByaW50KCk7CiAgICAgUkVMRUFTRV9MT0coTWVtb3J5UHJl
c3N1cmUsICJOZXcgbWVtb3J5IGZvb3RwcmludDogJXp1IE1CIiwgZm9vdHByaW50IC8gTUIpOwog
Ci0gICAgaWYgKGZvb3RwcmludCA8IHRocmVzaG9sZEZvck1lbW9yeUtpbGwoKSkgeworICAgIGlm
IChmb290cHJpbnQgPCBraWxsVGhyZXNob2xkKSB7CiAgICAgICAgIFJFTEVBU0VfTE9HKE1lbW9y
eVByZXNzdXJlLCAiU2hyYW5rIGJlbG93IG1lbW9yeSBraWxsIHRocmVzaG9sZC4gUHJvY2VzcyBn
ZXRzIHRvIGxpdmUuIik7CiAgICAgICAgIHNldE1lbW9yeVVzYWdlUG9saWN5QmFzZWRPbkZvb3Rw
cmludChmb290cHJpbnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgV1RGTG9nQWx3
YXlzKCJVbmFibGUgdG8gc2hyaW5rIG1lbW9yeSBmb290cHJpbnQgb2YgcHJvY2VzcyAoJXp1IE1C
KSBiZWxvdyB0aGUga2lsbCB0aHJlc29sZCAoJXp1IE1CKS4gS2lsbGVkXG4iLCBmb290cHJpbnQg
LyBNQiwgdGhyZXNob2xkRm9yTWVtb3J5S2lsbCgpIC8gTUIpOworICAgIFdURkxvZ0Fsd2F5cygi
VW5hYmxlIHRvIHNocmluayBtZW1vcnkgZm9vdHByaW50IG9mIHByb2Nlc3MgKCV6dSBNQikgYmVs
b3cgdGhlIGtpbGwgdGhyZXNvbGQgKCV6dSBNQikuIEtpbGxlZFxuIiwgZm9vdHByaW50IC8gTUIs
IGtpbGxUaHJlc2hvbGQgLyBNQik7CiAgICAgUkVMRUFTRV9BU1NFUlQobV9tZW1vcnlLaWxsQ2Fs
bGJhY2spOwogICAgIG1fbWVtb3J5S2lsbENhbGxiYWNrKCk7CiB9CkBAIC0xOTgsOCArMjAwLDkg
QEAgdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Om1lYXN1cmVtZW50VGltZXJGaXJlZCgpCiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgUkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUsICJDdXJy
ZW50IG1lbW9yeSBmb290cHJpbnQ6ICV6dSBNQiIsIGZvb3RwcmludCAvIE1CKTsKICNlbmRpZgot
ICAgIGlmIChmb290cHJpbnQgPj0gdGhyZXNob2xkRm9yTWVtb3J5S2lsbCgpKSB7Ci0gICAgICAg
IHNocmlua09yRGllKCk7CisgICAgYXV0byBraWxsVGhyZXNob2xkID0gdGhyZXNob2xkRm9yTWVt
b3J5S2lsbCgpOworICAgIGlmIChraWxsVGhyZXNob2xkICYmIGZvb3RwcmludCA+PSAqa2lsbFRo
cmVzaG9sZCkgeworICAgICAgICBzaHJpbmtPckRpZSgqa2lsbFRocmVzaG9sZCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKQEAgLTIxNiw3ICsyMTksNyBAQCB2b2lkIE1lbW9yeVByZXNzdXJl
SGFuZGxlcjo6bWVhc3VyZW1lbnRUaW1lckZpcmVkKCkKICAgICAgICAgYnJlYWs7CiAgICAgfQog
Ci0gICAgaWYgKHByb2Nlc3NTdGF0ZSgpID09IFdlYnNhbVByb2Nlc3NTdGF0ZTo6QWN0aXZlICYm
IGZvb3RwcmludCA+IHRocmVzaG9sZEZvck1lbW9yeUtpbGxXaXRoUHJvY2Vzc1N0YXRlKFdlYnNh
bVByb2Nlc3NTdGF0ZTo6SW5hY3RpdmUsIG1fcGFnZUNvdW50KSkKKyAgICBpZiAocHJvY2Vzc1N0
YXRlKCkgPT0gV2Vic2FtUHJvY2Vzc1N0YXRlOjpBY3RpdmUgJiYgZm9vdHByaW50ID4gdGhyZXNo
b2xkRm9yTWVtb3J5S2lsbE9mSW5hY3RpdmVQcm9jZXNzKG1fcGFnZUNvdW50KSkKICAgICAgICAg
ZG9lc0V4Y2VlZEluYWN0aXZlTGltaXRXaGlsZUFjdGl2ZSgpOwogICAgIGVsc2UKICAgICAgICAg
ZG9lc05vdEV4Y2VlZEluYWN0aXZlTGltaXRXaGlsZUFjdGl2ZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9NZW1v
cnlQcmVzc3VyZUhhbmRsZXIuaAppbmRleCA4MDIxYzZmYTc0ZjY4Yzc1MzRiOGQyMGUxMDQzZGJj
ODRiMzEyMjhhLi5mMjFlZDg5MjI5YzZlNjA3Y2Q2MzFkMmVjZjU4ODNjNTQ3YzQ3YzQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaApAQCAtMTU2LDcgKzE1Niw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFNob3VsZExvZ01lbW9yeU1lbW9yeVByZXNzdXJlRXZlbnRzKGJv
b2wgc2hvdWxkTG9nKSB7IG1fc2hvdWxkTG9nTWVtb3J5TWVtb3J5UHJlc3N1cmVFdmVudHMgPSBz
aG91bGRMb2c7IH0KIAogcHJpdmF0ZToKLSAgICBzaXplX3QgdGhyZXNob2xkRm9yTWVtb3J5S2ls
bCgpOworICAgIE9wdGlvbmFsPHNpemVfdD4gdGhyZXNob2xkRm9yTWVtb3J5S2lsbCgpOwogICAg
IHZvaWQgbWVtb3J5UHJlc3N1cmVTdGF0dXNDaGFuZ2VkKCk7CiAKICAgICB2b2lkIHVuaW5zdGFs
bCgpOwpAQCAtMTcxLDcgKzE3MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRp
YWxpemUoKTsKIAogICAgIHZvaWQgbWVhc3VyZW1lbnRUaW1lckZpcmVkKCk7Ci0gICAgdm9pZCBz
aHJpbmtPckRpZSgpOworICAgIHZvaWQgc2hyaW5rT3JEaWUoc2l6ZV90IGtpbGxUaHJlc2hvbGQp
OwogICAgIHZvaWQgc2V0TWVtb3J5VXNhZ2VQb2xpY3lCYXNlZE9uRm9vdHByaW50KHNpemVfdCk7
CiAgICAgdm9pZCBkb2VzRXhjZWVkSW5hY3RpdmVMaW1pdFdoaWxlQWN0aXZlKCk7CiAgICAgdm9p
ZCBkb2VzTm90RXhjZWVkSW5hY3RpdmVMaW1pdFdoaWxlQWN0aXZlKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5jcHAKaW5kZXggYWI0YmM4NmVkZjMwMmUxYjA5YmJl
MjI4YzNlY2M3N2Y4MWM5MjhiNy4uODk4NjIyNGNjM2U5OWEyODkxNTNjNTJkNjk2NGEwNzdjOGNl
OTExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1vbml0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcApAQCAt
MTMxLDcgKzEzMSw3IEBAIHZvaWQgUGVyZm9ybWFuY2VNb25pdG9yOjphY3Rpdml0eVN0YXRlQ2hh
bmdlZChPcHRpb25TZXQ8QWN0aXZpdHlTdGF0ZTo6RmxhZz4gb2xkCiAgICAgICAgICAgICBtX3Bv
c3RCYWNrZ3JvdW5kaW5nTWVtb3J5VXNhZ2VUaW1lci5zdGFydE9uZVNob3QobWVtb3J5VXNhZ2VN
ZWFzdXJlbWVudERlbGF5KTsKICAgICB9CiAKLSAgICBpZiAobmV3U3RhdGUuY29udGFpbnNBbGwo
eyBBY3Rpdml0eVN0YXRlOjpJc1Zpc2libGUsIEFjdGl2aXR5U3RhdGU6OldpbmRvd0lzQWN0aXZl
IH0pKSB7CisgICAgaWYgKG5ld1N0YXRlLmNvbnRhaW5zKEFjdGl2aXR5U3RhdGU6OklzVmlzaWJs
ZSkpIHsKICAgICAgICAgbV9wcm9jZXNzTWF5QmVjb21lSW5hY3RpdmUgPSBmYWxzZTsKICAgICAg
ICAgbV9wcm9jZXNzTWF5QmVjb21lSW5hY3RpdmVUaW1lci5zdG9wKCk7CiAgICAgfSBlbHNlIGlm
ICghbV9wcm9jZXNzTWF5QmVjb21lSW5hY3RpdmUgJiYgIW1fcHJvY2Vzc01heUJlY29tZUluYWN0
aXZlVGltZXIuaXNBY3RpdmUoKSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418689</attachid>
            <date>2021-01-28 18:32:24 -0800</date>
            <delta_ts>2021-01-28 19:58:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221104-20210128183223.patch</filename>
            <type>text/plain</type>
            <size>8976</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRiYzk1MThjZDYyYTc1ZWEyZmFiZDc1
NDkzZWViZDQ3YmM5YTI1MzUuLjJkNDM3MTJjOWYyMWQ4ZTQyNDdmYWI5ODBkMDRjYjdjZjRhYjQx
MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDEtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFBvbGljeSBmb3Igd2FybmluZyBhYm91dCBv
ciBraWxsaW5nIHByb2Nlc3NlcyB1c2luZyB0b28gbXVjaCBtZW1vcnkgdHJpZ2dlcnMgdG9vIGVh
c2lseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIx
MTA0CisgICAgICAgIDxyZGFyOi8vNzM2MjU2MjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2Vv
ZmYgR2FyZW4uCisKKyAgICAgICAgVGhlIHBvbGljeSBmb3Igd2FybmluZyBhYm91dCBvciBraWxs
aW5nIHByb2Nlc3NlcyB1c2luZyB0b28gbXVjaCBtZW1vcnkgd2FzIHRyaWdnZXJpbmcgdG9vCisg
ICAgICAgIGVhc2lseS4gSSBtYWRlIHRoZSBmb2xsb3dpbmcgY2hhbmdlcyB0byB0aGUgcG9saWN5
IHRvIGFkZHJlc3MgdGhpczoKKyAgICAgICAgMS4gV2Ugbm8gbG9uZ2VyIGtpbGwgV2ViUHJvY2Vz
c2VzIGFzc29jaWF0ZWQgd2l0aCBhIHZpc2libGUgKHBhcmVudGVkKSB2aWV3IHVuZGVyIGFueQor
ICAgICAgICAgICBjaXJjdW1zdGFuY2VzLiBXZSB1c2VkIHRvIGtpbGwgYWN0aXZlIFdlYlByb2Nl
c3NlcyB3aGVuIHRoZXkgcmVhY2hlZCA0R0IuIFdlIHdvdWxkCisgICAgICAgICAgIGFsc28ga2ls
bCB2aXNpYmxlIFdlYlByb2Nlc3NlcyB3aGVuIHRoZXkgcmVhY2hlZCAyR0IgaWYgdGhlcmUgd2Vy
ZSB2aXNpYmxlIGJ1dCBub3QKKyAgICAgICAgICAgYWN0aXZlIC8gZm9jdXNlZC4KKyAgICAgICAg
Mi4gRm9yIGJhY2tncm91bmQgV2ViUHJvY2Vzc2VzIChhc3NvY2lhdGVkIHdpdGggbm9uIHZpc2li
bGUgLyBwYXJlbnRlZCB2aWV3cyksIEkgaGF2ZQorICAgICAgICAgICByYWlzZWQgdGhlIGtpbGwg
bGltaXQgZnJvbSAyR0IgdG8gNEdCLgorICAgICAgICAzLiBGb3IgZm9yZWdyb3VuZCBXZWJQcm9j
ZXNzZXMgKGFzc29jaWF0ZWQgd2l0aCB2aXNpYmxlIC8gcGFyZW50IHZpZXdzKSwgSSBoYXZlIGFs
c28KKyAgICAgICAgICAgcmFpc2VkIHRoZSBsaW1pdCB0byBzaG93IHRoZSBleGNlc3NpdmUgbWVt
b3J5IHVzYWdlIGJhbm5lciBmcm9tIDJHQiB0byA0R0IuCisKKyAgICAgICAgKiB3dGYvTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdURjo6dGhyZXNob2xkRm9yTWVtb3J5S2ls
bE9mSW5hY3RpdmVQcm9jZXNzKToKKyAgICAgICAgKFdURjo6TWVtb3J5UHJlc3N1cmVIYW5kbGVy
Ojp0aHJlc2hvbGRGb3JNZW1vcnlLaWxsKToKKyAgICAgICAgKFdURjo6TWVtb3J5UHJlc3N1cmVI
YW5kbGVyOjpzaHJpbmtPckRpZSk6CisgICAgICAgIChXVEY6Ok1lbW9yeVByZXNzdXJlSGFuZGxl
cjo6bWVhc3VyZW1lbnRUaW1lckZpcmVkKToKKyAgICAgICAgKiB3dGYvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmg6CisKIDIwMjEtMDEtMjggIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KIAogICAgICAgICBbSlNDXSBBZGQgSlNDX1NJR05BTF9GT1JfR0MgZW52aXJvbm1lbnQgdmFy
aWFibGUgZm9yIExpbnV4IC8gRnJlZUJTRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDZmNjJkYWNhNzJhNzAyOGRj
OGIyNThjNGE0MzM0YmJiZTg1YmQ1NmIuLjM1MWYwOWZmZTBhYTZiMjdjMGViNTc2YThjNTNhODY2
NDE5NWNhNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0wMS0yOCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gUG9saWN5IGZvciB3
YXJuaW5nIGFib3V0IG9yIGtpbGxpbmcgcHJvY2Vzc2VzIHVzaW5nIHRvbyBtdWNoIG1lbW9yeSB0
cmlnZ2VycyB0b28gZWFzaWx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjExMDQKKyAgICAgICAgPHJkYXI6Ly83MzYyNTYyMT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KKworICAgICAgICBUaGUgcG9saWN5IGZvciB3YXJuaW5n
IGFib3V0IG9yIGtpbGxpbmcgcHJvY2Vzc2VzIHVzaW5nIHRvbyBtdWNoIG1lbW9yeSB3YXMgdHJp
Z2dlcmluZyB0b28KKyAgICAgICAgZWFzaWx5LiBJIG1hZGUgdGhlIGZvbGxvd2luZyBjaGFuZ2Vz
IHRvIHRoZSBwb2xpY3kgdG8gYWRkcmVzcyB0aGlzOgorICAgICAgICAxLiBXZSBubyBsb25nZXIg
a2lsbCBXZWJQcm9jZXNzZXMgYXNzb2NpYXRlZCB3aXRoIGEgdmlzaWJsZSAocGFyZW50ZWQpIHZp
ZXcgdW5kZXIgYW55CisgICAgICAgICAgIGNpcmN1bXN0YW5jZXMuIFdlIHVzZWQgdG8ga2lsbCBh
Y3RpdmUgV2ViUHJvY2Vzc2VzIHdoZW4gdGhleSByZWFjaGVkIDRHQi4gV2Ugd291bGQKKyAgICAg
ICAgICAgYWxzbyBraWxsIHZpc2libGUgV2ViUHJvY2Vzc2VzIHdoZW4gdGhleSByZWFjaGVkIDJH
QiBpZiB0aGVyZSB3ZXJlIHZpc2libGUgYnV0IG5vdAorICAgICAgICAgICBhY3RpdmUgLyBmb2N1
c2VkLgorICAgICAgICAyLiBGb3IgYmFja2dyb3VuZCBXZWJQcm9jZXNzZXMgKGFzc29jaWF0ZWQg
d2l0aCBub24gdmlzaWJsZSAvIHBhcmVudGVkIHZpZXdzKSwgSSBoYXZlCisgICAgICAgICAgIHJh
aXNlZCB0aGUga2lsbCBsaW1pdCBmcm9tIDJHQiB0byA0R0IuCisgICAgICAgIDMuIEZvciBmb3Jl
Z3JvdW5kIFdlYlByb2Nlc3NlcyAoYXNzb2NpYXRlZCB3aXRoIHZpc2libGUgLyBwYXJlbnQgdmll
d3MpLCBJIGhhdmUgYWxzbworICAgICAgICAgICByYWlzZWQgdGhlIGxpbWl0IHRvIHNob3cgdGhl
IGV4Y2Vzc2l2ZSBtZW1vcnkgdXNhZ2UgYmFubmVyIGZyb20gMkdCIHRvIDRHQi4KKworICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlTW9uaXRvcjo6YWN0aXZpdHlTdGF0ZUNoYW5nZWQpOgorCiAyMDIxLTAxLTI4ICBTYW0g
V2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBTb3J0IGNvbG9ycyBpbiBDb2xv
clR5cGVzLmggYWxwaGFiZXRpY2FsbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01lbW9y
eVByZXNzdXJlSGFuZGxlci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRs
ZXIuY3BwCmluZGV4IGZlOWM5YTUxN2NmMjFlMTliNmRkZTNmN2RmOGY0NjAxZmVmZjcyZjYuLjM0
MTYxNmM2OWRjNjE0YTMxMTZhNWQ2ODQ2NjkyOTZiMWFmNGI3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dURi93dGYv
TWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtOTYsMTcgKzk2LDE0IEBAIHN0YXRpYyBjb25z
dCBjaGFyKiB0b1N0cmluZyhNZW1vcnlVc2FnZVBvbGljeSBwb2xpY3kpCiB9CiAjZW5kaWYKIAot
c3RhdGljIHNpemVfdCB0aHJlc2hvbGRGb3JNZW1vcnlLaWxsV2l0aFByb2Nlc3NTdGF0ZShXZWJz
YW1Qcm9jZXNzU3RhdGUgcHJvY2Vzc1N0YXRlLCB1bnNpZ25lZCB0YWJDb3VudCkKK3N0YXRpYyBz
aXplX3QgdGhyZXNob2xkRm9yTWVtb3J5S2lsbE9mSW5hY3RpdmVQcm9jZXNzKHVuc2lnbmVkIHRh
YkNvdW50KQogewotICAgIHNpemVfdCBiYXNlVGhyZXNob2xkID0gMiAqIEdCOwogI2lmIENQVShY
ODZfNjQpIHx8IENQVShBUk02NCkKLSAgICBpZiAocHJvY2Vzc1N0YXRlID09IFdlYnNhbVByb2Nl
c3NTdGF0ZTo6QWN0aXZlKQotICAgICAgICBiYXNlVGhyZXNob2xkID0gNCAqIEdCOworICAgIHNp
emVfdCBiYXNlVGhyZXNob2xkID0gNCAqIEdCOwogICAgIGlmICh0YWJDb3VudCA+IDEpCiAgICAg
ICAgIGJhc2VUaHJlc2hvbGQgKz0gc3RkOjptaW4odGFiQ291bnQgLSAxLCA0dSkgKiAxICogR0I7
CiAjZWxzZQotICAgIGlmICgodGFiQ291bnQgPiAxKSB8fCAocHJvY2Vzc1N0YXRlID09IFdlYnNh
bVByb2Nlc3NTdGF0ZTo6QWN0aXZlKSkKLSAgICAgICAgYmFzZVRocmVzaG9sZCA9IDMgKiBHQjsK
KyAgICBzaXplX3QgYmFzZVRocmVzaG9sZCA9IHRhYkNvdW50ID4gMSA/IDMgKiBHQiA6IDIgKiBH
QjsKICNlbmRpZgogICAgIHJldHVybiBzdGQ6Om1pbihiYXNlVGhyZXNob2xkLCBzdGF0aWNfY2Fz
dDxzaXplX3Q+KHJhbVNpemUoKSAqIDAuOSkpOwogfQpAQCAtMTE4LDkgKzExNSwxNSBAQCB2b2lk
IE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2V0UGFnZUNvdW50KHVuc2lnbmVkIHBhZ2VDb3VudCkK
ICAgICBzaW5nbGV0b24oKS5tX3BhZ2VDb3VudCA9IHBhZ2VDb3VudDsKIH0KIAotc2l6ZV90IE1l
bW9yeVByZXNzdXJlSGFuZGxlcjo6dGhyZXNob2xkRm9yTWVtb3J5S2lsbCgpCitPcHRpb25hbDxz
aXplX3Q+IE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6dGhyZXNob2xkRm9yTWVtb3J5S2lsbCgpCiB7
Ci0gICAgcmV0dXJuIHRocmVzaG9sZEZvck1lbW9yeUtpbGxXaXRoUHJvY2Vzc1N0YXRlKG1fcHJv
Y2Vzc1N0YXRlLCBtX3BhZ2VDb3VudCk7CisgICAgc3dpdGNoIChtX3Byb2Nlc3NTdGF0ZSkgewor
ICAgIGNhc2UgV2Vic2FtUHJvY2Vzc1N0YXRlOjpJbmFjdGl2ZToKKyAgICAgICAgcmV0dXJuIHRo
cmVzaG9sZEZvck1lbW9yeUtpbGxPZkluYWN0aXZlUHJvY2VzcyhtX3BhZ2VDb3VudCk7CisgICAg
Y2FzZSBXZWJzYW1Qcm9jZXNzU3RhdGU6OkFjdGl2ZToKKyAgICAgICAgYnJlYWs7CisgICAgfQor
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKIHN0YXRpYyBzaXplX3QgdGhyZXNob2xkRm9y
UG9saWN5KE1lbW9yeVVzYWdlUG9saWN5IHBvbGljeSkKQEAgLTE2Miw3ICsxNjUsNyBAQCBNZW1v
cnlVc2FnZVBvbGljeSBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OmN1cnJlbnRNZW1vcnlVc2FnZVBv
bGljeSgpCiAgICAgcmV0dXJuIHBvbGljeUZvckZvb3RwcmludChtZW1vcnlGb290cHJpbnQoKSk7
CiB9CiAKLXZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzaHJpbmtPckRpZSgpCit2b2lkIE1l
bW9yeVByZXNzdXJlSGFuZGxlcjo6c2hyaW5rT3JEaWUoc2l6ZV90IGtpbGxUaHJlc2hvbGQpCiB7
CiAgICAgUkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUsICJQcm9jZXNzIGlzIGFib3ZlIHRoZSBt
ZW1vcnkga2lsbCB0aHJlc2hvbGQuIFRyeWluZyB0byBzaHJpbmsgZG93bi4iKTsKICAgICByZWxl
YXNlTWVtb3J5KENyaXRpY2FsOjpZZXMsIFN5bmNocm9ub3VzOjpZZXMpOwpAQCAtMTcwLDEzICsx
NzMsMTMgQEAgdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNocmlua09yRGllKCkKICAgICBz
aXplX3QgZm9vdHByaW50ID0gbWVtb3J5Rm9vdHByaW50KCk7CiAgICAgUkVMRUFTRV9MT0coTWVt
b3J5UHJlc3N1cmUsICJOZXcgbWVtb3J5IGZvb3RwcmludDogJXp1IE1CIiwgZm9vdHByaW50IC8g
TUIpOwogCi0gICAgaWYgKGZvb3RwcmludCA8IHRocmVzaG9sZEZvck1lbW9yeUtpbGwoKSkgewor
ICAgIGlmIChmb290cHJpbnQgPCBraWxsVGhyZXNob2xkKSB7CiAgICAgICAgIFJFTEVBU0VfTE9H
KE1lbW9yeVByZXNzdXJlLCAiU2hyYW5rIGJlbG93IG1lbW9yeSBraWxsIHRocmVzaG9sZC4gUHJv
Y2VzcyBnZXRzIHRvIGxpdmUuIik7CiAgICAgICAgIHNldE1lbW9yeVVzYWdlUG9saWN5QmFzZWRP
bkZvb3RwcmludChmb290cHJpbnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgV1RG
TG9nQWx3YXlzKCJVbmFibGUgdG8gc2hyaW5rIG1lbW9yeSBmb290cHJpbnQgb2YgcHJvY2VzcyAo
JXp1IE1CKSBiZWxvdyB0aGUga2lsbCB0aHJlc29sZCAoJXp1IE1CKS4gS2lsbGVkXG4iLCBmb290
cHJpbnQgLyBNQiwgdGhyZXNob2xkRm9yTWVtb3J5S2lsbCgpIC8gTUIpOworICAgIFdURkxvZ0Fs
d2F5cygiVW5hYmxlIHRvIHNocmluayBtZW1vcnkgZm9vdHByaW50IG9mIHByb2Nlc3MgKCV6dSBN
QikgYmVsb3cgdGhlIGtpbGwgdGhyZXNvbGQgKCV6dSBNQikuIEtpbGxlZFxuIiwgZm9vdHByaW50
IC8gTUIsIGtpbGxUaHJlc2hvbGQgLyBNQik7CiAgICAgUkVMRUFTRV9BU1NFUlQobV9tZW1vcnlL
aWxsQ2FsbGJhY2spOwogICAgIG1fbWVtb3J5S2lsbENhbGxiYWNrKCk7CiB9CkBAIC0xOTgsOCAr
MjAxLDkgQEAgdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Om1lYXN1cmVtZW50VGltZXJGaXJl
ZCgpCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgUkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUs
ICJDdXJyZW50IG1lbW9yeSBmb290cHJpbnQ6ICV6dSBNQiIsIGZvb3RwcmludCAvIE1CKTsKICNl
bmRpZgotICAgIGlmIChmb290cHJpbnQgPj0gdGhyZXNob2xkRm9yTWVtb3J5S2lsbCgpKSB7Ci0g
ICAgICAgIHNocmlua09yRGllKCk7CisgICAgYXV0byBraWxsVGhyZXNob2xkID0gdGhyZXNob2xk
Rm9yTWVtb3J5S2lsbCgpOworICAgIGlmIChraWxsVGhyZXNob2xkICYmIGZvb3RwcmludCA+PSAq
a2lsbFRocmVzaG9sZCkgeworICAgICAgICBzaHJpbmtPckRpZSgqa2lsbFRocmVzaG9sZCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIxNiw3ICsyMjAsNyBAQCB2b2lkIE1lbW9yeVBy
ZXNzdXJlSGFuZGxlcjo6bWVhc3VyZW1lbnRUaW1lckZpcmVkKCkKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCi0gICAgaWYgKHByb2Nlc3NTdGF0ZSgpID09IFdlYnNhbVByb2Nlc3NTdGF0ZTo6QWN0
aXZlICYmIGZvb3RwcmludCA+IHRocmVzaG9sZEZvck1lbW9yeUtpbGxXaXRoUHJvY2Vzc1N0YXRl
KFdlYnNhbVByb2Nlc3NTdGF0ZTo6SW5hY3RpdmUsIG1fcGFnZUNvdW50KSkKKyAgICBpZiAocHJv
Y2Vzc1N0YXRlKCkgPT0gV2Vic2FtUHJvY2Vzc1N0YXRlOjpBY3RpdmUgJiYgZm9vdHByaW50ID4g
dGhyZXNob2xkRm9yTWVtb3J5S2lsbE9mSW5hY3RpdmVQcm9jZXNzKG1fcGFnZUNvdW50KSkKICAg
ICAgICAgZG9lc0V4Y2VlZEluYWN0aXZlTGltaXRXaGlsZUFjdGl2ZSgpOwogICAgIGVsc2UKICAg
ICAgICAgZG9lc05vdEV4Y2VlZEluYWN0aXZlTGltaXRXaGlsZUFjdGl2ZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmggYi9Tb3VyY2UvV1RGL3d0
Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaAppbmRleCA4MDIxYzZmYTc0ZjY4Yzc1MzRiOGQyMGUx
MDQzZGJjODRiMzEyMjhhLi5mMjFlZDg5MjI5YzZlNjA3Y2Q2MzFkMmVjZjU4ODNjNTQ3YzQ3YzQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaApAQCAtMTU2LDcgKzE1Niw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNob3VsZExvZ01lbW9yeU1lbW9yeVByZXNzdXJlRXZl
bnRzKGJvb2wgc2hvdWxkTG9nKSB7IG1fc2hvdWxkTG9nTWVtb3J5TWVtb3J5UHJlc3N1cmVFdmVu
dHMgPSBzaG91bGRMb2c7IH0KIAogcHJpdmF0ZToKLSAgICBzaXplX3QgdGhyZXNob2xkRm9yTWVt
b3J5S2lsbCgpOworICAgIE9wdGlvbmFsPHNpemVfdD4gdGhyZXNob2xkRm9yTWVtb3J5S2lsbCgp
OwogICAgIHZvaWQgbWVtb3J5UHJlc3N1cmVTdGF0dXNDaGFuZ2VkKCk7CiAKICAgICB2b2lkIHVu
aW5zdGFsbCgpOwpAQCAtMTcxLDcgKzE3MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9y
bUluaXRpYWxpemUoKTsKIAogICAgIHZvaWQgbWVhc3VyZW1lbnRUaW1lckZpcmVkKCk7Ci0gICAg
dm9pZCBzaHJpbmtPckRpZSgpOworICAgIHZvaWQgc2hyaW5rT3JEaWUoc2l6ZV90IGtpbGxUaHJl
c2hvbGQpOwogICAgIHZvaWQgc2V0TWVtb3J5VXNhZ2VQb2xpY3lCYXNlZE9uRm9vdHByaW50KHNp
emVfdCk7CiAgICAgdm9pZCBkb2VzRXhjZWVkSW5hY3RpdmVMaW1pdFdoaWxlQWN0aXZlKCk7CiAg
ICAgdm9pZCBkb2VzTm90RXhjZWVkSW5hY3RpdmVMaW1pdFdoaWxlQWN0aXZlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5jcHAKaW5kZXggYWI0YmM4NmVkZjMwMmUx
YjA5YmJlMjI4YzNlY2M3N2Y4MWM5MjhiNy4uODk4NjIyNGNjM2U5OWEyODkxNTNjNTJkNjk2NGEw
NzdjOGNlOTExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1v
bml0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNw
cApAQCAtMTMxLDcgKzEzMSw3IEBAIHZvaWQgUGVyZm9ybWFuY2VNb25pdG9yOjphY3Rpdml0eVN0
YXRlQ2hhbmdlZChPcHRpb25TZXQ8QWN0aXZpdHlTdGF0ZTo6RmxhZz4gb2xkCiAgICAgICAgICAg
ICBtX3Bvc3RCYWNrZ3JvdW5kaW5nTWVtb3J5VXNhZ2VUaW1lci5zdGFydE9uZVNob3QobWVtb3J5
VXNhZ2VNZWFzdXJlbWVudERlbGF5KTsKICAgICB9CiAKLSAgICBpZiAobmV3U3RhdGUuY29udGFp
bnNBbGwoeyBBY3Rpdml0eVN0YXRlOjpJc1Zpc2libGUsIEFjdGl2aXR5U3RhdGU6OldpbmRvd0lz
QWN0aXZlIH0pKSB7CisgICAgaWYgKG5ld1N0YXRlLmNvbnRhaW5zKEFjdGl2aXR5U3RhdGU6Oklz
VmlzaWJsZSkpIHsKICAgICAgICAgbV9wcm9jZXNzTWF5QmVjb21lSW5hY3RpdmUgPSBmYWxzZTsK
ICAgICAgICAgbV9wcm9jZXNzTWF5QmVjb21lSW5hY3RpdmVUaW1lci5zdG9wKCk7CiAgICAgfSBl
bHNlIGlmICghbV9wcm9jZXNzTWF5QmVjb21lSW5hY3RpdmUgJiYgIW1fcHJvY2Vzc01heUJlY29t
ZUluYWN0aXZlVGltZXIuaXNBY3RpdmUoKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>