<?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>223231</bug_id>
          
          <creation_ts>2021-03-15 18:17:50 -0700</creation_ts>
          <short_desc>[WebIDL] Fix convertRecord() to throw on enumerable symbol |key|</short_desc>
          <delta_ts>2021-03-17 09:02:16 -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>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=223219</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739780</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-03-15 18:17:50 -0700</bug_when>
    <thetext>[WebIDL] Fix convertRecord() to throw on enumerable symbol |key|</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739782</commentid>
    <comment_count>1</comment_count>
      <attachid>423276</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-03-15 18:25:16 -0700</bug_when>
    <thetext>Created attachment 423276
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740209</commentid>
    <comment_count>2</comment_count>
      <attachid>423276</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-16 14:30:22 -0700</bug_when>
    <thetext>Comment on attachment 423276
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMConvertStrings.cpp:38
&gt; +    VM&amp; vm = lexicalGlobalObject.vm();
&gt; +    auto scope = DECLARE_THROW_SCOPE(vm);

Is there any performance benefit to moving this inside the if statement?

&gt; Source/WebCore/bindings/js/JSDOMConvertStrings.cpp:103
&gt; +    if (!string)
&gt; +        return { };

This seems like an unimportant optimization. I would leave it out; the stringToUSVString function can handle the null string without causing any problems. Then this can just be a one-liner. Also, we generally write string.isNull() instead of !string. Not sure why.

    return stringToUSVString(identifierToString(lexicalGlobalObject, identifier));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740255</commentid>
    <comment_count>3</comment_count>
      <attachid>423404</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-03-16 15:24:40 -0700</bug_when>
    <thetext>Created attachment 423404
Patch

Add UNLIKELY, move DECLARE_THROW_SCOPE into branch, and make identifierToUSVString() a one-liner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740256</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-03-16 15:25:57 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #2)

Thank you for reviewing convertRecord() changes!

&gt; Is there any performance benefit to moving this inside the if statement?

I&apos;ve found a few precedents of ThrowScope() created inside a branch, in hot inlined methods.
This won&apos;t break validation of exception checks.

Also, added an UNLIKELY, which is merely a compiler hint on how to emits jumps so common case is optimized.

&gt; This seems like an unimportant optimization. I would leave it out; the
&gt; stringToUSVString function can handle the null string without causing any
&gt; problems. Then this can just be a one-liner. Also, we generally write
&gt; string.isNull() instead of !string. Not sure why.
&gt; 
&gt;     return stringToUSVString(identifierToString(lexicalGlobalObject,
&gt; identifier));

Nice, fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740718</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-17 09:01:44 -0700</bug_when>
    <thetext>Committed r274561: &lt;https://commits.webkit.org/r274561&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423404.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740719</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-17 09:02:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/75528251&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423276</attachid>
            <date>2021-03-15 18:25:16 -0700</date>
            <delta_ts>2021-03-16 15:24:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223231-20210316032514.patch</filename>
            <type>text/plain</type>
            <size>10806</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc0NDA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDIxLTAzLTE1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKwor
ICAgICAgICBbV2ViSURMXSBGaXggY29udmVydFJlY29yZCgpIHRvIHRocm93IG9uIGVudW1lcmFi
bGUgc3ltYm9sIHxrZXl8CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjMyMzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFeHBvcnQgU3ltYm9sQ29lcmNpb25FcnJvci4KKworICAgICAgICAqIHJ1bnRpbWUv
SlNDSlNWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkpTVmFsdWU6OnRvU3RyaW5nU2xvd0Nhc2Ug
Y29uc3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNDSlNWYWx1ZS5oOgorCiAyMDIxLTAzLTE0ICBB
bGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OIChyMjc0MzA4KTogVHdvIGFzc2VydGlvbnMgaW4gSlNHbG9iYWxPYmplY3Q6OmRlZmluZU93
blByb3BlcnR5KCkgYXJlIGZhaWxpbmcKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ0pTVmFsdWUuY3BwCShyZXZpc2lvbiAyNzQ0MDQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiAr
MzUsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY29uc3QgQVNDSUlMaXRlcmFsIFN5bWJvbENv
ZXJjaW9uRXJyb3IgeyAiQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBzdHJpbmciX3MgfTsK
KwogZG91YmxlIEpTVmFsdWU6OnRvSW50ZWdlclByZXNlcnZlTmFOKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpIGNvbnN0CiB7CiAgICAgaWYgKGlzSW50MzIoKSkKQEAgLTQ4OCw3ICs0OTAs
NyBAQCBKU1N0cmluZyogSlNWYWx1ZTo6dG9TdHJpbmdTbG93Q2FzZShKU0dsCiAgICAgICAgIHJl
dHVybiByZXR1cm5TdHJpbmc7CiAgICAgfQogICAgIGlmIChpc1N5bWJvbCgpKSB7Ci0gICAgICAg
IHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJDYW5ub3QgY29udmVydCBhIHN5
bWJvbCB0byBhIHN0cmluZyJfcyk7CisgICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVj
dCwgc2NvcGUsIFN5bWJvbENvZXJjaW9uRXJyb3IpOwogICAgICAgICByZXR1cm4gZXJyb3JWYWx1
ZSgpOwogICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNW
YWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pT
VmFsdWUuaAkocmV2aXNpb24gMjc0NDA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDSlNWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsNiArMTMzLDggQEAgZW51bSBj
bGFzcyBTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24gOiB1aQogICAgIExpbmtUaW1lQ29uc3RhbnQs
CiB9OwogCitleHRlcm4gSlNfRVhQT1JUX1BSSVZBVEUgY29uc3QgQVNDSUlMaXRlcmFsIFN5bWJv
bENvZXJjaW9uRXJyb3I7CisKIGNsYXNzIEpTVmFsdWUgewogICAgIGZyaWVuZCBzdHJ1Y3QgRW5j
b2RlZEpTVmFsdWVIYXNoVHJhaXRzOwogICAgIGZyaWVuZCBzdHJ1Y3QgRW5jb2RlZEpTVmFsdWVX
aXRoUmVwcmVzZW50YXRpb25IYXNoVHJhaXRzOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc0
NDQxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzcgQEAKKzIwMjEtMDMtMTUgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwu
Y29tPgorCisgICAgICAgIFtXZWJJRExdIEZpeCBjb252ZXJ0UmVjb3JkKCkgdG8gdGhyb3cgb24g
ZW51bWVyYWJsZSBzeW1ib2wgfGtleXwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMzIzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgY2hhbmdlIHJlbW92ZXMgU3RyaW5nIHR5cGUgZmlsdGVyIGZy
b20gZ2V0T3duUHJvcGVydHlOYW1lcygpIGNhbGwgWzFdIHNvCisgICAgICAgIFtbR2V0T3duUHJv
cGVydHldXSBpcyBpbnZva2VkIGZvciBhIHN5bWJvbCB8a2V5fCwgd2hpY2ggaXMgb2JzZXJ2YWJs
ZSBieSBQcm94eSwKKyAgICAgICAgYW5kIGEgVHlwZUVycm9yIGlzIHJhaXNlZCAod2l0aCBoZWxw
ZnVsIGVycm9yIG1lc3NhZ2UpIGlmIGl0J3MgZW51bWVyYWJsZS4KKworICAgICAgICBJbnN0ZWFk
IG9mIHRocm93aW5nIHJpZ2h0IGluIGNvbnZlcnRSZWNvcmQoKSwgaWRlbnRpZmllclRvU3RyaW5n
KCkgaXMgYWRkZWQsCisgICAgICAgIG1ha2luZyBJZGVudGlmaWVyQ29udmVydGVyIHJldXNhYmxl
IGFuZCBjbG9zZSB0byB0aGUgc3BlYyBbMl0sIHJhdGhlciB0aGFuCisgICAgICAgIGltcGxpY2l0
bHkgZGVwZW5kZW50IG9uIGlkZW50aWZpZXIgYmVpbmcgYSBzdHJpbmcuCisKKyAgICAgICAgSWRl
bnRpZmllcjo6c3RyaW5nKCkgY2FsbGVkIG9uIGEgc3ltYm9sIHJldHVybnMgaXQncyBbW0Rlc2Ny
aXB0aW9uXV0sIHdoaWNoIGlzCisgICAgICAgIHZlcnkgdW5kZXNpcmFibGUuCisKKyAgICAgICAg
QWxpZ25zIFdlYktpdCB3aXRoIEJsaW5rIGFuZCBHZWNrby4KKworICAgICAgICBUZXN0czogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvaGVhZGVycy9oZWFkZXJzLXJl
Y29yZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9ET01VUkwvc2VhcmNocGFyYW1zLmh0
bWwKKworICAgICAgICBbMV0gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jZXMtcmVj
b3JkIChzdGVwIDMpCisgICAgICAgIFsyXSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRs
LyNlcy1ET01TdHJpbmcgKHN0ZXAgMikKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29u
dmVydFJlY29yZC5oOgorICAgICAgICAoV2ViQ29yZTo6RGV0YWlsOjpJZGVudGlmaWVyQ29udmVy
dGVyPElETERPTVN0cmluZz46OmNvbnZlcnQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9N
Q29udmVydFN0cmluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aWRlbnRpZmllclRvU3RyaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OmlkZW50aWZpZXJUb0J5dGVTdHJpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6aWRlbnRpZmllclRvVVNWU3RyaW5nKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTUNvbnZlcnRTdHJpbmdzLmg6CisKIDIwMjEtMDMtMTUgIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5kZXJTdHlsZTo6Z2V0Um91bmRlZElubmVyQm9yZGVy
Rm9yIHNob3VsZCBuZXZlciBwcm9kdWNlIGEgcmVjdCB3aXRoIG5lZ2F0aXZlIHdpZHRoL2hlaWdo
dApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0UmVjb3JkLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0UmVj
b3JkLmgJKHJldmlzaW9uIDI3NDQwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NQ29udmVydFJlY29yZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw5ICszOCw5IEBAIHRlbXBs
YXRlPHR5cGVuYW1lIElETFN0cmluZ1R5cGU+CiBzdHJ1Y3QgSWRlbnRpZmllckNvbnZlcnRlcjsK
IAogdGVtcGxhdGU8PiBzdHJ1Y3QgSWRlbnRpZmllckNvbnZlcnRlcjxJRExET01TdHJpbmc+IHsK
LSAgICBzdGF0aWMgU3RyaW5nIGNvbnZlcnQoSlNDOjpKU0dsb2JhbE9iamVjdCYsIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYgaWRlbnRpZmllcikKKyAgICBzdGF0aWMgU3RyaW5nIGNvbnZlcnQoSlND
OjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgY29uc3QgSlNDOjpJZGVudGlm
aWVyJiBpZGVudGlmaWVyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGlkZW50aWZpZXIuc3RyaW5n
KCk7CisgICAgICAgIHJldHVybiBpZGVudGlmaWVyVG9TdHJpbmcobGV4aWNhbEdsb2JhbE9iamVj
dCwgaWRlbnRpZmllcik7CiAgICAgfQogfTsKIApAQCAtOTksOSArOTksOCBAQCBwcml2YXRlOgog
ICAgICAgICBIYXNoTWFwPEtleVR5cGUsIHNpemVfdD4gcmVzdWx0TWFwOwogICAgIAogICAgICAg
ICAvLyA0LiBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgotICAgICAgICBK
U0M6OlByb3BlcnR5TmFtZUFycmF5IGtleXModm0sIEpTQzo6UHJvcGVydHlOYW1lTW9kZTo6U3Ry
aW5ncywgSlNDOjpQcml2YXRlU3ltYm9sTW9kZTo6RXhjbHVkZSk7CisgICAgICAgIEpTQzo6UHJv
cGVydHlOYW1lQXJyYXkga2V5cyh2bSwgSlNDOjpQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5k
U3ltYm9scywgSlNDOjpQcml2YXRlU3ltYm9sTW9kZTo6RXhjbHVkZSk7CiAgICAgICAgIG9iamVj
dC0+bWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iamVjdCwgJmxleGljYWxH
bG9iYWxPYmplY3QsIGtleXMsIEpTQzo6RG9udEVudW1Qcm9wZXJ0aWVzTW9kZTo6SW5jbHVkZSk7
Ci0KICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKIAogICAgICAgICAv
LyA1LiBSZXBlYXQsIGZvciBlYWNoIGVsZW1lbnQga2V5IG9mIGtleXMgaW4gTGlzdCBvcmRlcjoK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFN0cmluZ3MuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFN0
cmluZ3MuY3BwCShyZXZpc2lvbiAyNzQ0MDQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUNvbnZlcnRTdHJpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsMTkg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKK1N0cmluZyBp
ZGVudGlmaWVyVG9TdHJpbmcoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIGNv
bnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCit7CisgICAgVk0mIHZtID0gbGV4aWNhbEdsb2Jh
bE9iamVjdC52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
KworICAgIGlmIChpZGVudGlmaWVyLmlzU3ltYm9sKCkpIHsKKyAgICAgICAgdGhyb3dUeXBlRXJy
b3IoJmxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCBTeW1ib2xDb2VyY2lvbkVycm9yKTsKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICByZXR1cm4gaWRlbnRpZmllci5zdHJpbmco
KTsKK30KKwogc3RhdGljIGlubGluZSBTdHJpbmcgc3RyaW5nVG9CeXRlU3RyaW5nKEpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlLCBTdHJp
bmcmJiBzdHJpbmcpCiB7CiAgICAgaWYgKCFzdHJpbmcuaXNBbGxMYXRpbjEoKSkgewpAQCAtNDcs
NyArNjAsOCBAQCBTdHJpbmcgaWRlbnRpZmllclRvQnl0ZVN0cmluZyhKU0dsb2JhbE9iCiAgICAg
Vk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNM
QVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGF1dG8gc3RyaW5nID0gaWRlbnRpZmllci5zdHJp
bmcoKTsKKyAgICBhdXRvIHN0cmluZyA9IGlkZW50aWZpZXJUb1N0cmluZyhsZXhpY2FsR2xvYmFs
T2JqZWN0LCBpZGVudGlmaWVyKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0p
OwogICAgIHJldHVybiBzdHJpbmdUb0J5dGVTdHJpbmcobGV4aWNhbEdsb2JhbE9iamVjdCwgc2Nv
cGUsIFdURk1vdmUoc3RyaW5nKSk7CiB9CiAKQEAgLTgyLDkgKzk2LDExIEBAIHN0YXRpYyBpbmxp
bmUgU3RyaW5nIHN0cmluZ1RvVVNWU3RyaW5nKFMKICAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5n
KCk7CiB9CiAKLVN0cmluZyBpZGVudGlmaWVyVG9VU1ZTdHJpbmcoSlNHbG9iYWxPYmplY3QmLCBj
b25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyKQorU3RyaW5nIGlkZW50aWZpZXJUb1VTVlN0cmlu
ZyhKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYg
aWRlbnRpZmllcikKIHsKLSAgICBhdXRvIHN0cmluZyA9IGlkZW50aWZpZXIuc3RyaW5nKCk7Cisg
ICAgYXV0byBzdHJpbmcgPSBpZGVudGlmaWVyVG9TdHJpbmcobGV4aWNhbEdsb2JhbE9iamVjdCwg
aWRlbnRpZmllcik7CisgICAgaWYgKCFzdHJpbmcpCisgICAgICAgIHJldHVybiB7IH07CiAgICAg
cmV0dXJuIHN0cmluZ1RvVVNWU3RyaW5nKFdURk1vdmUoc3RyaW5nKSk7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFN0cmluZ3MuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRTdHJpbmdzLmgJKHJl
dmlzaW9uIDI3NDQwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVy
dFN0cmluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK1dFQkNPUkVfRVhQT1JUIFN0cmluZyBpZGVudGlmaWVyVG9TdHJpbmcoSlND
OjpKU0dsb2JhbE9iamVjdCYsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwogV0VCQ09SRV9FWFBP
UlQgU3RyaW5nIGlkZW50aWZpZXJUb0J5dGVTdHJpbmcoSlNDOjpKU0dsb2JhbE9iamVjdCYsIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYpOwogV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHZhbHVlVG9CeXRl
U3RyaW5nKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUpOwogV0VCQ09SRV9FWFBP
UlQgU3RyaW5nIGlkZW50aWZpZXJUb1VTVlN0cmluZyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgY29u
c3QgSlNDOjpJZGVudGlmaWVyJik7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzQ0MDQpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0w
My0xNSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAg
W1dlYklETF0gRml4IGNvbnZlcnRSZWNvcmQoKSB0byB0aHJvdyBvbiBlbnVtZXJhYmxlIHN5bWJv
bCB8a2V5fAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjIzMjMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2RvbS9ET01VUkwvc2VhcmNocGFyYW1zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2RvbS9ET01VUkwvc2VhcmNocGFyYW1zLmh0bWw6CisKIDIwMjEtMDMtMTQgIFl1c3VrZSBT
dXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmV2ZW50IGR5bmFtaWMgaW1w
b3J0IGluIHNlcnZpY2Ugd29ya2VyCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01VUkwv
c2VhcmNocGFyYW1zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9ET01VUkwvc2VhcmNocGFyYW1zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjc0NDA0KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRE9NVVJML3NlYXJjaHBhcmFtcy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTIsNCArMiw1IEBAIENPTlNPTEUgTUVTU0FHRTogUEFTUwogQ09O
U09MRSBNRVNTQUdFOiBQQVNTCiBDT05TT0xFIE1FU1NBR0U6IFBBU1MKIENPTlNPTEUgTUVTU0FH
RTogUEFTUworQ09OU09MRSBNRVNTQUdFOiBQQVNTIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgc3RyaW5nLgogCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9ET01VUkwvc2VhcmNocGFyYW1zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20vRE9NVVJML3NlYXJjaHBhcmFtcy5odG1sCShyZXZpc2lvbiAyNzQ0MDQp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01VUkwvc2VhcmNocGFyYW1zLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTE4LDQgKzE4LDEwIEBAIGxldCBiID0gbmV3IFVSTFNlYXJjaFBhcmFtcygi
YT1iIik7CiBiLmRlbGV0ZSgiYSIpOwogY29uc29sZS5sb2coYiA9PSAiIiA/ICJQQVNTIiA6ICJG
QUlMIik7CiAKK3RyeSB7CisgICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh7IFtTeW1ib2woKV06ICJh
IiB9KTsKKyAgICBjb25zb2xlLmxvZygiRkFJTCIpOworfSBjYXRjaCAoZXJyKSB7CisgICAgY29u
c29sZS5sb2coYFBBU1MgdGhyZXcgZXhjZXB0aW9uICR7ZXJyfS5gKTsKK30KIDwvc2NyaXB0PgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzQ0NTYpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMjEtMDMtMTUgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwu
Y29tPgorCisgICAgICAgIFtXZWJJRExdIEZpeCBjb252ZXJ0UmVjb3JkKCkgdG8gdGhyb3cgb24g
ZW51bWVyYWJsZSBzeW1ib2wgfGtleXwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMzIzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9oZWFkZXJzL2hl
YWRlcnMtcmVjb3JkLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wMy0xNSAgU2FpZCBBYm91LUhhbGxh
d2EgIDxzYWlkQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgdGhlIGxheW91dCB0ZXN0IDJk
LnBhdGguc3Ryb2tlLnNjYWxlMi5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9oZWFkZXJzL2hlYWRlcnMtcmVjb3JkLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL2FwaS9oZWFkZXJzL2hlYWRlcnMtcmVjb3JkLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjc0NDA0KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9hcGkvaGVhZGVycy9oZWFkZXJzLXJlY29yZC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEwLDYgKzEwLDYgQEAgUEFTUyBDb3JyZWN0IG9wZXJhdGlvbiBvcmRl
cmluZyB3aXRoIHR3bwogUEFTUyBDb3JyZWN0IG9wZXJhdGlvbiBvcmRlcmluZyB3aXRoIG5vbi1l
bnVtZXJhYmxlIHByb3BlcnRpZXMKIFBBU1MgQ29ycmVjdCBvcGVyYXRpb24gb3JkZXJpbmcgd2l0
aCB1bmRlZmluZWQgZGVzY3JpcHRvcnMKIFBBU1MgQ29ycmVjdCBvcGVyYXRpb24gb3JkZXJpbmcg
d2l0aCByZXBlYXRlZCBrZXlzCi1GQUlMIEJhc2ljIG9wZXJhdGlvbiB3aXRoIFN5bWJvbCBrZXlz
IGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHZhciBoID0gbmV3IEhl
YWRlcnMocHJveHkpOyB9IiBkaWQgbm90IHRocm93Ci1GQUlMIE9wZXJhdGlvbiB3aXRoIG5vbi1l
bnVtZXJhYmxlIFN5bWJvbCBrZXlzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDkgYnV0IGdvdCA4
CitQQVNTIEJhc2ljIG9wZXJhdGlvbiB3aXRoIFN5bWJvbCBrZXlzCitQQVNTIE9wZXJhdGlvbiB3
aXRoIG5vbi1lbnVtZXJhYmxlIFN5bWJvbCBrZXlzCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423404</attachid>
            <date>2021-03-16 15:24:40 -0700</date>
            <delta_ts>2021-03-17 09:01:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223231-20210317002438.patch</filename>
            <type>text/plain</type>
            <size>10838</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc0NDA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDIxLTAzLTE2ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKwor
ICAgICAgICBbV2ViSURMXSBGaXggY29udmVydFJlY29yZCgpIHRvIHRocm93IG9uIGVudW1lcmFi
bGUgc3ltYm9sIHxrZXl8CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjMyMzEKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAg
ICAgICBFeHBvcnQgU3ltYm9sQ29lcmNpb25FcnJvci4KKworICAgICAgICAqIHJ1bnRpbWUvSlND
SlNWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkpTVmFsdWU6OnRvU3RyaW5nU2xvd0Nhc2UgY29u
c3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNDSlNWYWx1ZS5oOgorCiAyMDIxLTAzLTE0ICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9O
IChyMjc0MzA4KTogVHdvIGFzc2VydGlvbnMgaW4gSlNHbG9iYWxPYmplY3Q6OmRlZmluZU93blBy
b3BlcnR5KCkgYXJlIGZhaWxpbmcKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQ0pTVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQ0pTVmFsdWUuY3BwCShyZXZpc2lvbiAyNzQ0MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUs
OCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY29uc3QgQVNDSUlMaXRlcmFsIFN5bWJvbENvZXJj
aW9uRXJyb3IgeyAiQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBzdHJpbmciX3MgfTsKKwog
ZG91YmxlIEpTVmFsdWU6OnRvSW50ZWdlclByZXNlcnZlTmFOKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpIGNvbnN0CiB7CiAgICAgaWYgKGlzSW50MzIoKSkKQEAgLTQ4OCw3ICs0OTAsNyBA
QCBKU1N0cmluZyogSlNWYWx1ZTo6dG9TdHJpbmdTbG93Q2FzZShKU0dsCiAgICAgICAgIHJldHVy
biByZXR1cm5TdHJpbmc7CiAgICAgfQogICAgIGlmIChpc1N5bWJvbCgpKSB7Ci0gICAgICAgIHRo
cm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJDYW5ub3QgY29udmVydCBhIHN5bWJv
bCB0byBhIHN0cmluZyJfcyk7CisgICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwg
c2NvcGUsIFN5bWJvbENvZXJjaW9uRXJyb3IpOwogICAgICAgICByZXR1cm4gZXJyb3JWYWx1ZSgp
OwogICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFs
dWUuaAkocmV2aXNpb24gMjc0NDA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDSlNWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsNiArMTMzLDggQEAgZW51bSBjbGFz
cyBTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24gOiB1aQogICAgIExpbmtUaW1lQ29uc3RhbnQsCiB9
OwogCitleHRlcm4gSlNfRVhQT1JUX1BSSVZBVEUgY29uc3QgQVNDSUlMaXRlcmFsIFN5bWJvbENv
ZXJjaW9uRXJyb3I7CisKIGNsYXNzIEpTVmFsdWUgewogICAgIGZyaWVuZCBzdHJ1Y3QgRW5jb2Rl
ZEpTVmFsdWVIYXNoVHJhaXRzOwogICAgIGZyaWVuZCBzdHJ1Y3QgRW5jb2RlZEpTVmFsdWVXaXRo
UmVwcmVzZW50YXRpb25IYXNoVHJhaXRzOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc0NDQx
KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MzcgQEAKKzIwMjEtMDMtMTYgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29t
PgorCisgICAgICAgIFtXZWJJRExdIEZpeCBjb252ZXJ0UmVjb3JkKCkgdG8gdGhyb3cgb24gZW51
bWVyYWJsZSBzeW1ib2wgfGtleXwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMzIzMQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgor
CisgICAgICAgIFRoaXMgY2hhbmdlIHJlbW92ZXMgU3RyaW5nIHR5cGUgZmlsdGVyIGZyb20gZ2V0
T3duUHJvcGVydHlOYW1lcygpIGNhbGwgWzFdIHNvCisgICAgICAgIFtbR2V0T3duUHJvcGVydHld
XSBpcyBpbnZva2VkIGZvciBhIHN5bWJvbCB8a2V5fCwgd2hpY2ggaXMgb2JzZXJ2YWJsZSBieSBQ
cm94eSwKKyAgICAgICAgYW5kIGEgVHlwZUVycm9yIGlzIHJhaXNlZCAod2l0aCBoZWxwZnVsIGVy
cm9yIG1lc3NhZ2UpIGlmIGl0J3MgZW51bWVyYWJsZS4KKworICAgICAgICBJbnN0ZWFkIG9mIHRo
cm93aW5nIHJpZ2h0IGluIGNvbnZlcnRSZWNvcmQoKSwgaWRlbnRpZmllclRvU3RyaW5nKCkgaXMg
YWRkZWQsCisgICAgICAgIG1ha2luZyBJZGVudGlmaWVyQ29udmVydGVyIHJldXNhYmxlIGFuZCBj
bG9zZSB0byB0aGUgc3BlYyBbMl0sIHJhdGhlciB0aGFuCisgICAgICAgIGltcGxpY2l0bHkgZGVw
ZW5kZW50IG9uIGlkZW50aWZpZXIgYmVpbmcgYSBzdHJpbmcuCisKKyAgICAgICAgSWRlbnRpZmll
cjo6c3RyaW5nKCkgY2FsbGVkIG9uIGEgc3ltYm9sIHJldHVybnMgaXQncyBbW0Rlc2NyaXB0aW9u
XV0sIHdoaWNoIGlzCisgICAgICAgIHZlcnkgdW5kZXNpcmFibGUuCisKKyAgICAgICAgQWxpZ25z
IFdlYktpdCB3aXRoIEJsaW5rIGFuZCBHZWNrby4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvaGVhZGVycy9oZWFkZXJzLXJlY29yZC5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9ET01VUkwvc2VhcmNocGFyYW1zLmh0bWwKKwor
ICAgICAgICBbMV0gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jZXMtcmVjb3JkIChz
dGVwIDMpCisgICAgICAgIFsyXSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy1E
T01TdHJpbmcgKHN0ZXAgMikKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29udmVydFJl
Y29yZC5oOgorICAgICAgICAoV2ViQ29yZTo6RGV0YWlsOjpJZGVudGlmaWVyQ29udmVydGVyPElE
TERPTVN0cmluZz46OmNvbnZlcnQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29udmVy
dFN0cmluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aWRlbnRpZmllclRvU3RyaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OmlkZW50aWZpZXJUb0J5dGVTdHJpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6aWRlbnRpZmllclRvVVNWU3RyaW5nKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUNv
bnZlcnRTdHJpbmdzLmg6CisKIDIwMjEtMDMtMTUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW5kZXJTdHlsZTo6Z2V0Um91bmRlZElubmVyQm9yZGVyRm9yIHNo
b3VsZCBuZXZlciBwcm9kdWNlIGEgcmVjdCB3aXRoIG5lZ2F0aXZlIHdpZHRoL2hlaWdodApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0UmVjb3JkLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0UmVjb3JkLmgJ
KHJldmlzaW9uIDI3NDQwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29u
dmVydFJlY29yZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw5ICszOCw5IEBAIHRlbXBsYXRlPHR5
cGVuYW1lIElETFN0cmluZ1R5cGU+CiBzdHJ1Y3QgSWRlbnRpZmllckNvbnZlcnRlcjsKIAogdGVt
cGxhdGU8PiBzdHJ1Y3QgSWRlbnRpZmllckNvbnZlcnRlcjxJRExET01TdHJpbmc+IHsKLSAgICBz
dGF0aWMgU3RyaW5nIGNvbnZlcnQoSlNDOjpKU0dsb2JhbE9iamVjdCYsIGNvbnN0IEpTQzo6SWRl
bnRpZmllciYgaWRlbnRpZmllcikKKyAgICBzdGF0aWMgU3RyaW5nIGNvbnZlcnQoSlNDOjpKU0ds
b2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBp
ZGVudGlmaWVyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGlkZW50aWZpZXIuc3RyaW5nKCk7Cisg
ICAgICAgIHJldHVybiBpZGVudGlmaWVyVG9TdHJpbmcobGV4aWNhbEdsb2JhbE9iamVjdCwgaWRl
bnRpZmllcik7CiAgICAgfQogfTsKIApAQCAtOTksOSArOTksOCBAQCBwcml2YXRlOgogICAgICAg
ICBIYXNoTWFwPEtleVR5cGUsIHNpemVfdD4gcmVzdWx0TWFwOwogICAgIAogICAgICAgICAvLyA0
LiBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgotICAgICAgICBKU0M6OlBy
b3BlcnR5TmFtZUFycmF5IGtleXModm0sIEpTQzo6UHJvcGVydHlOYW1lTW9kZTo6U3RyaW5ncywg
SlNDOjpQcml2YXRlU3ltYm9sTW9kZTo6RXhjbHVkZSk7CisgICAgICAgIEpTQzo6UHJvcGVydHlO
YW1lQXJyYXkga2V5cyh2bSwgSlNDOjpQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9s
cywgSlNDOjpQcml2YXRlU3ltYm9sTW9kZTo6RXhjbHVkZSk7CiAgICAgICAgIG9iamVjdC0+bWV0
aG9kVGFibGUodm0pLT5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iamVjdCwgJmxleGljYWxHbG9iYWxP
YmplY3QsIGtleXMsIEpTQzo6RG9udEVudW1Qcm9wZXJ0aWVzTW9kZTo6SW5jbHVkZSk7Ci0KICAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKIAogICAgICAgICAvLyA1LiBS
ZXBlYXQsIGZvciBlYWNoIGVsZW1lbnQga2V5IG9mIGtleXMgaW4gTGlzdCBvcmRlcjoKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFN0cmluZ3MuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFN0cmluZ3Mu
Y3BwCShyZXZpc2lvbiAyNzQ0MDQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUNvbnZlcnRTdHJpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsMTcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKK1N0cmluZyBpZGVudGlm
aWVyVG9TdHJpbmcoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIGNvbnN0IElk
ZW50aWZpZXImIGlkZW50aWZpZXIpCit7CisgICAgaWYgKFVOTElLRUxZKGlkZW50aWZpZXIuaXNT
eW1ib2woKSkpIHsKKyAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUobGV4
aWNhbEdsb2JhbE9iamVjdC52bSgpKTsKKyAgICAgICAgdGhyb3dUeXBlRXJyb3IoJmxleGljYWxH
bG9iYWxPYmplY3QsIHNjb3BlLCBTeW1ib2xDb2VyY2lvbkVycm9yKTsKKyAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICB9CisKKyAgICByZXR1cm4gaWRlbnRpZmllci5zdHJpbmcoKTsKK30KKwogc3Rh
dGljIGlubGluZSBTdHJpbmcgc3RyaW5nVG9CeXRlU3RyaW5nKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlLCBTdHJpbmcmJiBzdHJpbmcp
CiB7CiAgICAgaWYgKCFzdHJpbmcuaXNBbGxMYXRpbjEoKSkgewpAQCAtNDcsNyArNTgsOCBAQCBT
dHJpbmcgaWRlbnRpZmllclRvQnl0ZVN0cmluZyhKU0dsb2JhbE9iCiAgICAgVk0mIHZtID0gbGV4
aWNhbEdsb2JhbE9iamVjdC52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKIAotICAgIGF1dG8gc3RyaW5nID0gaWRlbnRpZmllci5zdHJpbmcoKTsKKyAgICBh
dXRvIHN0cmluZyA9IGlkZW50aWZpZXJUb1N0cmluZyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBpZGVu
dGlmaWVyKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAgIHJldHVy
biBzdHJpbmdUb0J5dGVTdHJpbmcobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIFdURk1vdmUo
c3RyaW5nKSk7CiB9CiAKQEAgLTgyLDEwICs5NCw5IEBAIHN0YXRpYyBpbmxpbmUgU3RyaW5nIHN0
cmluZ1RvVVNWU3RyaW5nKFMKICAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CiB9CiAKLVN0
cmluZyBpZGVudGlmaWVyVG9VU1ZTdHJpbmcoSlNHbG9iYWxPYmplY3QmLCBjb25zdCBJZGVudGlm
aWVyJiBpZGVudGlmaWVyKQorU3RyaW5nIGlkZW50aWZpZXJUb1VTVlN0cmluZyhKU0dsb2JhbE9i
amVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikK
IHsKLSAgICBhdXRvIHN0cmluZyA9IGlkZW50aWZpZXIuc3RyaW5nKCk7Ci0gICAgcmV0dXJuIHN0
cmluZ1RvVVNWU3RyaW5nKFdURk1vdmUoc3RyaW5nKSk7CisgICAgcmV0dXJuIHN0cmluZ1RvVVNW
U3RyaW5nKGlkZW50aWZpZXJUb1N0cmluZyhsZXhpY2FsR2xvYmFsT2JqZWN0LCBpZGVudGlmaWVy
KSk7CiB9CiAKIFN0cmluZyB2YWx1ZVRvVVNWU3RyaW5nKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01Db252ZXJ0U3RyaW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFN0cmluZ3MuaAkocmV2aXNpb24gMjc0NDA0KQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0U3RyaW5ncy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIGlkZW50aWZpZXJUb1N0cmluZyhKU0M6OkpTR2xvYmFsT2JqZWN0Jiwg
Y29uc3QgSlNDOjpJZGVudGlmaWVyJik7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgaWRlbnRpZmll
clRvQnl0ZVN0cmluZyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgY29uc3QgSlNDOjpJZGVudGlmaWVy
Jik7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFsdWVUb0J5dGVTdHJpbmcoSlNDOjpKU0dsb2Jh
bE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgaWRlbnRpZmll
clRvVVNWU3RyaW5nKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBjb25zdCBKU0M6OklkZW50aWZpZXIm
KTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3NDQwNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDIxLTAzLTE2ICBBbGV4ZXkgU2h2YXlr
YSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBbV2ViSURMXSBGaXggY29udmVy
dFJlY29yZCgpIHRvIHRocm93IG9uIGVudW1lcmFibGUgc3ltYm9sIHxrZXl8CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyMzEKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGZhc3QvZG9tL0RPTVVSTC9zZWFy
Y2hwYXJhbXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL0RPTVVSTC9zZWFyY2hw
YXJhbXMuaHRtbDoKKwogMjAyMS0wMy0xNCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUu
Y29tPgogCiAgICAgICAgIFByZXZlbnQgZHluYW1pYyBpbXBvcnQgaW4gc2VydmljZSB3b3JrZXIK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0RPTVVSTC9zZWFyY2hwYXJhbXMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0RPTVVSTC9zZWFyY2hwYXJh
bXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzQ0MDQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9ET01VUkwvc2VhcmNocGFyYW1zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMiw0
ICsyLDUgQEAgQ09OU09MRSBNRVNTQUdFOiBQQVNTCiBDT05TT0xFIE1FU1NBR0U6IFBBU1MKIENP
TlNPTEUgTUVTU0FHRTogUEFTUwogQ09OU09MRSBNRVNTQUdFOiBQQVNTCitDT05TT0xFIE1FU1NB
R0U6IFBBU1MgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQgYSBzeW1i
b2wgdG8gYSBzdHJpbmcuCiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0RPTVVSTC9zZWFy
Y2hwYXJhbXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01VUkwv
c2VhcmNocGFyYW1zLmh0bWwJKHJldmlzaW9uIDI3NDQwNCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL0RPTVVSTC9zZWFyY2hwYXJhbXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTgsNCArMTgs
MTAgQEAgbGV0IGIgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCJhPWIiKTsKIGIuZGVsZXRlKCJhIik7
CiBjb25zb2xlLmxvZyhiID09ICIiID8gIlBBU1MiIDogIkZBSUwiKTsKIAordHJ5IHsKKyAgICBu
ZXcgVVJMU2VhcmNoUGFyYW1zKHsgW1N5bWJvbCgpXTogImEiIH0pOworICAgIGNvbnNvbGUubG9n
KCJGQUlMIik7Cit9IGNhdGNoIChlcnIpIHsKKyAgICBjb25zb2xlLmxvZyhgUEFTUyB0aHJldyBl
eGNlcHRpb24gJHtlcnJ9LmApOworfQogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3NDQ2NCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0wMy0xNiAg
QWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgW1dlYklE
TF0gRml4IGNvbnZlcnRSZWNvcmQoKSB0byB0aHJvdyBvbiBlbnVtZXJhYmxlIHN5bWJvbCB8a2V5
fAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjMx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2hlYWRlcnMvaGVhZGVycy1yZWNvcmQtZXhwZWN0ZWQudHh0
OgorCiAyMDIxLTAzLTE1ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAg
ICAgICAgIEVuYWJsZSB0aGUgbGF5b3V0IHRlc3QgMmQucGF0aC5zdHJva2Uuc2NhbGUyLmh0bWwK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2hlYWRlcnMvaGVhZGVycy1yZWNvcmQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2hlYWRl
cnMvaGVhZGVycy1yZWNvcmQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzQ0MDQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9oZWFkZXJz
L2hlYWRlcnMtcmVjb3JkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTAsNiArMTAs
NiBAQCBQQVNTIENvcnJlY3Qgb3BlcmF0aW9uIG9yZGVyaW5nIHdpdGggdHdvCiBQQVNTIENvcnJl
Y3Qgb3BlcmF0aW9uIG9yZGVyaW5nIHdpdGggbm9uLWVudW1lcmFibGUgcHJvcGVydGllcwogUEFT
UyBDb3JyZWN0IG9wZXJhdGlvbiBvcmRlcmluZyB3aXRoIHVuZGVmaW5lZCBkZXNjcmlwdG9ycwog
UEFTUyBDb3JyZWN0IG9wZXJhdGlvbiBvcmRlcmluZyB3aXRoIHJlcGVhdGVkIGtleXMKLUZBSUwg
QmFzaWMgb3BlcmF0aW9uIHdpdGggU3ltYm9sIGtleXMgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rp
b24gImZ1bmN0aW9uICgpIHsgdmFyIGggPSBuZXcgSGVhZGVycyhwcm94eSk7IH0iIGRpZCBub3Qg
dGhyb3cKLUZBSUwgT3BlcmF0aW9uIHdpdGggbm9uLWVudW1lcmFibGUgU3ltYm9sIGtleXMgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgOSBidXQgZ290IDgKK1BBU1MgQmFzaWMgb3BlcmF0aW9uIHdp
dGggU3ltYm9sIGtleXMKK1BBU1MgT3BlcmF0aW9uIHdpdGggbm9uLWVudW1lcmFibGUgU3ltYm9s
IGtleXMKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>