<?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>238030</bug_id>
          
          <creation_ts>2022-03-17 11:05:32 -0700</creation_ts>
          <short_desc>[JSC][MSVC] custom getter creation needs to include classInfo since MSVC ICF is not &quot;safe&quot; variant</short_desc>
          <delta_ts>2022-03-23 12:44:06 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Windows 10</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=236097</see_also>
          <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="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1852380</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2022-03-17 11:05:32 -0700</bug_when>
    <thetext>This is windows-specific

1. Navigate to https://console.cloudmanagementtest.apteco.com/authentication/login
2. Observe blank page

Bisect results:
First bad: c888e174bc83 Reland StructureID overhaul https://bugs.webkit.org/show_bug.cgi?id=235720
Last good: ef9e9e97b731 Support additional WPEToolingBackend types https://bugs.webkit.org/show_bug.cgi?id=235745

Chane:
https://bugs.webkit.org/show_bug.cgi?id=235720

Error in console:
[Error] ERROR – Error: Uncaught (in promise): TypeError: The Document.onerror getter can only be used on instances of Document
onerror@[native code]
@https://console.cloudmanagementtest.apteco.com/polyfills.573e766b24bdf168.js:1:12802
@https://console.cloudmanagementtest.apteco.com/runtime.14d64c90b81ec588.js:1:1605
@https://console.cloudmanagementtest.apteco.com/runtime.14d64c90b81ec588.js:1:2298
@https://console.cloudmanagementtest.apteco.com/runtime.14d64c90b81ec588.js:1:693
reduce@[native code]
@https://console.cloudmanagementtest.apteco.com/runtime.14d64c90b81ec588.js:1:678
loadChildren@https://console.cloudmanagementtest.apteco.com/main.a57817f372c44157.js:1:6685
loadModuleFactory@https://console.cloudmanagementtest.apteco.com/main.a57817f372c44157.js:1:684262
load@https://console.cloudmanagementtest.apteco.com/main.a57817f372c44157.js:1:683935
@https://console.cloudmanagementtest.apteco.com/main.a57817f372c44157.js:1:676270
te@https://console.cloudmanagementtest.apteco.com/main.a57817f372c44157.js:1:44320
@https://console.cloudmanagementtest.apteco.com/main.a57817f372c44157.js:1:41836</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852459</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-17 13:28:40 -0700</bug_when>
    <thetext>Setting a env var JSC_useJIT to 0 has no effect for this issue.
WinCairo Debug (64bit, compiled by MSVC) can load the page successfully. (See also Bug 236097)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852549</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-17 16:47:26 -0700</bug_when>
    <thetext>I confirmed WinCairo (64bit, Release) compiled by clang-cl also has the same issue.
I used attachment#455038 patch to compile with clang-cl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852550</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-17 16:48:14 -0700</bug_when>
    <thetext>I confirmed the same error without VirtualAlloc2.

diff --git a/Source/WTF/wtf/win/OSAllocatorWin.cpp b/Source/WTF/wtf/win/OSAllocatorWin.cpp
index b7f4eddd288d..96133a38f5ae 100644
--- a/Source/WTF/wtf/win/OSAllocatorWin.cpp
+++ b/Source/WTF/wtf/win/OSAllocatorWin.cpp
@@ -60,6 +60,7 @@ void* OSAllocator::tryReserveUncommittedAligned(size_t bytes, size_t alignment,
 {
     ASSERT(hasOneBitSet(alignment) &amp;&amp; alignment &gt;= pageSize());
 
+#if 0    
     if (VirtualAlloc2Ptr()) {
         MEM_ADDRESS_REQUIREMENTS addressReqs = { };
         MEM_EXTENDED_PARAMETER param = { };
@@ -69,6 +70,7 @@ void* OSAllocator::tryReserveUncommittedAligned(size_t bytes, size_t alignment,
         void* result = VirtualAlloc2Ptr()(nullptr, nullptr, bytes, MEM_RESERVE, protection(writable, executable), &amp;param, 1);
         return result;
     }
+#endif
 
     void* result = tryReserveUncommitted(bytes + alignment);
     // There&apos;s no way to release the reserved memory on Windows, from what I can tell as the whole segment has to be released at once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852630</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-18 00:21:20 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #2)
&gt; I confirmed WinCairo (64bit, Release) compiled by clang-cl also has the same
&gt; issue.
&gt; I used attachment#455038 [details] patch to compile with clang-cl.

I confirmed WinCairo (64bit, Debug) compiled by clang-cl can load the page successfully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853699</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-22 09:08:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/90639246&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854087</commentid>
    <comment_count>6</comment_count>
      <attachid>455477</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-23 02:38:57 -0700</bug_when>
    <thetext>Created attachment 455477
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854090</commentid>
    <comment_count>7</comment_count>
      <attachid>455478</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-23 02:57:19 -0700</bug_when>
    <thetext>Created attachment 455478
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854266</commentid>
    <comment_count>8</comment_count>
      <attachid>455478</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-03-23 10:57:19 -0700</bug_when>
    <thetext>Comment on attachment 455478
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:12
&gt; +        Since JSCustomGetterFunction does separate thing based on attached DOMAttribute, we need to include const ClassInfo*

There is no way we can use slotBase() pointer instead, right? To fix the issue for all possibly accessors rather than only DOMAttribute?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854270</commentid>
    <comment_count>9</comment_count>
      <attachid>455478</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-23 11:00:20 -0700</bug_when>
    <thetext>Comment on attachment 455478
Patch

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

&gt;&gt; Source/JavaScriptCore/ChangeLog:12
&gt;&gt; +        Since JSCustomGetterFunction does separate thing based on attached DOMAttribute, we need to include const ClassInfo*
&gt; 
&gt; There is no way we can use slotBase() pointer instead, right? To fix the issue for all possibly accessors rather than only DOMAttribute?

I think this is fine: if DOMAttribute is not attached, the function itself includes ClassInfo check. This means that each function is not identical.
Only case we get identical code for function is, DOMAttribute is attached and ClassInfo check is delegated into JSCustomGetterFunction side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854307</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-23 11:43:32 -0700</bug_when>
    <thetext>*** Bug 238180 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854309</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-23 11:48:32 -0700</bug_when>
    <thetext>Committed r291756 (248787@main): &lt;https://commits.webkit.org/248787@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455478.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854341</commentid>
    <comment_count>12</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-23 12:44:06 -0700</bug_when>
    <thetext>*** Bug 236097 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455477</attachid>
            <date>2022-03-23 02:38:57 -0700</date>
            <delta_ts>2022-03-23 02:57:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238030-20220323023857.patch</filename>
            <type>text/plain</type>
            <size>9253</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
NDk4ZDI4NDZiMzY2MDAxMmNmZmQwNDZjZTY2ZWMxMGM1YTU1NjY5Li5lMzliNGEwMWUyYzdlOGM2
YjY5MDQwYjFmNjQxOGRmYTg0M2FiNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAyMi0wMy0yMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdW01TVkNdIGN1c3RvbSBnZXR0ZXIgY3JlYXRpb24gbmVlZHMgdG8g
aW5jbHVkZSBjbGFzc0luZm8gc2luY2UgTVNWQyBJQ0YgaXMgbm90ICJzYWZlIiB2YXJpYW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgwMzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNU1ZDIHBlcmZv
cm1zIHZlcnkgYWdncmVzc2l2ZSBJQ0YgKGlkZW50aWNhbCBjb2RlIGZvbGRpbmcpIGFuZCBpdCBl
dmVuIG1lcmdlcyB0aGUgaWRlbnRpY2FsIHR3byBmdW5jdGlvbnMKKyAgICAgICAgaW50byBvbmUg
ZXZlbiB0aG91Z2ggYSBwb2ludGVyIHRvIHRoaXMgZnVuY3Rpb24gaXMgdXNlZC4gVGhpcyBtZWFu
cyBNU1ZDJ3MgSUNGIGlzIG5vdCAic2FmZSJbMV0sIGFuZCBjdXN0b20KKyAgICAgICAgZnVuY3Rp
b24gd2Vha21hcCBpcyBicm9rZW4gb24gTVNWQyBzaW5jZSBpdCBpcyBhc3N1bWluZyBmdW5jdGlv
biBwb2ludGVycyBhcmUgZGlmZmVyZW50IGZvciBkaWZmZXJlbnQgZnVuY3Rpb25zLgorICAgICAg
ICBVbmZvcnR1bmF0ZWx5LCBpdCBzZWVtcyB0aGF0IHRoZXJlIGlzIG5vIGF0dHJpYnV0ZSAvIGFu
bm90YXRpb24gdG8gcHJldmVudCB0aGlzIGJlaGF2aW9yLCBzbyB3ZSBuZWVkIHRvIHdvcmthcm91
bmQgaXQuCisgICAgICAgIFNpbmNlIEpTQ3VzdG9tR2V0dGVyRnVuY3Rpb24gZG9lcyBzZXBhcmF0
ZSB0aGluZyBiYXNlZCBvbiBhdHRhY2hlZCBET01BdHRyaWJ1dGUsIHdlIG5lZWQgdG8gaW5jbHVk
ZSBjb25zdCBDbGFzc0luZm8qCisgICAgICAgIGludG8gYSBrZXkgb2YgSlNDdXN0b21HZXR0ZXJG
dW5jdGlvbiB3ZWFrbWFwIHRvIGVuc3VyZSB0aGF0IHR3byBpZGVudGljYWwgZnVuY3Rpb25zIHdp
dGggZGlmZmVyZW50IGNvbnN0IENsYXNzSW5mbyoKKyAgICAgICAgZG8gbm90IGdldCB0aGUgc2Ft
ZSBKU0N1c3RvbUdldHRlckZ1bmN0aW9uLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly9zdGF0aWMu
Z29vZ2xldXNlcmNvbnRlbnQuY29tL21lZGlhL3Jlc2VhcmNoLmdvb2dsZS5jb20vZW4vL3B1YnMv
YXJjaGl2ZS8zNjkxMi5wZGYKKworICAgICAgICAqIHJ1bnRpbWUvSlNDdXN0b21HZXR0ZXJGdW5j
dGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlvbi5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pTR2xv
YmFsT2JqZWN0SW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6V2Vha0N1
c3RvbUdldHRlck9yU2V0dGVySGFzaDxUPjo6aGFzaCk6CisgICAgICAgICogcnVudGltZS9KU09i
amVjdC5jcHA6CisgICAgICAgIChKU0M6OldlYWtDdXN0b21HZXR0ZXJPclNldHRlckhhc2hUcmFu
c2xhdG9yOjpoYXNoKToKKyAgICAgICAgKEpTQzo6V2Vha0N1c3RvbUdldHRlck9yU2V0dGVySGFz
aFRyYW5zbGF0b3I6OmVxdWFsKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlQ3VzdG9tR2V0dGVyRnVu
Y3Rpb24pOgorICAgICAgICAoSlNDOjpjcmVhdGVDdXN0b21TZXR0ZXJGdW5jdGlvbik6CisKIDIw
MjItMDMtMjIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBb
SlNDXSBUZXN0IERGRyAvIEZUTCBEYXRhSUMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ3VzdG9tR2V0dGVyRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ3VzdG9tR2V0dGVyRnVuY3Rpb24uaAppbmRleCBjYWM3NmVhMWVmMTdi
YzFkNzlmNGI3OTUyNWE2ZmQwM2ViZDkzYWQyLi5lNmFmZDVjZWFjNDI0M2I2NGFjMDc2NzdhNjJl
Yjg5NDY1MWMxMjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0N1c3RvbUdldHRlckZ1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDdXN0b21HZXR0ZXJGdW5jdGlvbi5oCkBAIC01OSw2ICs1OSwxMiBAQCBjbGFzcyBKU0N1
c3RvbUdldHRlckZ1bmN0aW9uIGZpbmFsIDogcHVibGljIEpTRnVuY3Rpb24gewogICAgIEN1c3Rv
bUZ1bmN0aW9uUG9pbnRlciBnZXR0ZXIoKSBjb25zdCB7IHJldHVybiBtX2dldHRlcjsgfTsKICAg
ICBDdXN0b21GdW5jdGlvblBvaW50ZXIgY3VzdG9tRnVuY3Rpb25Qb2ludGVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9nZXR0ZXI7IH07CiAgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0
aW9uPiBkb21BdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBtX2RvbUF0dHJpYnV0ZTsgfTsKKyAg
ICBjb25zdCBDbGFzc0luZm8qIHNsb3RCYXNlQ2xhc3NJbmZvSWZFeGlzdHMoKSBjb25zdAorICAg
IHsKKyAgICAgICAgaWYgKG1fZG9tQXR0cmlidXRlKQorICAgICAgICAgICAgcmV0dXJuIG1fZG9t
QXR0cmlidXRlLT5jbGFzc0luZm87CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KIAog
cHJpdmF0ZToKICAgICBKU0N1c3RvbUdldHRlckZ1bmN0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJs
ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgY29uc3QgUHJvcGVydHlOYW1lJiwgQ3Vz
dG9tRnVuY3Rpb25Qb2ludGVyLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9tU2V0
dGVyRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9tU2V0
dGVyRnVuY3Rpb24uaAppbmRleCAwNzZjOTMwOGZjYzA4YzViNTUzNTA0YzBmZTc0M2MyMDZmZjEx
MmE0Li42YTZjNGRkODNjNWE0NDBhN2FkMmFkMjk2MTM4OTZmOTU2MjU5NjA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0N1c3RvbVNldHRlckZ1bmN0aW9uLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlv
bi5oCkBAIC01OCw2ICs1OCw3IEBAIGNsYXNzIEpTQ3VzdG9tU2V0dGVyRnVuY3Rpb24gZmluYWwg
OiBwdWJsaWMgSlNGdW5jdGlvbiB7CiAgICAgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1l
KCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0eU5hbWU7IH0KICAgICBDdXN0b21GdW5jdGlvblBv
aW50ZXIgc2V0dGVyKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0ZXI7IH07CiAgICAgQ3VzdG9tRnVu
Y3Rpb25Qb2ludGVyIGN1c3RvbUZ1bmN0aW9uUG9pbnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2V0
dGVyOyB9OworICAgIGNvbnN0IENsYXNzSW5mbyogc2xvdEJhc2VDbGFzc0luZm9JZkV4aXN0cygp
IGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KIAogcHJpdmF0ZToKICAgICBKU0N1c3RvbVNldHRl
ckZ1bmN0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0
dXJlKiwgY29uc3QgUHJvcGVydHlOYW1lJiwgQ3VzdG9tRnVuY3Rpb25Qb2ludGVyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IGQ5ZGEx
ZTQ2NmI5Yzk4N2Q3NjMxMGEyYTY3Mzk4Mzc1NjcxNGQzMTEuLjU2YTQzN2ZlMDE2MmEyNGUzOWRi
NjFhZDFiMTgwMjI5ODc1MmM4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNTk5LDcgKzU5OSw3IEBAIGNsYXNzIEpTR2xvYmFsT2Jq
ZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIHN0cnVjdCBXZWFr
Q3VzdG9tR2V0dGVyT3JTZXR0ZXJIYXNoIHsKICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2go
Y29uc3QgV2VhazxUPiYpOwogICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBXZWFrPFQ+
JiwgY29uc3QgV2VhazxUPiYpOwotICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBQ
cm9wZXJ0eU5hbWUmLCB0eXBlbmFtZSBUOjpDdXN0b21GdW5jdGlvblBvaW50ZXIpOworICAgICAg
ICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBQcm9wZXJ0eU5hbWUmLCB0eXBlbmFtZSBUOjpD
dXN0b21GdW5jdGlvblBvaW50ZXIsIGNvbnN0IENsYXNzSW5mbyopOwogCiAgICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IGZhbHNlOwog
ICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdElubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0SW5saW5lcy5oCmluZGV4IDE3MWY4OGU5ZTc4NGUxNGI3MGVkMjg5NGEwMmUzMGY2ZGMx
MGJhMTIuLmNhN2YwZjdmNzI5ZjFmNGFkZjFmYThhYjA4ZGNjOThiNjI0Y2VmNGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0SW5saW5lcy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0SW5saW5l
cy5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgogI2luY2x1ZGUg
IkxpbmtUaW1lQ29uc3RhbnQuaCIKICNpbmNsdWRlICJPYmplY3RQcm90b3R5cGUuaCIKKyNpbmNs
dWRlIDx3dGYvSGFzaGVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0xNTMsNyArMTU0LDcg
QEAgaW5saW5lIHVuc2lnbmVkIEpTR2xvYmFsT2JqZWN0OjpXZWFrQ3VzdG9tR2V0dGVyT3JTZXR0
ZXJIYXNoPFQ+OjpoYXNoKGNvbnN0IFdlYWsKIHsKICAgICBpZiAoIXZhbHVlKQogICAgICAgICBy
ZXR1cm4gMDsKLSAgICByZXR1cm4gaGFzaCh2YWx1ZS0+cHJvcGVydHlOYW1lKCksIHZhbHVlLT5j
dXN0b21GdW5jdGlvblBvaW50ZXIoKSk7CisgICAgcmV0dXJuIGhhc2godmFsdWUtPnByb3BlcnR5
TmFtZSgpLCB2YWx1ZS0+Y3VzdG9tRnVuY3Rpb25Qb2ludGVyKCksIHZhbHVlLT5zbG90QmFzZUNs
YXNzSW5mb0lmRXhpc3RzKCkpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpAQCAtMTY1LDEy
ICsxNjYsMTEgQEAgaW5saW5lIGJvb2wgSlNHbG9iYWxPYmplY3Q6OldlYWtDdXN0b21HZXR0ZXJP
clNldHRlckhhc2g8VD46OmVxdWFsKGNvbnN0IFdlYWs8VD4KIH0KIAogdGVtcGxhdGU8dHlwZW5h
bWUgVD4KLWlubGluZSB1bnNpZ25lZCBKU0dsb2JhbE9iamVjdDo6V2Vha0N1c3RvbUdldHRlck9y
U2V0dGVySGFzaDxUPjo6aGFzaChjb25zdCBQcm9wZXJ0eU5hbWUmIHByb3BlcnR5TmFtZSwgdHlw
ZW5hbWUgVDo6Q3VzdG9tRnVuY3Rpb25Qb2ludGVyIGZ1bmN0aW9uUG9pbnRlcikKK2lubGluZSB1
bnNpZ25lZCBKU0dsb2JhbE9iamVjdDo6V2Vha0N1c3RvbUdldHRlck9yU2V0dGVySGFzaDxUPjo6
aGFzaChjb25zdCBQcm9wZXJ0eU5hbWUmIHByb3BlcnR5TmFtZSwgdHlwZW5hbWUgVDo6Q3VzdG9t
RnVuY3Rpb25Qb2ludGVyIGZ1bmN0aW9uUG9pbnRlciwgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0lu
Zm8pCiB7Ci0gICAgdW5zaWduZWQgaGFzaCA9IERlZmF1bHRIYXNoPHR5cGVuYW1lIFQ6OkN1c3Rv
bUZ1bmN0aW9uUG9pbnRlcj46Omhhc2goZnVuY3Rpb25Qb2ludGVyKTsKICAgICBpZiAoIXByb3Bl
cnR5TmFtZS5pc051bGwoKSkKLSAgICAgICAgaGFzaCA9IFdURjo6cGFpckludEhhc2goaGFzaCwg
cHJvcGVydHlOYW1lLnVpZCgpLT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpKTsKLSAgICByZXR1
cm4gaGFzaDsKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVIYXNoKGZ1bmN0aW9uUG9pbnRlciwgcHJv
cGVydHlOYW1lLnVpZCgpLT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpLCBjbGFzc0luZm8pOwor
ICAgIHJldHVybiBjb21wdXRlSGFzaChmdW5jdGlvblBvaW50ZXIsIGNsYXNzSW5mbyk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuY3BwCmluZGV4IGQ1NDRhNDNiYTE5ZWEzMjdmYmQyODE1YWRjN2FmMzQxNmM1NjFhNjYuLjAz
OWM0NjUwNTMxMWZjYTcxYjQyOTVmMWJhNjkzYjMwMjEwM2E5NDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKQEAgLTM2MjEsMTggKzM2MjEsMTggQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4KIHN0cnVjdCBXZWFrQ3VzdG9tR2V0dGVyT3JTZXR0ZXJIYXNoVHJh
bnNsYXRvciB7CiAgICAgdXNpbmcgQmFzZUhhc2ggPSBKU0dsb2JhbE9iamVjdDo6V2Vha0N1c3Rv
bUdldHRlck9yU2V0dGVySGFzaDxUPjsKIAotICAgIHVzaW5nIEtleSA9IHN0ZDo6cGFpcjxQcm9w
ZXJ0eU5hbWUsIHR5cGVuYW1lIFQ6OkN1c3RvbUZ1bmN0aW9uUG9pbnRlcj47CisgICAgdXNpbmcg
S2V5ID0gc3RkOjp0dXBsZTxQcm9wZXJ0eU5hbWUsIHR5cGVuYW1lIFQ6OkN1c3RvbUZ1bmN0aW9u
UG9pbnRlciwgY29uc3QgQ2xhc3NJbmZvKj47CiAKICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChj
b25zdCBLZXkmIGtleSkKICAgICB7Ci0gICAgICAgIHJldHVybiBCYXNlSGFzaDo6aGFzaChzdGQ6
OmdldDwwPihrZXkpLCBzdGQ6OmdldDwxPihrZXkpKTsKKyAgICAgICAgcmV0dXJuIEJhc2VIYXNo
OjpoYXNoKHN0ZDo6Z2V0PDA+KGtleSksIHN0ZDo6Z2V0PDE+KGtleSksIHN0ZDo6Z2V0PDI+KGtl
eSkpOwogICAgIH0KIAogICAgIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFdlYWs8VD4mIGEsIGNv
bnN0IEtleSYgYikKICAgICB7CiAgICAgICAgIGlmICghYSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgcmV0dXJuIGEtPnByb3BlcnR5TmFtZSgpID09IHN0ZDo6Z2V0PDA+KGIp
ICYmIGEtPmN1c3RvbUZ1bmN0aW9uUG9pbnRlcigpID09IHN0ZDo6Z2V0PDE+KGIpOworICAgICAg
ICByZXR1cm4gYS0+cHJvcGVydHlOYW1lKCkgPT0gc3RkOjpnZXQ8MD4oYikgJiYgYS0+Y3VzdG9t
RnVuY3Rpb25Qb2ludGVyKCkgPT0gc3RkOjpnZXQ8MT4oYikgJiYgYS0+c2xvdEJhc2VDbGFzc0lu
Zm9JZkV4aXN0cygpID09IHN0ZDo6Z2V0PDI+KGIpOwogICAgIH0KIH07CiAKQEAgLTM2NDMsNyAr
MzY0MywxMCBAQCBzdGF0aWMgSlNDdXN0b21HZXR0ZXJGdW5jdGlvbiogY3JlYXRlQ3VzdG9tR2V0
dGVyRnVuY3Rpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbAogICAgIC8vIFdlYWtHQ1NldDo6ZW5z
dXJlVmFsdWUncyBmdW5jdG9yIG11c3Qgbm90IGludm9rZSBHQyBzaW5jZSBHQyBjYW4gbW9kaWZ5
IFdlYWtHQ1NldCBpbiB0aGUgbWlkZGxlIG9mIEhhc2hTZXQ6OmVuc3VyZS4KICAgICAvLyBXZSB1
c2UgRGVmZXJHQyBoZXJlICgxKSBub3QgdG8gaW52b2tlIEdDIHdoZW4gZXhlY3V0aW5nIFdlYWtH
Q1NldDo6ZW5zdXJlVmFsdWUgYW5kICgyKSB0byBhdm9pZCBsb29raW5nIHVwIEhhc2hTZXQgdHdp
Y2UuCiAgICAgRGVmZXJHQyBkZWZlckdDKHZtKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5j
dXN0b21HZXR0ZXJGdW5jdGlvblNldCgpLmVuc3VyZVZhbHVlPFRyYW5zbGF0b3I+KHN0ZDo6bWFr
ZV9wYWlyKHByb3BlcnR5TmFtZSwgZ2V0VmFsdWVGdW5jKSwgWyZdIHsKKyAgICBjb25zdCBDbGFz
c0luZm8qIGNsYXNzSW5mbyA9IG51bGxwdHI7CisgICAgaWYgKGRvbUF0dHJpYnV0ZSkKKyAgICAg
ICAgY2xhc3NJbmZvID0gZG9tQXR0cmlidXRlLT5jbGFzc0luZm87CisgICAgcmV0dXJuIGdsb2Jh
bE9iamVjdC0+Y3VzdG9tR2V0dGVyRnVuY3Rpb25TZXQoKS5lbnN1cmVWYWx1ZTxUcmFuc2xhdG9y
PihzdGQ6OnR1cGxlIHsgcHJvcGVydHlOYW1lLCBnZXRWYWx1ZUZ1bmMsIGNsYXNzSW5mbyB9LCBb
Jl0gewogICAgICAgICByZXR1cm4gSlNDdXN0b21HZXR0ZXJGdW5jdGlvbjo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgZ2V0VmFsdWVGdW5jLCBkb21BdHRyaWJ1dGUpOwog
ICAgIH0pOwogfQpAQCAtMzY1NSw3ICszNjU4LDcgQEAgc3RhdGljIEpTQ3VzdG9tU2V0dGVyRnVu
Y3Rpb24qIGNyZWF0ZUN1c3RvbVNldHRlckZ1bmN0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWwK
ICAgICAvLyBXZWFrR0NTZXQ6OmVuc3VyZVZhbHVlJ3MgZnVuY3RvciBtdXN0IG5vdCBpbnZva2Ug
R0Mgc2luY2UgR0MgY2FuIG1vZGlmeSBXZWFrR0NTZXQgaW4gdGhlIG1pZGRsZSBvZiBIYXNoU2V0
OjplbnN1cmUuCiAgICAgLy8gV2UgdXNlIERlZmVyR0MgaGVyZSAoMSkgbm90IHRvIGludm9rZSBH
QyB3aGVuIGV4ZWN1dGluZyBXZWFrR0NTZXQ6OmVuc3VyZVZhbHVlIGFuZCAoMikgdG8gYXZvaWQg
bG9va2luZyB1cCBIYXNoU2V0IHR3aWNlLgogICAgIERlZmVyR0MgZGVmZXJHQyh2bSk7Ci0gICAg
cmV0dXJuIGdsb2JhbE9iamVjdC0+Y3VzdG9tU2V0dGVyRnVuY3Rpb25TZXQoKS5lbnN1cmVWYWx1
ZTxUcmFuc2xhdG9yPihzdGQ6Om1ha2VfcGFpcihwcm9wZXJ0eU5hbWUsIHB1dFZhbHVlRnVuYyks
IFsmXSB7CisgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+Y3VzdG9tU2V0dGVyRnVuY3Rpb25TZXQo
KS5lbnN1cmVWYWx1ZTxUcmFuc2xhdG9yPihzdGQ6OnR1cGxlIHsgcHJvcGVydHlOYW1lLCBwdXRW
YWx1ZUZ1bmMsIG51bGxwdHIgfSwgWyZdIHsKICAgICAgICAgcmV0dXJuIEpTQ3VzdG9tU2V0dGVy
RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIHB1dFZhbHVl
RnVuYyk7CiAgICAgfSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455478</attachid>
            <date>2022-03-23 02:57:19 -0700</date>
            <delta_ts>2022-03-23 11:48:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238030-20220323025718.patch</filename>
            <type>text/plain</type>
            <size>9263</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
NDk4ZDI4NDZiMzY2MDAxMmNmZmQwNDZjZTY2ZWMxMGM1YTU1NjY5Li5lMzliNGEwMWUyYzdlOGM2
YjY5MDQwYjFmNjQxOGRmYTg0M2FiNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAyMi0wMy0yMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdW01TVkNdIGN1c3RvbSBnZXR0ZXIgY3JlYXRpb24gbmVlZHMgdG8g
aW5jbHVkZSBjbGFzc0luZm8gc2luY2UgTVNWQyBJQ0YgaXMgbm90ICJzYWZlIiB2YXJpYW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgwMzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNU1ZDIHBlcmZv
cm1zIHZlcnkgYWdncmVzc2l2ZSBJQ0YgKGlkZW50aWNhbCBjb2RlIGZvbGRpbmcpIGFuZCBpdCBl
dmVuIG1lcmdlcyB0aGUgaWRlbnRpY2FsIHR3byBmdW5jdGlvbnMKKyAgICAgICAgaW50byBvbmUg
ZXZlbiB0aG91Z2ggYSBwb2ludGVyIHRvIHRoaXMgZnVuY3Rpb24gaXMgdXNlZC4gVGhpcyBtZWFu
cyBNU1ZDJ3MgSUNGIGlzIG5vdCAic2FmZSJbMV0sIGFuZCBjdXN0b20KKyAgICAgICAgZnVuY3Rp
b24gd2Vha21hcCBpcyBicm9rZW4gb24gTVNWQyBzaW5jZSBpdCBpcyBhc3N1bWluZyBmdW5jdGlv
biBwb2ludGVycyBhcmUgZGlmZmVyZW50IGZvciBkaWZmZXJlbnQgZnVuY3Rpb25zLgorICAgICAg
ICBVbmZvcnR1bmF0ZWx5LCBpdCBzZWVtcyB0aGF0IHRoZXJlIGlzIG5vIGF0dHJpYnV0ZSAvIGFu
bm90YXRpb24gdG8gcHJldmVudCB0aGlzIGJlaGF2aW9yLCBzbyB3ZSBuZWVkIHRvIHdvcmthcm91
bmQgaXQuCisgICAgICAgIFNpbmNlIEpTQ3VzdG9tR2V0dGVyRnVuY3Rpb24gZG9lcyBzZXBhcmF0
ZSB0aGluZyBiYXNlZCBvbiBhdHRhY2hlZCBET01BdHRyaWJ1dGUsIHdlIG5lZWQgdG8gaW5jbHVk
ZSBjb25zdCBDbGFzc0luZm8qCisgICAgICAgIGludG8gYSBrZXkgb2YgSlNDdXN0b21HZXR0ZXJG
dW5jdGlvbiB3ZWFrbWFwIHRvIGVuc3VyZSB0aGF0IHR3byBpZGVudGljYWwgZnVuY3Rpb25zIHdp
dGggZGlmZmVyZW50IGNvbnN0IENsYXNzSW5mbyoKKyAgICAgICAgZG8gbm90IGdldCB0aGUgc2Ft
ZSBKU0N1c3RvbUdldHRlckZ1bmN0aW9uLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly9zdGF0aWMu
Z29vZ2xldXNlcmNvbnRlbnQuY29tL21lZGlhL3Jlc2VhcmNoLmdvb2dsZS5jb20vZW4vL3B1YnMv
YXJjaGl2ZS8zNjkxMi5wZGYKKworICAgICAgICAqIHJ1bnRpbWUvSlNDdXN0b21HZXR0ZXJGdW5j
dGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlvbi5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pTR2xv
YmFsT2JqZWN0SW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6V2Vha0N1
c3RvbUdldHRlck9yU2V0dGVySGFzaDxUPjo6aGFzaCk6CisgICAgICAgICogcnVudGltZS9KU09i
amVjdC5jcHA6CisgICAgICAgIChKU0M6OldlYWtDdXN0b21HZXR0ZXJPclNldHRlckhhc2hUcmFu
c2xhdG9yOjpoYXNoKToKKyAgICAgICAgKEpTQzo6V2Vha0N1c3RvbUdldHRlck9yU2V0dGVySGFz
aFRyYW5zbGF0b3I6OmVxdWFsKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlQ3VzdG9tR2V0dGVyRnVu
Y3Rpb24pOgorICAgICAgICAoSlNDOjpjcmVhdGVDdXN0b21TZXR0ZXJGdW5jdGlvbik6CisKIDIw
MjItMDMtMjIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBb
SlNDXSBUZXN0IERGRyAvIEZUTCBEYXRhSUMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ3VzdG9tR2V0dGVyRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ3VzdG9tR2V0dGVyRnVuY3Rpb24uaAppbmRleCBjYWM3NmVhMWVmMTdi
YzFkNzlmNGI3OTUyNWE2ZmQwM2ViZDkzYWQyLi5lNmFmZDVjZWFjNDI0M2I2NGFjMDc2NzdhNjJl
Yjg5NDY1MWMxMjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0N1c3RvbUdldHRlckZ1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDdXN0b21HZXR0ZXJGdW5jdGlvbi5oCkBAIC01OSw2ICs1OSwxMiBAQCBjbGFzcyBKU0N1
c3RvbUdldHRlckZ1bmN0aW9uIGZpbmFsIDogcHVibGljIEpTRnVuY3Rpb24gewogICAgIEN1c3Rv
bUZ1bmN0aW9uUG9pbnRlciBnZXR0ZXIoKSBjb25zdCB7IHJldHVybiBtX2dldHRlcjsgfTsKICAg
ICBDdXN0b21GdW5jdGlvblBvaW50ZXIgY3VzdG9tRnVuY3Rpb25Qb2ludGVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9nZXR0ZXI7IH07CiAgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0
aW9uPiBkb21BdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBtX2RvbUF0dHJpYnV0ZTsgfTsKKyAg
ICBjb25zdCBDbGFzc0luZm8qIHNsb3RCYXNlQ2xhc3NJbmZvSWZFeGlzdHMoKSBjb25zdAorICAg
IHsKKyAgICAgICAgaWYgKG1fZG9tQXR0cmlidXRlKQorICAgICAgICAgICAgcmV0dXJuIG1fZG9t
QXR0cmlidXRlLT5jbGFzc0luZm87CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KIAog
cHJpdmF0ZToKICAgICBKU0N1c3RvbUdldHRlckZ1bmN0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJs
ZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgY29uc3QgUHJvcGVydHlOYW1lJiwgQ3Vz
dG9tRnVuY3Rpb25Qb2ludGVyLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9tU2V0
dGVyRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9tU2V0
dGVyRnVuY3Rpb24uaAppbmRleCAwNzZjOTMwOGZjYzA4YzViNTUzNTA0YzBmZTc0M2MyMDZmZjEx
MmE0Li42YTZjNGRkODNjNWE0NDBhN2FkMmFkMjk2MTM4OTZmOTU2MjU5NjA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0N1c3RvbVNldHRlckZ1bmN0aW9uLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlv
bi5oCkBAIC01OCw2ICs1OCw3IEBAIGNsYXNzIEpTQ3VzdG9tU2V0dGVyRnVuY3Rpb24gZmluYWwg
OiBwdWJsaWMgSlNGdW5jdGlvbiB7CiAgICAgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1l
KCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0eU5hbWU7IH0KICAgICBDdXN0b21GdW5jdGlvblBv
aW50ZXIgc2V0dGVyKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0ZXI7IH07CiAgICAgQ3VzdG9tRnVu
Y3Rpb25Qb2ludGVyIGN1c3RvbUZ1bmN0aW9uUG9pbnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2V0
dGVyOyB9OworICAgIGNvbnN0IENsYXNzSW5mbyogc2xvdEJhc2VDbGFzc0luZm9JZkV4aXN0cygp
IGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KIAogcHJpdmF0ZToKICAgICBKU0N1c3RvbVNldHRl
ckZ1bmN0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0
dXJlKiwgY29uc3QgUHJvcGVydHlOYW1lJiwgQ3VzdG9tRnVuY3Rpb25Qb2ludGVyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IGQ5ZGEx
ZTQ2NmI5Yzk4N2Q3NjMxMGEyYTY3Mzk4Mzc1NjcxNGQzMTEuLjU2YTQzN2ZlMDE2MmEyNGUzOWRi
NjFhZDFiMTgwMjI5ODc1MmM4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNTk5LDcgKzU5OSw3IEBAIGNsYXNzIEpTR2xvYmFsT2Jq
ZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIHN0cnVjdCBXZWFr
Q3VzdG9tR2V0dGVyT3JTZXR0ZXJIYXNoIHsKICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2go
Y29uc3QgV2VhazxUPiYpOwogICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBXZWFrPFQ+
JiwgY29uc3QgV2VhazxUPiYpOwotICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBQ
cm9wZXJ0eU5hbWUmLCB0eXBlbmFtZSBUOjpDdXN0b21GdW5jdGlvblBvaW50ZXIpOworICAgICAg
ICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBQcm9wZXJ0eU5hbWUmLCB0eXBlbmFtZSBUOjpD
dXN0b21GdW5jdGlvblBvaW50ZXIsIGNvbnN0IENsYXNzSW5mbyopOwogCiAgICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IGZhbHNlOwog
ICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdElubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0SW5saW5lcy5oCmluZGV4IDE3MWY4OGU5ZTc4NGUxNGI3MGVkMjg5NGEwMmUzMGY2ZGMx
MGJhMTIuLmI5YzRmMjc1OGZkOWM4ZTA3Mzg0NWVhYjI0Njg3N2JkYWMxYTc3YTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0SW5saW5lcy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0SW5saW5l
cy5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgogI2luY2x1ZGUg
IkxpbmtUaW1lQ29uc3RhbnQuaCIKICNpbmNsdWRlICJPYmplY3RQcm90b3R5cGUuaCIKKyNpbmNs
dWRlIDx3dGYvSGFzaGVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0xNTMsNyArMTU0LDcg
QEAgaW5saW5lIHVuc2lnbmVkIEpTR2xvYmFsT2JqZWN0OjpXZWFrQ3VzdG9tR2V0dGVyT3JTZXR0
ZXJIYXNoPFQ+OjpoYXNoKGNvbnN0IFdlYWsKIHsKICAgICBpZiAoIXZhbHVlKQogICAgICAgICBy
ZXR1cm4gMDsKLSAgICByZXR1cm4gaGFzaCh2YWx1ZS0+cHJvcGVydHlOYW1lKCksIHZhbHVlLT5j
dXN0b21GdW5jdGlvblBvaW50ZXIoKSk7CisgICAgcmV0dXJuIGhhc2godmFsdWUtPnByb3BlcnR5
TmFtZSgpLCB2YWx1ZS0+Y3VzdG9tRnVuY3Rpb25Qb2ludGVyKCksIHZhbHVlLT5zbG90QmFzZUNs
YXNzSW5mb0lmRXhpc3RzKCkpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpAQCAtMTY1LDEy
ICsxNjYsMTEgQEAgaW5saW5lIGJvb2wgSlNHbG9iYWxPYmplY3Q6OldlYWtDdXN0b21HZXR0ZXJP
clNldHRlckhhc2g8VD46OmVxdWFsKGNvbnN0IFdlYWs8VD4KIH0KIAogdGVtcGxhdGU8dHlwZW5h
bWUgVD4KLWlubGluZSB1bnNpZ25lZCBKU0dsb2JhbE9iamVjdDo6V2Vha0N1c3RvbUdldHRlck9y
U2V0dGVySGFzaDxUPjo6aGFzaChjb25zdCBQcm9wZXJ0eU5hbWUmIHByb3BlcnR5TmFtZSwgdHlw
ZW5hbWUgVDo6Q3VzdG9tRnVuY3Rpb25Qb2ludGVyIGZ1bmN0aW9uUG9pbnRlcikKK2lubGluZSB1
bnNpZ25lZCBKU0dsb2JhbE9iamVjdDo6V2Vha0N1c3RvbUdldHRlck9yU2V0dGVySGFzaDxUPjo6
aGFzaChjb25zdCBQcm9wZXJ0eU5hbWUmIHByb3BlcnR5TmFtZSwgdHlwZW5hbWUgVDo6Q3VzdG9t
RnVuY3Rpb25Qb2ludGVyIGZ1bmN0aW9uUG9pbnRlciwgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0lu
Zm8pCiB7Ci0gICAgdW5zaWduZWQgaGFzaCA9IERlZmF1bHRIYXNoPHR5cGVuYW1lIFQ6OkN1c3Rv
bUZ1bmN0aW9uUG9pbnRlcj46Omhhc2goZnVuY3Rpb25Qb2ludGVyKTsKICAgICBpZiAoIXByb3Bl
cnR5TmFtZS5pc051bGwoKSkKLSAgICAgICAgaGFzaCA9IFdURjo6cGFpckludEhhc2goaGFzaCwg
cHJvcGVydHlOYW1lLnVpZCgpLT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpKTsKLSAgICByZXR1
cm4gaGFzaDsKKyAgICAgICAgcmV0dXJuIFdURjo6Y29tcHV0ZUhhc2goZnVuY3Rpb25Qb2ludGVy
LCBwcm9wZXJ0eU5hbWUudWlkKCktPmV4aXN0aW5nU3ltYm9sQXdhcmVIYXNoKCksIGNsYXNzSW5m
byk7CisgICAgcmV0dXJuIFdURjo6Y29tcHV0ZUhhc2goZnVuY3Rpb25Qb2ludGVyLCBjbGFzc0lu
Zm8pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmNwcAppbmRleCBkNTQ0YTQzYmExOWVhMzI3ZmJkMjgxNWFkYzdhZjM0MTZj
NTYxYTY2Li4wMzljNDY1MDUzMTFmY2E3MWI0Mjk1ZjFiYTY5M2IzMDIxMDNhOTQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC0zNjIxLDE4ICszNjIx
LDE4IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBzdHJ1Y3QgV2Vha0N1c3RvbUdldHRlck9yU2V0
dGVySGFzaFRyYW5zbGF0b3IgewogICAgIHVzaW5nIEJhc2VIYXNoID0gSlNHbG9iYWxPYmplY3Q6
OldlYWtDdXN0b21HZXR0ZXJPclNldHRlckhhc2g8VD47CiAKLSAgICB1c2luZyBLZXkgPSBzdGQ6
OnBhaXI8UHJvcGVydHlOYW1lLCB0eXBlbmFtZSBUOjpDdXN0b21GdW5jdGlvblBvaW50ZXI+Owor
ICAgIHVzaW5nIEtleSA9IHN0ZDo6dHVwbGU8UHJvcGVydHlOYW1lLCB0eXBlbmFtZSBUOjpDdXN0
b21GdW5jdGlvblBvaW50ZXIsIGNvbnN0IENsYXNzSW5mbyo+OwogCiAgICAgc3RhdGljIHVuc2ln
bmVkIGhhc2goY29uc3QgS2V5JiBrZXkpCiAgICAgewotICAgICAgICByZXR1cm4gQmFzZUhhc2g6
Omhhc2goc3RkOjpnZXQ8MD4oa2V5KSwgc3RkOjpnZXQ8MT4oa2V5KSk7CisgICAgICAgIHJldHVy
biBCYXNlSGFzaDo6aGFzaChzdGQ6OmdldDwwPihrZXkpLCBzdGQ6OmdldDwxPihrZXkpLCBzdGQ6
OmdldDwyPihrZXkpKTsKICAgICB9CiAKICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBXZWFr
PFQ+JiBhLCBjb25zdCBLZXkmIGIpCiAgICAgewogICAgICAgICBpZiAoIWEpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJldHVybiBhLT5wcm9wZXJ0eU5hbWUoKSA9PSBzdGQ6
OmdldDwwPihiKSAmJiBhLT5jdXN0b21GdW5jdGlvblBvaW50ZXIoKSA9PSBzdGQ6OmdldDwxPihi
KTsKKyAgICAgICAgcmV0dXJuIGEtPnByb3BlcnR5TmFtZSgpID09IHN0ZDo6Z2V0PDA+KGIpICYm
IGEtPmN1c3RvbUZ1bmN0aW9uUG9pbnRlcigpID09IHN0ZDo6Z2V0PDE+KGIpICYmIGEtPnNsb3RC
YXNlQ2xhc3NJbmZvSWZFeGlzdHMoKSA9PSBzdGQ6OmdldDwyPihiKTsKICAgICB9CiB9OwogCkBA
IC0zNjQzLDcgKzM2NDMsMTAgQEAgc3RhdGljIEpTQ3VzdG9tR2V0dGVyRnVuY3Rpb24qIGNyZWF0
ZUN1c3RvbUdldHRlckZ1bmN0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWwKICAgICAvLyBXZWFr
R0NTZXQ6OmVuc3VyZVZhbHVlJ3MgZnVuY3RvciBtdXN0IG5vdCBpbnZva2UgR0Mgc2luY2UgR0Mg
Y2FuIG1vZGlmeSBXZWFrR0NTZXQgaW4gdGhlIG1pZGRsZSBvZiBIYXNoU2V0OjplbnN1cmUuCiAg
ICAgLy8gV2UgdXNlIERlZmVyR0MgaGVyZSAoMSkgbm90IHRvIGludm9rZSBHQyB3aGVuIGV4ZWN1
dGluZyBXZWFrR0NTZXQ6OmVuc3VyZVZhbHVlIGFuZCAoMikgdG8gYXZvaWQgbG9va2luZyB1cCBI
YXNoU2V0IHR3aWNlLgogICAgIERlZmVyR0MgZGVmZXJHQyh2bSk7Ci0gICAgcmV0dXJuIGdsb2Jh
bE9iamVjdC0+Y3VzdG9tR2V0dGVyRnVuY3Rpb25TZXQoKS5lbnN1cmVWYWx1ZTxUcmFuc2xhdG9y
PihzdGQ6Om1ha2VfcGFpcihwcm9wZXJ0eU5hbWUsIGdldFZhbHVlRnVuYyksIFsmXSB7CisgICAg
Y29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8gPSBudWxscHRyOworICAgIGlmIChkb21BdHRyaWJ1
dGUpCisgICAgICAgIGNsYXNzSW5mbyA9IGRvbUF0dHJpYnV0ZS0+Y2xhc3NJbmZvOworICAgIHJl
dHVybiBnbG9iYWxPYmplY3QtPmN1c3RvbUdldHRlckZ1bmN0aW9uU2V0KCkuZW5zdXJlVmFsdWU8
VHJhbnNsYXRvcj4oc3RkOjp0dXBsZSB7IHByb3BlcnR5TmFtZSwgZ2V0VmFsdWVGdW5jLCBjbGFz
c0luZm8gfSwgWyZdIHsKICAgICAgICAgcmV0dXJuIEpTQ3VzdG9tR2V0dGVyRnVuY3Rpb246OmNy
ZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIGdldFZhbHVlRnVuYywgZG9tQXR0
cmlidXRlKTsKICAgICB9KTsKIH0KQEAgLTM2NTUsNyArMzY1OCw3IEBAIHN0YXRpYyBKU0N1c3Rv
bVNldHRlckZ1bmN0aW9uKiBjcmVhdGVDdXN0b21TZXR0ZXJGdW5jdGlvbihKU0dsb2JhbE9iamVj
dCogZ2xvYmFsCiAgICAgLy8gV2Vha0dDU2V0OjplbnN1cmVWYWx1ZSdzIGZ1bmN0b3IgbXVzdCBu
b3QgaW52b2tlIEdDIHNpbmNlIEdDIGNhbiBtb2RpZnkgV2Vha0dDU2V0IGluIHRoZSBtaWRkbGUg
b2YgSGFzaFNldDo6ZW5zdXJlLgogICAgIC8vIFdlIHVzZSBEZWZlckdDIGhlcmUgKDEpIG5vdCB0
byBpbnZva2UgR0Mgd2hlbiBleGVjdXRpbmcgV2Vha0dDU2V0OjplbnN1cmVWYWx1ZSBhbmQgKDIp
IHRvIGF2b2lkIGxvb2tpbmcgdXAgSGFzaFNldCB0d2ljZS4KICAgICBEZWZlckdDIGRlZmVyR0Mo
dm0pOwotICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmN1c3RvbVNldHRlckZ1bmN0aW9uU2V0KCku
ZW5zdXJlVmFsdWU8VHJhbnNsYXRvcj4oc3RkOjptYWtlX3BhaXIocHJvcGVydHlOYW1lLCBwdXRW
YWx1ZUZ1bmMpLCBbJl0geworICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmN1c3RvbVNldHRlckZ1
bmN0aW9uU2V0KCkuZW5zdXJlVmFsdWU8VHJhbnNsYXRvcj4oc3RkOjp0dXBsZSB7IHByb3BlcnR5
TmFtZSwgcHV0VmFsdWVGdW5jLCBudWxscHRyIH0sIFsmXSB7CiAgICAgICAgIHJldHVybiBKU0N1
c3RvbVNldHRlckZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1l
LCBwdXRWYWx1ZUZ1bmMpOwogICAgIH0pOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>