<?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>220429</bug_id>
          
          <creation_ts>2021-01-07 12:24:21 -0800</creation_ts>
          <short_desc>[JSC] New expression and value function call should reserve function register if arguments include assignments</short_desc>
          <delta_ts>2021-02-01 02:26:07 -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>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>ashvayka</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>nisl_grammarly1</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>1718040</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-07 12:24:21 -0800</bug_when>
    <thetext>[JSC] New expression and value function call should reserve function register if arguments include assignments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718042</commentid>
    <comment_count>1</comment_count>
      <attachid>417200</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-07 12:26:39 -0800</bug_when>
    <thetext>Created attachment 417200
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718055</commentid>
    <comment_count>2</comment_count>
      <attachid>417204</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-07 12:58:06 -0800</bug_when>
    <thetext>Created attachment 417204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718056</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-07 12:58:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/70598359&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718062</commentid>
    <comment_count>4</comment_count>
      <attachid>417204</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-01-07 13:14:59 -0800</bug_when>
    <thetext>Comment on attachment 417204
Patch

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

This is handsome, nicely done!

&gt; Source/JavaScriptCore/ChangeLog:17
&gt; +            2. function value call (it is checking `isLocation()`, but we can still use local variables for function if we use comma expression)

Tagged template literals are already correct:

    x`_${x = 1}_`

Would be nice to have a test for it (if there is none).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718066</commentid>
    <comment_count>5</comment_count>
      <attachid>417204</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-07 13:23:04 -0800</bug_when>
    <thetext>Comment on attachment 417204
Patch

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

I&apos;ll fix some of tests (the tests themselves are wrong).

&gt;&gt; Source/JavaScriptCore/ChangeLog:17
&gt;&gt; +            2. function value call (it is checking `isLocation()`, but we can still use local variables for function if we use comma expression)
&gt; 
&gt; Tagged template literals are already correct:
&gt; 
&gt;     x`_${x = 1}_`
&gt; 
&gt; Would be nice to have a test for it (if there is none).

Sounds good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718067</commentid>
    <comment_count>6</comment_count>
      <attachid>417206</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-07 13:24:47 -0800</bug_when>
    <thetext>Created attachment 417206
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718068</commentid>
    <comment_count>7</comment_count>
      <attachid>417207</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-07 13:25:50 -0800</bug_when>
    <thetext>Created attachment 417207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718104</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-07 15:17:49 -0800</bug_when>
    <thetext>Committed r271265: &lt;https://trac.webkit.org/changeset/271265&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417207.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724155</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-01 02:26:07 -0800</bug_when>
    <thetext>*** Bug 217308 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417200</attachid>
            <date>2021-01-07 12:26:39 -0800</date>
            <delta_ts>2021-01-07 12:58:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220429-20210107122638.patch</filename>
            <type>text/plain</type>
            <size>11948</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MTI2MmFmN2Q0YTkwNGFlN2NlMmRkNzMwZDY0NjNhNWZmMjEzZjIwLi5kYzE2ZjY1OGQxYmI2ZGQx
MmE3ZDRkYmUwMzNiMjUzMDQzNWQyN2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAyMS0wMS0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE5ldyBleHByZXNzaW9uIGFuZCB2YWx1ZSBmdW5jdGlvbiBjYWxs
IHNob3VsZCByZXNlcnZlIGZ1bmN0aW9uIHJlZ2lzdGVyIGlmIGFyZ3VtZW50cyBpbmNsdWRlIGFz
c2lnbm1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjA0MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJZiB0aGUgZm9sbG93aW5nIGNvZGUgaXMgZXhlY3V0ZWQsIHdlIG5lZWQgdG8gcmVzZXJ2ZSB8
eHwgYmVmb3JlIGV2YWx1YXRpbmcgYXJndW1lbnRzIHNpbmNlIGFyZ3VtZW50cyBjYW4gb3ZlcnJp
ZGUKKyAgICAgICAgbG9jYWwgfHh8IHZhcmlhYmxlIGJlZm9yZSBjYWxsaW5nIGl0LgorCisgICAg
ICAgICAgICBuZXcgeCh4ID0gMSkKKworICAgICAgICBXZSBmb3VuZCB0aGVyZSBhcmUgdHdvIHBs
YWNlcyB3ZSBhcmUgbm90IGRvaW5nIHRoaXMuCisKKyAgICAgICAgICAgIDEuIG5ldyBleHByZXNz
aW9uCisgICAgICAgICAgICAyLiBmdW5jdGlvbiB2YWx1ZSBjYWxsIChpdCBpcyBjaGVja2luZyBg
aXNMb2NhdGlvbigpYCwgYnV0IHdlIGNhbiBzdGlsbCB1c2UgbG9jYWwgdmFyaWFibGVzIGZvciBm
dW5jdGlvbiBpZiB3ZSB1c2UgY29tbWEgZXhwcmVzc2lvbikKKworICAgICAgICBXZSBpbnRyb2R1
Y2VkIGhhc0Fzc2lnbm1lbnQgZmxhZyB0byBBcmd1bWVudHNOb2RlLCBhbmQgcmVzZXJ2ZSBhIGZ1
bmN0aW9uIGluIGEgbmV3IHRlbXBvcmFyeSByZWdpc3RlciBpZiBhcmd1bWVudHMgaW5jbHVkZSBh
c3NpZ25tZW50cy4KKworICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgor
ICAgICAgICAoSlNDOjpOZXdFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAgICAgICAgKEpTQzo6
RnVuY3Rpb25DYWxsVmFsdWVOb2RlOjplbWl0Qnl0ZWNvZGUpOgorICAgICAgICAqIHBhcnNlci9B
U1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFyZ3VtZW50cyk6
CisgICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJn
dW1lbnRzTm9kZTo6QXJndW1lbnRzTm9kZSk6CisgICAgICAgICogcGFyc2VyL05vZGVzLmg6Cisg
ICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUFyZ3VtZW50cyk6CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNrZXIuaDoK
KyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJndW1lbnRzKToKKwogMjAyMS0w
MS0wNyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhlIHNjcmF0
Y2ggcmVnaXN0ZXIgc2hvdWxkIGJlIGRpZmZlcmVudCBmcm9tIHRoZSB0YXJnZXQgcmVnaXN0ZXIg
d2hlbiBjYWxsaW5nIHZhbGlkYXRlVW50YWdnZWRQdHIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggM2U3NDExMzZiMmFh
NDg0OGJlZDAxNDUyNjgzMWQ3MTI1YmJkNTZlYS4uNzVlZGZlMDgwN2E1NDc5NGY5OTVmNzViNDky
ZmI0Mjg1YzAxOTBiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtOTc5LDcgKzk3OSwxMSBAQCBSZWdpc3RlcklEKiBO
ZXdFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJl
Z2lzdGVySUQqCiAgICAgICAgIGV4cGVjdGVkRnVuY3Rpb24gPSBnZW5lcmF0b3IuZXhwZWN0ZWRG
dW5jdGlvbkZvcklkZW50aWZpZXIoc3RhdGljX2Nhc3Q8UmVzb2x2ZU5vZGUqPihtX2V4cHIpLT5p
ZGVudGlmaWVyKCkpOwogICAgIGVsc2UKICAgICAgICAgZXhwZWN0ZWRGdW5jdGlvbiA9IE5vRXhw
ZWN0ZWRGdW5jdGlvbjsKLSAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gZnVuYyA9IGdlbmVyYXRvci5l
bWl0Tm9kZShtX2V4cHIpOworCisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGZ1bmMgPSBudWxscHRy
OworICAgIGlmIChtX2FyZ3MgJiYgbV9hcmdzLT5oYXNBc3NpZ25tZW50cygpKQorICAgICAgICBm
dW5jID0gZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpOworICAgIGZ1bmMgPSBnZW5lcmF0b3IuZW1p
dE5vZGUoZnVuYy5nZXQoKSwgbV9leHByKTsKICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gcmV0dXJu
VmFsdWUgPSBnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIGZ1bmMuZ2V0KCkpOwogICAg
IENhbGxBcmd1bWVudHMgY2FsbEFyZ3VtZW50cyhnZW5lcmF0b3IsIG1fYXJncyk7CiAgICAgcmV0
dXJuIGdlbmVyYXRvci5lbWl0Q29uc3RydWN0KHJldHVyblZhbHVlLmdldCgpLCBmdW5jLmdldCgp
LCBmdW5jLmdldCgpLCBleHBlY3RlZEZ1bmN0aW9uLCBjYWxsQXJndW1lbnRzLCBkaXZvdCgpLCBk
aXZvdFN0YXJ0KCksIGRpdm90RW5kKCkpOwpAQCAtMTEwMCw3ICsxMTA0LDEwIEBAIFJlZ2lzdGVy
SUQqIEZ1bmN0aW9uQ2FsbFZhbHVlTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9y
JiBnZW5lcmF0b3IsIFJlCiAgICAgICAgIHJldHVybiByZXQ7CiAgICAgfQogCi0gICAgUmVmUHRy
PFJlZ2lzdGVySUQ+IGZ1bmMgPSBnZW5lcmF0b3IuZW1pdE5vZGUobV9leHByKTsKKyAgICBSZWZQ
dHI8UmVnaXN0ZXJJRD4gZnVuYyA9IG51bGxwdHI7CisgICAgaWYgKG1fYXJncyAmJiBtX2FyZ3Mt
Pmhhc0Fzc2lnbm1lbnRzKCkpCisgICAgICAgIGZ1bmMgPSBnZW5lcmF0b3IubmV3VGVtcG9yYXJ5
KCk7CisgICAgZnVuYyA9IGdlbmVyYXRvci5lbWl0Tm9kZShmdW5jLmdldCgpLCBtX2V4cHIpOwog
ICAgIFJlZlB0cjxSZWdpc3RlcklEPiByZXR1cm5WYWx1ZSA9IGdlbmVyYXRvci5maW5hbERlc3Rp
bmF0aW9uKGRzdCwgZnVuYy5nZXQoKSk7CiAgICAgaWYgKGlzT3B0aW9uYWxDaGFpbkJhc2UoKSkK
ICAgICAgICAgZ2VuZXJhdG9yLmVtaXRPcHRpb25hbENoZWNrKGZ1bmMuZ2V0KCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBjZDUzN2ZhZDY5NWM4YTQ4
OWJmNzhkYTI4NWZiMmQyOTBjMTE5NjY1Li40OTEwZmM3Y2RhZmM1YmE4N2NmMjg5MzRjYTIzM2E0
ZjhiYzZkNzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApA
QCAtNDc3LDcgKzQ3Nyw3IEBAIGNsYXNzIEFTVEJ1aWxkZXIgewogICAgIH0KIAogICAgIEFyZ3Vt
ZW50c05vZGUqIGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkg
QXJndW1lbnRzTm9kZSgpOyB9Ci0gICAgQXJndW1lbnRzTm9kZSogY3JlYXRlQXJndW1lbnRzKEFy
Z3VtZW50TGlzdE5vZGUqIGFyZ3MpIHsgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgQXJndW1l
bnRzTm9kZShhcmdzKTsgfQorICAgIEFyZ3VtZW50c05vZGUqIGNyZWF0ZUFyZ3VtZW50cyhBcmd1
bWVudExpc3ROb2RlKiBhcmdzLCBib29sIGhhc0Fzc2lnbm1lbnRzKSB7IHJldHVybiBuZXcgKG1f
cGFyc2VyQXJlbmEpIEFyZ3VtZW50c05vZGUoYXJncywgaGFzQXNzaWdubWVudHMpOyB9CiAgICAg
QXJndW1lbnRMaXN0Tm9kZSogY3JlYXRlQXJndW1lbnRzTGlzdChjb25zdCBKU1Rva2VuTG9jYXRp
b24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogYXJnKSB7IHJldHVybiBuZXcgKG1fcGFyc2Vy
QXJlbmEpIEFyZ3VtZW50TGlzdE5vZGUobG9jYXRpb24sIGFyZyk7IH0KICAgICBBcmd1bWVudExp
c3ROb2RlKiBjcmVhdGVBcmd1bWVudHNMaXN0KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRp
b24sIEFyZ3VtZW50TGlzdE5vZGUqIGFyZ3MsIEV4cHJlc3Npb25Ob2RlKiBhcmcpIHsgcmV0dXJu
IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJndW1lbnRMaXN0Tm9kZShsb2NhdGlvbiwgYXJncywgYXJn
KTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9y
cy5oCmluZGV4IDY5ZmRhMmVmZGZlMGE4YjY4NjVlYjYzYTUzMzRjNTBhNjMyYmI1ZjguLjc0N2Qx
NTg3YmIwNzdkNTAxOGUzMGVjMzViMGRkMjYxM2JhM2FiYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC0zNjQsOCArMzY0LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAotICAgIGlubGluZSBBcmd1bWVudHNOb2Rl
OjpBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqIGxpc3ROb2RlKQorICAgIGlubGluZSBB
cmd1bWVudHNOb2RlOjpBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqIGxpc3ROb2RlLCBi
b29sIGhhc0Fzc2lnbm1lbnRzKQogICAgICAgICA6IG1fbGlzdE5vZGUobGlzdE5vZGUpCisgICAg
ICAgICwgbV9oYXNBc3NpZ25tZW50cyhoYXNBc3NpZ25tZW50cykKICAgICB7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggZDJkN2Q1ZTg4MTE1MWFiNmQwYWUx
OGExMjU2NWVlYzI3YjVlYjA3Yi4uZWQ5MDc3NTM5MDU3ZjUzNjE2MjNmYzc5ZDdlYmJjYjk4YzAx
N2JkZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtOTE0LDkgKzkxNCwx
MyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBBcmd1bWVudHNOb2RlIGZpbmFsIDogcHVi
bGljIFBhcnNlckFyZW5hRnJlZWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgQXJndW1lbnRz
Tm9kZSgpOwotICAgICAgICBBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqKTsKKyAgICAg
ICAgQXJndW1lbnRzTm9kZShBcmd1bWVudExpc3ROb2RlKiwgYm9vbCBoYXNBc3NpZ25tZW50cyk7
CisKKyAgICAgICAgYm9vbCBoYXNBc3NpZ25tZW50cygpIGNvbnN0IHsgcmV0dXJuIG1faGFzQXNz
aWdubWVudHM7IH0KIAogICAgICAgICBBcmd1bWVudExpc3ROb2RlKiBtX2xpc3ROb2RlOworICAg
IHByaXZhdGU6CisgICAgICAgIGJvb2wgbV9oYXNBc3NpZ25tZW50cyB7IGZhbHNlIH07CiAgICAg
fTsKIAogICAgIGNsYXNzIE5ld0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2Rl
LCBwdWJsaWMgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEgewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuY3BwCmluZGV4IDNlNDMyMjMzNDc5ODRhMDlmZGY5ZGYzMzAxZTBmM2U0YTVl
MDQ0YTAuLjQwNTExYjFmNGFmYjAwMmQ2NzBmMDlkMzhiM2JlOTA4ZDhkMTRmM2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTQ4MzYsNiArNDgzNiw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUFyZ3VtZW50cyBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VBcmd1bWVudHMoVHJlCiAgICAgYXV0byBhcmd1bWVudHNTdGFydCA9IG1fdG9rZW4u
bV9zdGFydFBvc2l0aW9uOwogICAgIGF1dG8gYXJndW1lbnRzRGl2b3QgPSBtX3Rva2VuLm1fZW5k
UG9zaXRpb247CiAKKyAgICBpbnQgaW5pdGlhbEFzc2lnbm1lbnRzID0gbV9wYXJzZXJTdGF0ZS5h
c3NpZ25tZW50Q291bnQ7CiAgICAgQXJndW1lbnRUeXBlIGFyZ1R5cGUgPSBBcmd1bWVudFR5cGU6
Ok5vcm1hbDsKICAgICBUcmVlRXhwcmVzc2lvbiBmaXJzdEFyZyA9IHBhcnNlQXJndW1lbnQoY29u
dGV4dCwgYXJnVHlwZSk7CiAgICAgZmFpbElmRmFsc2UoZmlyc3RBcmcsICJDYW5ub3QgcGFyc2Ug
ZnVuY3Rpb24gYXJndW1lbnQiKTsKQEAgLTQ4NjcsMTAgKzQ4NjgsMTAgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlQXJndW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFy
Z3VtZW50cyhUcmUKICAgICBoYW5kbGVQcm9kdWN0aW9uT3JGYWlsMihDTE9TRVBBUkVOLCAiKSIs
ICJlbmQiLCAiYXJndW1lbnQgbGlzdCIpOwogICAgIGlmIChoYXNTcHJlYWQpIHsKICAgICAgICAg
VHJlZUV4cHJlc3Npb24gc3ByZWFkQXJyYXkgPSBjb250ZXh0LmNyZWF0ZVNwcmVhZEV4cHJlc3Np
b24obG9jYXRpb24sIGNvbnRleHQuY3JlYXRlQXJyYXkobG9jYXRpb24sIGNvbnRleHQuY3JlYXRl
RWxlbWVudExpc3QoYXJnTGlzdCkpLCBhcmd1bWVudHNTdGFydCwgYXJndW1lbnRzRGl2b3QsIG1f
bGFzdFRva2VuRW5kUG9zaXRpb24pOwotICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVBcmd1
bWVudHMoY29udGV4dC5jcmVhdGVBcmd1bWVudHNMaXN0KGxvY2F0aW9uLCBzcHJlYWRBcnJheSkp
OworICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVBcmd1bWVudHMoY29udGV4dC5jcmVhdGVB
cmd1bWVudHNMaXN0KGxvY2F0aW9uLCBzcHJlYWRBcnJheSksIGluaXRpYWxBc3NpZ25tZW50cyAh
PSBtX3BhcnNlclN0YXRlLmFzc2lnbm1lbnRDb3VudCk7CiAgICAgfQogCi0gICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlQXJndW1lbnRzKGFyZ0xpc3QpOworICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUFyZ3VtZW50cyhhcmdMaXN0LCBpbml0aWFsQXNzaWdubWVudHMgIT0gbV9wYXJzZXJTdGF0ZS5h
c3NpZ25tZW50Q291bnQpOwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRleCAxYTZkMGU0
OGFjZWFiNTM3YjFkOGZhMDcwMzM1NjE2NTAxYmE0YjQ5Li44NTYxZjE1NmJmNzMwMDRkYWJiOWY3
ZDdmNDJhZWU2YThlYTRhOTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5
bnRheENoZWNrZXIuaApAQCAtMjAwLDcgKzIwMCw3IEBAIGNsYXNzIFN5bnRheENoZWNrZXIgewog
ICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZU1ldGhvZERlZmluaXRpb24oY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1
cm4gRnVuY3Rpb25FeHByOyB9CiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGlu
dCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3Vs
dDsgfQotICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1
bHQ7IH0KKyAgICBpbnQgY3JlYXRlQXJndW1lbnRzKGludCwgYm9vbCkgeyByZXR1cm4gQXJndW1l
bnRzUmVzdWx0OyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlU3ByZWFkRXhwcmVzc2lvbihj
b25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uVHlwZSwgaW50LCBpbnQsIGludCkgeyBy
ZXR1cm4gU3ByZWFkRXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZU9iamVjdFNwcmVh
ZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwg
aW50LCBpbnQpIHsgcmV0dXJuIE9iamVjdFNwcmVhZEV4cHI7IH0KICAgICBUZW1wbGF0ZVN0cmlu
ZyBjcmVhdGVUZW1wbGF0ZVN0cmluZyhjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJZGVu
dGlmaWVyKiwgY29uc3QgSWRlbnRpZmllciopIHsgcmV0dXJuIFRlbXBsYXRlU3RyaW5nUmVzdWx0
OyB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGZhNTcwZTA4OGRkNjhkYzhlMmRmYWQxMjY4MzkxYmNiNzZkY2I1OTcuLjY3NGE0ZDA5OWU3
OWNmZWYyNGY3YzYyMjgzNzRkYjVjNmU3MzhmMWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMDcg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBOZXcg
ZXhwcmVzc2lvbiBhbmQgdmFsdWUgZnVuY3Rpb24gY2FsbCBzaG91bGQgcmVzZXJ2ZSBmdW5jdGlv
biByZWdpc3RlciBpZiBhcmd1bWVudHMgaW5jbHVkZSBhc3NpZ25tZW50cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNDI5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvY29tbWEtdmFsdWUt
ZnVuYy1jYWxsLXJlc29sdmUuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAg
ICAoZm4ueCk6CisgICAgICAgIChmbik6CisgICAgICAgICogc3RyZXNzL3Jlc29sdmUtZnVuYy1j
YWxsLXJlc29sdmUuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAoZm4u
eCk6CisgICAgICAgIChmbik6CisgICAgICAgICogdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbDoK
KwogMjAyMS0wMS0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIGNoZWNrIElDVSBoZWFkZXIgdmVyc2lvbiBpbnN0ZWFkIG9mIElDVSB2
ZXJzaW9uCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9jb21tYS12YWx1ZS1mdW5jLWNhbGwt
cmVzb2x2ZS5qcyBiL0pTVGVzdHMvc3RyZXNzL2NvbW1hLXZhbHVlLWZ1bmMtY2FsbC1yZXNvbHZl
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjI1NzMxZTNhYWQ5NTZjYjdlOThjZTI1OWQzZjMwNDhiYzlmZTgyNmYK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9jb21tYS12YWx1ZS1mdW5jLWNhbGwt
cmVzb2x2ZS5qcwpAQCAtMCwwICsxLDE4IEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4
cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5l
dyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKworZnVuY3Rpb24gZm4oKSB7Cisg
IHZhciBvayA9IHt9OworICB2YXIgeCA9IGZ1bmN0aW9uKCkgeworICAgIG9rLmZvbyA9IDQyOwor
ICB9OworCisgIHZhciByZXN1bHQgPSAoMCwgeCkoeCA9IDEpOworCisgIHNob3VsZEJlKHgsIDEp
OworICBzaG91bGRCZShvay5mb28sIDQyKTsKK30KKworZm4oKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvc3RyZXNzL3Jlc29sdmUtZnVuYy1jYWxsLXJlc29sdmUuanMgYi9KU1Rlc3RzL3N0cmVzcy9y
ZXNvbHZlLWZ1bmMtY2FsbC1yZXNvbHZlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3YTUwMGQxNWM3YWRiMDZl
MWVkOGJiY2IzNTlmYzg3MmZkNjgzZmYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVz
cy9yZXNvbHZlLWZ1bmMtY2FsbC1yZXNvbHZlLmpzCkBAIC0wLDAgKzEsMTggQEAKK2Z1bmN0aW9u
IHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3Rl
ZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQor
CitmdW5jdGlvbiBmbigpIHsKKyAgdmFyIG9rID0ge307CisgIHZhciB4ID0gZnVuY3Rpb24oKSB7
CisgICAgb2suZm9vID0gNDI7CisgIH07CisKKyAgdmFyIHJlc3VsdCA9IHgoeCA9IDEpOworCisg
IHNob3VsZEJlKHgsIDEpOworICBzaG91bGRCZShvay5mb28sIDQyKTsKK30KKworZm4oKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbCBiL0pTVGVzdHMvdGVz
dDI2Mi9leHBlY3RhdGlvbnMueWFtbAppbmRleCBmZTUwN2NhMGU0YmY2MWMyNGE5M2E4MDA0YjY4
NDQ3MmViNWI1NTNjLi4zNmExYjRlNmY2NmIxYzM4NzE4NjQ4NjFiMzUzYTg4M2VjNGE3ODM2IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCkBAIC0xNjMwLDEyICsxNjMwLDYgQEAgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFzc2lnbm1lbnQvbGdjbC1udWxsaXNoLWFzc2ln
bm1lbnQtb3BlcmF0b3Itbm8KICAgZGVmYXVsdDogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNo
b3VsZCBub3QgYmUgZXZhbHVhdGVkLicKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNh
bC1hc3NpZ25tZW50L2xnY2wtb3ItYXNzaWdubWVudC1vcGVyYXRvci1ub24tc2ltcGxlLWxocy5q
czoKICAgZGVmYXVsdDogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZh
bHVhdGVkLicKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbmV3L2N0b3JFeHByLWZuLXJlZi1i
ZWZvcmUtYXJncy1ldmFsLWZuLXdyYXB1cC5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogMSBp
cyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IHgoeCA9IDEpJykiCi0gIHN0cmlj
dCBtb2RlOiAiVHlwZUVycm9yOiAxIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdu
ZXcgeCh4ID0gMSknKSIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbmV3L2N0b3JFeHByLWlz
Q3Rvci1hZnRlci1hcmdzLWV2YWwtZm4td3JhcHVwLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3
YXMgdGhyb3duIGF0IGFsbCcKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQg
YWxsJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9uZXcvbm9uLWN0b3ItZXJyLXJlYWxtLmpz
OgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBwcm9kdWN0aW9uIGluY2x1ZGluZyBBcmd1bWVu
dHMgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKICAgc3RyaWN0IG1v
ZGU6ICdUZXN0MjYyRXJyb3I6IHByb2R1Y3Rpb24gaW5jbHVkaW5nIEFyZ3VtZW50cyBFeHBlY3Rl
ZCBhIFR5cGVFcnJvciBidXQgZ290IGEgVHlwZUVycm9yJwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417204</attachid>
            <date>2021-01-07 12:58:06 -0800</date>
            <delta_ts>2021-01-07 13:14:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220429-20210107125805.patch</filename>
            <type>text/plain</type>
            <size>13633</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MTI2MmFmN2Q0YTkwNGFlN2NlMmRkNzMwZDY0NjNhNWZmMjEzZjIwLi4wYWFjNGFjNDQ0N2YxYjQz
NDExNzA1MzAyOTY3YjY2YjcyMGZhZTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAyMS0wMS0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE5ldyBleHByZXNzaW9uIGFuZCB2YWx1ZSBmdW5jdGlvbiBjYWxs
IHNob3VsZCByZXNlcnZlIGZ1bmN0aW9uIHJlZ2lzdGVyIGlmIGFyZ3VtZW50cyBpbmNsdWRlIGFz
c2lnbm1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjA0MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwNTk4MzU5PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHRoZSBmb2xsb3dpbmcgY29k
ZSBpcyBleGVjdXRlZCwgd2UgbmVlZCB0byByZXNlcnZlIHx4fCBiZWZvcmUgZXZhbHVhdGluZyBh
cmd1bWVudHMgc2luY2UgYXJndW1lbnRzIGNhbiBvdmVycmlkZQorICAgICAgICBsb2NhbCB8eHwg
dmFyaWFibGUgYmVmb3JlIGNhbGxpbmcgaXQuCisKKyAgICAgICAgICAgIG5ldyB4KHggPSAxKQor
CisgICAgICAgIFdlIGZvdW5kIHRoZXJlIGFyZSB0d28gcGxhY2VzIHdlIGFyZSBub3QgZG9pbmcg
dGhpcy4KKworICAgICAgICAgICAgMS4gbmV3IGV4cHJlc3Npb24KKyAgICAgICAgICAgIDIuIGZ1
bmN0aW9uIHZhbHVlIGNhbGwgKGl0IGlzIGNoZWNraW5nIGBpc0xvY2F0aW9uKClgLCBidXQgd2Ug
Y2FuIHN0aWxsIHVzZSBsb2NhbCB2YXJpYWJsZXMgZm9yIGZ1bmN0aW9uIGlmIHdlIHVzZSBjb21t
YSBleHByZXNzaW9uKQorCisgICAgICAgIFdlIGludHJvZHVjZWQgaGFzQXNzaWdubWVudCBmbGFn
IHRvIEFyZ3VtZW50c05vZGUsIGFuZCByZXNlcnZlIGEgZnVuY3Rpb24gaW4gYSBuZXcgdGVtcG9y
YXJ5IHJlZ2lzdGVyIGlmIGFyZ3VtZW50cyBpbmNsdWRlIGFzc2lnbm1lbnRzLgorICAgICAgICBX
ZSBhbHNvIG5lZWQgdG8gaW5jcmVtZW50IGFzc2lnbm1lbnRDb3VudCBpbiBkZXN0cnVjdHVyaW5n
IGFzc2lnbm1lbnQuCisKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoK
KyAgICAgICAgKEpTQzo6TmV3RXhwck5vZGU6OmVtaXRCeXRlY29kZSk6CisgICAgICAgIChKU0M6
OkZ1bmN0aW9uQ2FsbFZhbHVlTm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAgICAgICAgKiBwYXJzZXIv
QVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBcmd1bWVudHMp
OgorICAgICAgICAqIHBhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFy
Z3VtZW50c05vZGU6OkFyZ3VtZW50c05vZGUpOgorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5oOgor
ICAgICAgICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUFyZ3VtZW50cyk6CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNr
ZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJndW1lbnRzKToKKwog
MjAyMS0wMS0wNyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhl
IHNjcmF0Y2ggcmVnaXN0ZXIgc2hvdWxkIGJlIGRpZmZlcmVudCBmcm9tIHRoZSB0YXJnZXQgcmVn
aXN0ZXIgd2hlbiBjYWxsaW5nIHZhbGlkYXRlVW50YWdnZWRQdHIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggM2U3NDEx
MzZiMmFhNDg0OGJlZDAxNDUyNjgzMWQ3MTI1YmJkNTZlYS4uNzVlZGZlMDgwN2E1NDc5NGY5OTVm
NzViNDkyZmI0Mjg1YzAxOTBiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtOTc5LDcgKzk3OSwxMSBAQCBSZWdpc3Rl
cklEKiBOZXdFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0
b3IsIFJlZ2lzdGVySUQqCiAgICAgICAgIGV4cGVjdGVkRnVuY3Rpb24gPSBnZW5lcmF0b3IuZXhw
ZWN0ZWRGdW5jdGlvbkZvcklkZW50aWZpZXIoc3RhdGljX2Nhc3Q8UmVzb2x2ZU5vZGUqPihtX2V4
cHIpLT5pZGVudGlmaWVyKCkpOwogICAgIGVsc2UKICAgICAgICAgZXhwZWN0ZWRGdW5jdGlvbiA9
IE5vRXhwZWN0ZWRGdW5jdGlvbjsKLSAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gZnVuYyA9IGdlbmVy
YXRvci5lbWl0Tm9kZShtX2V4cHIpOworCisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGZ1bmMgPSBu
dWxscHRyOworICAgIGlmIChtX2FyZ3MgJiYgbV9hcmdzLT5oYXNBc3NpZ25tZW50cygpKQorICAg
ICAgICBmdW5jID0gZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpOworICAgIGZ1bmMgPSBnZW5lcmF0
b3IuZW1pdE5vZGUoZnVuYy5nZXQoKSwgbV9leHByKTsKICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4g
cmV0dXJuVmFsdWUgPSBnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIGZ1bmMuZ2V0KCkp
OwogICAgIENhbGxBcmd1bWVudHMgY2FsbEFyZ3VtZW50cyhnZW5lcmF0b3IsIG1fYXJncyk7CiAg
ICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0Q29uc3RydWN0KHJldHVyblZhbHVlLmdldCgpLCBmdW5j
LmdldCgpLCBmdW5jLmdldCgpLCBleHBlY3RlZEZ1bmN0aW9uLCBjYWxsQXJndW1lbnRzLCBkaXZv
dCgpLCBkaXZvdFN0YXJ0KCksIGRpdm90RW5kKCkpOwpAQCAtMTEwMCw3ICsxMTA0LDEwIEBAIFJl
Z2lzdGVySUQqIEZ1bmN0aW9uQ2FsbFZhbHVlTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2Vu
ZXJhdG9yJiBnZW5lcmF0b3IsIFJlCiAgICAgICAgIHJldHVybiByZXQ7CiAgICAgfQogCi0gICAg
UmVmUHRyPFJlZ2lzdGVySUQ+IGZ1bmMgPSBnZW5lcmF0b3IuZW1pdE5vZGUobV9leHByKTsKKyAg
ICBSZWZQdHI8UmVnaXN0ZXJJRD4gZnVuYyA9IG51bGxwdHI7CisgICAgaWYgKG1fYXJncyAmJiBt
X2FyZ3MtPmhhc0Fzc2lnbm1lbnRzKCkpCisgICAgICAgIGZ1bmMgPSBnZW5lcmF0b3IubmV3VGVt
cG9yYXJ5KCk7CisgICAgZnVuYyA9IGdlbmVyYXRvci5lbWl0Tm9kZShmdW5jLmdldCgpLCBtX2V4
cHIpOwogICAgIFJlZlB0cjxSZWdpc3RlcklEPiByZXR1cm5WYWx1ZSA9IGdlbmVyYXRvci5maW5h
bERlc3RpbmF0aW9uKGRzdCwgZnVuYy5nZXQoKSk7CiAgICAgaWYgKGlzT3B0aW9uYWxDaGFpbkJh
c2UoKSkKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRPcHRpb25hbENoZWNrKGZ1bmMuZ2V0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBjZDUzN2ZhZDY5
NWM4YTQ4OWJmNzhkYTI4NWZiMmQyOTBjMTE5NjY1Li40OTEwZmM3Y2RhZmM1YmE4N2NmMjg5MzRj
YTIzM2E0ZjhiYzZkNzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxk
ZXIuaApAQCAtNDc3LDcgKzQ3Nyw3IEBAIGNsYXNzIEFTVEJ1aWxkZXIgewogICAgIH0KIAogICAg
IEFyZ3VtZW50c05vZGUqIGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIG5ldyAobV9wYXJzZXJB
cmVuYSkgQXJndW1lbnRzTm9kZSgpOyB9Ci0gICAgQXJndW1lbnRzTm9kZSogY3JlYXRlQXJndW1l
bnRzKEFyZ3VtZW50TGlzdE5vZGUqIGFyZ3MpIHsgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkg
QXJndW1lbnRzTm9kZShhcmdzKTsgfQorICAgIEFyZ3VtZW50c05vZGUqIGNyZWF0ZUFyZ3VtZW50
cyhBcmd1bWVudExpc3ROb2RlKiBhcmdzLCBib29sIGhhc0Fzc2lnbm1lbnRzKSB7IHJldHVybiBu
ZXcgKG1fcGFyc2VyQXJlbmEpIEFyZ3VtZW50c05vZGUoYXJncywgaGFzQXNzaWdubWVudHMpOyB9
CiAgICAgQXJndW1lbnRMaXN0Tm9kZSogY3JlYXRlQXJndW1lbnRzTGlzdChjb25zdCBKU1Rva2Vu
TG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogYXJnKSB7IHJldHVybiBuZXcgKG1f
cGFyc2VyQXJlbmEpIEFyZ3VtZW50TGlzdE5vZGUobG9jYXRpb24sIGFyZyk7IH0KICAgICBBcmd1
bWVudExpc3ROb2RlKiBjcmVhdGVBcmd1bWVudHNMaXN0KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIEFyZ3VtZW50TGlzdE5vZGUqIGFyZ3MsIEV4cHJlc3Npb25Ob2RlKiBhcmcpIHsg
cmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgQXJndW1lbnRMaXN0Tm9kZShsb2NhdGlvbiwgYXJn
cywgYXJnKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0
cnVjdG9ycy5oCmluZGV4IDY5ZmRhMmVmZGZlMGE4YjY4NjVlYjYzYTUzMzRjNTBhNjMyYmI1Zjgu
Ljc0N2QxNTg3YmIwNzdkNTAxOGUzMGVjMzViMGRkMjYxM2JhM2FiYmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC0zNjQsOCArMzY0
LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAotICAgIGlubGluZSBBcmd1bWVu
dHNOb2RlOjpBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqIGxpc3ROb2RlKQorICAgIGlu
bGluZSBBcmd1bWVudHNOb2RlOjpBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqIGxpc3RO
b2RlLCBib29sIGhhc0Fzc2lnbm1lbnRzKQogICAgICAgICA6IG1fbGlzdE5vZGUobGlzdE5vZGUp
CisgICAgICAgICwgbV9oYXNBc3NpZ25tZW50cyhoYXNBc3NpZ25tZW50cykKICAgICB7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggZDJkN2Q1ZTg4MTE1MWFi
NmQwYWUxOGExMjU2NWVlYzI3YjVlYjA3Yi4uZWQ5MDc3NTM5MDU3ZjUzNjE2MjNmYzc5ZDdlYmJj
Yjk4YzAxN2JkZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtOTE0LDkg
KzkxNCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBBcmd1bWVudHNOb2RlIGZpbmFs
IDogcHVibGljIFBhcnNlckFyZW5hRnJlZWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgQXJn
dW1lbnRzTm9kZSgpOwotICAgICAgICBBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqKTsK
KyAgICAgICAgQXJndW1lbnRzTm9kZShBcmd1bWVudExpc3ROb2RlKiwgYm9vbCBoYXNBc3NpZ25t
ZW50cyk7CisKKyAgICAgICAgYm9vbCBoYXNBc3NpZ25tZW50cygpIGNvbnN0IHsgcmV0dXJuIG1f
aGFzQXNzaWdubWVudHM7IH0KIAogICAgICAgICBBcmd1bWVudExpc3ROb2RlKiBtX2xpc3ROb2Rl
OworICAgIHByaXZhdGU6CisgICAgICAgIGJvb2wgbV9oYXNBc3NpZ25tZW50cyB7IGZhbHNlIH07
CiAgICAgfTsKIAogICAgIGNsYXNzIE5ld0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Np
b25Ob2RlLCBwdWJsaWMgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEgewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDNlNDMyMjMzNDc5ODRhMDlmZGY5ZGYzMzAxZTBm
M2U0YTVlMDQ0YTAuLjllNWIxYTYzNmRlOWJkOGY3YTljODQ2OWNiNzE3ZWEwMDBlNWY5NGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTExMjYsNiArMTEyNiw3
IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VE
ZXN0cnVjdHVyaW5nUGF0dGVybihUcmVlQnVpbGRlciYgY29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tp
bmQga2luZCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGlj
YXRlSWRlbnRpZmllciwgYm9vbCogaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4sIEFzc2lnbm1lbnRD
b250ZXh0IGJpbmRpbmdDb250ZXh0LCBpbnQgZGVwdGgpCiB7CiAgICAgZmFpbElmU3RhY2tPdmVy
ZmxvdygpOworICAgIG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50Kys7CiAgICAgaW50IG5v
bkxIU0NvdW50ID0gbV9wYXJzZXJTdGF0ZS5ub25MSFNDb3VudDsKICAgICBUcmVlRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4gcGF0dGVybjsKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CkBAIC00
ODM2LDYgKzQ4MzcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVBcmd1bWVu
dHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJndW1lbnRzKFRyZQogICAgIGF1dG8gYXJndW1l
bnRzU3RhcnQgPSBtX3Rva2VuLm1fc3RhcnRQb3NpdGlvbjsKICAgICBhdXRvIGFyZ3VtZW50c0Rp
dm90ID0gbV90b2tlbi5tX2VuZFBvc2l0aW9uOwogCisgICAgaW50IGluaXRpYWxBc3NpZ25tZW50
cyA9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50OwogICAgIEFyZ3VtZW50VHlwZSBhcmdU
eXBlID0gQXJndW1lbnRUeXBlOjpOb3JtYWw7CiAgICAgVHJlZUV4cHJlc3Npb24gZmlyc3RBcmcg
PSBwYXJzZUFyZ3VtZW50KGNvbnRleHQsIGFyZ1R5cGUpOwogICAgIGZhaWxJZkZhbHNlKGZpcnN0
QXJnLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGFyZ3VtZW50Iik7CkBAIC00ODY3LDEwICs0ODY5
LDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUFyZ3VtZW50cyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcmd1bWVudHMoVHJlCiAgICAgaGFuZGxlUHJvZHVjdGlvbk9yRmFp
bDIoQ0xPU0VQQVJFTiwgIikiLCAiZW5kIiwgImFyZ3VtZW50IGxpc3QiKTsKICAgICBpZiAoaGFz
U3ByZWFkKSB7CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIHNwcmVhZEFycmF5ID0gY29udGV4dC5j
cmVhdGVTcHJlYWRFeHByZXNzaW9uKGxvY2F0aW9uLCBjb250ZXh0LmNyZWF0ZUFycmF5KGxvY2F0
aW9uLCBjb250ZXh0LmNyZWF0ZUVsZW1lbnRMaXN0KGFyZ0xpc3QpKSwgYXJndW1lbnRzU3RhcnQs
IGFyZ3VtZW50c0Rpdm90LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uKTsKLSAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlQXJndW1lbnRzKGNvbnRleHQuY3JlYXRlQXJndW1lbnRzTGlzdChsb2Nh
dGlvbiwgc3ByZWFkQXJyYXkpKTsKKyAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXJndW1l
bnRzKGNvbnRleHQuY3JlYXRlQXJndW1lbnRzTGlzdChsb2NhdGlvbiwgc3ByZWFkQXJyYXkpLCBp
bml0aWFsQXNzaWdubWVudHMgIT0gbV9wYXJzZXJTdGF0ZS5hc3NpZ25tZW50Q291bnQpOwogICAg
IH0KIAotICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUFyZ3VtZW50cyhhcmdMaXN0KTsKKyAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVBcmd1bWVudHMoYXJnTGlzdCwgaW5pdGlhbEFzc2lnbm1lbnRz
ICE9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50KTsKIH0KIAogdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVj
a2VyLmgKaW5kZXggMWE2ZDBlNDhhY2VhYjUzN2IxZDhmYTA3MDMzNTYxNjUwMWJhNGI0OS4uODU2
MWYxNTZiZjczMDA0ZGFiYjlmN2Q3ZjQyYWVlNmE4ZWE0YTkxOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTIwMCw3ICsyMDAsNyBAQCBjbGFz
cyBTeW50YXhDaGVja2VyIHsKICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVNZXRob2REZWZpbml0
aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50
YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIHZvaWQgc2V0RnVuY3Rp
b25OYW1lU3RhcnQoaW50LCBpbnQpIHsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoKSB7IHJl
dHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KLSAgICBpbnQgY3JlYXRlQXJndW1lbnRzKGludCkgeyBy
ZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CisgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQsIGJv
b2wpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0
ZVNwcmVhZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUs
IGludCwgaW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlw
ZSBjcmVhdGVPYmplY3RTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4
cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBPYmplY3RTcHJlYWRFeHByOyB9
CiAgICAgVGVtcGxhdGVTdHJpbmcgY3JlYXRlVGVtcGxhdGVTdHJpbmcoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiwgY29uc3QgSWRlbnRpZmllciosIGNvbnN0IElkZW50aWZpZXIqKSB7IHJldHVybiBU
ZW1wbGF0ZVN0cmluZ1Jlc3VsdDsgfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9K
U1Rlc3RzL0NoYW5nZUxvZwppbmRleCBmYTU3MGUwODhkZDY4ZGM4ZTJkZmFkMTI2ODM5MWJjYjc2
ZGNiNTk3Li45ZDRiMzEwMTg4MmY4MmQ0Mzg0MjdlOGU5ZjVmODA0OThkZDc5MDRkIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDIxLTAxLTA3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisK
KyAgICAgICAgW0pTQ10gTmV3IGV4cHJlc3Npb24gYW5kIHZhbHVlIGZ1bmN0aW9uIGNhbGwgc2hv
dWxkIHJlc2VydmUgZnVuY3Rpb24gcmVnaXN0ZXIgaWYgYXJndW1lbnRzIGluY2x1ZGUgYXNzaWdu
bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MDQyOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzA1OTgzNTk+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvY29tbWEtdmFsdWUtZnVu
Yy1jYWxsLXJlc29sdmUuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAo
Zm4ueCk6CisgICAgICAgIChmbik6CisgICAgICAgICogc3RyZXNzL2Rlc3RydWN0dXJpbmctZnVu
Yy1jYWxsLXJlc29sdmUuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAo
Zm4ueCk6CisgICAgICAgIChmbik6CisgICAgICAgIChmbjIueCk6CisgICAgICAgIChmbjIpOgor
ICAgICAgICAqIHN0cmVzcy9yZXNvbHZlLWZ1bmMtY2FsbC1yZXNvbHZlLmpzOiBBZGRlZC4KKyAg
ICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKGZuLngpOgorICAgICAgICAoZm4pOgorICAgICAg
ICAqIHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6CisKIDIwMjEtMDEtMDcgIFl1c3VrZSBTdXp1
a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBjaGVjayBJQ1Ug
aGVhZGVyIHZlcnNpb24gaW5zdGVhZCBvZiBJQ1UgdmVyc2lvbgpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9zdHJlc3MvY29tbWEtdmFsdWUtZnVuYy1jYWxsLXJlc29sdmUuanMgYi9KU1Rlc3RzL3N0cmVz
cy9jb21tYS12YWx1ZS1mdW5jLWNhbGwtcmVzb2x2ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTczMWUzYWFk
OTU2Y2I3ZTk4Y2UyNTlkM2YzMDQ4YmM5ZmU4MjZmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy9zdHJlc3MvY29tbWEtdmFsdWUtZnVuYy1jYWxsLXJlc29sdmUuanMKQEAgLTAsMCArMSwxOCBA
QAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwg
IT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFj
dHVhbCk7Cit9CisKK2Z1bmN0aW9uIGZuKCkgeworICB2YXIgb2sgPSB7fTsKKyAgdmFyIHggPSBm
dW5jdGlvbigpIHsKKyAgICBvay5mb28gPSA0MjsKKyAgfTsKKworICB2YXIgcmVzdWx0ID0gKDAs
IHgpKHggPSAxKTsKKworICBzaG91bGRCZSh4LCAxKTsKKyAgc2hvdWxkQmUob2suZm9vLCA0Mik7
Cit9CisKK2ZuKCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9kZXN0cnVjdHVyaW5nLWZ1
bmMtY2FsbC1yZXNvbHZlLmpzIGIvSlNUZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1mdW5jLWNh
bGwtcmVzb2x2ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWNkODFhNDhlNTYzNjUwNDBmNjJmNWM1ZTVhNGFm
OTIzNTA1NjlkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmlu
Zy1mdW5jLWNhbGwtcmVzb2x2ZS5qcwpAQCAtMCwwICsxLDMxIEBACitmdW5jdGlvbiBzaG91bGRC
ZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAg
ICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKworZnVuY3Rp
b24gZm4oKSB7CisgIHZhciBvayA9IHt9OworICB2YXIgeCA9IGZ1bmN0aW9uKCkgeworICAgIG9r
LmZvbyA9IDQyOworICB9OworCisgIHZhciByZXN1bHQgPSBuZXcgeCh7IHggfSA9IHsgeDogMSB9
KTsKKworICBzaG91bGRCZSh4LCAxKTsKKyAgc2hvdWxkQmUob2suZm9vLCA0Mik7Cit9CisKK2Z1
bmN0aW9uIGZuMigpIHsKKyAgdmFyIG9rID0ge307CisgIHZhciB4ID0gZnVuY3Rpb24oKSB7Cisg
ICAgb2suZm9vID0gNDI7CisgIH07CisKKyAgdmFyIHJlc3VsdCA9IG5ldyB4KFsgeCBdID0gWyAx
IF0pOworCisgIHNob3VsZEJlKHgsIDEpOworICBzaG91bGRCZShvay5mb28sIDQyKTsKK30KKwor
Zm4oKTsKK2ZuMigpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvcmVzb2x2ZS1mdW5jLWNh
bGwtcmVzb2x2ZS5qcyBiL0pTVGVzdHMvc3RyZXNzL3Jlc29sdmUtZnVuYy1jYWxsLXJlc29sdmUu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjdhNTAwZDE1YzdhZGIwNmUxZWQ4YmJjYjM1OWZjODcyZmQ2ODNmZgot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL3Jlc29sdmUtZnVuYy1jYWxsLXJlc29s
dmUuanMKQEAgLTAsMCArMSwxOCBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3Rl
ZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2Z1bmN0aW9uIGZuKCkgeworICB2YXIg
b2sgPSB7fTsKKyAgdmFyIHggPSBmdW5jdGlvbigpIHsKKyAgICBvay5mb28gPSA0MjsKKyAgfTsK
KworICB2YXIgcmVzdWx0ID0geCh4ID0gMSk7CisKKyAgc2hvdWxkQmUoeCwgMSk7CisgIHNob3Vs
ZEJlKG9rLmZvbywgNDIpOworfQorCitmbigpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L2V4cGVjdGF0aW9ucy55YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCmlu
ZGV4IGZlNTA3Y2EwZTRiZjYxYzI0YTkzYTgwMDRiNjg0NDcyZWI1YjU1M2MuLjM2YTFiNGU2ZjY2
YjFjMzg3MTg2NDg2MWIzNTNhODgzZWM0YTc4MzYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi9leHBlY3RhdGlvbnMueWFtbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlh
bWwKQEAgLTE2MzAsMTIgKzE2MzAsNiBAQCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2lj
YWwtYXNzaWdubWVudC9sZ2NsLW51bGxpc2gtYXNzaWdubWVudC1vcGVyYXRvci1ubwogICBkZWZh
dWx0OiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwog
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFzc2lnbm1lbnQvbGdjbC1vci1hc3Np
Z25tZW50LW9wZXJhdG9yLW5vbi1zaW1wbGUtbGhzLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2Mjog
VGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwotdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9uZXcvY3RvckV4cHItZm4tcmVmLWJlZm9yZS1hcmdzLWV2YWwtZm4td3JhcHVw
LmpzOgotICBkZWZhdWx0OiAiVHlwZUVycm9yOiAxIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFs
dWF0aW5nICduZXcgeCh4ID0gMSknKSIKLSAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IDEgaXMg
bm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyB4KHggPSAxKScpIgotdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9uZXcvY3RvckV4cHItaXNDdG9yLWFmdGVyLWFyZ3MtZXZhbC1mbi13
cmFwdXAuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9y
IHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwotICBzdHJp
Y3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3du
IGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL25ldy9ub24tY3Rvci1lcnItcmVhbG0uanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IHByb2R1Y3Rpb24gaW5jbHVkaW5nIEFyZ3VtZW50cyBFeHBlY3RlZCBhIFR5cGVFcnJvciBi
dXQgZ290IGEgVHlwZUVycm9yJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogcHJvZHVj
dGlvbiBpbmNsdWRpbmcgQXJndW1lbnRzIEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBU
eXBlRXJyb3InCg==
</data>
<flag name="review"
          id="434863"
          type_id="1"
          status="+"
          setter="ashvayka"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417206</attachid>
            <date>2021-01-07 13:24:47 -0800</date>
            <delta_ts>2021-01-07 13:25:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220429-20210107132446.patch</filename>
            <type>text/plain</type>
            <size>17477</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MTI2MmFmN2Q0YTkwNGFlN2NlMmRkNzMwZDY0NjNhNWZmMjEzZjIwLi4wYWFjNGFjNDQ0N2YxYjQz
NDExNzA1MzAyOTY3YjY2YjcyMGZhZTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAyMS0wMS0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE5ldyBleHByZXNzaW9uIGFuZCB2YWx1ZSBmdW5jdGlvbiBjYWxs
IHNob3VsZCByZXNlcnZlIGZ1bmN0aW9uIHJlZ2lzdGVyIGlmIGFyZ3VtZW50cyBpbmNsdWRlIGFz
c2lnbm1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjA0MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwNTk4MzU5PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHRoZSBmb2xsb3dpbmcgY29k
ZSBpcyBleGVjdXRlZCwgd2UgbmVlZCB0byByZXNlcnZlIHx4fCBiZWZvcmUgZXZhbHVhdGluZyBh
cmd1bWVudHMgc2luY2UgYXJndW1lbnRzIGNhbiBvdmVycmlkZQorICAgICAgICBsb2NhbCB8eHwg
dmFyaWFibGUgYmVmb3JlIGNhbGxpbmcgaXQuCisKKyAgICAgICAgICAgIG5ldyB4KHggPSAxKQor
CisgICAgICAgIFdlIGZvdW5kIHRoZXJlIGFyZSB0d28gcGxhY2VzIHdlIGFyZSBub3QgZG9pbmcg
dGhpcy4KKworICAgICAgICAgICAgMS4gbmV3IGV4cHJlc3Npb24KKyAgICAgICAgICAgIDIuIGZ1
bmN0aW9uIHZhbHVlIGNhbGwgKGl0IGlzIGNoZWNraW5nIGBpc0xvY2F0aW9uKClgLCBidXQgd2Ug
Y2FuIHN0aWxsIHVzZSBsb2NhbCB2YXJpYWJsZXMgZm9yIGZ1bmN0aW9uIGlmIHdlIHVzZSBjb21t
YSBleHByZXNzaW9uKQorCisgICAgICAgIFdlIGludHJvZHVjZWQgaGFzQXNzaWdubWVudCBmbGFn
IHRvIEFyZ3VtZW50c05vZGUsIGFuZCByZXNlcnZlIGEgZnVuY3Rpb24gaW4gYSBuZXcgdGVtcG9y
YXJ5IHJlZ2lzdGVyIGlmIGFyZ3VtZW50cyBpbmNsdWRlIGFzc2lnbm1lbnRzLgorICAgICAgICBX
ZSBhbHNvIG5lZWQgdG8gaW5jcmVtZW50IGFzc2lnbm1lbnRDb3VudCBpbiBkZXN0cnVjdHVyaW5n
IGFzc2lnbm1lbnQuCisKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoK
KyAgICAgICAgKEpTQzo6TmV3RXhwck5vZGU6OmVtaXRCeXRlY29kZSk6CisgICAgICAgIChKU0M6
OkZ1bmN0aW9uQ2FsbFZhbHVlTm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAgICAgICAgKiBwYXJzZXIv
QVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBcmd1bWVudHMp
OgorICAgICAgICAqIHBhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFy
Z3VtZW50c05vZGU6OkFyZ3VtZW50c05vZGUpOgorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5oOgor
ICAgICAgICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUFyZ3VtZW50cyk6CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNr
ZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJndW1lbnRzKToKKwog
MjAyMS0wMS0wNyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhl
IHNjcmF0Y2ggcmVnaXN0ZXIgc2hvdWxkIGJlIGRpZmZlcmVudCBmcm9tIHRoZSB0YXJnZXQgcmVn
aXN0ZXIgd2hlbiBjYWxsaW5nIHZhbGlkYXRlVW50YWdnZWRQdHIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggM2U3NDEx
MzZiMmFhNDg0OGJlZDAxNDUyNjgzMWQ3MTI1YmJkNTZlYS4uNzVlZGZlMDgwN2E1NDc5NGY5OTVm
NzViNDkyZmI0Mjg1YzAxOTBiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtOTc5LDcgKzk3OSwxMSBAQCBSZWdpc3Rl
cklEKiBOZXdFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0
b3IsIFJlZ2lzdGVySUQqCiAgICAgICAgIGV4cGVjdGVkRnVuY3Rpb24gPSBnZW5lcmF0b3IuZXhw
ZWN0ZWRGdW5jdGlvbkZvcklkZW50aWZpZXIoc3RhdGljX2Nhc3Q8UmVzb2x2ZU5vZGUqPihtX2V4
cHIpLT5pZGVudGlmaWVyKCkpOwogICAgIGVsc2UKICAgICAgICAgZXhwZWN0ZWRGdW5jdGlvbiA9
IE5vRXhwZWN0ZWRGdW5jdGlvbjsKLSAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gZnVuYyA9IGdlbmVy
YXRvci5lbWl0Tm9kZShtX2V4cHIpOworCisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGZ1bmMgPSBu
dWxscHRyOworICAgIGlmIChtX2FyZ3MgJiYgbV9hcmdzLT5oYXNBc3NpZ25tZW50cygpKQorICAg
ICAgICBmdW5jID0gZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpOworICAgIGZ1bmMgPSBnZW5lcmF0
b3IuZW1pdE5vZGUoZnVuYy5nZXQoKSwgbV9leHByKTsKICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4g
cmV0dXJuVmFsdWUgPSBnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIGZ1bmMuZ2V0KCkp
OwogICAgIENhbGxBcmd1bWVudHMgY2FsbEFyZ3VtZW50cyhnZW5lcmF0b3IsIG1fYXJncyk7CiAg
ICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0Q29uc3RydWN0KHJldHVyblZhbHVlLmdldCgpLCBmdW5j
LmdldCgpLCBmdW5jLmdldCgpLCBleHBlY3RlZEZ1bmN0aW9uLCBjYWxsQXJndW1lbnRzLCBkaXZv
dCgpLCBkaXZvdFN0YXJ0KCksIGRpdm90RW5kKCkpOwpAQCAtMTEwMCw3ICsxMTA0LDEwIEBAIFJl
Z2lzdGVySUQqIEZ1bmN0aW9uQ2FsbFZhbHVlTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2Vu
ZXJhdG9yJiBnZW5lcmF0b3IsIFJlCiAgICAgICAgIHJldHVybiByZXQ7CiAgICAgfQogCi0gICAg
UmVmUHRyPFJlZ2lzdGVySUQ+IGZ1bmMgPSBnZW5lcmF0b3IuZW1pdE5vZGUobV9leHByKTsKKyAg
ICBSZWZQdHI8UmVnaXN0ZXJJRD4gZnVuYyA9IG51bGxwdHI7CisgICAgaWYgKG1fYXJncyAmJiBt
X2FyZ3MtPmhhc0Fzc2lnbm1lbnRzKCkpCisgICAgICAgIGZ1bmMgPSBnZW5lcmF0b3IubmV3VGVt
cG9yYXJ5KCk7CisgICAgZnVuYyA9IGdlbmVyYXRvci5lbWl0Tm9kZShmdW5jLmdldCgpLCBtX2V4
cHIpOwogICAgIFJlZlB0cjxSZWdpc3RlcklEPiByZXR1cm5WYWx1ZSA9IGdlbmVyYXRvci5maW5h
bERlc3RpbmF0aW9uKGRzdCwgZnVuYy5nZXQoKSk7CiAgICAgaWYgKGlzT3B0aW9uYWxDaGFpbkJh
c2UoKSkKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRPcHRpb25hbENoZWNrKGZ1bmMuZ2V0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBjZDUzN2ZhZDY5
NWM4YTQ4OWJmNzhkYTI4NWZiMmQyOTBjMTE5NjY1Li40OTEwZmM3Y2RhZmM1YmE4N2NmMjg5MzRj
YTIzM2E0ZjhiYzZkNzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxk
ZXIuaApAQCAtNDc3LDcgKzQ3Nyw3IEBAIGNsYXNzIEFTVEJ1aWxkZXIgewogICAgIH0KIAogICAg
IEFyZ3VtZW50c05vZGUqIGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIG5ldyAobV9wYXJzZXJB
cmVuYSkgQXJndW1lbnRzTm9kZSgpOyB9Ci0gICAgQXJndW1lbnRzTm9kZSogY3JlYXRlQXJndW1l
bnRzKEFyZ3VtZW50TGlzdE5vZGUqIGFyZ3MpIHsgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkg
QXJndW1lbnRzTm9kZShhcmdzKTsgfQorICAgIEFyZ3VtZW50c05vZGUqIGNyZWF0ZUFyZ3VtZW50
cyhBcmd1bWVudExpc3ROb2RlKiBhcmdzLCBib29sIGhhc0Fzc2lnbm1lbnRzKSB7IHJldHVybiBu
ZXcgKG1fcGFyc2VyQXJlbmEpIEFyZ3VtZW50c05vZGUoYXJncywgaGFzQXNzaWdubWVudHMpOyB9
CiAgICAgQXJndW1lbnRMaXN0Tm9kZSogY3JlYXRlQXJndW1lbnRzTGlzdChjb25zdCBKU1Rva2Vu
TG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogYXJnKSB7IHJldHVybiBuZXcgKG1f
cGFyc2VyQXJlbmEpIEFyZ3VtZW50TGlzdE5vZGUobG9jYXRpb24sIGFyZyk7IH0KICAgICBBcmd1
bWVudExpc3ROb2RlKiBjcmVhdGVBcmd1bWVudHNMaXN0KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIEFyZ3VtZW50TGlzdE5vZGUqIGFyZ3MsIEV4cHJlc3Npb25Ob2RlKiBhcmcpIHsg
cmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgQXJndW1lbnRMaXN0Tm9kZShsb2NhdGlvbiwgYXJn
cywgYXJnKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0
cnVjdG9ycy5oCmluZGV4IDY5ZmRhMmVmZGZlMGE4YjY4NjVlYjYzYTUzMzRjNTBhNjMyYmI1Zjgu
Ljc0N2QxNTg3YmIwNzdkNTAxOGUzMGVjMzViMGRkMjYxM2JhM2FiYmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC0zNjQsOCArMzY0
LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAotICAgIGlubGluZSBBcmd1bWVu
dHNOb2RlOjpBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqIGxpc3ROb2RlKQorICAgIGlu
bGluZSBBcmd1bWVudHNOb2RlOjpBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqIGxpc3RO
b2RlLCBib29sIGhhc0Fzc2lnbm1lbnRzKQogICAgICAgICA6IG1fbGlzdE5vZGUobGlzdE5vZGUp
CisgICAgICAgICwgbV9oYXNBc3NpZ25tZW50cyhoYXNBc3NpZ25tZW50cykKICAgICB7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggZDJkN2Q1ZTg4MTE1MWFi
NmQwYWUxOGExMjU2NWVlYzI3YjVlYjA3Yi4uZWQ5MDc3NTM5MDU3ZjUzNjE2MjNmYzc5ZDdlYmJj
Yjk4YzAxN2JkZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtOTE0LDkg
KzkxNCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBBcmd1bWVudHNOb2RlIGZpbmFs
IDogcHVibGljIFBhcnNlckFyZW5hRnJlZWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgQXJn
dW1lbnRzTm9kZSgpOwotICAgICAgICBBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqKTsK
KyAgICAgICAgQXJndW1lbnRzTm9kZShBcmd1bWVudExpc3ROb2RlKiwgYm9vbCBoYXNBc3NpZ25t
ZW50cyk7CisKKyAgICAgICAgYm9vbCBoYXNBc3NpZ25tZW50cygpIGNvbnN0IHsgcmV0dXJuIG1f
aGFzQXNzaWdubWVudHM7IH0KIAogICAgICAgICBBcmd1bWVudExpc3ROb2RlKiBtX2xpc3ROb2Rl
OworICAgIHByaXZhdGU6CisgICAgICAgIGJvb2wgbV9oYXNBc3NpZ25tZW50cyB7IGZhbHNlIH07
CiAgICAgfTsKIAogICAgIGNsYXNzIE5ld0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Np
b25Ob2RlLCBwdWJsaWMgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEgewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDNlNDMyMjMzNDc5ODRhMDlmZGY5ZGYzMzAxZTBm
M2U0YTVlMDQ0YTAuLjllNWIxYTYzNmRlOWJkOGY3YTljODQ2OWNiNzE3ZWEwMDBlNWY5NGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTExMjYsNiArMTEyNiw3
IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VE
ZXN0cnVjdHVyaW5nUGF0dGVybihUcmVlQnVpbGRlciYgY29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tp
bmQga2luZCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGlj
YXRlSWRlbnRpZmllciwgYm9vbCogaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4sIEFzc2lnbm1lbnRD
b250ZXh0IGJpbmRpbmdDb250ZXh0LCBpbnQgZGVwdGgpCiB7CiAgICAgZmFpbElmU3RhY2tPdmVy
ZmxvdygpOworICAgIG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50Kys7CiAgICAgaW50IG5v
bkxIU0NvdW50ID0gbV9wYXJzZXJTdGF0ZS5ub25MSFNDb3VudDsKICAgICBUcmVlRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4gcGF0dGVybjsKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CkBAIC00
ODM2LDYgKzQ4MzcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVBcmd1bWVu
dHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJndW1lbnRzKFRyZQogICAgIGF1dG8gYXJndW1l
bnRzU3RhcnQgPSBtX3Rva2VuLm1fc3RhcnRQb3NpdGlvbjsKICAgICBhdXRvIGFyZ3VtZW50c0Rp
dm90ID0gbV90b2tlbi5tX2VuZFBvc2l0aW9uOwogCisgICAgaW50IGluaXRpYWxBc3NpZ25tZW50
cyA9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50OwogICAgIEFyZ3VtZW50VHlwZSBhcmdU
eXBlID0gQXJndW1lbnRUeXBlOjpOb3JtYWw7CiAgICAgVHJlZUV4cHJlc3Npb24gZmlyc3RBcmcg
PSBwYXJzZUFyZ3VtZW50KGNvbnRleHQsIGFyZ1R5cGUpOwogICAgIGZhaWxJZkZhbHNlKGZpcnN0
QXJnLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGFyZ3VtZW50Iik7CkBAIC00ODY3LDEwICs0ODY5
LDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUFyZ3VtZW50cyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcmd1bWVudHMoVHJlCiAgICAgaGFuZGxlUHJvZHVjdGlvbk9yRmFp
bDIoQ0xPU0VQQVJFTiwgIikiLCAiZW5kIiwgImFyZ3VtZW50IGxpc3QiKTsKICAgICBpZiAoaGFz
U3ByZWFkKSB7CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIHNwcmVhZEFycmF5ID0gY29udGV4dC5j
cmVhdGVTcHJlYWRFeHByZXNzaW9uKGxvY2F0aW9uLCBjb250ZXh0LmNyZWF0ZUFycmF5KGxvY2F0
aW9uLCBjb250ZXh0LmNyZWF0ZUVsZW1lbnRMaXN0KGFyZ0xpc3QpKSwgYXJndW1lbnRzU3RhcnQs
IGFyZ3VtZW50c0Rpdm90LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uKTsKLSAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlQXJndW1lbnRzKGNvbnRleHQuY3JlYXRlQXJndW1lbnRzTGlzdChsb2Nh
dGlvbiwgc3ByZWFkQXJyYXkpKTsKKyAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXJndW1l
bnRzKGNvbnRleHQuY3JlYXRlQXJndW1lbnRzTGlzdChsb2NhdGlvbiwgc3ByZWFkQXJyYXkpLCBp
bml0aWFsQXNzaWdubWVudHMgIT0gbV9wYXJzZXJTdGF0ZS5hc3NpZ25tZW50Q291bnQpOwogICAg
IH0KIAotICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUFyZ3VtZW50cyhhcmdMaXN0KTsKKyAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVBcmd1bWVudHMoYXJnTGlzdCwgaW5pdGlhbEFzc2lnbm1lbnRz
ICE9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50KTsKIH0KIAogdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVj
a2VyLmgKaW5kZXggMWE2ZDBlNDhhY2VhYjUzN2IxZDhmYTA3MDMzNTYxNjUwMWJhNGI0OS4uODU2
MWYxNTZiZjczMDA0ZGFiYjlmN2Q3ZjQyYWVlNmE4ZWE0YTkxOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTIwMCw3ICsyMDAsNyBAQCBjbGFz
cyBTeW50YXhDaGVja2VyIHsKICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVNZXRob2REZWZpbml0
aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50
YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIHZvaWQgc2V0RnVuY3Rp
b25OYW1lU3RhcnQoaW50LCBpbnQpIHsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoKSB7IHJl
dHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KLSAgICBpbnQgY3JlYXRlQXJndW1lbnRzKGludCkgeyBy
ZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CisgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQsIGJv
b2wpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0
ZVNwcmVhZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUs
IGludCwgaW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlw
ZSBjcmVhdGVPYmplY3RTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4
cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBPYmplY3RTcHJlYWRFeHByOyB9
CiAgICAgVGVtcGxhdGVTdHJpbmcgY3JlYXRlVGVtcGxhdGVTdHJpbmcoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiwgY29uc3QgSWRlbnRpZmllciosIGNvbnN0IElkZW50aWZpZXIqKSB7IHJldHVybiBU
ZW1wbGF0ZVN0cmluZ1Jlc3VsdDsgfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9K
U1Rlc3RzL0NoYW5nZUxvZwppbmRleCBmYTU3MGUwODhkZDY4ZGM4ZTJkZmFkMTI2ODM5MWJjYjc2
ZGNiNTk3Li40NmNjMGZlMWM3Y2Y3Mzc0ZjUxNGNiNzMxMTdhYjIzOThjMzAzYzkyIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQwIEBACisyMDIxLTAxLTA3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisK
KyAgICAgICAgW0pTQ10gTmV3IGV4cHJlc3Npb24gYW5kIHZhbHVlIGZ1bmN0aW9uIGNhbGwgc2hv
dWxkIHJlc2VydmUgZnVuY3Rpb24gcmVnaXN0ZXIgaWYgYXJndW1lbnRzIGluY2x1ZGUgYXNzaWdu
bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MDQyOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzA1OTgzNTk+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvY29tbWEtdmFsdWUtZnVu
Yy1jYWxsLXJlc29sdmUuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAo
Zm4ueCk6CisgICAgICAgIChmbik6CisgICAgICAgICogc3RyZXNzL2NvbnN0cnVjdC1vdmVyd3Jp
dHRlbi12YXJpYWJsZS5qczoKKyAgICAgICAgKHNob3VsZFRocm93KToKKyAgICAgICAgKG5ldy54
LngpOiBEZWxldGVkLgorICAgICAgICAqIHN0cmVzcy9jb25zdHJ1Y3Qtc3ByZWFkLW92ZXJ3cml0
dGVuLXZhcmlhYmxlLTIuanM6CisgICAgICAgIChzaG91bGRUaHJvdyk6CisgICAgICAgIChuZXcu
eC54KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdHJlc3MvY29uc3RydWN0LXNwcmVhZC1vdmVyd3Jp
dHRlbi12YXJpYWJsZS5qczoKKyAgICAgICAgKHNob3VsZFRocm93KToKKyAgICAgICAgKG5ldy54
LngpOiBEZWxldGVkLgorICAgICAgICAqIHN0cmVzcy9kZXN0cnVjdHVyaW5nLWZ1bmMtY2FsbC1y
ZXNvbHZlLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKGZuLngpOgor
ICAgICAgICAoZm4pOgorICAgICAgICAoZm4yLngpOgorICAgICAgICAoZm4yKToKKyAgICAgICAg
KiBzdHJlc3MvcmVzb2x2ZS1mdW5jLWNhbGwtcmVzb2x2ZS5qczogQWRkZWQuCisgICAgICAgIChz
aG91bGRCZSk6CisgICAgICAgIChmbi54KToKKyAgICAgICAgKGZuKToKKyAgICAgICAgKiBzdHJl
c3MvdGFnZ2VkLXRlbXBsYXRlLWNhbGwtcmVzb2x2ZS5qczogQWRkZWQuCisgICAgICAgIChzaG91
bGRCZSk6CisgICAgICAgIChmbi54KToKKyAgICAgICAgKGZuKToKKyAgICAgICAgKiB0ZXN0MjYy
L2V4cGVjdGF0aW9ucy55YW1sOgorCiAyMDIxLTAxLTA3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgY2hlY2sgSUNVIGhlYWRlciB2ZXJz
aW9uIGluc3RlYWQgb2YgSUNVIHZlcnNpb24KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2Nv
bW1hLXZhbHVlLWZ1bmMtY2FsbC1yZXNvbHZlLmpzIGIvSlNUZXN0cy9zdHJlc3MvY29tbWEtdmFs
dWUtZnVuYy1jYWxsLXJlc29sdmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU3MzFlM2FhZDk1NmNiN2U5OGNl
MjU5ZDNmMzA0OGJjOWZlODI2ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2Nv
bW1hLXZhbHVlLWZ1bmMtY2FsbC1yZXNvbHZlLmpzCkBAIC0wLDAgKzEsMTggQEAKK2Z1bmN0aW9u
IHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3Rl
ZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQor
CitmdW5jdGlvbiBmbigpIHsKKyAgdmFyIG9rID0ge307CisgIHZhciB4ID0gZnVuY3Rpb24oKSB7
CisgICAgb2suZm9vID0gNDI7CisgIH07CisKKyAgdmFyIHJlc3VsdCA9ICgwLCB4KSh4ID0gMSk7
CisKKyAgc2hvdWxkQmUoeCwgMSk7CisgIHNob3VsZEJlKG9rLmZvbywgNDIpOworfQorCitmbigp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0LW92ZXJ3cml0dGVuLXZhcmlh
YmxlLmpzIGIvSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0LW92ZXJ3cml0dGVuLXZhcmlhYmxlLmpz
CmluZGV4IDExZTI4ZDljMmYxNTlkODY3NzBiNDUxMjI0YmVkOTRmMzRkMDM0MGIuLjlmMTZjNDJi
Yjk0NGRjZGQ1YzM0MTM4Nzc3NTk2ZDBhZmVjYjcyYzIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvc3Ry
ZXNzL2NvbnN0cnVjdC1vdmVyd3JpdHRlbi12YXJpYWJsZS5qcworKysgYi9KU1Rlc3RzL3N0cmVz
cy9jb25zdHJ1Y3Qtb3ZlcndyaXR0ZW4tdmFyaWFibGUuanMKQEAgLTEsNiArMSwyMSBAQAogLy9A
IHJ1bkRlZmF1bHQKIAotKGZ1bmN0aW9uKCl7CitmdW5jdGlvbiBzaG91bGRUaHJvdyhmdW5jLCBl
cnJvck1lc3NhZ2UpIHsKKyAgICB2YXIgZXJyb3JUaHJvd24gPSBmYWxzZTsKKyAgICB2YXIgZXJy
b3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGZ1bmMoKTsKKyAgICB9IGNhdGNoIChlKSB7
CisgICAgICAgIGVycm9yVGhyb3duID0gdHJ1ZTsKKyAgICAgICAgZXJyb3IgPSBlOworICAgIH0K
KyAgICBpZiAoIWVycm9yVGhyb3duKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCB0aHJv
d24nKTsKKyAgICBpZiAoU3RyaW5nKGVycm9yKSAhPT0gZXJyb3JNZXNzYWdlKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoYGJhZCBlcnJvcjogJHtTdHJpbmcoZXJyb3IpfWApOworfQorCitzaG91
bGRUaHJvdyhmdW5jdGlvbigpewogICAgIHZhciB4ID0gNDI7CiAgICAgbmV3IHgoeCA9IGZ1bmN0
aW9uKCl7IH0pOwotfSkoKTsKK30sIGBUeXBlRXJyb3I6IDQyIGlzIG5vdCBhIGNvbnN0cnVjdG9y
IChldmFsdWF0aW5nICduZXcgeCh4ID0gZnVuY3Rpb24oKXsgfSknKWApOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy9zdHJlc3MvY29uc3RydWN0LXNwcmVhZC1vdmVyd3JpdHRlbi12YXJpYWJsZS0yLmpz
IGIvSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0LXNwcmVhZC1vdmVyd3JpdHRlbi12YXJpYWJsZS0y
LmpzCmluZGV4IDRkNzk3NjIxOWNkZmZlMjYyNWNlOWI1ZjM2NTkyODQyMDk4NTI3YTMuLjM5NTJk
OThjMDI1ZWZiZDQ2NjE0YjMwY2Y5OGU2ODY0MDYxN2MyNmQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
c3RyZXNzL2NvbnN0cnVjdC1zcHJlYWQtb3ZlcndyaXR0ZW4tdmFyaWFibGUtMi5qcworKysgYi9K
U1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Qtc3ByZWFkLW92ZXJ3cml0dGVuLXZhcmlhYmxlLTIuanMK
QEAgLTEsNiArMSwyMSBAQAogLy9AIHJ1bkRlZmF1bHQKIAotKGZ1bmN0aW9uKCl7CitmdW5jdGlv
biBzaG91bGRUaHJvdyhmdW5jLCBlcnJvck1lc3NhZ2UpIHsKKyAgICB2YXIgZXJyb3JUaHJvd24g
PSBmYWxzZTsKKyAgICB2YXIgZXJyb3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGZ1bmMo
KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGVycm9yVGhyb3duID0gdHJ1ZTsKKyAgICAg
ICAgZXJyb3IgPSBlOworICAgIH0KKyAgICBpZiAoIWVycm9yVGhyb3duKQorICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoJ25vdCB0aHJvd24nKTsKKyAgICBpZiAoU3RyaW5nKGVycm9yKSAhPT0gZXJy
b3JNZXNzYWdlKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGJhZCBlcnJvcjogJHtTdHJpbmco
ZXJyb3IpfWApOworfQorCitzaG91bGRUaHJvdyhmdW5jdGlvbigpewogICAgIHZhciB4ID0gNDI7
CiAgICAgbmV3IHgoLi4uW3ggPSBmdW5jdGlvbigpeyB9XSk7Ci19KSgpOworfSwgYFR5cGVFcnJv
cjogNDIgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyB4KC4uLlt4ID0gZnVu
Y3Rpb24oKXsgfV0pJylgKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdC1z
cHJlYWQtb3ZlcndyaXR0ZW4tdmFyaWFibGUuanMgYi9KU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Qt
c3ByZWFkLW92ZXJ3cml0dGVuLXZhcmlhYmxlLmpzCmluZGV4IDBhNWI5YjBkMmVmNjkyNzYzOGE3
OGM0MWEzMjAwZDk4NjgzYjAzOTAuLmFkNjBlNTU0MzNkMWFkZTY3NjAzZDc3ZTllYmEwYjM2M2Qw
NzgzNGEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdC1zcHJlYWQtb3Zlcndy
aXR0ZW4tdmFyaWFibGUuanMKKysrIGIvSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0LXNwcmVhZC1v
dmVyd3JpdHRlbi12YXJpYWJsZS5qcwpAQCAtMSw3ICsxLDIyIEBACiAvL0AgcnVuRGVmYXVsdAog
Ci0oZnVuY3Rpb24oKXsKK2Z1bmN0aW9uIHNob3VsZFRocm93KGZ1bmMsIGVycm9yTWVzc2FnZSkg
eworICAgIHZhciBlcnJvclRocm93biA9IGZhbHNlOworICAgIHZhciBlcnJvciA9IG51bGw7Cisg
ICAgdHJ5IHsKKyAgICAgICAgZnVuYygpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXJy
b3JUaHJvd24gPSB0cnVlOworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAgIGlmICghZXJy
b3JUaHJvd24pCisgICAgICAgIHRocm93IG5ldyBFcnJvcignbm90IHRocm93bicpOworICAgIGlm
IChTdHJpbmcoZXJyb3IpICE9PSBlcnJvck1lc3NhZ2UpCisgICAgICAgIHRocm93IG5ldyBFcnJv
cihgYmFkIGVycm9yOiAke1N0cmluZyhlcnJvcil9YCk7Cit9CisKK3Nob3VsZFRocm93KGZ1bmN0
aW9uKCl7CiAgICAgdmFyIHggPSA0MjsKICAgICB2YXIgYSA9IFsxLCAyLCAzXTsKICAgICBuZXcg
eCh4ID0gZnVuY3Rpb24oKXsgfSwgLi4uYSk7Ci19KSgpOworfSwgYFR5cGVFcnJvcjogNDIgaXMg
bm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyB4KHggPSBmdW5jdGlvbigpeyB9LCAu
Li5hKScpYCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9kZXN0cnVjdHVyaW5nLWZ1bmMt
Y2FsbC1yZXNvbHZlLmpzIGIvSlNUZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1mdW5jLWNhbGwt
cmVzb2x2ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWNkODFhNDhlNTYzNjUwNDBmNjJmNWM1ZTVhNGFmOTIz
NTA1NjlkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1m
dW5jLWNhbGwtcmVzb2x2ZS5qcwpAQCAtMCwwICsxLDMxIEBACitmdW5jdGlvbiBzaG91bGRCZShh
Y3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAg
IHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKworZnVuY3Rpb24g
Zm4oKSB7CisgIHZhciBvayA9IHt9OworICB2YXIgeCA9IGZ1bmN0aW9uKCkgeworICAgIG9rLmZv
byA9IDQyOworICB9OworCisgIHZhciByZXN1bHQgPSBuZXcgeCh7IHggfSA9IHsgeDogMSB9KTsK
KworICBzaG91bGRCZSh4LCAxKTsKKyAgc2hvdWxkQmUob2suZm9vLCA0Mik7Cit9CisKK2Z1bmN0
aW9uIGZuMigpIHsKKyAgdmFyIG9rID0ge307CisgIHZhciB4ID0gZnVuY3Rpb24oKSB7CisgICAg
b2suZm9vID0gNDI7CisgIH07CisKKyAgdmFyIHJlc3VsdCA9IG5ldyB4KFsgeCBdID0gWyAxIF0p
OworCisgIHNob3VsZEJlKHgsIDEpOworICBzaG91bGRCZShvay5mb28sIDQyKTsKK30KKworZm4o
KTsKK2ZuMigpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvcmVzb2x2ZS1mdW5jLWNhbGwt
cmVzb2x2ZS5qcyBiL0pTVGVzdHMvc3RyZXNzL3Jlc29sdmUtZnVuYy1jYWxsLXJlc29sdmUuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjdhNTAwZDE1YzdhZGIwNmUxZWQ4YmJjYjM1OWZjODcyZmQ2ODNmZgotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL3Jlc29sdmUtZnVuYy1jYWxsLXJlc29sdmUu
anMKQEAgLTAsMCArMSwxOCBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkg
eworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
J2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2Z1bmN0aW9uIGZuKCkgeworICB2YXIgb2sg
PSB7fTsKKyAgdmFyIHggPSBmdW5jdGlvbigpIHsKKyAgICBvay5mb28gPSA0MjsKKyAgfTsKKwor
ICB2YXIgcmVzdWx0ID0geCh4ID0gMSk7CisKKyAgc2hvdWxkQmUoeCwgMSk7CisgIHNob3VsZEJl
KG9rLmZvbywgNDIpOworfQorCitmbigpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvdGFn
Z2VkLXRlbXBsYXRlLWNhbGwtcmVzb2x2ZS5qcyBiL0pTVGVzdHMvc3RyZXNzL3RhZ2dlZC10ZW1w
bGF0ZS1jYWxsLXJlc29sdmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjg4NTNlZTU4NWYyZjk3YjI1N2YzODZi
ZTRiMGRkYzMwNGU2ZTNlOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL3RhZ2dl
ZC10ZW1wbGF0ZS1jYWxsLXJlc29sdmUuanMKQEAgLTAsMCArMSwxOCBAQAorZnVuY3Rpb24gc2hv
dWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2Z1
bmN0aW9uIGZuKCkgeworICB2YXIgb2sgPSB7fTsKKyAgdmFyIHggPSBmdW5jdGlvbigpIHsKKyAg
ICBvay5mb28gPSA0MjsKKyAgfTsKKworICB2YXIgcmVzdWx0ID0geGBfJHt4ID0gMX1fYAorCisg
IHNob3VsZEJlKHgsIDEpOworICBzaG91bGRCZShvay5mb28sIDQyKTsKK30KKworZm4oKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbCBiL0pTVGVzdHMvdGVz
dDI2Mi9leHBlY3RhdGlvbnMueWFtbAppbmRleCBmZTUwN2NhMGU0YmY2MWMyNGE5M2E4MDA0YjY4
NDQ3MmViNWI1NTNjLi4zNmExYjRlNmY2NmIxYzM4NzE4NjQ4NjFiMzUzYTg4M2VjNGE3ODM2IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCkBAIC0xNjMwLDEyICsxNjMwLDYgQEAgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFzc2lnbm1lbnQvbGdjbC1udWxsaXNoLWFzc2ln
bm1lbnQtb3BlcmF0b3Itbm8KICAgZGVmYXVsdDogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNo
b3VsZCBub3QgYmUgZXZhbHVhdGVkLicKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNh
bC1hc3NpZ25tZW50L2xnY2wtb3ItYXNzaWdubWVudC1vcGVyYXRvci1ub24tc2ltcGxlLWxocy5q
czoKICAgZGVmYXVsdDogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZh
bHVhdGVkLicKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbmV3L2N0b3JFeHByLWZuLXJlZi1i
ZWZvcmUtYXJncy1ldmFsLWZuLXdyYXB1cC5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogMSBp
cyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IHgoeCA9IDEpJykiCi0gIHN0cmlj
dCBtb2RlOiAiVHlwZUVycm9yOiAxIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdu
ZXcgeCh4ID0gMSknKSIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbmV3L2N0b3JFeHByLWlz
Q3Rvci1hZnRlci1hcmdzLWV2YWwtZm4td3JhcHVwLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3
YXMgdGhyb3duIGF0IGFsbCcKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQg
YWxsJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9uZXcvbm9uLWN0b3ItZXJyLXJlYWxtLmpz
OgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBwcm9kdWN0aW9uIGluY2x1ZGluZyBBcmd1bWVu
dHMgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKICAgc3RyaWN0IG1v
ZGU6ICdUZXN0MjYyRXJyb3I6IHByb2R1Y3Rpb24gaW5jbHVkaW5nIEFyZ3VtZW50cyBFeHBlY3Rl
ZCBhIFR5cGVFcnJvciBidXQgZ290IGEgVHlwZUVycm9yJwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417207</attachid>
            <date>2021-01-07 13:25:50 -0800</date>
            <delta_ts>2021-01-07 15:17:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220429-20210107132549.patch</filename>
            <type>text/plain</type>
            <size>17477</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MTI2MmFmN2Q0YTkwNGFlN2NlMmRkNzMwZDY0NjNhNWZmMjEzZjIwLi5lY2M2YjhkMTBlMjFhZGEz
OTllZmQxOTg2MDZhM2RiM2RkM2QwNDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAyMS0wMS0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE5ldyBleHByZXNzaW9uIGFuZCB2YWx1ZSBmdW5jdGlvbiBjYWxs
IHNob3VsZCByZXNlcnZlIGZ1bmN0aW9uIHJlZ2lzdGVyIGlmIGFyZ3VtZW50cyBpbmNsdWRlIGFz
c2lnbm1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjA0MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwNTk4MzU5PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFsZXhleSBTaHZheWthLgorCisgICAgICAgIElmIHRoZSBmb2xsb3dpbmcgY29k
ZSBpcyBleGVjdXRlZCwgd2UgbmVlZCB0byByZXNlcnZlIHx4fCBiZWZvcmUgZXZhbHVhdGluZyBh
cmd1bWVudHMgc2luY2UgYXJndW1lbnRzIGNhbiBvdmVycmlkZQorICAgICAgICBsb2NhbCB8eHwg
dmFyaWFibGUgYmVmb3JlIGNhbGxpbmcgaXQuCisKKyAgICAgICAgICAgIG5ldyB4KHggPSAxKQor
CisgICAgICAgIFdlIGZvdW5kIHRoZXJlIGFyZSB0d28gcGxhY2VzIHdlIGFyZSBub3QgZG9pbmcg
dGhpcy4KKworICAgICAgICAgICAgMS4gbmV3IGV4cHJlc3Npb24KKyAgICAgICAgICAgIDIuIGZ1
bmN0aW9uIHZhbHVlIGNhbGwgKGl0IGlzIGNoZWNraW5nIGBpc0xvY2F0aW9uKClgLCBidXQgd2Ug
Y2FuIHN0aWxsIHVzZSBsb2NhbCB2YXJpYWJsZXMgZm9yIGZ1bmN0aW9uIGlmIHdlIHVzZSBjb21t
YSBleHByZXNzaW9uKQorCisgICAgICAgIFdlIGludHJvZHVjZWQgaGFzQXNzaWdubWVudCBmbGFn
IHRvIEFyZ3VtZW50c05vZGUsIGFuZCByZXNlcnZlIGEgZnVuY3Rpb24gaW4gYSBuZXcgdGVtcG9y
YXJ5IHJlZ2lzdGVyIGlmIGFyZ3VtZW50cyBpbmNsdWRlIGFzc2lnbm1lbnRzLgorICAgICAgICBX
ZSBhbHNvIG5lZWQgdG8gaW5jcmVtZW50IGFzc2lnbm1lbnRDb3VudCBpbiBkZXN0cnVjdHVyaW5n
IGFzc2lnbm1lbnQuCisKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoK
KyAgICAgICAgKEpTQzo6TmV3RXhwck5vZGU6OmVtaXRCeXRlY29kZSk6CisgICAgICAgIChKU0M6
OkZ1bmN0aW9uQ2FsbFZhbHVlTm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAgICAgICAgKiBwYXJzZXIv
QVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBcmd1bWVudHMp
OgorICAgICAgICAqIHBhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFy
Z3VtZW50c05vZGU6OkFyZ3VtZW50c05vZGUpOgorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5oOgor
ICAgICAgICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUFyZ3VtZW50cyk6CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNr
ZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJndW1lbnRzKToKKwog
MjAyMS0wMS0wNyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhl
IHNjcmF0Y2ggcmVnaXN0ZXIgc2hvdWxkIGJlIGRpZmZlcmVudCBmcm9tIHRoZSB0YXJnZXQgcmVn
aXN0ZXIgd2hlbiBjYWxsaW5nIHZhbGlkYXRlVW50YWdnZWRQdHIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggM2U3NDEx
MzZiMmFhNDg0OGJlZDAxNDUyNjgzMWQ3MTI1YmJkNTZlYS4uNzVlZGZlMDgwN2E1NDc5NGY5OTVm
NzViNDkyZmI0Mjg1YzAxOTBiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtOTc5LDcgKzk3OSwxMSBAQCBSZWdpc3Rl
cklEKiBOZXdFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0
b3IsIFJlZ2lzdGVySUQqCiAgICAgICAgIGV4cGVjdGVkRnVuY3Rpb24gPSBnZW5lcmF0b3IuZXhw
ZWN0ZWRGdW5jdGlvbkZvcklkZW50aWZpZXIoc3RhdGljX2Nhc3Q8UmVzb2x2ZU5vZGUqPihtX2V4
cHIpLT5pZGVudGlmaWVyKCkpOwogICAgIGVsc2UKICAgICAgICAgZXhwZWN0ZWRGdW5jdGlvbiA9
IE5vRXhwZWN0ZWRGdW5jdGlvbjsKLSAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gZnVuYyA9IGdlbmVy
YXRvci5lbWl0Tm9kZShtX2V4cHIpOworCisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGZ1bmMgPSBu
dWxscHRyOworICAgIGlmIChtX2FyZ3MgJiYgbV9hcmdzLT5oYXNBc3NpZ25tZW50cygpKQorICAg
ICAgICBmdW5jID0gZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpOworICAgIGZ1bmMgPSBnZW5lcmF0
b3IuZW1pdE5vZGUoZnVuYy5nZXQoKSwgbV9leHByKTsKICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4g
cmV0dXJuVmFsdWUgPSBnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIGZ1bmMuZ2V0KCkp
OwogICAgIENhbGxBcmd1bWVudHMgY2FsbEFyZ3VtZW50cyhnZW5lcmF0b3IsIG1fYXJncyk7CiAg
ICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0Q29uc3RydWN0KHJldHVyblZhbHVlLmdldCgpLCBmdW5j
LmdldCgpLCBmdW5jLmdldCgpLCBleHBlY3RlZEZ1bmN0aW9uLCBjYWxsQXJndW1lbnRzLCBkaXZv
dCgpLCBkaXZvdFN0YXJ0KCksIGRpdm90RW5kKCkpOwpAQCAtMTEwMCw3ICsxMTA0LDEwIEBAIFJl
Z2lzdGVySUQqIEZ1bmN0aW9uQ2FsbFZhbHVlTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2Vu
ZXJhdG9yJiBnZW5lcmF0b3IsIFJlCiAgICAgICAgIHJldHVybiByZXQ7CiAgICAgfQogCi0gICAg
UmVmUHRyPFJlZ2lzdGVySUQ+IGZ1bmMgPSBnZW5lcmF0b3IuZW1pdE5vZGUobV9leHByKTsKKyAg
ICBSZWZQdHI8UmVnaXN0ZXJJRD4gZnVuYyA9IG51bGxwdHI7CisgICAgaWYgKG1fYXJncyAmJiBt
X2FyZ3MtPmhhc0Fzc2lnbm1lbnRzKCkpCisgICAgICAgIGZ1bmMgPSBnZW5lcmF0b3IubmV3VGVt
cG9yYXJ5KCk7CisgICAgZnVuYyA9IGdlbmVyYXRvci5lbWl0Tm9kZShmdW5jLmdldCgpLCBtX2V4
cHIpOwogICAgIFJlZlB0cjxSZWdpc3RlcklEPiByZXR1cm5WYWx1ZSA9IGdlbmVyYXRvci5maW5h
bERlc3RpbmF0aW9uKGRzdCwgZnVuYy5nZXQoKSk7CiAgICAgaWYgKGlzT3B0aW9uYWxDaGFpbkJh
c2UoKSkKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRPcHRpb25hbENoZWNrKGZ1bmMuZ2V0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBjZDUzN2ZhZDY5
NWM4YTQ4OWJmNzhkYTI4NWZiMmQyOTBjMTE5NjY1Li40OTEwZmM3Y2RhZmM1YmE4N2NmMjg5MzRj
YTIzM2E0ZjhiYzZkNzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxk
ZXIuaApAQCAtNDc3LDcgKzQ3Nyw3IEBAIGNsYXNzIEFTVEJ1aWxkZXIgewogICAgIH0KIAogICAg
IEFyZ3VtZW50c05vZGUqIGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIG5ldyAobV9wYXJzZXJB
cmVuYSkgQXJndW1lbnRzTm9kZSgpOyB9Ci0gICAgQXJndW1lbnRzTm9kZSogY3JlYXRlQXJndW1l
bnRzKEFyZ3VtZW50TGlzdE5vZGUqIGFyZ3MpIHsgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkg
QXJndW1lbnRzTm9kZShhcmdzKTsgfQorICAgIEFyZ3VtZW50c05vZGUqIGNyZWF0ZUFyZ3VtZW50
cyhBcmd1bWVudExpc3ROb2RlKiBhcmdzLCBib29sIGhhc0Fzc2lnbm1lbnRzKSB7IHJldHVybiBu
ZXcgKG1fcGFyc2VyQXJlbmEpIEFyZ3VtZW50c05vZGUoYXJncywgaGFzQXNzaWdubWVudHMpOyB9
CiAgICAgQXJndW1lbnRMaXN0Tm9kZSogY3JlYXRlQXJndW1lbnRzTGlzdChjb25zdCBKU1Rva2Vu
TG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogYXJnKSB7IHJldHVybiBuZXcgKG1f
cGFyc2VyQXJlbmEpIEFyZ3VtZW50TGlzdE5vZGUobG9jYXRpb24sIGFyZyk7IH0KICAgICBBcmd1
bWVudExpc3ROb2RlKiBjcmVhdGVBcmd1bWVudHNMaXN0KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIEFyZ3VtZW50TGlzdE5vZGUqIGFyZ3MsIEV4cHJlc3Npb25Ob2RlKiBhcmcpIHsg
cmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgQXJndW1lbnRMaXN0Tm9kZShsb2NhdGlvbiwgYXJn
cywgYXJnKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0
cnVjdG9ycy5oCmluZGV4IDY5ZmRhMmVmZGZlMGE4YjY4NjVlYjYzYTUzMzRjNTBhNjMyYmI1Zjgu
Ljc0N2QxNTg3YmIwNzdkNTAxOGUzMGVjMzViMGRkMjYxM2JhM2FiYmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC0zNjQsOCArMzY0
LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAotICAgIGlubGluZSBBcmd1bWVu
dHNOb2RlOjpBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqIGxpc3ROb2RlKQorICAgIGlu
bGluZSBBcmd1bWVudHNOb2RlOjpBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqIGxpc3RO
b2RlLCBib29sIGhhc0Fzc2lnbm1lbnRzKQogICAgICAgICA6IG1fbGlzdE5vZGUobGlzdE5vZGUp
CisgICAgICAgICwgbV9oYXNBc3NpZ25tZW50cyhoYXNBc3NpZ25tZW50cykKICAgICB7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggZDJkN2Q1ZTg4MTE1MWFi
NmQwYWUxOGExMjU2NWVlYzI3YjVlYjA3Yi4uZWQ5MDc3NTM5MDU3ZjUzNjE2MjNmYzc5ZDdlYmJj
Yjk4YzAxN2JkZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtOTE0LDkg
KzkxNCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBBcmd1bWVudHNOb2RlIGZpbmFs
IDogcHVibGljIFBhcnNlckFyZW5hRnJlZWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgQXJn
dW1lbnRzTm9kZSgpOwotICAgICAgICBBcmd1bWVudHNOb2RlKEFyZ3VtZW50TGlzdE5vZGUqKTsK
KyAgICAgICAgQXJndW1lbnRzTm9kZShBcmd1bWVudExpc3ROb2RlKiwgYm9vbCBoYXNBc3NpZ25t
ZW50cyk7CisKKyAgICAgICAgYm9vbCBoYXNBc3NpZ25tZW50cygpIGNvbnN0IHsgcmV0dXJuIG1f
aGFzQXNzaWdubWVudHM7IH0KIAogICAgICAgICBBcmd1bWVudExpc3ROb2RlKiBtX2xpc3ROb2Rl
OworICAgIHByaXZhdGU6CisgICAgICAgIGJvb2wgbV9oYXNBc3NpZ25tZW50cyB7IGZhbHNlIH07
CiAgICAgfTsKIAogICAgIGNsYXNzIE5ld0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Np
b25Ob2RlLCBwdWJsaWMgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEgewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDNlNDMyMjMzNDc5ODRhMDlmZGY5ZGYzMzAxZTBm
M2U0YTVlMDQ0YTAuLjllNWIxYTYzNmRlOWJkOGY3YTljODQ2OWNiNzE3ZWEwMDBlNWY5NGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTExMjYsNiArMTEyNiw3
IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VE
ZXN0cnVjdHVyaW5nUGF0dGVybihUcmVlQnVpbGRlciYgY29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tp
bmQga2luZCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGlj
YXRlSWRlbnRpZmllciwgYm9vbCogaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4sIEFzc2lnbm1lbnRD
b250ZXh0IGJpbmRpbmdDb250ZXh0LCBpbnQgZGVwdGgpCiB7CiAgICAgZmFpbElmU3RhY2tPdmVy
ZmxvdygpOworICAgIG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50Kys7CiAgICAgaW50IG5v
bkxIU0NvdW50ID0gbV9wYXJzZXJTdGF0ZS5ub25MSFNDb3VudDsKICAgICBUcmVlRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4gcGF0dGVybjsKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CkBAIC00
ODM2LDYgKzQ4MzcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVBcmd1bWVu
dHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJndW1lbnRzKFRyZQogICAgIGF1dG8gYXJndW1l
bnRzU3RhcnQgPSBtX3Rva2VuLm1fc3RhcnRQb3NpdGlvbjsKICAgICBhdXRvIGFyZ3VtZW50c0Rp
dm90ID0gbV90b2tlbi5tX2VuZFBvc2l0aW9uOwogCisgICAgaW50IGluaXRpYWxBc3NpZ25tZW50
cyA9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50OwogICAgIEFyZ3VtZW50VHlwZSBhcmdU
eXBlID0gQXJndW1lbnRUeXBlOjpOb3JtYWw7CiAgICAgVHJlZUV4cHJlc3Npb24gZmlyc3RBcmcg
PSBwYXJzZUFyZ3VtZW50KGNvbnRleHQsIGFyZ1R5cGUpOwogICAgIGZhaWxJZkZhbHNlKGZpcnN0
QXJnLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGFyZ3VtZW50Iik7CkBAIC00ODY3LDEwICs0ODY5
LDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUFyZ3VtZW50cyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcmd1bWVudHMoVHJlCiAgICAgaGFuZGxlUHJvZHVjdGlvbk9yRmFp
bDIoQ0xPU0VQQVJFTiwgIikiLCAiZW5kIiwgImFyZ3VtZW50IGxpc3QiKTsKICAgICBpZiAoaGFz
U3ByZWFkKSB7CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIHNwcmVhZEFycmF5ID0gY29udGV4dC5j
cmVhdGVTcHJlYWRFeHByZXNzaW9uKGxvY2F0aW9uLCBjb250ZXh0LmNyZWF0ZUFycmF5KGxvY2F0
aW9uLCBjb250ZXh0LmNyZWF0ZUVsZW1lbnRMaXN0KGFyZ0xpc3QpKSwgYXJndW1lbnRzU3RhcnQs
IGFyZ3VtZW50c0Rpdm90LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uKTsKLSAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlQXJndW1lbnRzKGNvbnRleHQuY3JlYXRlQXJndW1lbnRzTGlzdChsb2Nh
dGlvbiwgc3ByZWFkQXJyYXkpKTsKKyAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXJndW1l
bnRzKGNvbnRleHQuY3JlYXRlQXJndW1lbnRzTGlzdChsb2NhdGlvbiwgc3ByZWFkQXJyYXkpLCBp
bml0aWFsQXNzaWdubWVudHMgIT0gbV9wYXJzZXJTdGF0ZS5hc3NpZ25tZW50Q291bnQpOwogICAg
IH0KIAotICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUFyZ3VtZW50cyhhcmdMaXN0KTsKKyAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVBcmd1bWVudHMoYXJnTGlzdCwgaW5pdGlhbEFzc2lnbm1lbnRz
ICE9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50KTsKIH0KIAogdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVj
a2VyLmgKaW5kZXggMWE2ZDBlNDhhY2VhYjUzN2IxZDhmYTA3MDMzNTYxNjUwMWJhNGI0OS4uODU2
MWYxNTZiZjczMDA0ZGFiYjlmN2Q3ZjQyYWVlNmE4ZWE0YTkxOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTIwMCw3ICsyMDAsNyBAQCBjbGFz
cyBTeW50YXhDaGVja2VyIHsKICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVNZXRob2REZWZpbml0
aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50
YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIHZvaWQgc2V0RnVuY3Rp
b25OYW1lU3RhcnQoaW50LCBpbnQpIHsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoKSB7IHJl
dHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KLSAgICBpbnQgY3JlYXRlQXJndW1lbnRzKGludCkgeyBy
ZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CisgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQsIGJv
b2wpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0
ZVNwcmVhZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUs
IGludCwgaW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlw
ZSBjcmVhdGVPYmplY3RTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4
cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBPYmplY3RTcHJlYWRFeHByOyB9
CiAgICAgVGVtcGxhdGVTdHJpbmcgY3JlYXRlVGVtcGxhdGVTdHJpbmcoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiwgY29uc3QgSWRlbnRpZmllciosIGNvbnN0IElkZW50aWZpZXIqKSB7IHJldHVybiBU
ZW1wbGF0ZVN0cmluZ1Jlc3VsdDsgfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9K
U1Rlc3RzL0NoYW5nZUxvZwppbmRleCBmYTU3MGUwODhkZDY4ZGM4ZTJkZmFkMTI2ODM5MWJjYjc2
ZGNiNTk3Li5mYWVmNmVmNmMwZTdlYTY1YmE1ODczYjY4ZmUwZjM2ODc1OTg4ZmM4IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQwIEBACisyMDIxLTAxLTA3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisK
KyAgICAgICAgW0pTQ10gTmV3IGV4cHJlc3Npb24gYW5kIHZhbHVlIGZ1bmN0aW9uIGNhbGwgc2hv
dWxkIHJlc2VydmUgZnVuY3Rpb24gcmVnaXN0ZXIgaWYgYXJndW1lbnRzIGluY2x1ZGUgYXNzaWdu
bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MDQyOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzA1OTgzNTk+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQWxleGV5IFNodmF5a2EuCisKKyAgICAgICAgKiBzdHJlc3MvY29tbWEtdmFsdWUtZnVu
Yy1jYWxsLXJlc29sdmUuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAo
Zm4ueCk6CisgICAgICAgIChmbik6CisgICAgICAgICogc3RyZXNzL2NvbnN0cnVjdC1vdmVyd3Jp
dHRlbi12YXJpYWJsZS5qczoKKyAgICAgICAgKHNob3VsZFRocm93KToKKyAgICAgICAgKG5ldy54
LngpOiBEZWxldGVkLgorICAgICAgICAqIHN0cmVzcy9jb25zdHJ1Y3Qtc3ByZWFkLW92ZXJ3cml0
dGVuLXZhcmlhYmxlLTIuanM6CisgICAgICAgIChzaG91bGRUaHJvdyk6CisgICAgICAgIChuZXcu
eC54KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdHJlc3MvY29uc3RydWN0LXNwcmVhZC1vdmVyd3Jp
dHRlbi12YXJpYWJsZS5qczoKKyAgICAgICAgKHNob3VsZFRocm93KToKKyAgICAgICAgKG5ldy54
LngpOiBEZWxldGVkLgorICAgICAgICAqIHN0cmVzcy9kZXN0cnVjdHVyaW5nLWZ1bmMtY2FsbC1y
ZXNvbHZlLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKGZuLngpOgor
ICAgICAgICAoZm4pOgorICAgICAgICAoZm4yLngpOgorICAgICAgICAoZm4yKToKKyAgICAgICAg
KiBzdHJlc3MvcmVzb2x2ZS1mdW5jLWNhbGwtcmVzb2x2ZS5qczogQWRkZWQuCisgICAgICAgIChz
aG91bGRCZSk6CisgICAgICAgIChmbi54KToKKyAgICAgICAgKGZuKToKKyAgICAgICAgKiBzdHJl
c3MvdGFnZ2VkLXRlbXBsYXRlLWNhbGwtcmVzb2x2ZS5qczogQWRkZWQuCisgICAgICAgIChzaG91
bGRCZSk6CisgICAgICAgIChmbi54KToKKyAgICAgICAgKGZuKToKKyAgICAgICAgKiB0ZXN0MjYy
L2V4cGVjdGF0aW9ucy55YW1sOgorCiAyMDIxLTAxLTA3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgY2hlY2sgSUNVIGhlYWRlciB2ZXJz
aW9uIGluc3RlYWQgb2YgSUNVIHZlcnNpb24KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2Nv
bW1hLXZhbHVlLWZ1bmMtY2FsbC1yZXNvbHZlLmpzIGIvSlNUZXN0cy9zdHJlc3MvY29tbWEtdmFs
dWUtZnVuYy1jYWxsLXJlc29sdmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU3MzFlM2FhZDk1NmNiN2U5OGNl
MjU5ZDNmMzA0OGJjOWZlODI2ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2Nv
bW1hLXZhbHVlLWZ1bmMtY2FsbC1yZXNvbHZlLmpzCkBAIC0wLDAgKzEsMTggQEAKK2Z1bmN0aW9u
IHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3Rl
ZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQor
CitmdW5jdGlvbiBmbigpIHsKKyAgdmFyIG9rID0ge307CisgIHZhciB4ID0gZnVuY3Rpb24oKSB7
CisgICAgb2suZm9vID0gNDI7CisgIH07CisKKyAgdmFyIHJlc3VsdCA9ICgwLCB4KSh4ID0gMSk7
CisKKyAgc2hvdWxkQmUoeCwgMSk7CisgIHNob3VsZEJlKG9rLmZvbywgNDIpOworfQorCitmbigp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0LW92ZXJ3cml0dGVuLXZhcmlh
YmxlLmpzIGIvSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0LW92ZXJ3cml0dGVuLXZhcmlhYmxlLmpz
CmluZGV4IDExZTI4ZDljMmYxNTlkODY3NzBiNDUxMjI0YmVkOTRmMzRkMDM0MGIuLjlmMTZjNDJi
Yjk0NGRjZGQ1YzM0MTM4Nzc3NTk2ZDBhZmVjYjcyYzIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvc3Ry
ZXNzL2NvbnN0cnVjdC1vdmVyd3JpdHRlbi12YXJpYWJsZS5qcworKysgYi9KU1Rlc3RzL3N0cmVz
cy9jb25zdHJ1Y3Qtb3ZlcndyaXR0ZW4tdmFyaWFibGUuanMKQEAgLTEsNiArMSwyMSBAQAogLy9A
IHJ1bkRlZmF1bHQKIAotKGZ1bmN0aW9uKCl7CitmdW5jdGlvbiBzaG91bGRUaHJvdyhmdW5jLCBl
cnJvck1lc3NhZ2UpIHsKKyAgICB2YXIgZXJyb3JUaHJvd24gPSBmYWxzZTsKKyAgICB2YXIgZXJy
b3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGZ1bmMoKTsKKyAgICB9IGNhdGNoIChlKSB7
CisgICAgICAgIGVycm9yVGhyb3duID0gdHJ1ZTsKKyAgICAgICAgZXJyb3IgPSBlOworICAgIH0K
KyAgICBpZiAoIWVycm9yVGhyb3duKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCB0aHJv
d24nKTsKKyAgICBpZiAoU3RyaW5nKGVycm9yKSAhPT0gZXJyb3JNZXNzYWdlKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoYGJhZCBlcnJvcjogJHtTdHJpbmcoZXJyb3IpfWApOworfQorCitzaG91
bGRUaHJvdyhmdW5jdGlvbigpewogICAgIHZhciB4ID0gNDI7CiAgICAgbmV3IHgoeCA9IGZ1bmN0
aW9uKCl7IH0pOwotfSkoKTsKK30sIGBUeXBlRXJyb3I6IDQyIGlzIG5vdCBhIGNvbnN0cnVjdG9y
IChldmFsdWF0aW5nICduZXcgeCh4ID0gZnVuY3Rpb24oKXsgfSknKWApOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy9zdHJlc3MvY29uc3RydWN0LXNwcmVhZC1vdmVyd3JpdHRlbi12YXJpYWJsZS0yLmpz
IGIvSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0LXNwcmVhZC1vdmVyd3JpdHRlbi12YXJpYWJsZS0y
LmpzCmluZGV4IDRkNzk3NjIxOWNkZmZlMjYyNWNlOWI1ZjM2NTkyODQyMDk4NTI3YTMuLjM5NTJk
OThjMDI1ZWZiZDQ2NjE0YjMwY2Y5OGU2ODY0MDYxN2MyNmQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
c3RyZXNzL2NvbnN0cnVjdC1zcHJlYWQtb3ZlcndyaXR0ZW4tdmFyaWFibGUtMi5qcworKysgYi9K
U1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Qtc3ByZWFkLW92ZXJ3cml0dGVuLXZhcmlhYmxlLTIuanMK
QEAgLTEsNiArMSwyMSBAQAogLy9AIHJ1bkRlZmF1bHQKIAotKGZ1bmN0aW9uKCl7CitmdW5jdGlv
biBzaG91bGRUaHJvdyhmdW5jLCBlcnJvck1lc3NhZ2UpIHsKKyAgICB2YXIgZXJyb3JUaHJvd24g
PSBmYWxzZTsKKyAgICB2YXIgZXJyb3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGZ1bmMo
KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGVycm9yVGhyb3duID0gdHJ1ZTsKKyAgICAg
ICAgZXJyb3IgPSBlOworICAgIH0KKyAgICBpZiAoIWVycm9yVGhyb3duKQorICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoJ25vdCB0aHJvd24nKTsKKyAgICBpZiAoU3RyaW5nKGVycm9yKSAhPT0gZXJy
b3JNZXNzYWdlKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGJhZCBlcnJvcjogJHtTdHJpbmco
ZXJyb3IpfWApOworfQorCitzaG91bGRUaHJvdyhmdW5jdGlvbigpewogICAgIHZhciB4ID0gNDI7
CiAgICAgbmV3IHgoLi4uW3ggPSBmdW5jdGlvbigpeyB9XSk7Ci19KSgpOworfSwgYFR5cGVFcnJv
cjogNDIgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyB4KC4uLlt4ID0gZnVu
Y3Rpb24oKXsgfV0pJylgKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdC1z
cHJlYWQtb3ZlcndyaXR0ZW4tdmFyaWFibGUuanMgYi9KU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Qt
c3ByZWFkLW92ZXJ3cml0dGVuLXZhcmlhYmxlLmpzCmluZGV4IDBhNWI5YjBkMmVmNjkyNzYzOGE3
OGM0MWEzMjAwZDk4NjgzYjAzOTAuLmFkNjBlNTU0MzNkMWFkZTY3NjAzZDc3ZTllYmEwYjM2M2Qw
NzgzNGEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdC1zcHJlYWQtb3Zlcndy
aXR0ZW4tdmFyaWFibGUuanMKKysrIGIvSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0LXNwcmVhZC1v
dmVyd3JpdHRlbi12YXJpYWJsZS5qcwpAQCAtMSw3ICsxLDIyIEBACiAvL0AgcnVuRGVmYXVsdAog
Ci0oZnVuY3Rpb24oKXsKK2Z1bmN0aW9uIHNob3VsZFRocm93KGZ1bmMsIGVycm9yTWVzc2FnZSkg
eworICAgIHZhciBlcnJvclRocm93biA9IGZhbHNlOworICAgIHZhciBlcnJvciA9IG51bGw7Cisg
ICAgdHJ5IHsKKyAgICAgICAgZnVuYygpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXJy
b3JUaHJvd24gPSB0cnVlOworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAgIGlmICghZXJy
b3JUaHJvd24pCisgICAgICAgIHRocm93IG5ldyBFcnJvcignbm90IHRocm93bicpOworICAgIGlm
IChTdHJpbmcoZXJyb3IpICE9PSBlcnJvck1lc3NhZ2UpCisgICAgICAgIHRocm93IG5ldyBFcnJv
cihgYmFkIGVycm9yOiAke1N0cmluZyhlcnJvcil9YCk7Cit9CisKK3Nob3VsZFRocm93KGZ1bmN0
aW9uKCl7CiAgICAgdmFyIHggPSA0MjsKICAgICB2YXIgYSA9IFsxLCAyLCAzXTsKICAgICBuZXcg
eCh4ID0gZnVuY3Rpb24oKXsgfSwgLi4uYSk7Ci19KSgpOworfSwgYFR5cGVFcnJvcjogNDIgaXMg
bm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyB4KHggPSBmdW5jdGlvbigpeyB9LCAu
Li5hKScpYCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9kZXN0cnVjdHVyaW5nLWZ1bmMt
Y2FsbC1yZXNvbHZlLmpzIGIvSlNUZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1mdW5jLWNhbGwt
cmVzb2x2ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWNkODFhNDhlNTYzNjUwNDBmNjJmNWM1ZTVhNGFmOTIz
NTA1NjlkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1m
dW5jLWNhbGwtcmVzb2x2ZS5qcwpAQCAtMCwwICsxLDMxIEBACitmdW5jdGlvbiBzaG91bGRCZShh
Y3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAg
IHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKworZnVuY3Rpb24g
Zm4oKSB7CisgIHZhciBvayA9IHt9OworICB2YXIgeCA9IGZ1bmN0aW9uKCkgeworICAgIG9rLmZv
byA9IDQyOworICB9OworCisgIHZhciByZXN1bHQgPSBuZXcgeCh7IHggfSA9IHsgeDogMSB9KTsK
KworICBzaG91bGRCZSh4LCAxKTsKKyAgc2hvdWxkQmUob2suZm9vLCA0Mik7Cit9CisKK2Z1bmN0
aW9uIGZuMigpIHsKKyAgdmFyIG9rID0ge307CisgIHZhciB4ID0gZnVuY3Rpb24oKSB7CisgICAg
b2suZm9vID0gNDI7CisgIH07CisKKyAgdmFyIHJlc3VsdCA9IG5ldyB4KFsgeCBdID0gWyAxIF0p
OworCisgIHNob3VsZEJlKHgsIDEpOworICBzaG91bGRCZShvay5mb28sIDQyKTsKK30KKworZm4o
KTsKK2ZuMigpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvcmVzb2x2ZS1mdW5jLWNhbGwt
cmVzb2x2ZS5qcyBiL0pTVGVzdHMvc3RyZXNzL3Jlc29sdmUtZnVuYy1jYWxsLXJlc29sdmUuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjdhNTAwZDE1YzdhZGIwNmUxZWQ4YmJjYjM1OWZjODcyZmQ2ODNmZgotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL3Jlc29sdmUtZnVuYy1jYWxsLXJlc29sdmUu
anMKQEAgLTAsMCArMSwxOCBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkg
eworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
J2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2Z1bmN0aW9uIGZuKCkgeworICB2YXIgb2sg
PSB7fTsKKyAgdmFyIHggPSBmdW5jdGlvbigpIHsKKyAgICBvay5mb28gPSA0MjsKKyAgfTsKKwor
ICB2YXIgcmVzdWx0ID0geCh4ID0gMSk7CisKKyAgc2hvdWxkQmUoeCwgMSk7CisgIHNob3VsZEJl
KG9rLmZvbywgNDIpOworfQorCitmbigpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvdGFn
Z2VkLXRlbXBsYXRlLWNhbGwtcmVzb2x2ZS5qcyBiL0pTVGVzdHMvc3RyZXNzL3RhZ2dlZC10ZW1w
bGF0ZS1jYWxsLXJlc29sdmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjg4NTNlZTU4NWYyZjk3YjI1N2YzODZi
ZTRiMGRkYzMwNGU2ZTNlOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL3RhZ2dl
ZC10ZW1wbGF0ZS1jYWxsLXJlc29sdmUuanMKQEAgLTAsMCArMSwxOCBAQAorZnVuY3Rpb24gc2hv
dWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2Z1
bmN0aW9uIGZuKCkgeworICB2YXIgb2sgPSB7fTsKKyAgdmFyIHggPSBmdW5jdGlvbigpIHsKKyAg
ICBvay5mb28gPSA0MjsKKyAgfTsKKworICB2YXIgcmVzdWx0ID0geGBfJHt4ID0gMX1fYAorCisg
IHNob3VsZEJlKHgsIDEpOworICBzaG91bGRCZShvay5mb28sIDQyKTsKK30KKworZm4oKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbCBiL0pTVGVzdHMvdGVz
dDI2Mi9leHBlY3RhdGlvbnMueWFtbAppbmRleCBmZTUwN2NhMGU0YmY2MWMyNGE5M2E4MDA0YjY4
NDQ3MmViNWI1NTNjLi4zNmExYjRlNmY2NmIxYzM4NzE4NjQ4NjFiMzUzYTg4M2VjNGE3ODM2IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCkBAIC0xNjMwLDEyICsxNjMwLDYgQEAgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFzc2lnbm1lbnQvbGdjbC1udWxsaXNoLWFzc2ln
bm1lbnQtb3BlcmF0b3Itbm8KICAgZGVmYXVsdDogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNo
b3VsZCBub3QgYmUgZXZhbHVhdGVkLicKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNh
bC1hc3NpZ25tZW50L2xnY2wtb3ItYXNzaWdubWVudC1vcGVyYXRvci1ub24tc2ltcGxlLWxocy5q
czoKICAgZGVmYXVsdDogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZh
bHVhdGVkLicKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbmV3L2N0b3JFeHByLWZuLXJlZi1i
ZWZvcmUtYXJncy1ldmFsLWZuLXdyYXB1cC5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogMSBp
cyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IHgoeCA9IDEpJykiCi0gIHN0cmlj
dCBtb2RlOiAiVHlwZUVycm9yOiAxIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdu
ZXcgeCh4ID0gMSknKSIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbmV3L2N0b3JFeHByLWlz
Q3Rvci1hZnRlci1hcmdzLWV2YWwtZm4td3JhcHVwLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3
YXMgdGhyb3duIGF0IGFsbCcKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQg
YWxsJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9uZXcvbm9uLWN0b3ItZXJyLXJlYWxtLmpz
OgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBwcm9kdWN0aW9uIGluY2x1ZGluZyBBcmd1bWVu
dHMgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKICAgc3RyaWN0IG1v
ZGU6ICdUZXN0MjYyRXJyb3I6IHByb2R1Y3Rpb24gaW5jbHVkaW5nIEFyZ3VtZW50cyBFeHBlY3Rl
ZCBhIFR5cGVFcnJvciBidXQgZ290IGEgVHlwZUVycm9yJwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>