<?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>209041</bug_id>
          
          <creation_ts>2020-03-12 23:26:12 -0700</creation_ts>
          <short_desc>Report crashed cell in jsCast in debug builds</short_desc>
          <delta_ts>2020-03-13 11:24:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1629508</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-12 23:26:12 -0700</bug_when>
    <thetext>Log jsCast crash data to collect information</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629509</commentid>
    <comment_count>1</comment_count>
      <attachid>393460</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-12 23:30:03 -0700</bug_when>
    <thetext>Created attachment 393460
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629510</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-12 23:30:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/59705631&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629511</commentid>
    <comment_count>3</comment_count>
      <attachid>393461</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-12 23:33:49 -0700</bug_when>
    <thetext>Created attachment 393461
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629512</commentid>
    <comment_count>4</comment_count>
      <attachid>393462</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-12 23:36:46 -0700</bug_when>
    <thetext>Created attachment 393462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629513</commentid>
    <comment_count>5</comment_count>
      <attachid>393463</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-12 23:39:30 -0700</bug_when>
    <thetext>Created attachment 393463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629514</commentid>
    <comment_count>6</comment_count>
      <attachid>393463</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-03-12 23:57:39 -0700</bug_when>
    <thetext>Comment on attachment 393463
Patch

r=me if EWS bots are happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629519</commentid>
    <comment_count>7</comment_count>
      <attachid>393463</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-13 00:46:24 -0700</bug_when>
    <thetext>Comment on attachment 393463
Patch

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

&gt; Source/JavaScriptCore/runtime/JSCast.h:36
&gt; +#if ASSERT_ENABLED &amp;&amp; CPU(X86_64)

I&apos;ll change this to `#if (ASSERT_ENABLED || ENABLE(SECURITY_ASSERTIONS)) &amp;&amp; CPU(X86_64)` to get reports in ASan bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629521</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-13 00:53:38 -0700</bug_when>
    <thetext>Committed r258386: &lt;https://trac.webkit.org/changeset/258386&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629523</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-13 00:57:21 -0700</bug_when>
    <thetext>Committed r258387: &lt;https://trac.webkit.org/changeset/258387&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629718</commentid>
    <comment_count>10</comment_count>
      <attachid>393463</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-03-13 11:20:00 -0700</bug_when>
    <thetext>Comment on attachment 393463
Patch

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

&gt;&gt; Source/JavaScriptCore/runtime/JSCast.h:36
&gt;&gt; +#if ASSERT_ENABLED &amp;&amp; CPU(X86_64)
&gt; 
&gt; I&apos;ll change this to `#if (ASSERT_ENABLED || ENABLE(SECURITY_ASSERTIONS)) &amp;&amp; CPU(X86_64)` to get reports in ASan bots.

why just x86?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629722</commentid>
    <comment_count>11</comment_count>
      <attachid>393463</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-13 11:24:24 -0700</bug_when>
    <thetext>Comment on attachment 393463
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/runtime/JSCast.h:36
&gt;&gt;&gt; +#if ASSERT_ENABLED &amp;&amp; CPU(X86_64)
&gt;&gt; 
&gt;&gt; I&apos;ll change this to `#if (ASSERT_ENABLED || ENABLE(SECURITY_ASSERTIONS)) &amp;&amp; CPU(X86_64)` to get reports in ASan bots.
&gt; 
&gt; why just x86?

Currently we are supporting reportZappedCellAndCrash only on X86_64.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393460</attachid>
            <date>2020-03-12 23:30:03 -0700</date>
            <delta_ts>2020-03-12 23:33:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209041-20200312233003.patch</filename>
            <type>text/plain</type>
            <size>12138</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4Mzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZDk1MmMyZDIwZjM1OWFlZDU5NjU0ODYyNTQ5N2JhOGU1MDk2OGQyLi40ZDEzOTJkNzEzZjMxY2Vj
MGIwNmRkYmIyMDk3NGFjZjBhYzdiZDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0wMy0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIExvZyBqc0Nhc3QgY3Jhc2ggZGF0YSB0byBjb2xsZWN0IGluZm9ybWF0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkwNDEK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5NzA1NjMxPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIGNvbGxlY3QgbW9yZSBpbmZvcm1hdGlvbiB3
aGVuIGNyYXNoaW5nIHdpdGgganNDYXN0LCB3ZSBhdHRlbXB0IHRvIHVzZSByZXBvcnRaYXBwZWRD
ZWxsQW5kQ3Jhc2guCisgICAgICAgIElmIGl0IHN1Y2NlZWRzLCB3ZSBjYW4gZ2V0IG1vcmUgaW5m
b3JtYXRpb24gaW4gcmVnaXN0ZXJzLiBXZSBlbmFibGUgdGhpcyBvbmx5IGZvciBBU1NFUlRfRU5B
QkxFRAorICAgICAgICBidWlsZC4gRm9yIG5vbiBBU1NFUlRfRU5BQkxFRCwgd2Uga2VlcCB0aGUg
b3JpZ2luYWwgYXNzZXJ0aW9uIHNpbmNlIHRoaXMgYXNzZXJ0aW9uIGNhbiBiZSBlbmFibGVkCisg
ICAgICAgIHZpYSBFTkFCTEUoU0VDVVJJVFlfQVNTRVJUSU9OUykuCisKKyAgICAgICAgKiBoZWFw
L1Nsb3RWaXNpdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6OmFwcGVuZFRvTWFy
a1N0YWNrKToKKyAgICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6OnZpc2l0Q2hpbGRyZW4pOgorICAg
ICAgICAoSlNDOjpTbG90VmlzaXRvcjo6cmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBoZWFwL1Nsb3RWaXNpdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU0Nh
c3QuaDoKKyAgICAgICAgKEpTQzo6anNDYXN0KToKKyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5j
cHA6CisgICAgICAgIChKU0M6OnJlcG9ydFphcHBlZENlbGxBbmRDcmFzaCk6CisgICAgICAgICog
cnVudGltZS9KU0NlbGwuaDoKKwogMjAyMC0wMy0xMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWls
bGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgbm9kZXMgdGhhdCB0YWtlIGEgVHlwZWRBcnJh
eSdzIHN0b3JhZ2UgbmVlZCB0byBrZWVwQWxpdmUgdGhlIFR5cGVkQXJyYXkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAzZjQxZjQwMzg5ZTE2NzVkODY4YzMxNTI2YmM1ZDhkODhkYjkzZjFhLi4zNjg3ODgxM2I1N2I0
YWY2MDg5OTEwNTk5MjhkYjBlODMwMjQ1MWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMjAtMDMtMTIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAg
ICBMb2cganNDYXN0IGNyYXNoIGRhdGEgdG8gY29sbGVjdCBpbmZvcm1hdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDQxCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS81OTcwNTYzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXZSBzaG91bGQgdGFrZSBKU0xvY2sgd2hlbiB0b3VjaGluZyBKU0M6
OlZNLgorCisgICAgICAgICogcGFnZS9NZW1vcnlSZWxlYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmxvZ01lbW9yeVN0YXRpc3RpY3NBdFRpbWVPZkRlYXRoKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlTG9nZ2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUxvZ2dp
bmc6Om1lbW9yeVVzYWdlU3RhdGlzdGljcyk6CisKIDIwMjAtMDMtMTIgIENhdGhpZSBDaGVuICA8
Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI1NTk1Nyk6IEVs
ZW1lbnQgd2l0aCBzY3JvbGwtYmVoYXZpb3I6c21vb3RoIGlzbid0IGRyYWdnYWJsZSBhZnRlciBy
MjU1OTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRv
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5jcHAKaW5kZXgg
ZjMxNmZkZWQwYTIzNzUzZmRiMzM2ZmQ2YTlhYjEwZjBmNDg3MjhiMy4uYzY0OTkzNTEwOWMzMTg0
N2RmYzg5N2I1M2U5MzhmMWQwNGY2ZDkzMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvU2xvdFZpc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L1Nsb3RWaXNpdG9yLmNwcApAQCAtMjk0LDcgKzI5NCw3IEBAIEFMV0FZU19JTkxJTkUgdm9pZCBT
bG90VmlzaXRvcjo6YXBwZW5kVG9NYXJrU3RhY2soQ29udGFpbmVyVHlwZSYgY29udGFpbmVyLCBK
U0NlCiAjaWYgQ1BVKFg4Nl82NCkKICAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6ZHVtcFphcHBl
ZENlbGxDcmFzaERhdGEoKSkpIHsKICAgICAgICAgaWYgKFVOTElLRUxZKGNlbGwtPmlzWmFwcGVk
KCkpKQotICAgICAgICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKGNlbGwpOworICAgICAg
ICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKG1faGVhcCwgY2VsbCk7CiAgICAgfQogI2Vu
ZGlmCiAgICAgQVNTRVJUKCFjZWxsLT5pc1phcHBlZCgpKTsKQEAgLTQwNCw3ICs0MDQsNyBAQCBB
TFdBWVNfSU5MSU5FIHZvaWQgU2xvdFZpc2l0b3I6OnZpc2l0Q2hpbGRyZW4oY29uc3QgSlNDZWxs
KiBjZWxsKQogICAgICAgICAgICAgICAgIG1ldGhvZFRhYmxlLT52aXNpdENoaWxkcmVuKGNvbnN0
X2Nhc3Q8SlNDZWxsKj4oY2VsbCksICp0aGlzKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIHJlcG9ydFphcHBlZENlbGxBbmRDcmFzaChjb25zdF9j
YXN0PEpTQ2VsbCo+KGNlbGwpKTsKKyAgICAgICAgICAgIHJlcG9ydFphcHBlZENlbGxBbmRDcmFz
aChtX2hlYXAsIGNvbnN0X2Nhc3Q8SlNDZWxsKj4oY2VsbCkpOwogICAgICAgICB9CiAjZW5kaWYK
ICAgICAgICAgY2VsbC0+bWV0aG9kVGFibGUodm0oKSktPnZpc2l0Q2hpbGRyZW4oY29uc3RfY2Fz
dDxKU0NlbGwqPihjZWxsKSwgKnRoaXMpOwpAQCAtODI1LDQ2ICs4MjUsNCBAQCB2b2lkIFNsb3RW
aXNpdG9yOjphZGRQYXJhbGxlbENvbnN0cmFpbnRUYXNrKFJlZlB0cjxTaGFyZWRUYXNrPHZvaWQo
U2xvdFZpc2l0b3ImKQogICAgIG1fY3VycmVudFNvbHZlci0+YWRkUGFyYWxsZWxUYXNrKHRhc2ss
ICptX2N1cnJlbnRDb25zdHJhaW50KTsKIH0KIAotI2lmIENQVShYODZfNjQpCi1ORVZFUl9JTkxJ
TkUgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCBOT1RfVEFJTF9DQUxMRUQgdm9pZCBTbG90VmlzaXRv
cjo6cmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKEpTQ2VsbCogY2VsbCkKLXsKLSAgICBNYXJrZWRC
bG9jazo6SGFuZGxlKiBmb3VuZEJsb2NrSGFuZGxlID0gbnVsbHB0cjsKLSAgICB1aW50NjRfdCog
Y2VsbFdvcmRzID0gcmVpbnRlcnByZXRfY2FzdF9wdHI8dWludDY0X3QqPihjZWxsKTsKLQotICAg
IHVpbnRwdHJfdCBjZWxsQWRkcmVzcyA9IGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KGNlbGwpOwot
ICAgIHVpbnQ2NF90IGhlYWRlcldvcmQgPSBjZWxsV29yZHNbMF07Ci0gICAgdWludDY0X3QgemFw
UmVhc29uQW5kTW9yZSA9IGNlbGxXb3Jkc1sxXTsKLSAgICB1bnNpZ25lZCBzdWJzcGFjZUhhc2gg
PSAwOwotICAgIHNpemVfdCBjZWxsU2l6ZSA9IDA7Ci0KLSAgICBtX2hlYXAub2JqZWN0U3BhY2Uo
KS5mb3JFYWNoQmxvY2soWyZdIChNYXJrZWRCbG9jazo6SGFuZGxlKiBibG9ja0hhbmRsZSkgewot
ICAgICAgICBpZiAoYmxvY2tIYW5kbGUtPmNvbnRhaW5zKGNlbGwpKSB7Ci0gICAgICAgICAgICBm
b3VuZEJsb2NrSGFuZGxlID0gYmxvY2tIYW5kbGU7Ci0gICAgICAgICAgICByZXR1cm4gSXRlcmF0
aW9uU3RhdHVzOjpEb25lOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBJdGVyYXRpb25TdGF0
dXM6OkNvbnRpbnVlOwotICAgIH0pOwotCi0gICAgdWludDY0X3QgdmFyaW91c1N0YXRlID0gMDsK
LSAgICBNYXJrZWRCbG9jayogZm91bmRCbG9jayA9IG51bGxwdHI7Ci0gICAgaWYgKGZvdW5kQmxv
Y2tIYW5kbGUpIHsKLSAgICAgICAgZm91bmRCbG9jayA9ICZmb3VuZEJsb2NrSGFuZGxlLT5ibG9j
aygpOwotICAgICAgICBzdWJzcGFjZUhhc2ggPSBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoKGZv
dW5kQmxvY2tIYW5kbGUtPnN1YnNwYWNlKCktPm5hbWUoKSk7Ci0gICAgICAgIGNlbGxTaXplID0g
Zm91bmRCbG9ja0hhbmRsZS0+Y2VsbFNpemUoKTsKLQotICAgICAgICB2YXJpb3VzU3RhdGUgfD0g
c3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPmlzRnJlZUxpc3RlZCgpKSA8
PCAwOwotICAgICAgICB2YXJpb3VzU3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5k
QmxvY2tIYW5kbGUtPmlzQWxsb2NhdGVkKCkpIDw8IDE7Ci0gICAgICAgIHZhcmlvdXNTdGF0ZSB8
PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRCbG9ja0hhbmRsZS0+aXNFbXB0eSgpKSA8PCAy
OwotICAgICAgICB2YXJpb3VzU3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxv
Y2tIYW5kbGUtPm5lZWRzRGVzdHJ1Y3Rpb24oKSkgPDwgMzsKLSAgICAgICAgdmFyaW91c1N0YXRl
IHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrLT5pc05ld2x5QWxsb2NhdGVkKGNl
bGwpKSA8PCA0OwotCi0gICAgICAgIHB0cmRpZmZfdCBjZWxsT2Zmc2V0ID0gY2VsbEFkZHJlc3Mg
LSByZWludGVycHJldF9jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrSGFuZGxlLT5zdGFydCgpKTsK
LSAgICAgICAgYm9vbCBjZWxsSXNQcm9wZXJseUFsaWduZWQgPSAhKGNlbGxPZmZzZXQgJSBjZWxs
U2l6ZSk7Ci0gICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oY2Vs
bElzUHJvcGVybHlBbGlnbmVkKSA8PCA1OwotICAgIH0KLQotICAgIENSQVNIX1dJVEhfSU5GTyhj
ZWxsQWRkcmVzcywgaGVhZGVyV29yZCwgemFwUmVhc29uQW5kTW9yZSwgc3Vic3BhY2VIYXNoLCBj
ZWxsU2l6ZSwgZm91bmRCbG9jaywgdmFyaW91c1N0YXRlKTsKLX0KLSNlbmRpZiAvLyBQTEFURk9S
TShNQUMpCi0KIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Ns
b3RWaXNpdG9yLmgKaW5kZXggMzA2Mjc1YjVkYTNlNjQ0NGExNjY4Zjk0Mjg5ODZjNzc3MGQzMjkw
NS4uNTVmMTZmOGFlMjc2ODcxOWQ2Mjk3ZDQ4YTA3NjUxMTY3Njg3ZjE5NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5oCkBAIC0yMjcsMTAgKzIyNyw2IEBAIGNsYXNz
IFNsb3RWaXNpdG9yIHsKICAgICBib29sIGhhc1dvcmsoY29uc3QgQWJzdHJhY3RMb2NrZXImKTsK
ICAgICBib29sIGRpZFJlYWNoVGVybWluYXRpb24oY29uc3QgQWJzdHJhY3RMb2NrZXImKTsKIAot
I2lmIENQVShYODZfNjQpCi0gICAgTkVWRVJfSU5MSU5FIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0gg
Tk9UX1RBSUxfQ0FMTEVEIHZvaWQgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKEpTQ2VsbCopOwot
I2VuZGlmCi0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jPgogICAgIEl0ZXJhdGlvblN0YXR1
cyBmb3JFYWNoTWFya1N0YWNrKGNvbnN0IEZ1bmMmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDYXN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Nhc3QuaAppbmRleCA2NzNlMDFjMjJlNWZlMDZlMmZkZTFkMmI1MjVhNjA3OTA3OWFj
YTcwLi5mYWIxZTlmNzI0ZTlmMTQyMWU1NDc5ZmE3M2MyNTY3ODI5MTkzYzg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaApAQCAtMzMsNyArMzMsMTIgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgVG8sIHR5cGVuYW1lIEZyb20+CiBpbmxpbmUgVG8ganNDYXN0KEZyb20qIGZyb20p
CiB7CiAgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2Jhc2Vfb2Y8SlNDZWxsLCB0eXBlbmFtZSBz
dGQ6OnJlbW92ZV9wb2ludGVyPFRvPjo6dHlwZT46OnZhbHVlICYmIHN0ZDo6aXNfYmFzZV9vZjxK
U0NlbGwsIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3BvaW50ZXI8RnJvbT46OnR5cGU+Ojp2YWx1ZSwg
IkpTIGNhc3RpbmcgZXhwZWN0cyB0aGF0IHRoZSB0eXBlcyB5b3UgYXJlIGNhc3RpbmcgdG8vZnJv
bSBhcmUgc3ViY2xhc3NlcyBvZiBKU0NlbGwiKTsKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgIGlm
IChmcm9tICYmICFmcm9tLT5KU0NlbGw6OmluaGVyaXRzKGZyb20tPkpTQ2VsbDo6dm0oKSwgc3Rk
OjpyZW1vdmVfcG9pbnRlcjxUbz46OnR5cGU6OmluZm8oKSkpCisgICAgICAgIHJlcG9ydFphcHBl
ZENlbGxBbmRDcmFzaCgqZnJvbS0+SlNDZWxsOjpoZWFwKCksIGZyb20pOworI2Vsc2UKICAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighZnJvbSB8fCBmcm9tLT5KU0NlbGw6Omlu
aGVyaXRzKGZyb20tPkpTQ2VsbDo6dm0oKSwgc3RkOjpyZW1vdmVfcG9pbnRlcjxUbz46OnR5cGU6
OmluZm8oKSkpOworI2VuZGlmCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFRvPihmcm9tKTsKIH0K
IApAQCAtNDEsNyArNDYsMTQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVG8+CiBpbmxpbmUgVG8ganND
YXN0KEpTVmFsdWUgZnJvbSkKIHsKICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfYmFzZV9vZjxK
U0NlbGwsIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3BvaW50ZXI8VG8+Ojp0eXBlPjo6dmFsdWUsICJK
UyBjYXN0aW5nIGV4cGVjdHMgdGhhdCB0aGUgdHlwZXMgeW91IGFyZSBjYXN0aW5nIHRvIGlzIGEg
c3ViY2xhc3Mgb2YgSlNDZWxsIik7CisjaWYgQVNTRVJUX0VOQUJMRUQKKyAgICBBU1NFUlQoZnJv
bS5pc0NlbGwoKSk7CisgICAgSlNDZWxsKiBjZWxsID0gZnJvbS5hc0NlbGwoKTsKKyAgICBpZiAo
IWNlbGwtPkpTQ2VsbDo6aW5oZXJpdHMoY2VsbC0+dm0oKSwgc3RkOjpyZW1vdmVfcG9pbnRlcjxU
bz46OnR5cGU6OmluZm8oKSkpCisgICAgICAgIHJlcG9ydFphcHBlZENlbGxBbmRDcmFzaCgqY2Vs
bC0+SlNDZWxsOjpoZWFwKCksIGNlbGwpOworI2Vsc2UKICAgICBBU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTihmcm9tLmlzQ2VsbCgpICYmIGZyb20uYXNDZWxsKCktPkpTQ2VsbDo6aW5o
ZXJpdHMoZnJvbS5hc0NlbGwoKS0+dm0oKSwgc3RkOjpyZW1vdmVfcG9pbnRlcjxUbz46OnR5cGU6
OmluZm8oKSkpOworI2VuZGlmCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFRvPihmcm9tLmFzQ2Vs
bCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlND
ZWxsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKaW5kZXgg
MjRlZDY1MjMzNzkyMzRlYjBjMThiMDZmMDI2NDE3OTFkOGM4MDY0OC4uZmZiZGMyODhkMDEwYmY5
ZjljNTNiOGI3MTZlMTYwYThhNDA3ZGNmZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNDZWxsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0NlbGwuY3BwCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAKICNp
bmNsdWRlICJBcnJheUJ1ZmZlclZpZXcuaCIKKyNpbmNsdWRlICJCbG9ja0RpcmVjdG9yeUlubGlu
ZXMuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYXN0LmgiCiAjaW5j
bHVkZSAiSlNGdW5jdGlvbi5oIgpAQCAtMzE2LDQgKzMxNyw0NiBAQCB2b2lkIEpTQ2VsbExvY2s6
OnVubG9ja1Nsb3coKQogICAgIEluZGV4aW5nVHlwZUxvY2tBbGdvcml0aG06OnVubG9ja1Nsb3co
KmxvY2spOwogfQogCisjaWYgQ1BVKFg4Nl82NCkKK05FVkVSX0lOTElORSBOT19SRVRVUk5fRFVF
X1RPX0NSQVNIIE5PVF9UQUlMX0NBTExFRCB2b2lkIHJlcG9ydFphcHBlZENlbGxBbmRDcmFzaChI
ZWFwJiBoZWFwLCBjb25zdCBKU0NlbGwqIGNlbGwpCit7CisgICAgTWFya2VkQmxvY2s6OkhhbmRs
ZSogZm91bmRCbG9ja0hhbmRsZSA9IG51bGxwdHI7CisgICAgdWludDY0X3QqIGNlbGxXb3JkcyA9
IGJpdHdpc2VfY2FzdDx1aW50NjRfdCo+KGNlbGwpOworCisgICAgdWludHB0cl90IGNlbGxBZGRy
ZXNzID0gYml0d2lzZV9jYXN0PHVpbnRwdHJfdD4oY2VsbCk7CisgICAgdWludDY0X3QgaGVhZGVy
V29yZCA9IGNlbGxXb3Jkc1swXTsKKyAgICB1aW50NjRfdCB6YXBSZWFzb25BbmRNb3JlID0gY2Vs
bFdvcmRzWzFdOworICAgIHVuc2lnbmVkIHN1YnNwYWNlSGFzaCA9IDA7CisgICAgc2l6ZV90IGNl
bGxTaXplID0gMDsKKworICAgIGhlYXAub2JqZWN0U3BhY2UoKS5mb3JFYWNoQmxvY2soWyZdIChN
YXJrZWRCbG9jazo6SGFuZGxlKiBibG9ja0hhbmRsZSkgeworICAgICAgICBpZiAoYmxvY2tIYW5k
bGUtPmNvbnRhaW5zKGJpdHdpc2VfY2FzdDxKU0NlbGwqPihjZWxsKSkpIHsKKyAgICAgICAgICAg
IGZvdW5kQmxvY2tIYW5kbGUgPSBibG9ja0hhbmRsZTsKKyAgICAgICAgICAgIHJldHVybiBJdGVy
YXRpb25TdGF0dXM6OkRvbmU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIEl0ZXJhdGlvblN0
YXR1czo6Q29udGludWU7CisgICAgfSk7CisKKyAgICB1aW50NjRfdCB2YXJpb3VzU3RhdGUgPSAw
OworICAgIE1hcmtlZEJsb2NrKiBmb3VuZEJsb2NrID0gbnVsbHB0cjsKKyAgICBpZiAoZm91bmRC
bG9ja0hhbmRsZSkgeworICAgICAgICBmb3VuZEJsb2NrID0gJmZvdW5kQmxvY2tIYW5kbGUtPmJs
b2NrKCk7CisgICAgICAgIHN1YnNwYWNlSGFzaCA9IFN0cmluZ0hhc2hlcjo6Y29tcHV0ZUhhc2go
Zm91bmRCbG9ja0hhbmRsZS0+c3Vic3BhY2UoKS0+bmFtZSgpKTsKKyAgICAgICAgY2VsbFNpemUg
PSBmb3VuZEJsb2NrSGFuZGxlLT5jZWxsU2l6ZSgpOworCisgICAgICAgIHZhcmlvdXNTdGF0ZSB8
PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRCbG9ja0hhbmRsZS0+aXNGcmVlTGlzdGVkKCkp
IDw8IDA7CisgICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91
bmRCbG9ja0hhbmRsZS0+aXNBbGxvY2F0ZWQoKSkgPDwgMTsKKyAgICAgICAgdmFyaW91c1N0YXRl
IHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrSGFuZGxlLT5pc0VtcHR5KCkpIDw8
IDI7CisgICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRC
bG9ja0hhbmRsZS0+bmVlZHNEZXN0cnVjdGlvbigpKSA8PCAzOworICAgICAgICB2YXJpb3VzU3Rh
dGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2stPmlzTmV3bHlBbGxvY2F0ZWQo
Y2VsbCkpIDw8IDQ7CisKKyAgICAgICAgcHRyZGlmZl90IGNlbGxPZmZzZXQgPSBjZWxsQWRkcmVz
cyAtIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPnN0YXJ0KCkp
OworICAgICAgICBib29sIGNlbGxJc1Byb3Blcmx5QWxpZ25lZCA9ICEoY2VsbE9mZnNldCAlIGNl
bGxTaXplKTsKKyAgICAgICAgdmFyaW91c1N0YXRlIHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihj
ZWxsSXNQcm9wZXJseUFsaWduZWQpIDw8IDU7CisgICAgfQorCisgICAgQ1JBU0hfV0lUSF9JTkZP
KGNlbGxBZGRyZXNzLCBoZWFkZXJXb3JkLCB6YXBSZWFzb25BbmRNb3JlLCBzdWJzcGFjZUhhc2gs
IGNlbGxTaXplLCBmb3VuZEJsb2NrLCB2YXJpb3VzU3RhdGUpOworfQorI2VuZGlmIC8vIFBMQVRG
T1JNKE1BQykKKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NlbGwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQ2VsbC5oCmluZGV4IDEwNjc0OWRlM2NlMTVmNDNlMjM5ZGExYmZlMzMyYzcyMzExYWFkZmUu
LjllNjc3ZWE3MWM5MDMxMzliODk5OTMzMTg3YTNlNDkwMTk1NDFiY2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCkBAIC0zMDcsNCArMzA3LDggQEAgaW5saW5lIGF1dG8g
c3Vic3BhY2VGb3JDb25jdXJyZW50bHkoVk0mIHZtKQogICAgIHJldHVybiBUeXBlOjp0ZW1wbGF0
ZSBzdWJzcGFjZUZvcjxUeXBlLCBTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5Pih2bSk7CiB9
CiAKKyNpZiBDUFUoWDg2XzY0KQorSlNfRVhQT1JUX1BSSVZBVEUgTkVWRVJfSU5MSU5FIE5PX1JF
VFVSTl9EVUVfVE9fQ1JBU0ggTk9UX1RBSUxfQ0FMTEVEIHZvaWQgcmVwb3J0WmFwcGVkQ2VsbEFu
ZENyYXNoKEhlYXAmLCBjb25zdCBKU0NlbGwqKTsKKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBK
U0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeVJlbGVhc2UuY3BwCmluZGV4IGJlYjhhMTMwY2EyYjZk
YzMxZTNkMmJkYWVmMjZjNGNkMDk2ODJjNmIuLjE0OGM0Y2Q4YTJlNjYwNDAwYjVkMjczNDdjNGFm
NmZjM2VmNTIxMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlSZWxlYXNlLmNwcApAQCAtMTky
LDYgKzE5Miw3IEBAIHZvaWQgbG9nTWVtb3J5U3RhdGlzdGljc0F0VGltZU9mRGVhdGgoKQogI2Vu
ZGlmCiAKICAgICBhdXRvJiB2bSA9IGNvbW1vblZNKCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIg
bG9ja2VyKHZtKTsKICAgICBSRUxFQVNFX0xPRyhNZW1vcnlQcmVzc3VyZSwgIk1lbW9yeSB1c2Fn
ZSBzdGF0aXN0aWNzIGF0IHRpbWUgb2YgZGVhdGg6Iik7CiAgICAgUkVMRUFTRV9MT0coTWVtb3J5
UHJlc3N1cmUsICJHQyBoZWFwIHNpemU6ICV6dSIsIHZtLmhlYXAuc2l6ZSgpKTsKICAgICBSRUxF
QVNFX0xPRyhNZW1vcnlQcmVzc3VyZSwgIkdDIGhlYXAgZXh0cmEgbWVtb3J5IHNpemU6ICV6dSIs
IHZtLmhlYXAuZXh0cmFNZW1vcnlTaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUxvZ2dpbmcuY3BwCmluZGV4IDM2ZTM4ZDQ3OTE3ZTNmMmNkYjlkZGE4YzAwYmIyZDUyYWQ0
YjYzMDMuLmJlZDI2Nzk2MjYwMmE1NDgwYzBkNjRmMmYxMmI2MzA2ZWU0ODUzMjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTG9nZ2luZy5jcHAKQEAgLTU2LDYgKzU2LDcgQEAg
SGFzaE1hcDxjb25zdCBjaGFyKiwgc2l6ZV90PiBQZXJmb3JtYW5jZUxvZ2dpbmc6Om1lbW9yeVVz
YWdlU3RhdGlzdGljcyhTaG91bGRJbmMKICAgICBIYXNoTWFwPGNvbnN0IGNoYXIqLCBzaXplX3Q+
IHN0YXRzOwogCiAgICAgYXV0byYgdm0gPSBjb21tb25WTSgpOworICAgIEpTQzo6SlNMb2NrSG9s
ZGVyIGxvY2tlcih2bSk7CiAgICAgc3RhdHMuYWRkKCJqYXZhc2NyaXB0X2djX2hlYXBfY2FwYWNp
dHkiLCB2bS5oZWFwLmNhcGFjaXR5KCkpOwogICAgIHN0YXRzLmFkZCgiamF2YXNjcmlwdF9nY19o
ZWFwX2V4dHJhX21lbW9yeV9zaXplIiwgdm0uaGVhcC5leHRyYU1lbW9yeVNpemUoKSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393461</attachid>
            <date>2020-03-12 23:33:49 -0700</date>
            <delta_ts>2020-03-12 23:36:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209041-20200312233348.patch</filename>
            <type>text/plain</type>
            <size>12140</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4Mzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZDk1MmMyZDIwZjM1OWFlZDU5NjU0ODYyNTQ5N2JhOGU1MDk2OGQyLi4zYTRiYjc2YjY3ZmVjYjJm
ZWFiNmVjZTAyZWU2NWE0NTJhNTQxNTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0wMy0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFJlcG9ydCBjcmFzaGVkIGNlbGwgaW4ganNDYXN0IGluIGRlYnVnIGJ1aWxk
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDQx
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTcwNTYzMT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBjb2xsZWN0IG1vcmUgaW5mb3JtYXRpb24g
d2hlbiBjcmFzaGluZyB3aXRoIGpzQ2FzdCwgd2UgYXR0ZW1wdCB0byB1c2UgcmVwb3J0WmFwcGVk
Q2VsbEFuZENyYXNoLgorICAgICAgICBJZiBpdCBzdWNjZWVkcywgd2UgY2FuIGdldCBtb3JlIGlu
Zm9ybWF0aW9uIGluIHJlZ2lzdGVycy4gV2UgZW5hYmxlIHRoaXMgb25seSBmb3IgQVNTRVJUX0VO
QUJMRUQKKyAgICAgICAgYnVpbGQuIEZvciBub24gQVNTRVJUX0VOQUJMRUQsIHdlIGtlZXAgdGhl
IG9yaWdpbmFsIGFzc2VydGlvbiBzaW5jZSB0aGlzIGFzc2VydGlvbiBjYW4gYmUgZW5hYmxlZAor
ICAgICAgICB2aWEgRU5BQkxFKFNFQ1VSSVRZX0FTU0VSVElPTlMpLgorCisgICAgICAgICogaGVh
cC9TbG90VmlzaXRvci5jcHA6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjphcHBlbmRUb01h
cmtTdGFjayk6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjp2aXNpdENoaWxkcmVuKToKKyAg
ICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6OnJlcG9ydFphcHBlZENlbGxBbmRDcmFzaCk6IERlbGV0
ZWQuCisgICAgICAgICogaGVhcC9TbG90VmlzaXRvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlND
YXN0Lmg6CisgICAgICAgIChKU0M6OmpzQ2FzdCk6CisgICAgICAgICogcnVudGltZS9KU0NlbGwu
Y3BwOgorICAgICAgICAoSlNDOjpyZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2gpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNDZWxsLmg6CisKIDIwMjAtMDMtMTIgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21p
bGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgREZHIG5vZGVzIHRoYXQgdGFrZSBhIFR5cGVkQXJy
YXkncyBzdG9yYWdlIG5lZWQgdG8ga2VlcEFsaXZlIHRoZSBUeXBlZEFycmF5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggM2Y0MWY0MDM4OWUxNjc1ZDg2OGMzMTUyNmJjNWQ4ZDg4ZGI5M2YxYS4uNmMxZTQ3NWQwYzU4
YTY2ZTNkOThlN2FiODYzMjFjZjQ4M2Q2Yzc2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBA
CisyMDIwLTAzLTEyICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVwb3J0IGNyYXNoZWQgY2VsbCBpbiBqc0Nhc3QgaW4gZGVidWcgYnVpbGRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkwNDEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzU5NzA1NjMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlIHNob3VsZCB0YWtlIEpTTG9jayB3aGVuIHRvdWNoaW5nIEpT
Qzo6Vk0uCisKKyAgICAgICAgKiBwYWdlL01lbW9yeVJlbGVhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bG9nTWVtb3J5U3RhdGlzdGljc0F0VGltZU9mRGVhdGgpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VMb2dnaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTG9n
Z2luZzo6bWVtb3J5VXNhZ2VTdGF0aXN0aWNzKToKKwogMjAyMC0wMy0xMiAgQ2F0aGllIENoZW4g
IDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjU1OTU3KTog
RWxlbWVudCB3aXRoIHNjcm9sbC1iZWhhdmlvcjpzbW9vdGggaXNuJ3QgZHJhZ2dhYmxlIGFmdGVy
IHIyNTU5NTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNp
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmNwcAppbmRl
eCBmMzE2ZmRlZDBhMjM3NTNmZGIzMzZmZDZhOWFiMTBmMGY0ODcyOGIzLi5jNjQ5OTM1MTA5YzMx
ODQ3ZGZjODk3YjUzZTkzOGYxZDA0ZjZkOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9TbG90VmlzaXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvU2xvdFZpc2l0b3IuY3BwCkBAIC0yOTQsNyArMjk0LDcgQEAgQUxXQVlTX0lOTElORSB2b2lk
IFNsb3RWaXNpdG9yOjphcHBlbmRUb01hcmtTdGFjayhDb250YWluZXJUeXBlJiBjb250YWluZXIs
IEpTQ2UKICNpZiBDUFUoWDg2XzY0KQogICAgIGlmIChVTkxJS0VMWShPcHRpb25zOjpkdW1wWmFw
cGVkQ2VsbENyYXNoRGF0YSgpKSkgewogICAgICAgICBpZiAoVU5MSUtFTFkoY2VsbC0+aXNaYXBw
ZWQoKSkpCi0gICAgICAgICAgICByZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2goY2VsbCk7CisgICAg
ICAgICAgICByZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2gobV9oZWFwLCBjZWxsKTsKICAgICB9CiAj
ZW5kaWYKICAgICBBU1NFUlQoIWNlbGwtPmlzWmFwcGVkKCkpOwpAQCAtNDA0LDcgKzQwNCw3IEBA
IEFMV0FZU19JTkxJTkUgdm9pZCBTbG90VmlzaXRvcjo6dmlzaXRDaGlsZHJlbihjb25zdCBKU0Nl
bGwqIGNlbGwpCiAgICAgICAgICAgICAgICAgbWV0aG9kVGFibGUtPnZpc2l0Q2hpbGRyZW4oY29u
c3RfY2FzdDxKU0NlbGwqPihjZWxsKSwgKnRoaXMpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKGNvbnN0
X2Nhc3Q8SlNDZWxsKj4oY2VsbCkpOworICAgICAgICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENy
YXNoKG1faGVhcCwgY29uc3RfY2FzdDxKU0NlbGwqPihjZWxsKSk7CiAgICAgICAgIH0KICNlbmRp
ZgogICAgICAgICBjZWxsLT5tZXRob2RUYWJsZSh2bSgpKS0+dmlzaXRDaGlsZHJlbihjb25zdF9j
YXN0PEpTQ2VsbCo+KGNlbGwpLCAqdGhpcyk7CkBAIC04MjUsNDYgKzgyNSw0IEBAIHZvaWQgU2xv
dFZpc2l0b3I6OmFkZFBhcmFsbGVsQ29uc3RyYWludFRhc2soUmVmUHRyPFNoYXJlZFRhc2s8dm9p
ZChTbG90VmlzaXRvciYpCiAgICAgbV9jdXJyZW50U29sdmVyLT5hZGRQYXJhbGxlbFRhc2sodGFz
aywgKm1fY3VycmVudENvbnN0cmFpbnQpOwogfQogCi0jaWYgQ1BVKFg4Nl82NCkKLU5FVkVSX0lO
TElORSBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIE5PVF9UQUlMX0NBTExFRCB2b2lkIFNsb3RWaXNp
dG9yOjpyZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2goSlNDZWxsKiBjZWxsKQotewotICAgIE1hcmtl
ZEJsb2NrOjpIYW5kbGUqIGZvdW5kQmxvY2tIYW5kbGUgPSBudWxscHRyOwotICAgIHVpbnQ2NF90
KiBjZWxsV29yZHMgPSByZWludGVycHJldF9jYXN0X3B0cjx1aW50NjRfdCo+KGNlbGwpOwotCi0g
ICAgdWludHB0cl90IGNlbGxBZGRyZXNzID0gYml0d2lzZV9jYXN0PHVpbnRwdHJfdD4oY2VsbCk7
Ci0gICAgdWludDY0X3QgaGVhZGVyV29yZCA9IGNlbGxXb3Jkc1swXTsKLSAgICB1aW50NjRfdCB6
YXBSZWFzb25BbmRNb3JlID0gY2VsbFdvcmRzWzFdOwotICAgIHVuc2lnbmVkIHN1YnNwYWNlSGFz
aCA9IDA7Ci0gICAgc2l6ZV90IGNlbGxTaXplID0gMDsKLQotICAgIG1faGVhcC5vYmplY3RTcGFj
ZSgpLmZvckVhY2hCbG9jayhbJl0gKE1hcmtlZEJsb2NrOjpIYW5kbGUqIGJsb2NrSGFuZGxlKSB7
Ci0gICAgICAgIGlmIChibG9ja0hhbmRsZS0+Y29udGFpbnMoY2VsbCkpIHsKLSAgICAgICAgICAg
IGZvdW5kQmxvY2tIYW5kbGUgPSBibG9ja0hhbmRsZTsKLSAgICAgICAgICAgIHJldHVybiBJdGVy
YXRpb25TdGF0dXM6OkRvbmU7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIEl0ZXJhdGlvblN0
YXR1czo6Q29udGludWU7Ci0gICAgfSk7Ci0KLSAgICB1aW50NjRfdCB2YXJpb3VzU3RhdGUgPSAw
OwotICAgIE1hcmtlZEJsb2NrKiBmb3VuZEJsb2NrID0gbnVsbHB0cjsKLSAgICBpZiAoZm91bmRC
bG9ja0hhbmRsZSkgewotICAgICAgICBmb3VuZEJsb2NrID0gJmZvdW5kQmxvY2tIYW5kbGUtPmJs
b2NrKCk7Ci0gICAgICAgIHN1YnNwYWNlSGFzaCA9IFN0cmluZ0hhc2hlcjo6Y29tcHV0ZUhhc2go
Zm91bmRCbG9ja0hhbmRsZS0+c3Vic3BhY2UoKS0+bmFtZSgpKTsKLSAgICAgICAgY2VsbFNpemUg
PSBmb3VuZEJsb2NrSGFuZGxlLT5jZWxsU2l6ZSgpOwotCi0gICAgICAgIHZhcmlvdXNTdGF0ZSB8
PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRCbG9ja0hhbmRsZS0+aXNGcmVlTGlzdGVkKCkp
IDw8IDA7Ci0gICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91
bmRCbG9ja0hhbmRsZS0+aXNBbGxvY2F0ZWQoKSkgPDwgMTsKLSAgICAgICAgdmFyaW91c1N0YXRl
IHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrSGFuZGxlLT5pc0VtcHR5KCkpIDw8
IDI7Ci0gICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRC
bG9ja0hhbmRsZS0+bmVlZHNEZXN0cnVjdGlvbigpKSA8PCAzOwotICAgICAgICB2YXJpb3VzU3Rh
dGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2stPmlzTmV3bHlBbGxvY2F0ZWQo
Y2VsbCkpIDw8IDQ7Ci0KLSAgICAgICAgcHRyZGlmZl90IGNlbGxPZmZzZXQgPSBjZWxsQWRkcmVz
cyAtIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPnN0YXJ0KCkp
OwotICAgICAgICBib29sIGNlbGxJc1Byb3Blcmx5QWxpZ25lZCA9ICEoY2VsbE9mZnNldCAlIGNl
bGxTaXplKTsKLSAgICAgICAgdmFyaW91c1N0YXRlIHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihj
ZWxsSXNQcm9wZXJseUFsaWduZWQpIDw8IDU7Ci0gICAgfQotCi0gICAgQ1JBU0hfV0lUSF9JTkZP
KGNlbGxBZGRyZXNzLCBoZWFkZXJXb3JkLCB6YXBSZWFzb25BbmRNb3JlLCBzdWJzcGFjZUhhc2gs
IGNlbGxTaXplLCBmb3VuZEJsb2NrLCB2YXJpb3VzU3RhdGUpOwotfQotI2VuZGlmIC8vIFBMQVRG
T1JNKE1BQykKLQogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
U2xvdFZpc2l0b3IuaAppbmRleCAzMDYyNzViNWRhM2U2NDQ0YTE2NjhmOTQyODk4NmM3NzcwZDMy
OTA1Li41NWYxNmY4YWUyNzY4NzE5ZDYyOTdkNDhhMDc2NTExNjc2ODdmMTk1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmgKQEAgLTIyNywxMCArMjI3LDYgQEAgY2xh
c3MgU2xvdFZpc2l0b3IgewogICAgIGJvb2wgaGFzV29yayhjb25zdCBBYnN0cmFjdExvY2tlciYp
OwogICAgIGJvb2wgZGlkUmVhY2hUZXJtaW5hdGlvbihjb25zdCBBYnN0cmFjdExvY2tlciYpOwog
Ci0jaWYgQ1BVKFg4Nl82NCkKLSAgICBORVZFUl9JTkxJTkUgTk9fUkVUVVJOX0RVRV9UT19DUkFT
SCBOT1RfVEFJTF9DQUxMRUQgdm9pZCByZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2goSlNDZWxsKik7
Ci0jZW5kaWYKLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmM+CiAgICAgSXRlcmF0aW9uU3Rh
dHVzIGZvckVhY2hNYXJrU3RhY2soY29uc3QgRnVuYyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ2FzdC5oCmluZGV4IDY3M2UwMWMyMmU1ZmUwNmUyZmRlMWQyYjUyNWE2MDc5MDc5
YWNhNzAuLmZhYjFlOWY3MjRlOWYxNDIxZTU0NzlmYTczYzI1Njc4MjkxOTNjODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCkBAIC0zMyw3ICszMywxMiBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBUbywgdHlwZW5hbWUgRnJvbT4KIGlubGluZSBUbyBqc0Nhc3QoRnJvbSogZnJv
bSkKIHsKICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfYmFzZV9vZjxKU0NlbGwsIHR5cGVuYW1l
IHN0ZDo6cmVtb3ZlX3BvaW50ZXI8VG8+Ojp0eXBlPjo6dmFsdWUgJiYgc3RkOjppc19iYXNlX29m
PEpTQ2VsbCwgdHlwZW5hbWUgc3RkOjpyZW1vdmVfcG9pbnRlcjxGcm9tPjo6dHlwZT46OnZhbHVl
LCAiSlMgY2FzdGluZyBleHBlY3RzIHRoYXQgdGhlIHR5cGVzIHlvdSBhcmUgY2FzdGluZyB0by9m
cm9tIGFyZSBzdWJjbGFzc2VzIG9mIEpTQ2VsbCIpOworI2lmIEFTU0VSVF9FTkFCTEVECisgICAg
aWYgKGZyb20gJiYgIWZyb20tPkpTQ2VsbDo6aW5oZXJpdHMoZnJvbS0+SlNDZWxsOjp2bSgpLCBz
dGQ6OnJlbW92ZV9wb2ludGVyPFRvPjo6dHlwZTo6aW5mbygpKSkKKyAgICAgICAgcmVwb3J0WmFw
cGVkQ2VsbEFuZENyYXNoKCpmcm9tLT5KU0NlbGw6OmhlYXAoKSwgZnJvbSk7CisjZWxzZQogICAg
IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFmcm9tIHx8IGZyb20tPkpTQ2VsbDo6
aW5oZXJpdHMoZnJvbS0+SlNDZWxsOjp2bSgpLCBzdGQ6OnJlbW92ZV9wb2ludGVyPFRvPjo6dHlw
ZTo6aW5mbygpKSk7CisjZW5kaWYKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VG8+KGZyb20pOwog
fQogCkBAIC00MSw3ICs0NiwxNCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUbz4KIGlubGluZSBUbyBq
c0Nhc3QoSlNWYWx1ZSBmcm9tKQogewogICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19iYXNlX29m
PEpTQ2VsbCwgdHlwZW5hbWUgc3RkOjpyZW1vdmVfcG9pbnRlcjxUbz46OnR5cGU+Ojp2YWx1ZSwg
IkpTIGNhc3RpbmcgZXhwZWN0cyB0aGF0IHRoZSB0eXBlcyB5b3UgYXJlIGNhc3RpbmcgdG8gaXMg
YSBzdWJjbGFzcyBvZiBKU0NlbGwiKTsKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgIEFTU0VSVChm
cm9tLmlzQ2VsbCgpKTsKKyAgICBKU0NlbGwqIGNlbGwgPSBmcm9tLmFzQ2VsbCgpOworICAgIGlm
ICghY2VsbC0+SlNDZWxsOjppbmhlcml0cyhjZWxsLT52bSgpLCBzdGQ6OnJlbW92ZV9wb2ludGVy
PFRvPjo6dHlwZTo6aW5mbygpKSkKKyAgICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKCpj
ZWxsLT5KU0NlbGw6OmhlYXAoKSwgY2VsbCk7CisjZWxzZQogICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKGZyb20uaXNDZWxsKCkgJiYgZnJvbS5hc0NlbGwoKS0+SlNDZWxsOjpp
bmhlcml0cyhmcm9tLmFzQ2VsbCgpLT52bSgpLCBzdGQ6OnJlbW92ZV9wb2ludGVyPFRvPjo6dHlw
ZTo6aW5mbygpKSk7CisjZW5kaWYKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VG8+KGZyb20uYXND
ZWxsKCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAppbmRl
eCAyNGVkNjUyMzM3OTIzNGViMGMxOGIwNmYwMjY0MTc5MWQ4YzgwNjQ4Li5mZmJkYzI4OGQwMTBi
ZjlmOWM1M2I4YjcxNmUxNjBhOGE0MDdkY2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQ2VsbC5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJKU0NlbGwuaCIKIAog
I2luY2x1ZGUgIkFycmF5QnVmZmVyVmlldy5oIgorI2luY2x1ZGUgIkJsb2NrRGlyZWN0b3J5SW5s
aW5lcy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0Nhc3QuaCIKICNp
bmNsdWRlICJKU0Z1bmN0aW9uLmgiCkBAIC0zMTYsNCArMzE3LDQ2IEBAIHZvaWQgSlNDZWxsTG9j
azo6dW5sb2NrU2xvdygpCiAgICAgSW5kZXhpbmdUeXBlTG9ja0FsZ29yaXRobTo6dW5sb2NrU2xv
dygqbG9jayk7CiB9CiAKKyNpZiBDUFUoWDg2XzY0KQorTkVWRVJfSU5MSU5FIE5PX1JFVFVSTl9E
VUVfVE9fQ1JBU0ggTk9UX1RBSUxfQ0FMTEVEIHZvaWQgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNo
KEhlYXAmIGhlYXAsIGNvbnN0IEpTQ2VsbCogY2VsbCkKK3sKKyAgICBNYXJrZWRCbG9jazo6SGFu
ZGxlKiBmb3VuZEJsb2NrSGFuZGxlID0gbnVsbHB0cjsKKyAgICB1aW50NjRfdCogY2VsbFdvcmRz
ID0gYml0d2lzZV9jYXN0PHVpbnQ2NF90Kj4oY2VsbCk7CisKKyAgICB1aW50cHRyX3QgY2VsbEFk
ZHJlc3MgPSBiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihjZWxsKTsKKyAgICB1aW50NjRfdCBoZWFk
ZXJXb3JkID0gY2VsbFdvcmRzWzBdOworICAgIHVpbnQ2NF90IHphcFJlYXNvbkFuZE1vcmUgPSBj
ZWxsV29yZHNbMV07CisgICAgdW5zaWduZWQgc3Vic3BhY2VIYXNoID0gMDsKKyAgICBzaXplX3Qg
Y2VsbFNpemUgPSAwOworCisgICAgaGVhcC5vYmplY3RTcGFjZSgpLmZvckVhY2hCbG9jayhbJl0g
KE1hcmtlZEJsb2NrOjpIYW5kbGUqIGJsb2NrSGFuZGxlKSB7CisgICAgICAgIGlmIChibG9ja0hh
bmRsZS0+Y29udGFpbnMoYml0d2lzZV9jYXN0PEpTQ2VsbCo+KGNlbGwpKSkgeworICAgICAgICAg
ICAgZm91bmRCbG9ja0hhbmRsZSA9IGJsb2NrSGFuZGxlOworICAgICAgICAgICAgcmV0dXJuIEl0
ZXJhdGlvblN0YXR1czo6RG9uZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gSXRlcmF0aW9u
U3RhdHVzOjpDb250aW51ZTsKKyAgICB9KTsKKworICAgIHVpbnQ2NF90IHZhcmlvdXNTdGF0ZSA9
IDA7CisgICAgTWFya2VkQmxvY2sqIGZvdW5kQmxvY2sgPSBudWxscHRyOworICAgIGlmIChmb3Vu
ZEJsb2NrSGFuZGxlKSB7CisgICAgICAgIGZvdW5kQmxvY2sgPSAmZm91bmRCbG9ja0hhbmRsZS0+
YmxvY2soKTsKKyAgICAgICAgc3Vic3BhY2VIYXNoID0gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFz
aChmb3VuZEJsb2NrSGFuZGxlLT5zdWJzcGFjZSgpLT5uYW1lKCkpOworICAgICAgICBjZWxsU2l6
ZSA9IGZvdW5kQmxvY2tIYW5kbGUtPmNlbGxTaXplKCk7CisKKyAgICAgICAgdmFyaW91c1N0YXRl
IHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrSGFuZGxlLT5pc0ZyZWVMaXN0ZWQo
KSkgPDwgMDsKKyAgICAgICAgdmFyaW91c1N0YXRlIHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihm
b3VuZEJsb2NrSGFuZGxlLT5pc0FsbG9jYXRlZCgpKSA8PCAxOworICAgICAgICB2YXJpb3VzU3Rh
dGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPmlzRW1wdHkoKSkg
PDwgMjsKKyAgICAgICAgdmFyaW91c1N0YXRlIHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihmb3Vu
ZEJsb2NrSGFuZGxlLT5uZWVkc0Rlc3RydWN0aW9uKCkpIDw8IDM7CisgICAgICAgIHZhcmlvdXNT
dGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRCbG9jay0+aXNOZXdseUFsbG9jYXRl
ZChjZWxsKSkgPDwgNDsKKworICAgICAgICBwdHJkaWZmX3QgY2VsbE9mZnNldCA9IGNlbGxBZGRy
ZXNzIC0gcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4oZm91bmRCbG9ja0hhbmRsZS0+c3RhcnQo
KSk7CisgICAgICAgIGJvb2wgY2VsbElzUHJvcGVybHlBbGlnbmVkID0gIShjZWxsT2Zmc2V0ICUg
Y2VsbFNpemUpOworICAgICAgICB2YXJpb3VzU3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+
KGNlbGxJc1Byb3Blcmx5QWxpZ25lZCkgPDwgNTsKKyAgICB9CisKKyAgICBDUkFTSF9XSVRIX0lO
Rk8oY2VsbEFkZHJlc3MsIGhlYWRlcldvcmQsIHphcFJlYXNvbkFuZE1vcmUsIHN1YnNwYWNlSGFz
aCwgY2VsbFNpemUsIGZvdW5kQmxvY2ssIHZhcmlvdXNTdGF0ZSk7Cit9CisjZW5kaWYgLy8gUExB
VEZPUk0oTUFDKQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDZWxsLmgKaW5kZXggMTA2NzQ5ZGUzY2UxNWY0M2UyMzlkYTFiZmUzMzJjNzIzMTFhYWRm
ZS4uOWU2NzdlYTcxYzkwMzEzOWI4OTk5MzMxODdhM2U0OTAxOTU0MWJjZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKQEAgLTMwNyw0ICszMDcsOCBAQCBpbmxpbmUgYXV0
byBzdWJzcGFjZUZvckNvbmN1cnJlbnRseShWTSYgdm0pCiAgICAgcmV0dXJuIFR5cGU6OnRlbXBs
YXRlIHN1YnNwYWNlRm9yPFR5cGUsIFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+KHZtKTsK
IH0KIAorI2lmIENQVShYODZfNjQpCitKU19FWFBPUlRfUFJJVkFURSBORVZFUl9JTkxJTkUgTk9f
UkVUVVJOX0RVRV9UT19DUkFTSCBOT1RfVEFJTF9DQUxMRUQgdm9pZCByZXBvcnRaYXBwZWRDZWxs
QW5kQ3Jhc2goSGVhcCYsIGNvbnN0IEpTQ2VsbCopOworI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlSZWxlYXNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAKaW5kZXggYmViOGExMzBjYTJi
NmRjMzFlM2QyYmRhZWYyNmM0Y2QwOTY4MmM2Yi4uMTQ4YzRjZDhhMmU2NjA0MDBiNWQyNzM0N2M0
YWY2ZmMzZWY1MjEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlSZWxl
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeVJlbGVhc2UuY3BwCkBAIC0x
OTIsNiArMTkyLDcgQEAgdm9pZCBsb2dNZW1vcnlTdGF0aXN0aWNzQXRUaW1lT2ZEZWF0aCgpCiAj
ZW5kaWYKIAogICAgIGF1dG8mIHZtID0gY29tbW9uVk0oKTsKKyAgICBKU0M6OkpTTG9ja0hvbGRl
ciBsb2NrZXIodm0pOwogICAgIFJFTEVBU0VfTE9HKE1lbW9yeVByZXNzdXJlLCAiTWVtb3J5IHVz
YWdlIHN0YXRpc3RpY3MgYXQgdGltZSBvZiBkZWF0aDoiKTsKICAgICBSRUxFQVNFX0xPRyhNZW1v
cnlQcmVzc3VyZSwgIkdDIGhlYXAgc2l6ZTogJXp1Iiwgdm0uaGVhcC5zaXplKCkpOwogICAgIFJF
TEVBU0VfTE9HKE1lbW9yeVByZXNzdXJlLCAiR0MgaGVhcCBleHRyYSBtZW1vcnkgc2l6ZTogJXp1
Iiwgdm0uaGVhcC5leHRyYU1lbW9yeVNpemUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlTG9nZ2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlTG9nZ2luZy5jcHAKaW5kZXggMzZlMzhkNDc5MTdlM2YyY2RiOWRkYThjMDBiYjJkNTJh
ZDRiNjMwMy4uYmVkMjY3OTYyNjAyYTU0ODBjMGQ2NGYyZjEyYjYzMDZlZTQ4NTMyNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcApAQCAtNTYsNiArNTYsNyBA
QCBIYXNoTWFwPGNvbnN0IGNoYXIqLCBzaXplX3Q+IFBlcmZvcm1hbmNlTG9nZ2luZzo6bWVtb3J5
VXNhZ2VTdGF0aXN0aWNzKFNob3VsZEluYwogICAgIEhhc2hNYXA8Y29uc3QgY2hhciosIHNpemVf
dD4gc3RhdHM7CiAKICAgICBhdXRvJiB2bSA9IGNvbW1vblZNKCk7CisgICAgSlNDOjpKU0xvY2tI
b2xkZXIgbG9ja2VyKHZtKTsKICAgICBzdGF0cy5hZGQoImphdmFzY3JpcHRfZ2NfaGVhcF9jYXBh
Y2l0eSIsIHZtLmhlYXAuY2FwYWNpdHkoKSk7CiAgICAgc3RhdHMuYWRkKCJqYXZhc2NyaXB0X2dj
X2hlYXBfZXh0cmFfbWVtb3J5X3NpemUiLCB2bS5oZWFwLmV4dHJhTWVtb3J5U2l6ZSgpKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393462</attachid>
            <date>2020-03-12 23:36:46 -0700</date>
            <delta_ts>2020-03-12 23:39:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209041-20200312233645.patch</filename>
            <type>text/plain</type>
            <size>12316</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4Mzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZDk1MmMyZDIwZjM1OWFlZDU5NjU0ODYyNTQ5N2JhOGU1MDk2OGQyLi4zYTRiYjc2YjY3ZmVjYjJm
ZWFiNmVjZTAyZWU2NWE0NTJhNTQxNTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0wMy0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFJlcG9ydCBjcmFzaGVkIGNlbGwgaW4ganNDYXN0IGluIGRlYnVnIGJ1aWxk
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDQx
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTcwNTYzMT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBjb2xsZWN0IG1vcmUgaW5mb3JtYXRpb24g
d2hlbiBjcmFzaGluZyB3aXRoIGpzQ2FzdCwgd2UgYXR0ZW1wdCB0byB1c2UgcmVwb3J0WmFwcGVk
Q2VsbEFuZENyYXNoLgorICAgICAgICBJZiBpdCBzdWNjZWVkcywgd2UgY2FuIGdldCBtb3JlIGlu
Zm9ybWF0aW9uIGluIHJlZ2lzdGVycy4gV2UgZW5hYmxlIHRoaXMgb25seSBmb3IgQVNTRVJUX0VO
QUJMRUQKKyAgICAgICAgYnVpbGQuIEZvciBub24gQVNTRVJUX0VOQUJMRUQsIHdlIGtlZXAgdGhl
IG9yaWdpbmFsIGFzc2VydGlvbiBzaW5jZSB0aGlzIGFzc2VydGlvbiBjYW4gYmUgZW5hYmxlZAor
ICAgICAgICB2aWEgRU5BQkxFKFNFQ1VSSVRZX0FTU0VSVElPTlMpLgorCisgICAgICAgICogaGVh
cC9TbG90VmlzaXRvci5jcHA6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjphcHBlbmRUb01h
cmtTdGFjayk6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjp2aXNpdENoaWxkcmVuKToKKyAg
ICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6OnJlcG9ydFphcHBlZENlbGxBbmRDcmFzaCk6IERlbGV0
ZWQuCisgICAgICAgICogaGVhcC9TbG90VmlzaXRvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlND
YXN0Lmg6CisgICAgICAgIChKU0M6OmpzQ2FzdCk6CisgICAgICAgICogcnVudGltZS9KU0NlbGwu
Y3BwOgorICAgICAgICAoSlNDOjpyZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2gpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNDZWxsLmg6CisKIDIwMjAtMDMtMTIgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21p
bGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgREZHIG5vZGVzIHRoYXQgdGFrZSBhIFR5cGVkQXJy
YXkncyBzdG9yYWdlIG5lZWQgdG8ga2VlcEFsaXZlIHRoZSBUeXBlZEFycmF5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggM2Y0MWY0MDM4OWUxNjc1ZDg2OGMzMTUyNmJjNWQ4ZDg4ZGI5M2YxYS4uNmMxZTQ3NWQwYzU4
YTY2ZTNkOThlN2FiODYzMjFjZjQ4M2Q2Yzc2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBA
CisyMDIwLTAzLTEyICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVwb3J0IGNyYXNoZWQgY2VsbCBpbiBqc0Nhc3QgaW4gZGVidWcgYnVpbGRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkwNDEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzU5NzA1NjMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlIHNob3VsZCB0YWtlIEpTTG9jayB3aGVuIHRvdWNoaW5nIEpT
Qzo6Vk0uCisKKyAgICAgICAgKiBwYWdlL01lbW9yeVJlbGVhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bG9nTWVtb3J5U3RhdGlzdGljc0F0VGltZU9mRGVhdGgpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VMb2dnaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTG9n
Z2luZzo6bWVtb3J5VXNhZ2VTdGF0aXN0aWNzKToKKwogMjAyMC0wMy0xMiAgQ2F0aGllIENoZW4g
IDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjU1OTU3KTog
RWxlbWVudCB3aXRoIHNjcm9sbC1iZWhhdmlvcjpzbW9vdGggaXNuJ3QgZHJhZ2dhYmxlIGFmdGVy
IHIyNTU5NTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNp
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmNwcAppbmRl
eCBmMzE2ZmRlZDBhMjM3NTNmZGIzMzZmZDZhOWFiMTBmMGY0ODcyOGIzLi5jNjQ5OTM1MTA5YzMx
ODQ3ZGZjODk3YjUzZTkzOGYxZDA0ZjZkOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9TbG90VmlzaXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvU2xvdFZpc2l0b3IuY3BwCkBAIC0yOTQsNyArMjk0LDcgQEAgQUxXQVlTX0lOTElORSB2b2lk
IFNsb3RWaXNpdG9yOjphcHBlbmRUb01hcmtTdGFjayhDb250YWluZXJUeXBlJiBjb250YWluZXIs
IEpTQ2UKICNpZiBDUFUoWDg2XzY0KQogICAgIGlmIChVTkxJS0VMWShPcHRpb25zOjpkdW1wWmFw
cGVkQ2VsbENyYXNoRGF0YSgpKSkgewogICAgICAgICBpZiAoVU5MSUtFTFkoY2VsbC0+aXNaYXBw
ZWQoKSkpCi0gICAgICAgICAgICByZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2goY2VsbCk7CisgICAg
ICAgICAgICByZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2gobV9oZWFwLCBjZWxsKTsKICAgICB9CiAj
ZW5kaWYKICAgICBBU1NFUlQoIWNlbGwtPmlzWmFwcGVkKCkpOwpAQCAtNDA0LDcgKzQwNCw3IEBA
IEFMV0FZU19JTkxJTkUgdm9pZCBTbG90VmlzaXRvcjo6dmlzaXRDaGlsZHJlbihjb25zdCBKU0Nl
bGwqIGNlbGwpCiAgICAgICAgICAgICAgICAgbWV0aG9kVGFibGUtPnZpc2l0Q2hpbGRyZW4oY29u
c3RfY2FzdDxKU0NlbGwqPihjZWxsKSwgKnRoaXMpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKGNvbnN0
X2Nhc3Q8SlNDZWxsKj4oY2VsbCkpOworICAgICAgICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENy
YXNoKG1faGVhcCwgY29uc3RfY2FzdDxKU0NlbGwqPihjZWxsKSk7CiAgICAgICAgIH0KICNlbmRp
ZgogICAgICAgICBjZWxsLT5tZXRob2RUYWJsZSh2bSgpKS0+dmlzaXRDaGlsZHJlbihjb25zdF9j
YXN0PEpTQ2VsbCo+KGNlbGwpLCAqdGhpcyk7CkBAIC04MjUsNDYgKzgyNSw0IEBAIHZvaWQgU2xv
dFZpc2l0b3I6OmFkZFBhcmFsbGVsQ29uc3RyYWludFRhc2soUmVmUHRyPFNoYXJlZFRhc2s8dm9p
ZChTbG90VmlzaXRvciYpCiAgICAgbV9jdXJyZW50U29sdmVyLT5hZGRQYXJhbGxlbFRhc2sodGFz
aywgKm1fY3VycmVudENvbnN0cmFpbnQpOwogfQogCi0jaWYgQ1BVKFg4Nl82NCkKLU5FVkVSX0lO
TElORSBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIE5PVF9UQUlMX0NBTExFRCB2b2lkIFNsb3RWaXNp
dG9yOjpyZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2goSlNDZWxsKiBjZWxsKQotewotICAgIE1hcmtl
ZEJsb2NrOjpIYW5kbGUqIGZvdW5kQmxvY2tIYW5kbGUgPSBudWxscHRyOwotICAgIHVpbnQ2NF90
KiBjZWxsV29yZHMgPSByZWludGVycHJldF9jYXN0X3B0cjx1aW50NjRfdCo+KGNlbGwpOwotCi0g
ICAgdWludHB0cl90IGNlbGxBZGRyZXNzID0gYml0d2lzZV9jYXN0PHVpbnRwdHJfdD4oY2VsbCk7
Ci0gICAgdWludDY0X3QgaGVhZGVyV29yZCA9IGNlbGxXb3Jkc1swXTsKLSAgICB1aW50NjRfdCB6
YXBSZWFzb25BbmRNb3JlID0gY2VsbFdvcmRzWzFdOwotICAgIHVuc2lnbmVkIHN1YnNwYWNlSGFz
aCA9IDA7Ci0gICAgc2l6ZV90IGNlbGxTaXplID0gMDsKLQotICAgIG1faGVhcC5vYmplY3RTcGFj
ZSgpLmZvckVhY2hCbG9jayhbJl0gKE1hcmtlZEJsb2NrOjpIYW5kbGUqIGJsb2NrSGFuZGxlKSB7
Ci0gICAgICAgIGlmIChibG9ja0hhbmRsZS0+Y29udGFpbnMoY2VsbCkpIHsKLSAgICAgICAgICAg
IGZvdW5kQmxvY2tIYW5kbGUgPSBibG9ja0hhbmRsZTsKLSAgICAgICAgICAgIHJldHVybiBJdGVy
YXRpb25TdGF0dXM6OkRvbmU7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIEl0ZXJhdGlvblN0
YXR1czo6Q29udGludWU7Ci0gICAgfSk7Ci0KLSAgICB1aW50NjRfdCB2YXJpb3VzU3RhdGUgPSAw
OwotICAgIE1hcmtlZEJsb2NrKiBmb3VuZEJsb2NrID0gbnVsbHB0cjsKLSAgICBpZiAoZm91bmRC
bG9ja0hhbmRsZSkgewotICAgICAgICBmb3VuZEJsb2NrID0gJmZvdW5kQmxvY2tIYW5kbGUtPmJs
b2NrKCk7Ci0gICAgICAgIHN1YnNwYWNlSGFzaCA9IFN0cmluZ0hhc2hlcjo6Y29tcHV0ZUhhc2go
Zm91bmRCbG9ja0hhbmRsZS0+c3Vic3BhY2UoKS0+bmFtZSgpKTsKLSAgICAgICAgY2VsbFNpemUg
PSBmb3VuZEJsb2NrSGFuZGxlLT5jZWxsU2l6ZSgpOwotCi0gICAgICAgIHZhcmlvdXNTdGF0ZSB8
PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRCbG9ja0hhbmRsZS0+aXNGcmVlTGlzdGVkKCkp
IDw8IDA7Ci0gICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91
bmRCbG9ja0hhbmRsZS0+aXNBbGxvY2F0ZWQoKSkgPDwgMTsKLSAgICAgICAgdmFyaW91c1N0YXRl
IHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrSGFuZGxlLT5pc0VtcHR5KCkpIDw8
IDI7Ci0gICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRC
bG9ja0hhbmRsZS0+bmVlZHNEZXN0cnVjdGlvbigpKSA8PCAzOwotICAgICAgICB2YXJpb3VzU3Rh
dGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2stPmlzTmV3bHlBbGxvY2F0ZWQo
Y2VsbCkpIDw8IDQ7Ci0KLSAgICAgICAgcHRyZGlmZl90IGNlbGxPZmZzZXQgPSBjZWxsQWRkcmVz
cyAtIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPnN0YXJ0KCkp
OwotICAgICAgICBib29sIGNlbGxJc1Byb3Blcmx5QWxpZ25lZCA9ICEoY2VsbE9mZnNldCAlIGNl
bGxTaXplKTsKLSAgICAgICAgdmFyaW91c1N0YXRlIHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihj
ZWxsSXNQcm9wZXJseUFsaWduZWQpIDw8IDU7Ci0gICAgfQotCi0gICAgQ1JBU0hfV0lUSF9JTkZP
KGNlbGxBZGRyZXNzLCBoZWFkZXJXb3JkLCB6YXBSZWFzb25BbmRNb3JlLCBzdWJzcGFjZUhhc2gs
IGNlbGxTaXplLCBmb3VuZEJsb2NrLCB2YXJpb3VzU3RhdGUpOwotfQotI2VuZGlmIC8vIFBMQVRG
T1JNKE1BQykKLQogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
U2xvdFZpc2l0b3IuaAppbmRleCAzMDYyNzViNWRhM2U2NDQ0YTE2NjhmOTQyODk4NmM3NzcwZDMy
OTA1Li41NWYxNmY4YWUyNzY4NzE5ZDYyOTdkNDhhMDc2NTExNjc2ODdmMTk1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmgKQEAgLTIyNywxMCArMjI3LDYgQEAgY2xh
c3MgU2xvdFZpc2l0b3IgewogICAgIGJvb2wgaGFzV29yayhjb25zdCBBYnN0cmFjdExvY2tlciYp
OwogICAgIGJvb2wgZGlkUmVhY2hUZXJtaW5hdGlvbihjb25zdCBBYnN0cmFjdExvY2tlciYpOwog
Ci0jaWYgQ1BVKFg4Nl82NCkKLSAgICBORVZFUl9JTkxJTkUgTk9fUkVUVVJOX0RVRV9UT19DUkFT
SCBOT1RfVEFJTF9DQUxMRUQgdm9pZCByZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2goSlNDZWxsKik7
Ci0jZW5kaWYKLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmM+CiAgICAgSXRlcmF0aW9uU3Rh
dHVzIGZvckVhY2hNYXJrU3RhY2soY29uc3QgRnVuYyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ2FzdC5oCmluZGV4IDY3M2UwMWMyMmU1ZmUwNmUyZmRlMWQyYjUyNWE2MDc5MDc5
YWNhNzAuLmZhYjFlOWY3MjRlOWYxNDIxZTU0NzlmYTczYzI1Njc4MjkxOTNjODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCkBAIC0zMyw3ICszMywxMiBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBUbywgdHlwZW5hbWUgRnJvbT4KIGlubGluZSBUbyBqc0Nhc3QoRnJvbSogZnJv
bSkKIHsKICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfYmFzZV9vZjxKU0NlbGwsIHR5cGVuYW1l
IHN0ZDo6cmVtb3ZlX3BvaW50ZXI8VG8+Ojp0eXBlPjo6dmFsdWUgJiYgc3RkOjppc19iYXNlX29m
PEpTQ2VsbCwgdHlwZW5hbWUgc3RkOjpyZW1vdmVfcG9pbnRlcjxGcm9tPjo6dHlwZT46OnZhbHVl
LCAiSlMgY2FzdGluZyBleHBlY3RzIHRoYXQgdGhlIHR5cGVzIHlvdSBhcmUgY2FzdGluZyB0by9m
cm9tIGFyZSBzdWJjbGFzc2VzIG9mIEpTQ2VsbCIpOworI2lmIEFTU0VSVF9FTkFCTEVECisgICAg
aWYgKGZyb20gJiYgIWZyb20tPkpTQ2VsbDo6aW5oZXJpdHMoZnJvbS0+SlNDZWxsOjp2bSgpLCBz
dGQ6OnJlbW92ZV9wb2ludGVyPFRvPjo6dHlwZTo6aW5mbygpKSkKKyAgICAgICAgcmVwb3J0WmFw
cGVkQ2VsbEFuZENyYXNoKCpmcm9tLT5KU0NlbGw6OmhlYXAoKSwgZnJvbSk7CisjZWxzZQogICAg
IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFmcm9tIHx8IGZyb20tPkpTQ2VsbDo6
aW5oZXJpdHMoZnJvbS0+SlNDZWxsOjp2bSgpLCBzdGQ6OnJlbW92ZV9wb2ludGVyPFRvPjo6dHlw
ZTo6aW5mbygpKSk7CisjZW5kaWYKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VG8+KGZyb20pOwog
fQogCkBAIC00MSw3ICs0NiwxNCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUbz4KIGlubGluZSBUbyBq
c0Nhc3QoSlNWYWx1ZSBmcm9tKQogewogICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19iYXNlX29m
PEpTQ2VsbCwgdHlwZW5hbWUgc3RkOjpyZW1vdmVfcG9pbnRlcjxUbz46OnR5cGU+Ojp2YWx1ZSwg
IkpTIGNhc3RpbmcgZXhwZWN0cyB0aGF0IHRoZSB0eXBlcyB5b3UgYXJlIGNhc3RpbmcgdG8gaXMg
YSBzdWJjbGFzcyBvZiBKU0NlbGwiKTsKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgIEFTU0VSVChm
cm9tLmlzQ2VsbCgpKTsKKyAgICBKU0NlbGwqIGNlbGwgPSBmcm9tLmFzQ2VsbCgpOworICAgIGlm
ICghY2VsbC0+SlNDZWxsOjppbmhlcml0cyhjZWxsLT52bSgpLCBzdGQ6OnJlbW92ZV9wb2ludGVy
PFRvPjo6dHlwZTo6aW5mbygpKSkKKyAgICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKCpj
ZWxsLT5KU0NlbGw6OmhlYXAoKSwgY2VsbCk7CisjZWxzZQogICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKGZyb20uaXNDZWxsKCkgJiYgZnJvbS5hc0NlbGwoKS0+SlNDZWxsOjpp
bmhlcml0cyhmcm9tLmFzQ2VsbCgpLT52bSgpLCBzdGQ6OnJlbW92ZV9wb2ludGVyPFRvPjo6dHlw
ZTo6aW5mbygpKSk7CisjZW5kaWYKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VG8+KGZyb20uYXND
ZWxsKCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAppbmRl
eCAyNGVkNjUyMzM3OTIzNGViMGMxOGIwNmYwMjY0MTc5MWQ4YzgwNjQ4Li4yYjdjYzFkOTJiNjRi
MzllOGNmNTQ5MmZjOTQ3OGUyNmExMDdhM2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQ2VsbC5jcHAKQEAgLTI0LDExICsyNCwxMyBAQAogI2luY2x1ZGUgIkpTQ2VsbC5oIgog
CiAjaW5jbHVkZSAiQXJyYXlCdWZmZXJWaWV3LmgiCisjaW5jbHVkZSAiQmxvY2tEaXJlY3RvcnlJ
bmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2FzdC5oIgog
I2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUg
IkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiTWFya2VkQmxvY2tJbmxpbmVzLmgiCiAjaW5jbHVkZSAi
TnVtYmVyT2JqZWN0LmgiCiAjaW5jbHVkZSA8d3RmL0xvY2tBbGdvcml0aG1JbmxpbmVzLmg+CiAj
aW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTMxNiw0ICszMTgsNDYgQEAgdm9pZCBKU0Nl
bGxMb2NrOjp1bmxvY2tTbG93KCkKICAgICBJbmRleGluZ1R5cGVMb2NrQWxnb3JpdGhtOjp1bmxv
Y2tTbG93KCpsb2NrKTsKIH0KIAorI2lmIENQVShYODZfNjQpCitORVZFUl9JTkxJTkUgTk9fUkVU
VVJOX0RVRV9UT19DUkFTSCBOT1RfVEFJTF9DQUxMRUQgdm9pZCByZXBvcnRaYXBwZWRDZWxsQW5k
Q3Jhc2goSGVhcCYgaGVhcCwgY29uc3QgSlNDZWxsKiBjZWxsKQoreworICAgIE1hcmtlZEJsb2Nr
OjpIYW5kbGUqIGZvdW5kQmxvY2tIYW5kbGUgPSBudWxscHRyOworICAgIHVpbnQ2NF90KiBjZWxs
V29yZHMgPSBiaXR3aXNlX2Nhc3Q8dWludDY0X3QqPihjZWxsKTsKKworICAgIHVpbnRwdHJfdCBj
ZWxsQWRkcmVzcyA9IGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KGNlbGwpOworICAgIHVpbnQ2NF90
IGhlYWRlcldvcmQgPSBjZWxsV29yZHNbMF07CisgICAgdWludDY0X3QgemFwUmVhc29uQW5kTW9y
ZSA9IGNlbGxXb3Jkc1sxXTsKKyAgICB1bnNpZ25lZCBzdWJzcGFjZUhhc2ggPSAwOworICAgIHNp
emVfdCBjZWxsU2l6ZSA9IDA7CisKKyAgICBoZWFwLm9iamVjdFNwYWNlKCkuZm9yRWFjaEJsb2Nr
KFsmXSAoTWFya2VkQmxvY2s6OkhhbmRsZSogYmxvY2tIYW5kbGUpIHsKKyAgICAgICAgaWYgKGJs
b2NrSGFuZGxlLT5jb250YWlucyhiaXR3aXNlX2Nhc3Q8SlNDZWxsKj4oY2VsbCkpKSB7CisgICAg
ICAgICAgICBmb3VuZEJsb2NrSGFuZGxlID0gYmxvY2tIYW5kbGU7CisgICAgICAgICAgICByZXR1
cm4gSXRlcmF0aW9uU3RhdHVzOjpEb25lOworICAgICAgICB9CisgICAgICAgIHJldHVybiBJdGVy
YXRpb25TdGF0dXM6OkNvbnRpbnVlOworICAgIH0pOworCisgICAgdWludDY0X3QgdmFyaW91c1N0
YXRlID0gMDsKKyAgICBNYXJrZWRCbG9jayogZm91bmRCbG9jayA9IG51bGxwdHI7CisgICAgaWYg
KGZvdW5kQmxvY2tIYW5kbGUpIHsKKyAgICAgICAgZm91bmRCbG9jayA9ICZmb3VuZEJsb2NrSGFu
ZGxlLT5ibG9jaygpOworICAgICAgICBzdWJzcGFjZUhhc2ggPSBTdHJpbmdIYXNoZXI6OmNvbXB1
dGVIYXNoKGZvdW5kQmxvY2tIYW5kbGUtPnN1YnNwYWNlKCktPm5hbWUoKSk7CisgICAgICAgIGNl
bGxTaXplID0gZm91bmRCbG9ja0hhbmRsZS0+Y2VsbFNpemUoKTsKKworICAgICAgICB2YXJpb3Vz
U3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPmlzRnJlZUxp
c3RlZCgpKSA8PCAwOworICAgICAgICB2YXJpb3VzU3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0
X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPmlzQWxsb2NhdGVkKCkpIDw8IDE7CisgICAgICAgIHZhcmlv
dXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRCbG9ja0hhbmRsZS0+aXNFbXB0
eSgpKSA8PCAyOworICAgICAgICB2YXJpb3VzU3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+
KGZvdW5kQmxvY2tIYW5kbGUtPm5lZWRzRGVzdHJ1Y3Rpb24oKSkgPDwgMzsKKyAgICAgICAgdmFy
aW91c1N0YXRlIHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrLT5pc05ld2x5QWxs
b2NhdGVkKGNlbGwpKSA8PCA0OworCisgICAgICAgIHB0cmRpZmZfdCBjZWxsT2Zmc2V0ID0gY2Vs
bEFkZHJlc3MgLSByZWludGVycHJldF9jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrSGFuZGxlLT5z
dGFydCgpKTsKKyAgICAgICAgYm9vbCBjZWxsSXNQcm9wZXJseUFsaWduZWQgPSAhKGNlbGxPZmZz
ZXQgJSBjZWxsU2l6ZSk7CisgICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50
NjRfdD4oY2VsbElzUHJvcGVybHlBbGlnbmVkKSA8PCA1OworICAgIH0KKworICAgIENSQVNIX1dJ
VEhfSU5GTyhjZWxsQWRkcmVzcywgaGVhZGVyV29yZCwgemFwUmVhc29uQW5kTW9yZSwgc3Vic3Bh
Y2VIYXNoLCBjZWxsU2l6ZSwgZm91bmRCbG9jaywgdmFyaW91c1N0YXRlKTsKK30KKyNlbmRpZiAv
LyBQTEFURk9STShNQUMpCisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuaAppbmRleCAxMDY3NDlkZTNjZTE1ZjQzZTIzOWRhMWJmZTMzMmM3MjMx
MWFhZGZlLi45ZTY3N2VhNzFjOTAzMTM5Yjg5OTkzMzE4N2EzZTQ5MDE5NTQxYmNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzA3LDQgKzMwNyw4IEBAIGlubGlu
ZSBhdXRvIHN1YnNwYWNlRm9yQ29uY3VycmVudGx5KFZNJiB2bSkKICAgICByZXR1cm4gVHlwZTo6
dGVtcGxhdGUgc3Vic3BhY2VGb3I8VHlwZSwgU3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseT4o
dm0pOwogfQogCisjaWYgQ1BVKFg4Nl82NCkKK0pTX0VYUE9SVF9QUklWQVRFIE5FVkVSX0lOTElO
RSBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIE5PVF9UQUlMX0NBTExFRCB2b2lkIHJlcG9ydFphcHBl
ZENlbGxBbmRDcmFzaChIZWFwJiwgY29uc3QgSlNDZWxsKik7CisjZW5kaWYKKwogfSAvLyBuYW1l
c3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeVJlbGVhc2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlSZWxlYXNlLmNwcAppbmRleCBiZWI4YTEz
MGNhMmI2ZGMzMWUzZDJiZGFlZjI2YzRjZDA5NjgyYzZiLi4xNDhjNGNkOGEyZTY2MDQwMGI1ZDI3
MzQ3YzRhZjZmYzNlZjUyMTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9y
eVJlbGVhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAK
QEAgLTE5Miw2ICsxOTIsNyBAQCB2b2lkIGxvZ01lbW9yeVN0YXRpc3RpY3NBdFRpbWVPZkRlYXRo
KCkKICNlbmRpZgogCiAgICAgYXV0byYgdm0gPSBjb21tb25WTSgpOworICAgIEpTQzo6SlNMb2Nr
SG9sZGVyIGxvY2tlcih2bSk7CiAgICAgUkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUsICJNZW1v
cnkgdXNhZ2Ugc3RhdGlzdGljcyBhdCB0aW1lIG9mIGRlYXRoOiIpOwogICAgIFJFTEVBU0VfTE9H
KE1lbW9yeVByZXNzdXJlLCAiR0MgaGVhcCBzaXplOiAlenUiLCB2bS5oZWFwLnNpemUoKSk7CiAg
ICAgUkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUsICJHQyBoZWFwIGV4dHJhIG1lbW9yeSBzaXpl
OiAlenUiLCB2bS5oZWFwLmV4dHJhTWVtb3J5U2l6ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VMb2dnaW5nLmNwcAppbmRleCAzNmUzOGQ0NzkxN2UzZjJjZGI5ZGRhOGMwMGJi
MmQ1MmFkNGI2MzAzLi5iZWQyNjc5NjI2MDJhNTQ4MGMwZDY0ZjJmMTJiNjMwNmVlNDg1MzI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTG9nZ2luZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCkBAIC01Niw2ICs1
Niw3IEBAIEhhc2hNYXA8Y29uc3QgY2hhciosIHNpemVfdD4gUGVyZm9ybWFuY2VMb2dnaW5nOjpt
ZW1vcnlVc2FnZVN0YXRpc3RpY3MoU2hvdWxkSW5jCiAgICAgSGFzaE1hcDxjb25zdCBjaGFyKiwg
c2l6ZV90PiBzdGF0czsKIAogICAgIGF1dG8mIHZtID0gY29tbW9uVk0oKTsKKyAgICBKU0M6OkpT
TG9ja0hvbGRlciBsb2NrZXIodm0pOwogICAgIHN0YXRzLmFkZCgiamF2YXNjcmlwdF9nY19oZWFw
X2NhcGFjaXR5Iiwgdm0uaGVhcC5jYXBhY2l0eSgpKTsKICAgICBzdGF0cy5hZGQoImphdmFzY3Jp
cHRfZ2NfaGVhcF9leHRyYV9tZW1vcnlfc2l6ZSIsIHZtLmhlYXAuZXh0cmFNZW1vcnlTaXplKCkp
OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393463</attachid>
            <date>2020-03-12 23:39:30 -0700</date>
            <delta_ts>2020-03-12 23:57:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209041-20200312233929.patch</filename>
            <type>text/plain</type>
            <size>12344</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4Mzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZDk1MmMyZDIwZjM1OWFlZDU5NjU0ODYyNTQ5N2JhOGU1MDk2OGQyLi4zYTRiYjc2YjY3ZmVjYjJm
ZWFiNmVjZTAyZWU2NWE0NTJhNTQxNTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0wMy0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFJlcG9ydCBjcmFzaGVkIGNlbGwgaW4ganNDYXN0IGluIGRlYnVnIGJ1aWxk
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDQx
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTcwNTYzMT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBjb2xsZWN0IG1vcmUgaW5mb3JtYXRpb24g
d2hlbiBjcmFzaGluZyB3aXRoIGpzQ2FzdCwgd2UgYXR0ZW1wdCB0byB1c2UgcmVwb3J0WmFwcGVk
Q2VsbEFuZENyYXNoLgorICAgICAgICBJZiBpdCBzdWNjZWVkcywgd2UgY2FuIGdldCBtb3JlIGlu
Zm9ybWF0aW9uIGluIHJlZ2lzdGVycy4gV2UgZW5hYmxlIHRoaXMgb25seSBmb3IgQVNTRVJUX0VO
QUJMRUQKKyAgICAgICAgYnVpbGQuIEZvciBub24gQVNTRVJUX0VOQUJMRUQsIHdlIGtlZXAgdGhl
IG9yaWdpbmFsIGFzc2VydGlvbiBzaW5jZSB0aGlzIGFzc2VydGlvbiBjYW4gYmUgZW5hYmxlZAor
ICAgICAgICB2aWEgRU5BQkxFKFNFQ1VSSVRZX0FTU0VSVElPTlMpLgorCisgICAgICAgICogaGVh
cC9TbG90VmlzaXRvci5jcHA6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjphcHBlbmRUb01h
cmtTdGFjayk6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjp2aXNpdENoaWxkcmVuKToKKyAg
ICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6OnJlcG9ydFphcHBlZENlbGxBbmRDcmFzaCk6IERlbGV0
ZWQuCisgICAgICAgICogaGVhcC9TbG90VmlzaXRvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlND
YXN0Lmg6CisgICAgICAgIChKU0M6OmpzQ2FzdCk6CisgICAgICAgICogcnVudGltZS9KU0NlbGwu
Y3BwOgorICAgICAgICAoSlNDOjpyZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2gpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNDZWxsLmg6CisKIDIwMjAtMDMtMTIgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21p
bGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgREZHIG5vZGVzIHRoYXQgdGFrZSBhIFR5cGVkQXJy
YXkncyBzdG9yYWdlIG5lZWQgdG8ga2VlcEFsaXZlIHRoZSBUeXBlZEFycmF5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggM2Y0MWY0MDM4OWUxNjc1ZDg2OGMzMTUyNmJjNWQ4ZDg4ZGI5M2YxYS4uNmMxZTQ3NWQwYzU4
YTY2ZTNkOThlN2FiODYzMjFjZjQ4M2Q2Yzc2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBA
CisyMDIwLTAzLTEyICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVwb3J0IGNyYXNoZWQgY2VsbCBpbiBqc0Nhc3QgaW4gZGVidWcgYnVpbGRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkwNDEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzU5NzA1NjMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlIHNob3VsZCB0YWtlIEpTTG9jayB3aGVuIHRvdWNoaW5nIEpT
Qzo6Vk0uCisKKyAgICAgICAgKiBwYWdlL01lbW9yeVJlbGVhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bG9nTWVtb3J5U3RhdGlzdGljc0F0VGltZU9mRGVhdGgpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VMb2dnaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTG9n
Z2luZzo6bWVtb3J5VXNhZ2VTdGF0aXN0aWNzKToKKwogMjAyMC0wMy0xMiAgQ2F0aGllIENoZW4g
IDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjU1OTU3KTog
RWxlbWVudCB3aXRoIHNjcm9sbC1iZWhhdmlvcjpzbW9vdGggaXNuJ3QgZHJhZ2dhYmxlIGFmdGVy
IHIyNTU5NTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNp
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmNwcAppbmRl
eCBmMzE2ZmRlZDBhMjM3NTNmZGIzMzZmZDZhOWFiMTBmMGY0ODcyOGIzLi5jNjQ5OTM1MTA5YzMx
ODQ3ZGZjODk3YjUzZTkzOGYxZDA0ZjZkOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9TbG90VmlzaXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvU2xvdFZpc2l0b3IuY3BwCkBAIC0yOTQsNyArMjk0LDcgQEAgQUxXQVlTX0lOTElORSB2b2lk
IFNsb3RWaXNpdG9yOjphcHBlbmRUb01hcmtTdGFjayhDb250YWluZXJUeXBlJiBjb250YWluZXIs
IEpTQ2UKICNpZiBDUFUoWDg2XzY0KQogICAgIGlmIChVTkxJS0VMWShPcHRpb25zOjpkdW1wWmFw
cGVkQ2VsbENyYXNoRGF0YSgpKSkgewogICAgICAgICBpZiAoVU5MSUtFTFkoY2VsbC0+aXNaYXBw
ZWQoKSkpCi0gICAgICAgICAgICByZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2goY2VsbCk7CisgICAg
ICAgICAgICByZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2gobV9oZWFwLCBjZWxsKTsKICAgICB9CiAj
ZW5kaWYKICAgICBBU1NFUlQoIWNlbGwtPmlzWmFwcGVkKCkpOwpAQCAtNDA0LDcgKzQwNCw3IEBA
IEFMV0FZU19JTkxJTkUgdm9pZCBTbG90VmlzaXRvcjo6dmlzaXRDaGlsZHJlbihjb25zdCBKU0Nl
bGwqIGNlbGwpCiAgICAgICAgICAgICAgICAgbWV0aG9kVGFibGUtPnZpc2l0Q2hpbGRyZW4oY29u
c3RfY2FzdDxKU0NlbGwqPihjZWxsKSwgKnRoaXMpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKGNvbnN0
X2Nhc3Q8SlNDZWxsKj4oY2VsbCkpOworICAgICAgICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENy
YXNoKG1faGVhcCwgY29uc3RfY2FzdDxKU0NlbGwqPihjZWxsKSk7CiAgICAgICAgIH0KICNlbmRp
ZgogICAgICAgICBjZWxsLT5tZXRob2RUYWJsZSh2bSgpKS0+dmlzaXRDaGlsZHJlbihjb25zdF9j
YXN0PEpTQ2VsbCo+KGNlbGwpLCAqdGhpcyk7CkBAIC04MjUsNDYgKzgyNSw0IEBAIHZvaWQgU2xv
dFZpc2l0b3I6OmFkZFBhcmFsbGVsQ29uc3RyYWludFRhc2soUmVmUHRyPFNoYXJlZFRhc2s8dm9p
ZChTbG90VmlzaXRvciYpCiAgICAgbV9jdXJyZW50U29sdmVyLT5hZGRQYXJhbGxlbFRhc2sodGFz
aywgKm1fY3VycmVudENvbnN0cmFpbnQpOwogfQogCi0jaWYgQ1BVKFg4Nl82NCkKLU5FVkVSX0lO
TElORSBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIE5PVF9UQUlMX0NBTExFRCB2b2lkIFNsb3RWaXNp
dG9yOjpyZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2goSlNDZWxsKiBjZWxsKQotewotICAgIE1hcmtl
ZEJsb2NrOjpIYW5kbGUqIGZvdW5kQmxvY2tIYW5kbGUgPSBudWxscHRyOwotICAgIHVpbnQ2NF90
KiBjZWxsV29yZHMgPSByZWludGVycHJldF9jYXN0X3B0cjx1aW50NjRfdCo+KGNlbGwpOwotCi0g
ICAgdWludHB0cl90IGNlbGxBZGRyZXNzID0gYml0d2lzZV9jYXN0PHVpbnRwdHJfdD4oY2VsbCk7
Ci0gICAgdWludDY0X3QgaGVhZGVyV29yZCA9IGNlbGxXb3Jkc1swXTsKLSAgICB1aW50NjRfdCB6
YXBSZWFzb25BbmRNb3JlID0gY2VsbFdvcmRzWzFdOwotICAgIHVuc2lnbmVkIHN1YnNwYWNlSGFz
aCA9IDA7Ci0gICAgc2l6ZV90IGNlbGxTaXplID0gMDsKLQotICAgIG1faGVhcC5vYmplY3RTcGFj
ZSgpLmZvckVhY2hCbG9jayhbJl0gKE1hcmtlZEJsb2NrOjpIYW5kbGUqIGJsb2NrSGFuZGxlKSB7
Ci0gICAgICAgIGlmIChibG9ja0hhbmRsZS0+Y29udGFpbnMoY2VsbCkpIHsKLSAgICAgICAgICAg
IGZvdW5kQmxvY2tIYW5kbGUgPSBibG9ja0hhbmRsZTsKLSAgICAgICAgICAgIHJldHVybiBJdGVy
YXRpb25TdGF0dXM6OkRvbmU7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIEl0ZXJhdGlvblN0
YXR1czo6Q29udGludWU7Ci0gICAgfSk7Ci0KLSAgICB1aW50NjRfdCB2YXJpb3VzU3RhdGUgPSAw
OwotICAgIE1hcmtlZEJsb2NrKiBmb3VuZEJsb2NrID0gbnVsbHB0cjsKLSAgICBpZiAoZm91bmRC
bG9ja0hhbmRsZSkgewotICAgICAgICBmb3VuZEJsb2NrID0gJmZvdW5kQmxvY2tIYW5kbGUtPmJs
b2NrKCk7Ci0gICAgICAgIHN1YnNwYWNlSGFzaCA9IFN0cmluZ0hhc2hlcjo6Y29tcHV0ZUhhc2go
Zm91bmRCbG9ja0hhbmRsZS0+c3Vic3BhY2UoKS0+bmFtZSgpKTsKLSAgICAgICAgY2VsbFNpemUg
PSBmb3VuZEJsb2NrSGFuZGxlLT5jZWxsU2l6ZSgpOwotCi0gICAgICAgIHZhcmlvdXNTdGF0ZSB8
PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRCbG9ja0hhbmRsZS0+aXNGcmVlTGlzdGVkKCkp
IDw8IDA7Ci0gICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91
bmRCbG9ja0hhbmRsZS0+aXNBbGxvY2F0ZWQoKSkgPDwgMTsKLSAgICAgICAgdmFyaW91c1N0YXRl
IHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrSGFuZGxlLT5pc0VtcHR5KCkpIDw8
IDI7Ci0gICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRC
bG9ja0hhbmRsZS0+bmVlZHNEZXN0cnVjdGlvbigpKSA8PCAzOwotICAgICAgICB2YXJpb3VzU3Rh
dGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2stPmlzTmV3bHlBbGxvY2F0ZWQo
Y2VsbCkpIDw8IDQ7Ci0KLSAgICAgICAgcHRyZGlmZl90IGNlbGxPZmZzZXQgPSBjZWxsQWRkcmVz
cyAtIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPnN0YXJ0KCkp
OwotICAgICAgICBib29sIGNlbGxJc1Byb3Blcmx5QWxpZ25lZCA9ICEoY2VsbE9mZnNldCAlIGNl
bGxTaXplKTsKLSAgICAgICAgdmFyaW91c1N0YXRlIHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihj
ZWxsSXNQcm9wZXJseUFsaWduZWQpIDw8IDU7Ci0gICAgfQotCi0gICAgQ1JBU0hfV0lUSF9JTkZP
KGNlbGxBZGRyZXNzLCBoZWFkZXJXb3JkLCB6YXBSZWFzb25BbmRNb3JlLCBzdWJzcGFjZUhhc2gs
IGNlbGxTaXplLCBmb3VuZEJsb2NrLCB2YXJpb3VzU3RhdGUpOwotfQotI2VuZGlmIC8vIFBMQVRG
T1JNKE1BQykKLQogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
U2xvdFZpc2l0b3IuaAppbmRleCAzMDYyNzViNWRhM2U2NDQ0YTE2NjhmOTQyODk4NmM3NzcwZDMy
OTA1Li41NWYxNmY4YWUyNzY4NzE5ZDYyOTdkNDhhMDc2NTExNjc2ODdmMTk1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmgKQEAgLTIyNywxMCArMjI3LDYgQEAgY2xh
c3MgU2xvdFZpc2l0b3IgewogICAgIGJvb2wgaGFzV29yayhjb25zdCBBYnN0cmFjdExvY2tlciYp
OwogICAgIGJvb2wgZGlkUmVhY2hUZXJtaW5hdGlvbihjb25zdCBBYnN0cmFjdExvY2tlciYpOwog
Ci0jaWYgQ1BVKFg4Nl82NCkKLSAgICBORVZFUl9JTkxJTkUgTk9fUkVUVVJOX0RVRV9UT19DUkFT
SCBOT1RfVEFJTF9DQUxMRUQgdm9pZCByZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2goSlNDZWxsKik7
Ci0jZW5kaWYKLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmM+CiAgICAgSXRlcmF0aW9uU3Rh
dHVzIGZvckVhY2hNYXJrU3RhY2soY29uc3QgRnVuYyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ2FzdC5oCmluZGV4IDY3M2UwMWMyMmU1ZmUwNmUyZmRlMWQyYjUyNWE2MDc5MDc5
YWNhNzAuLjIzMzc3ZGFkZTYzM2QyMTVjYjNiYjdiMjc4MzM2MzRmMTkzYzhmNmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCkBAIC0zMyw3ICszMywxMiBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBUbywgdHlwZW5hbWUgRnJvbT4KIGlubGluZSBUbyBqc0Nhc3QoRnJvbSogZnJv
bSkKIHsKICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfYmFzZV9vZjxKU0NlbGwsIHR5cGVuYW1l
IHN0ZDo6cmVtb3ZlX3BvaW50ZXI8VG8+Ojp0eXBlPjo6dmFsdWUgJiYgc3RkOjppc19iYXNlX29m
PEpTQ2VsbCwgdHlwZW5hbWUgc3RkOjpyZW1vdmVfcG9pbnRlcjxGcm9tPjo6dHlwZT46OnZhbHVl
LCAiSlMgY2FzdGluZyBleHBlY3RzIHRoYXQgdGhlIHR5cGVzIHlvdSBhcmUgY2FzdGluZyB0by9m
cm9tIGFyZSBzdWJjbGFzc2VzIG9mIEpTQ2VsbCIpOworI2lmIEFTU0VSVF9FTkFCTEVEICYmIENQ
VShYODZfNjQpCisgICAgaWYgKGZyb20gJiYgIWZyb20tPkpTQ2VsbDo6aW5oZXJpdHMoZnJvbS0+
SlNDZWxsOjp2bSgpLCBzdGQ6OnJlbW92ZV9wb2ludGVyPFRvPjo6dHlwZTo6aW5mbygpKSkKKyAg
ICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKCpmcm9tLT5KU0NlbGw6OmhlYXAoKSwgZnJv
bSk7CisjZWxzZQogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFmcm9tIHx8
IGZyb20tPkpTQ2VsbDo6aW5oZXJpdHMoZnJvbS0+SlNDZWxsOjp2bSgpLCBzdGQ6OnJlbW92ZV9w
b2ludGVyPFRvPjo6dHlwZTo6aW5mbygpKSk7CisjZW5kaWYKICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8VG8+KGZyb20pOwogfQogCkBAIC00MSw3ICs0NiwxNCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBU
bz4KIGlubGluZSBUbyBqc0Nhc3QoSlNWYWx1ZSBmcm9tKQogewogICAgIHN0YXRpY19hc3NlcnQo
c3RkOjppc19iYXNlX29mPEpTQ2VsbCwgdHlwZW5hbWUgc3RkOjpyZW1vdmVfcG9pbnRlcjxUbz46
OnR5cGU+Ojp2YWx1ZSwgIkpTIGNhc3RpbmcgZXhwZWN0cyB0aGF0IHRoZSB0eXBlcyB5b3UgYXJl
IGNhc3RpbmcgdG8gaXMgYSBzdWJjbGFzcyBvZiBKU0NlbGwiKTsKKyNpZiBBU1NFUlRfRU5BQkxF
RCAmJiBDUFUoWDg2XzY0KQorICAgIEFTU0VSVChmcm9tLmlzQ2VsbCgpKTsKKyAgICBKU0NlbGwq
IGNlbGwgPSBmcm9tLmFzQ2VsbCgpOworICAgIGlmICghY2VsbC0+SlNDZWxsOjppbmhlcml0cyhj
ZWxsLT52bSgpLCBzdGQ6OnJlbW92ZV9wb2ludGVyPFRvPjo6dHlwZTo6aW5mbygpKSkKKyAgICAg
ICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoKCpjZWxsLT5KU0NlbGw6OmhlYXAoKSwgY2VsbCk7
CisjZWxzZQogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKGZyb20uaXNDZWxs
KCkgJiYgZnJvbS5hc0NlbGwoKS0+SlNDZWxsOjppbmhlcml0cyhmcm9tLmFzQ2VsbCgpLT52bSgp
LCBzdGQ6OnJlbW92ZV9wb2ludGVyPFRvPjo6dHlwZTo6aW5mbygpKSk7CisjZW5kaWYKICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8VG8+KGZyb20uYXNDZWxsKCkpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAppbmRleCAyNGVkNjUyMzM3OTIzNGViMGMxOGIwNmYw
MjY0MTc5MWQ4YzgwNjQ4Li5iZGJlZjJlMjg1ZjJjYTdjYzMwNDhhNzQ2ZTA3YzJmZjg1Y2MzMDQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKQEAgLTI0LDExICsy
NCwxMyBAQAogI2luY2x1ZGUgIkpTQ2VsbC5oIgogCiAjaW5jbHVkZSAiQXJyYXlCdWZmZXJWaWV3
LmgiCisjaW5jbHVkZSAiQmxvY2tEaXJlY3RvcnlJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDSW5s
aW5lcy5oIgogI2luY2x1ZGUgIkpTQ2FzdC5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiTWFy
a2VkQmxvY2tJbmxpbmVzLmgiCiAjaW5jbHVkZSAiTnVtYmVyT2JqZWN0LmgiCiAjaW5jbHVkZSA8
d3RmL0xvY2tBbGdvcml0aG1JbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4K
QEAgLTMxNiw0ICszMTgsNDYgQEAgdm9pZCBKU0NlbGxMb2NrOjp1bmxvY2tTbG93KCkKICAgICBJ
bmRleGluZ1R5cGVMb2NrQWxnb3JpdGhtOjp1bmxvY2tTbG93KCpsb2NrKTsKIH0KIAorI2lmIENQ
VShYODZfNjQpCitORVZFUl9JTkxJTkUgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCBOT1RfVEFJTF9D
QUxMRUQgdm9pZCByZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2goSGVhcCYgaGVhcCwgY29uc3QgSlND
ZWxsKiBjZWxsKQoreworICAgIE1hcmtlZEJsb2NrOjpIYW5kbGUqIGZvdW5kQmxvY2tIYW5kbGUg
PSBudWxscHRyOworICAgIHVpbnQ2NF90KiBjZWxsV29yZHMgPSBiaXR3aXNlX2Nhc3Q8dWludDY0
X3QqPihjZWxsKTsKKworICAgIHVpbnRwdHJfdCBjZWxsQWRkcmVzcyA9IGJpdHdpc2VfY2FzdDx1
aW50cHRyX3Q+KGNlbGwpOworICAgIHVpbnQ2NF90IGhlYWRlcldvcmQgPSBjZWxsV29yZHNbMF07
CisgICAgdWludDY0X3QgemFwUmVhc29uQW5kTW9yZSA9IGNlbGxXb3Jkc1sxXTsKKyAgICB1bnNp
Z25lZCBzdWJzcGFjZUhhc2ggPSAwOworICAgIHNpemVfdCBjZWxsU2l6ZSA9IDA7CisKKyAgICBo
ZWFwLm9iamVjdFNwYWNlKCkuZm9yRWFjaEJsb2NrKFsmXSAoTWFya2VkQmxvY2s6OkhhbmRsZSog
YmxvY2tIYW5kbGUpIHsKKyAgICAgICAgaWYgKGJsb2NrSGFuZGxlLT5jb250YWlucyhiaXR3aXNl
X2Nhc3Q8SlNDZWxsKj4oY2VsbCkpKSB7CisgICAgICAgICAgICBmb3VuZEJsb2NrSGFuZGxlID0g
YmxvY2tIYW5kbGU7CisgICAgICAgICAgICByZXR1cm4gSXRlcmF0aW9uU3RhdHVzOjpEb25lOwor
ICAgICAgICB9CisgICAgICAgIHJldHVybiBJdGVyYXRpb25TdGF0dXM6OkNvbnRpbnVlOworICAg
IH0pOworCisgICAgdWludDY0X3QgdmFyaW91c1N0YXRlID0gMDsKKyAgICBNYXJrZWRCbG9jayog
Zm91bmRCbG9jayA9IG51bGxwdHI7CisgICAgaWYgKGZvdW5kQmxvY2tIYW5kbGUpIHsKKyAgICAg
ICAgZm91bmRCbG9jayA9ICZmb3VuZEJsb2NrSGFuZGxlLT5ibG9jaygpOworICAgICAgICBzdWJz
cGFjZUhhc2ggPSBTdHJpbmdIYXNoZXI6OmNvbXB1dGVIYXNoKGZvdW5kQmxvY2tIYW5kbGUtPnN1
YnNwYWNlKCktPm5hbWUoKSk7CisgICAgICAgIGNlbGxTaXplID0gZm91bmRCbG9ja0hhbmRsZS0+
Y2VsbFNpemUoKTsKKworICAgICAgICB2YXJpb3VzU3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0
X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPmlzRnJlZUxpc3RlZCgpKSA8PCAwOworICAgICAgICB2YXJp
b3VzU3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPmlzQWxs
b2NhdGVkKCkpIDw8IDE7CisgICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50
NjRfdD4oZm91bmRCbG9ja0hhbmRsZS0+aXNFbXB0eSgpKSA8PCAyOworICAgICAgICB2YXJpb3Vz
U3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPm5lZWRzRGVz
dHJ1Y3Rpb24oKSkgPDwgMzsKKyAgICAgICAgdmFyaW91c1N0YXRlIHw9IHN0YXRpY19jYXN0PHVp
bnQ2NF90Pihmb3VuZEJsb2NrLT5pc05ld2x5QWxsb2NhdGVkKGNlbGwpKSA8PCA0OworCisgICAg
ICAgIHB0cmRpZmZfdCBjZWxsT2Zmc2V0ID0gY2VsbEFkZHJlc3MgLSByZWludGVycHJldF9jYXN0
PHVpbnQ2NF90Pihmb3VuZEJsb2NrSGFuZGxlLT5zdGFydCgpKTsKKyAgICAgICAgYm9vbCBjZWxs
SXNQcm9wZXJseUFsaWduZWQgPSAhKGNlbGxPZmZzZXQgJSBjZWxsU2l6ZSk7CisgICAgICAgIHZh
cmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oY2VsbElzUHJvcGVybHlBbGlnbmVk
KSA8PCA1OworICAgIH0KKworICAgIENSQVNIX1dJVEhfSU5GTyhjZWxsQWRkcmVzcywgaGVhZGVy
V29yZCwgemFwUmVhc29uQW5kTW9yZSwgc3Vic3BhY2VIYXNoLCBjZWxsU2l6ZSwgZm91bmRCbG9j
aywgdmFyaW91c1N0YXRlKTsKK30KKyNlbmRpZiAvLyBDUFUoWDg2XzY0KQorCiB9IC8vIG5hbWVz
cGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2Vs
bC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKaW5kZXggMTA2NzQ5
ZGUzY2UxNWY0M2UyMzlkYTFiZmUzMzJjNzIzMTFhYWRmZS4uOWU2NzdlYTcxYzkwMzEzOWI4OTk5
MzMxODdhM2U0OTAxOTU0MWJjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDZWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxs
LmgKQEAgLTMwNyw0ICszMDcsOCBAQCBpbmxpbmUgYXV0byBzdWJzcGFjZUZvckNvbmN1cnJlbnRs
eShWTSYgdm0pCiAgICAgcmV0dXJuIFR5cGU6OnRlbXBsYXRlIHN1YnNwYWNlRm9yPFR5cGUsIFN1
YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+KHZtKTsKIH0KIAorI2lmIENQVShYODZfNjQpCitK
U19FWFBPUlRfUFJJVkFURSBORVZFUl9JTkxJTkUgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCBOT1Rf
VEFJTF9DQUxMRUQgdm9pZCByZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2goSGVhcCYsIGNvbnN0IEpT
Q2VsbCopOworI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9NZW1vcnlSZWxlYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVt
b3J5UmVsZWFzZS5jcHAKaW5kZXggYmViOGExMzBjYTJiNmRjMzFlM2QyYmRhZWYyNmM0Y2QwOTY4
MmM2Yi4uMTQ4YzRjZDhhMmU2NjA0MDBiNWQyNzM0N2M0YWY2ZmMzZWY1MjEzOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlSZWxlYXNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL01lbW9yeVJlbGVhc2UuY3BwCkBAIC0xOTIsNiArMTkyLDcgQEAgdm9pZCBsb2dN
ZW1vcnlTdGF0aXN0aWNzQXRUaW1lT2ZEZWF0aCgpCiAjZW5kaWYKIAogICAgIGF1dG8mIHZtID0g
Y29tbW9uVk0oKTsKKyAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrZXIodm0pOwogICAgIFJFTEVB
U0VfTE9HKE1lbW9yeVByZXNzdXJlLCAiTWVtb3J5IHVzYWdlIHN0YXRpc3RpY3MgYXQgdGltZSBv
ZiBkZWF0aDoiKTsKICAgICBSRUxFQVNFX0xPRyhNZW1vcnlQcmVzc3VyZSwgIkdDIGhlYXAgc2l6
ZTogJXp1Iiwgdm0uaGVhcC5zaXplKCkpOwogICAgIFJFTEVBU0VfTE9HKE1lbW9yeVByZXNzdXJl
LCAiR0MgaGVhcCBleHRyYSBtZW1vcnkgc2l6ZTogJXp1Iiwgdm0uaGVhcC5leHRyYU1lbW9yeVNp
emUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTG9nZ2lu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTG9nZ2luZy5jcHAKaW5kZXgg
MzZlMzhkNDc5MTdlM2YyY2RiOWRkYThjMDBiYjJkNTJhZDRiNjMwMy4uYmVkMjY3OTYyNjAyYTU0
ODBjMGQ2NGYyZjEyYjYzMDZlZTQ4NTMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VMb2dnaW5nLmNwcApAQCAtNTYsNiArNTYsNyBAQCBIYXNoTWFwPGNvbnN0IGNoYXIqLCBz
aXplX3Q+IFBlcmZvcm1hbmNlTG9nZ2luZzo6bWVtb3J5VXNhZ2VTdGF0aXN0aWNzKFNob3VsZElu
YwogICAgIEhhc2hNYXA8Y29uc3QgY2hhciosIHNpemVfdD4gc3RhdHM7CiAKICAgICBhdXRvJiB2
bSA9IGNvbW1vblZNKCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9ja2VyKHZtKTsKICAgICBz
dGF0cy5hZGQoImphdmFzY3JpcHRfZ2NfaGVhcF9jYXBhY2l0eSIsIHZtLmhlYXAuY2FwYWNpdHko
KSk7CiAgICAgc3RhdHMuYWRkKCJqYXZhc2NyaXB0X2djX2hlYXBfZXh0cmFfbWVtb3J5X3NpemUi
LCB2bS5oZWFwLmV4dHJhTWVtb3J5U2l6ZSgpKTsKIAo=
</data>
<flag name="review"
          id="408854"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>