<?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>293363</bug_id>
          
          <creation_ts>2025-05-21 07:36:04 -0700</creation_ts>
          <short_desc>Use SingleThreadWeakHashMap&lt;RenderFoo&gt; instead of UncheckedKeyHashMap&lt;SingleThreadWeakRef&lt;RenderFoo&gt;&gt; in multicolumn code</short_desc>
          <delta_ts>2025-05-21 13:31:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2118667</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-05-21 07:36:04 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2118668</commentid>
    <comment_count>1</comment_count>
      <attachid>475330</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-05-21 07:37:32 -0700</bug_when>
    <thetext>Created attachment 475330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2118677</commentid>
    <comment_count>2</comment_count>
      <attachid>475331</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-05-21 08:36:00 -0700</bug_when>
    <thetext>Created attachment 475331
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2118758</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-05-21 13:30:52 -0700</bug_when>
    <thetext>Committed 295227@main (6928063c5d37): &lt;https://commits.webkit.org/295227@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 475331.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2118759</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-05-21 13:31:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/151799223&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>475330</attachid>
            <date>2025-05-21 07:37:32 -0700</date>
            <delta_ts>2025-05-21 08:35:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-293363-20250521073730.patch</filename>
            <type>text/plain</type>
            <size>14960</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBjNzNjYTViNzA0ODRjZmE3ZjhiYzQyNDcwYTllNmY2ZjVkZDUwYjMwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgMjEgTWF5IDIwMjUgMDc6MzY6MTQgLTA3MDAKU3ViamVjdDogW1BBVENIXSBVc2UgU2lu
Z2xlVGhyZWFkV2Vha0hhc2hNYXA8UmVuZGVyRm9vPiBpbnN0ZWFkIG9mCiBVbmNoZWNrZWRLZXlI
YXNoTWFwPFNpbmdsZVRocmVhZFdlYWtSZWY8UmVuZGVyRm9vPj4gaW4gbXVsdGljb2x1bW4gY29k
ZQogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MzM2MwoKUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaXRoIGRlbGF5ZWQgcmVuZGVyZXIgZGVzdHJ1Y3Rpb24s
IHN1Y2ggV2Vha1JlZnMgYXJlIG5vdCBndWFyYW50ZWVkIGFueW1vcmUuCgoqIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcDoKKFdlYkNvcmU6OlJlbmRlckxpc3RN
YXJrZXI6OnBhcmVudEJveCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRp
Q29sdW1uRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OmZpcnN0Q29s
dW1uU2V0T3JTcGFubmVyIGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uRmxvdzo6
ZmluZENvbHVtblNwYW5uZXJQbGFjZWhvbGRlciBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHA6CihXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNl
dDo6Zmlyc3RSZW5kZXJlckluRnJhZ21lbnRlZEZsb3cgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVy
TXVsdGlDb2x1bW5TZXQ6Omxhc3RSZW5kZXJlckluRnJhZ21lbnRlZEZsb3cgY29uc3QpOgooV2Vi
Q29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnJlcXVpcmVzQmFsYW5jaW5nIGNvbnN0KToKKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6cHJvcGFnYXRlUmVwYWludFRvUGFyZW50V2l0aE91dGxpbmVBdXRvSWZOZWVkZWQg
Y29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVp
bGRlci5jcHA6CihXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6YXR0YWNoSW50ZXJuYWwpOgoq
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlck11bHRp
Q29sdW1uLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6cmVz
b2x2ZU1vdmVkQ2hpbGQpOgooV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29sdW1u
OjpyZXN0b3JlQ29sdW1uU3Bhbm5lcnNGb3JDb250YWluZXIpOgooV2ViQ29yZTo6UmVuZGVyVHJl
ZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjptdWx0aUNvbHVtbkRlc2NlbmRhbnRJbnNlcnRlZCk6CihX
ZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46Om11bHRpQ29sdW1uUmVsYXRp
dmVXaWxsQmVSZW1vdmVkKToKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVt
bjo6YWRqdXN0QmVmb3JlQ2hpbGRGb3JNdWx0aUNvbHVtblNwYW5uZXJJZk5lZWRlZCk6CihXZWJD
b3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmRlc3Ryb3lGcmFnbWVudGVkRmxv
dyk6CihXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmhhbmRsZVNwYW5u
ZXJSZW1vdmFsKToKLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtl
ci5jcHAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlD
b2x1bW5GbG93LmNwcCB8ICA0ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtbkZsb3cuaCAgIHwgIDYgKysrLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwICB8IDEyICsrKysrKy0tLS0tLQogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgICAgICAgICAgfCAgMiArLQogLi4uL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgICAgICAgfCAgMiArLQogLi4uL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4uY3BwICAgICAgfCAxNCArKysrKysr
LS0tLS0tLQogNyBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKaW5k
ZXggYjQ1YzVlYzhiM2UzLi5mMWZkNzgwNDZkOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKQEAgLTIzNiw3ICsyMzYsNyBAQCBSZW5kZXJCb3gq
IFJlbmRlckxpc3RNYXJrZXI6OnBhcmVudEJveChSZW5kZXJCb3gmIGJveCkKICAgICBDaGVja2Vk
UHRyIG11bHRpQ29sdW1uRmxvdyA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJNdWx0aUNvbHVtbkZs
b3c+KG1fbGlzdEl0ZW0tPmVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkpOwogICAgIGlmICghbXVs
dGlDb2x1bW5GbG93KQogICAgICAgICByZXR1cm4gYm94LnBhcmVudEJveCgpOwotICAgIGF1dG8q
IHBsYWNlaG9sZGVyID0gbXVsdGlDb2x1bW5GbG93LT5maW5kQ29sdW1uU3Bhbm5lclBsYWNlaG9s
ZGVyKCZib3gpOworICAgIGF1dG8qIHBsYWNlaG9sZGVyID0gbXVsdGlDb2x1bW5GbG93LT5maW5k
Q29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyKGJveCk7CiAgICAgcmV0dXJuIHBsYWNlaG9sZGVyID8g
cGxhY2Vob2xkZXItPnBhcmVudEJveCgpIDogYm94LnBhcmVudEJveCgpOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcAppbmRl
eCAwNjcyNDhkMzc5NzcuLjg4MTllZGYwODZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgUmVu
ZGVyQm94KiBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OmZpcnN0Q29sdW1uU2V0T3JTcGFubmVyKCkg
Y29uc3QKIHsKICAgICBpZiAoUmVuZGVyT2JqZWN0KiBzaWJsaW5nID0gbmV4dFNpYmxpbmcoKSkg
ewogICAgICAgICBBU1NFUlQoaXM8UmVuZGVyQm94Pigqc2libGluZykpOwotICAgICAgICBBU1NF
UlQoaXM8UmVuZGVyTXVsdGlDb2x1bW5TZXQ+KCpzaWJsaW5nKSB8fCBmaW5kQ29sdW1uU3Bhbm5l
clBsYWNlaG9sZGVyKGRvd25jYXN0PFJlbmRlckJveD4oc2libGluZykpKTsKKyAgICAgICAgQVNT
RVJUKGlzPFJlbmRlck11bHRpQ29sdW1uU2V0Pigqc2libGluZykgfHwgZmluZENvbHVtblNwYW5u
ZXJQbGFjZWhvbGRlcihkb3duY2FzdDxSZW5kZXJCb3g+KCpzaWJsaW5nKSkpOwogICAgICAgICBy
ZXR1cm4gZG93bmNhc3Q8UmVuZGVyQm94PihzaWJsaW5nKTsKICAgICB9CiAgICAgcmV0dXJuIG51
bGxwdHI7CkBAIC0xMDQsNyArMTA0LDcgQEAgUmVuZGVyQm94KiBSZW5kZXJNdWx0aUNvbHVtbkZs
b3c6OnByZXZpb3VzQ29sdW1uU2V0T3JTcGFubmVyU2libGluZ09mKGNvbnN0IFJlbmQKICAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIAotUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIq
IFJlbmRlck11bHRpQ29sdW1uRmxvdzo6ZmluZENvbHVtblNwYW5uZXJQbGFjZWhvbGRlcihjb25z
dCBSZW5kZXJCb3gqIHNwYW5uZXIpIGNvbnN0CitSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFj
ZWhvbGRlciogUmVuZGVyTXVsdGlDb2x1bW5GbG93OjpmaW5kQ29sdW1uU3Bhbm5lclBsYWNlaG9s
ZGVyKGNvbnN0IFJlbmRlckJveCYgc3Bhbm5lcikgY29uc3QKIHsKICAgICByZXR1cm4gbV9zcGFu
bmVyTWFwLmdldChzcGFubmVyKS5nZXQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaAppbmRleCBkOGM3YTY1MzkwMzkuLmRhOGVjZGNi
YTIwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29s
dW1uRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVt
bkZsb3cuaApAQCAtNDUsMTEgKzQ1LDExIEBAIHB1YmxpYzoKICAgICBSZW5kZXJNdWx0aUNvbHVt
blNldCogZmlyc3RNdWx0aUNvbHVtblNldCgpIGNvbnN0OwogICAgIFJlbmRlck11bHRpQ29sdW1u
U2V0KiBsYXN0TXVsdGlDb2x1bW5TZXQoKSBjb25zdDsKICAgICBSZW5kZXJCb3gqIGZpcnN0Q29s
dW1uU2V0T3JTcGFubmVyKCkgY29uc3Q7Ci0gICAgYm9vbCBoYXNDb2x1bW5TcGFubmVyKCkgY29u
c3QgeyByZXR1cm4gIW1fc3Bhbm5lck1hcC5pc0VtcHR5KCk7IH0KKyAgICBib29sIGhhc0NvbHVt
blNwYW5uZXIoKSBjb25zdCB7IHJldHVybiAhbV9zcGFubmVyTWFwLmlzRW1wdHlJZ25vcmluZ051
bGxSZWZlcmVuY2VzKCk7IH0KICAgICBzdGF0aWMgUmVuZGVyQm94KiBuZXh0Q29sdW1uU2V0T3JT
cGFubmVyU2libGluZ09mKGNvbnN0IFJlbmRlckJveCopOwogICAgIHN0YXRpYyBSZW5kZXJCb3gq
IHByZXZpb3VzQ29sdW1uU2V0T3JTcGFubmVyU2libGluZ09mKGNvbnN0IFJlbmRlckJveCopOwog
Ci0gICAgUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIqIGZpbmRDb2x1bW5TcGFu
bmVyUGxhY2Vob2xkZXIoY29uc3QgUmVuZGVyQm94KiBzcGFubmVyKSBjb25zdDsKKyAgICBSZW5k
ZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlciogZmluZENvbHVtblNwYW5uZXJQbGFjZWhv
bGRlcihjb25zdCBSZW5kZXJCb3gmIHNwYW5uZXIpIGNvbnN0OwogCiAgICAgdm9pZCBsYXlvdXQo
KSBvdmVycmlkZTsKIApAQCAtOTYsNyArOTYsNyBAQCBwdWJsaWM6CiAgICAgLy8gRklYTUU6IEV2
ZW50dWFsbHkgYXMgY29sdW1uIGFuZCBmcmFnbWVudCBmbG93IHRocmVhZHMgc3RhcnQgbmVzdGlu
ZywgdGhpcyB3aWxsIGVuZCB1cCBjaGFuZ2luZy4KICAgICBib29sIHNob3VsZENoZWNrQ29sdW1u
QnJlYWtzKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB1c2luZyBTcGFubmVyTWFwID0gVW5jaGVj
a2VkS2V5SGFzaE1hcDxTaW5nbGVUaHJlYWRXZWFrUmVmPGNvbnN0IFJlbmRlckJveD4sIFNpbmds
ZVRocmVhZFdlYWtQdHI8UmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXI+PjsKKyAg
ICB1c2luZyBTcGFubmVyTWFwID0gU2luZ2xlVGhyZWFkV2Vha0hhc2hNYXA8Y29uc3QgUmVuZGVy
Qm94LCBTaW5nbGVUaHJlYWRXZWFrUHRyPFJlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9s
ZGVyPj47CiAgICAgU3Bhbm5lck1hcCYgc3Bhbm5lck1hcCgpIHsgcmV0dXJuIG1fc3Bhbm5lck1h
cDsgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtblNldC5jcHAKaW5kZXggNTllNDllMTM2ZmIyLi5iNzc0ZTRiNzQzZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcApA
QCAtNzUsMTEgKzc1LDExIEBAIFJlbmRlck11bHRpQ29sdW1uU2V0KiBSZW5kZXJNdWx0aUNvbHVt
blNldDo6cHJldmlvdXNTaWJsaW5nTXVsdGlDb2x1bW5TZXQoKSBjb25zCiAKIFJlbmRlck9iamVj
dCogUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmZpcnN0UmVuZGVyZXJJbkZyYWdtZW50ZWRGbG93KCkg
Y29uc3QKIHsKLSAgICBpZiAoUmVuZGVyQm94KiBzaWJsaW5nID0gUmVuZGVyTXVsdGlDb2x1bW5G
bG93OjpwcmV2aW91c0NvbHVtblNldE9yU3Bhbm5lclNpYmxpbmdPZih0aGlzKSkgeworICAgIGlm
IChhdXRvKiBzaWJsaW5nID0gUmVuZGVyTXVsdGlDb2x1bW5GbG93OjpwcmV2aW91c0NvbHVtblNl
dE9yU3Bhbm5lclNpYmxpbmdPZih0aGlzKSkgewogICAgICAgICAvLyBBZGphY2VudCBzZXRzIHNo
b3VsZCBub3Qgb2NjdXIuIEN1cnJlbnRseSB3ZSB3b3VsZCBoYXZlIG5vIHdheSBvZiBmaWd1cmlu
ZyBvdXQgd2hhdCBlYWNoCiAgICAgICAgIC8vIG9mIHRoZW0gY29udGFpbnMgdGhlbi4KICAgICAg
ICAgQVNTRVJUKCFzaWJsaW5nLT5pc1JlbmRlck11bHRpQ29sdW1uU2V0KCkpOwotICAgICAgICBp
ZiAoUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIqIHBsYWNlaG9sZGVyID0gbXVs
dGlDb2x1bW5GbG93KCktPmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoc2libGluZykpCisg
ICAgICAgIGlmIChSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlciogcGxhY2Vob2xk
ZXIgPSBtdWx0aUNvbHVtbkZsb3coKS0+ZmluZENvbHVtblNwYW5uZXJQbGFjZWhvbGRlcigqc2li
bGluZykpCiAgICAgICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXItPm5leHRJblByZU9yZGVyQWZ0
ZXJDaGlsZHJlbigpOwogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CkBAIC04
OCwxMSArODgsMTEgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJNdWx0aUNvbHVtblNldDo6Zmlyc3RS
ZW5kZXJlckluRnJhZ21lbnRlZEZsb3coKSBjb25zdAogCiBSZW5kZXJPYmplY3QqIFJlbmRlck11
bHRpQ29sdW1uU2V0OjpsYXN0UmVuZGVyZXJJbkZyYWdtZW50ZWRGbG93KCkgY29uc3QKIHsKLSAg
ICBpZiAoUmVuZGVyQm94KiBzaWJsaW5nID0gUmVuZGVyTXVsdGlDb2x1bW5GbG93OjpuZXh0Q29s
dW1uU2V0T3JTcGFubmVyU2libGluZ09mKHRoaXMpKSB7CisgICAgaWYgKGF1dG8qIHNpYmxpbmcg
PSBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6Om5leHRDb2x1bW5TZXRPclNwYW5uZXJTaWJsaW5nT2Yo
dGhpcykpIHsKICAgICAgICAgLy8gQWRqYWNlbnQgc2V0cyBzaG91bGQgbm90IG9jY3VyLiBDdXJy
ZW50bHkgd2Ugd291bGQgaGF2ZSBubyB3YXkgb2YgZmlndXJpbmcgb3V0IHdoYXQgZWFjaAogICAg
ICAgICAvLyBvZiB0aGVtIGNvbnRhaW5zIHRoZW4uCiAgICAgICAgIEFTU0VSVCghc2libGluZy0+
aXNSZW5kZXJNdWx0aUNvbHVtblNldCgpKTsKLSAgICAgICAgaWYgKFJlbmRlck11bHRpQ29sdW1u
U3Bhbm5lclBsYWNlaG9sZGVyKiBwbGFjZWhvbGRlciA9IG11bHRpQ29sdW1uRmxvdygpLT5maW5k
Q29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyKHNpYmxpbmcpKQorICAgICAgICBpZiAoUmVuZGVyTXVs
dGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIqIHBsYWNlaG9sZGVyID0gbXVsdGlDb2x1bW5GbG93
KCktPmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoKnNpYmxpbmcpKQogICAgICAgICAgICAg
cmV0dXJuIHBsYWNlaG9sZGVyLT5wcmV2aW91c0luUHJlT3JkZXIoKTsKICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgfQpAQCAtMzM1LDEwICszMzUsMTAgQEAgYm9vbCBSZW5kZXJN
dWx0aUNvbHVtblNldDo6cmVxdWlyZXNCYWxhbmNpbmcoKSBjb25zdAogICAgIGlmICghbXVsdGlD
b2x1bW5GbG93KCktPnByb2dyZXNzaW9uSXNJbmxpbmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgaWYgKFJlbmRlckJveCogbmV4dCA9IFJlbmRlck11bHRpQ29sdW1uRmxvdzo6bmV4
dENvbHVtblNldE9yU3Bhbm5lclNpYmxpbmdPZih0aGlzKSkgeworICAgIGlmIChhdXRvKiBuZXh0
ID0gUmVuZGVyTXVsdGlDb2x1bW5GbG93OjpuZXh0Q29sdW1uU2V0T3JTcGFubmVyU2libGluZ09m
KHRoaXMpKSB7CiAgICAgICAgIGlmICghbmV4dC0+aXNSZW5kZXJNdWx0aUNvbHVtblNldCgpICYm
ICFuZXh0LT5pc0xlZ2VuZCgpKSB7CiAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBmb2xsb3dlZCBi
eSBhIHNwYW5uZXIsIHdlIG5lZWQgdG8gYmFsYW5jZS4KLSAgICAgICAgICAgIEFTU0VSVChtdWx0
aUNvbHVtbkZsb3coKS0+ZmluZENvbHVtblNwYW5uZXJQbGFjZWhvbGRlcihuZXh0KSk7CisgICAg
ICAgICAgICBBU1NFUlQobXVsdGlDb2x1bW5GbG93KCktPmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vo
b2xkZXIoKm5leHQpKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAyYmZhNDk4
MmQ4ZmQuLjQwMmY1MTRhZDViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKQEAgLTk2OSw3ICs5NjksNyBAQCB2b2lkIFJlbmRlck9iamVjdDo6cHJvcGFnYXRl
UmVwYWludFRvUGFyZW50V2l0aE91dGxpbmVBdXRvSWZOZWVkZWQoY29uc3QgUmVuZGVyTAogICAg
ICAgICBDaGVja2VkUHRyIG9yaWdpbmFsUmVuZGVyZXIgPSByZW5kZXJlcjsKICAgICAgICAgaWYg
KENoZWNrZWRQdHIgcHJldmlvdXNNdWx0aUNvbHVtblNldCA9IGR5bmFtaWNEb3duY2FzdDxSZW5k
ZXJNdWx0aUNvbHVtblNldD4ocmVuZGVyZXItPnByZXZpb3VzU2libGluZygpKTsgcHJldmlvdXNN
dWx0aUNvbHVtblNldCAmJiAhcmVuZGVyZXItPmlzUmVuZGVyTXVsdGlDb2x1bW5TZXQoKSAmJiAh
cmVuZGVyZXItPmlzTGVnZW5kKCkpIHsKICAgICAgICAgICAgIENoZWNrZWRQdHIgZW5jbG9zaW5n
TXVsdGlDb2x1bW5GbG93ID0gcHJldmlvdXNNdWx0aUNvbHVtblNldC0+bXVsdGlDb2x1bW5GbG93
KCk7Ci0gICAgICAgICAgICBDaGVja2VkUHRyIHJlbmRlck11bHRpQ29sdW1uUGxhY2Vob2xkZXIg
PSBlbmNsb3NpbmdNdWx0aUNvbHVtbkZsb3ctPmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIo
ZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlci5nZXQoKSkpOworICAgICAgICAgICAgQ2hlY2tl
ZFB0ciByZW5kZXJNdWx0aUNvbHVtblBsYWNlaG9sZGVyID0gZW5jbG9zaW5nTXVsdGlDb2x1bW5G
bG93LT5maW5kQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyKGRvd25jYXN0PFJlbmRlckJveD4oKnJl
bmRlcmVyKSk7CiAgICAgICAgICAgICBBU1NFUlQocmVuZGVyTXVsdGlDb2x1bW5QbGFjZWhvbGRl
cik7CiAgICAgICAgICAgICByZW5kZXJlciA9IFdURk1vdmUocmVuZGVyTXVsdGlDb2x1bW5QbGFj
ZWhvbGRlcik7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCmluZGV4IGY2NjQ5OGNjYjU5Ni4uM2Qx
MDBiODEzM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKQEAgLTI3Niw3ICsyNzYsNyBAQCB2b2lkIFJlbmRl
clRyZWVCdWlsZGVyOjphdHRhY2hJbnRlcm5hbChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRl
clB0cjxSZW5kZXJPYgogICAgICAgICBpZiAoYXV0byogZW5jbG9zaW5nRnJhZ21lbnRlZEZsb3cg
PSBwYXJlbnQuZW5jbG9zaW5nRnJhZ21lbnRlZEZsb3coKSkgewogICAgICAgICAgICAgYXV0byBj
b2x1bW5TcGFubmVyUGxhY2Vob2xkZXJGb3JCZWZvcmVDaGlsZCA9IFsmXSgpIC0+IFJlbmRlck11
bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyKiB7CiAgICAgICAgICAgICAgICAgYXV0byogbXVs
dGlDb2x1bW5GbG93ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlck11bHRpQ29sdW1uRmxvdz4oZW5j
bG9zaW5nRnJhZ21lbnRlZEZsb3cpOwotICAgICAgICAgICAgICAgIHJldHVybiBtdWx0aUNvbHVt
bkZsb3cgPyBtdWx0aUNvbHVtbkZsb3ctPmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoYmVm
b3JlQ2hpbGRCb3gpIDogbnVsbHB0cjsKKyAgICAgICAgICAgICAgICByZXR1cm4gbXVsdGlDb2x1
bW5GbG93ID8gbXVsdGlDb2x1bW5GbG93LT5maW5kQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyKCpi
ZWZvcmVDaGlsZEJveCkgOiBudWxscHRyOwogICAgICAgICAgICAgfTsKIAogICAgICAgICAgICAg
aWYgKGF1dG8qIHNwYW5uZXJQbGFjZWhvbGRlciA9IGNvbHVtblNwYW5uZXJQbGFjZWhvbGRlckZv
ckJlZm9yZUNoaWxkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5jcHAKaW5kZXgg
NzQ2NTUxM2ZmOTI0Li5lMGQxNGM0OGQxY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJNdWx0aUNv
bHVtbi5jcHAKQEAgLTE4MSw3ICsxODEsNyBAQCBSZW5kZXJPYmplY3QqIFJlbmRlclRyZWVCdWls
ZGVyOjpNdWx0aUNvbHVtbjo6cmVzb2x2ZU1vdmVkQ2hpbGQoUmVuZGVyRnJhZ21lbnRlZAogICAg
IC8vIGNyZWF0ZSBhbmQgaW5zZXJ0IGEgcmVuZGVyZXIgZm9yIHRoZSBzaWJsaW5nIG5vZGUgaW1t
ZWRpYXRlbHkgcHJlY2VkaW5nIHRoZSBzcGFubmVyLCB3ZSBuZWVkCiAgICAgLy8gdG8gbWFwIHRo
YXQgc3Bhbm5lciByZW5kZXJlciB0byB0aGUgc3Bhbm5lcidzIHBsYWNlaG9sZGVyLCB3aGljaCBp
cyB3aGVyZSB0aGUgbmV3IGluc2VydGVkCiAgICAgLy8gcmVuZGVyZXIgYmVsb25ncy4KLSAgICBp
ZiAoYXV0byogcGxhY2Vob2xkZXIgPSByZW5kZXJNdWx0aUNvbHVtbkZsb3ctPmZpbmRDb2x1bW5T
cGFubmVyUGxhY2Vob2xkZXIoYmVmb3JlQ2hpbGRSZW5kZXJCb3gpKQorICAgIGlmIChhdXRvKiBw
bGFjZWhvbGRlciA9IHJlbmRlck11bHRpQ29sdW1uRmxvdy0+ZmluZENvbHVtblNwYW5uZXJQbGFj
ZWhvbGRlcigqYmVmb3JlQ2hpbGRSZW5kZXJCb3gpKQogICAgICAgICByZXR1cm4gcGxhY2Vob2xk
ZXI7CiAKICAgICAvLyBUaGlzIGlzIGFuIGludmFsaWQgc3Bhbm5lciwgb3IgaXRzIHBsYWNlaG9s
ZGVyIGhhc24ndCBiZWVuIGNyZWF0ZWQgeWV0LiBUaGlzIGhhcHBlbnMgd2hlbgpAQCAtMTk1LDcg
KzE5NSw3IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjpyZXN0b3JlQ29s
dW1uU3Bhbm5lcnNGb3JDb250YWluZXIoUmVuZGVyTXVsCiB7CiAgICAgYXV0byYgc3Bhbm5lcnMg
PSBtdWx0aUNvbHVtbkZsb3cuc3Bhbm5lck1hcCgpOwogICAgIFZlY3RvcjxSZW5kZXJNdWx0aUNv
bHVtblNwYW5uZXJQbGFjZWhvbGRlcio+IHBsYWNlaG9sZGVyc1RvUmVzdG9yZTsKLSAgICBmb3Ig
KGF1dG8mIHNwYW5uZXJBbmRQbGFjZWhvbGRlciA6IHNwYW5uZXJzKSB7CisgICAgZm9yIChhdXRv
IHNwYW5uZXJBbmRQbGFjZWhvbGRlciA6IHNwYW5uZXJzKSB7CiAgICAgICAgIGF1dG8mIHBsYWNl
aG9sZGVyID0gc3Bhbm5lckFuZFBsYWNlaG9sZGVyLnZhbHVlOwogICAgICAgICBpZiAoIXBsYWNl
aG9sZGVyIHx8ICFwbGFjZWhvbGRlci0+aXNEZXNjZW5kYW50T2YoJmNvbnRhaW5lcikpCiAgICAg
ICAgICAgICBjb250aW51ZTsKQEAgLTIzMyw3ICsyMzMsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWls
ZGVyOjpNdWx0aUNvbHVtbjo6bXVsdGlDb2x1bW5EZXNjZW5kYW50SW5zZXJ0ZWQoUmVuZGVyTXVs
dGlDbwogICAgICAgICAgICAgLy8gQSBzcGFubmVyJ3MgcGxhY2Vob2xkZXIgaGFzIGJlZW4gaW5z
ZXJ0ZWQuIFRoZSBhY3R1YWwgc3Bhbm5lciByZW5kZXJlciBpcyBtb3ZlZCBmcm9tCiAgICAgICAg
ICAgICAvLyB3aGVyZSBpdCB3b3VsZCBvdGhlcndpc2Ugb2NjdXIgKGlmIGl0IHdlcmVuJ3QgYSBz
cGFubmVyKSB0byBiZWNvbWluZyBhIHNpYmxpbmcgb2YgdGhlCiAgICAgICAgICAgICAvLyBjb2x1
bW4gc2V0cy4KLSAgICAgICAgICAgIEFTU0VSVCghZmxvdy5zcGFubmVyTWFwKCkuZ2V0KHBsYWNl
aG9sZGVyLT5zcGFubmVyKCkpKTsKKyAgICAgICAgICAgIEFTU0VSVCghZmxvdy5zcGFubmVyTWFw
KCkuZ2V0KCpwbGFjZWhvbGRlci0+c3Bhbm5lcigpKSk7CiAgICAgICAgICAgICBmbG93LnNwYW5u
ZXJNYXAoKS5hZGQoKnBsYWNlaG9sZGVyLT5zcGFubmVyKCksIHBsYWNlaG9sZGVyKTsKICAgICAg
ICAgICAgIEFTU0VSVCghcGxhY2Vob2xkZXItPmZpcnN0Q2hpbGQoKSk7IC8vIFRoZXJlIHNob3Vs
ZCBiZSBubyBjaGlsZHJlbiBoZXJlLCBidXQgaWYgdGhlcmUgYXJlLCB3ZSBvdWdodCB0byBza2lw
IHRoZW0uCiAgICAgICAgIH0gZWxzZQpAQCAtMjUxLDcgKzI1MSw3IEBAIHZvaWQgUmVuZGVyVHJl
ZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjptdWx0aUNvbHVtblJlbGF0aXZlV2lsbEJlUmVtb3ZlZChS
ZW5kZXJNdWx0CiAgICAgICAgIC8vIGtlZXAgdGhlIHJlZmVyZW5jZSB0byB0aGUgc3Bhbm5lciwg
c2luY2UgdGhlIHBsYWNlaG9sZGVyIG1heSBiZSBhYm91dCB0byBiZSByZS1pbnNlcnRlZAogICAg
ICAgICAvLyBpbiB0aGUgdHJlZS4KICAgICAgICAgQVNTRVJUKHJlbGF0aXZlLmlzRGVzY2VuZGFu
dE9mKCZmbG93KSk7Ci0gICAgICAgIGZsb3cuc3Bhbm5lck1hcCgpLnJlbW92ZShwbGFjZWhvbGRl
ci0+c3Bhbm5lcigpKTsKKyAgICAgICAgZmxvdy5zcGFubmVyTWFwKCkucmVtb3ZlKCpwbGFjZWhv
bGRlci0+c3Bhbm5lcigpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAocmVsYXRp
dmUuc3R5bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29sdW1uU3Bhbjo6QWxsKSB7CkBAIC0yODMsNyAr
MjgzLDcgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmFk
anVzdEJlZm9yZUNoaWxkRm9yTXVsdGlDb2x1bW5TcGEKICAgICBpZiAoIW11bHRpQ29sdW1uRmxv
dykKICAgICAgICAgcmV0dXJuICZiZWZvcmVDaGlsZDsKIAotICAgIHJldHVybiBtdWx0aUNvbHVt
bkZsb3ctPmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoYmVmb3JlQ2hpbGRCb3gpOworICAg
IHJldHVybiBtdWx0aUNvbHVtbkZsb3ctPmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoKmJl
Zm9yZUNoaWxkQm94KTsKIH0KIAogdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46
OmNyZWF0ZUZyYWdtZW50ZWRGbG93KFJlbmRlckJsb2NrRmxvdyYgZmxvdykKQEAgLTMyMSw3ICsz
MjEsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6ZGVzdHJveUZyYWdt
ZW50ZWRGbG93KFJlbmRlckJsb2NrRmxvdyYgZmxvdwogICAgIC8vIE1vdmUgc3Bhbm5lcnMgYmFj
ayB0byB0aGVpciBvcmlnaW5hbCBET00gcG9zaXRpb24gaW4gdGhlIHRyZWUsIGFuZCBkZXN0cm95
IHRoZSBwbGFjZWhvbGRlcnMuCiAgICAgYXV0byYgc3Bhbm5lcnMgPSBtdWx0aUNvbHVtbkZsb3cu
c3Bhbm5lck1hcCgpOwogICAgIFZlY3RvcjxSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhv
bGRlcio+IHBsYWNlaG9sZGVyc1RvRGVsZXRlOwotICAgIGZvciAoYXV0byYgc3Bhbm5lckFuZFBs
YWNlaG9sZGVyIDogc3Bhbm5lcnMpCisgICAgZm9yIChhdXRvIHNwYW5uZXJBbmRQbGFjZWhvbGRl
ciA6IHNwYW5uZXJzKQogICAgICAgICBwbGFjZWhvbGRlcnNUb0RlbGV0ZS5hcHBlbmQoc3Bhbm5l
ckFuZFBsYWNlaG9sZGVyLnZhbHVlLmdldCgpKTsKICAgICBWZWN0b3I8c3RkOjpwYWlyPFJlbmRl
ckVsZW1lbnQqLCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0Pj4+IHBhcmVudEFuZFNwYW5uZXJMaXN0
OwogICAgIGZvciAoYXV0byogcGxhY2Vob2xkZXIgOiBwbGFjZWhvbGRlcnNUb0RlbGV0ZSkgewpA
QCAtNDQ2LDcgKzQ0Niw3IEBAIFJlbmRlck9iamVjdCogUmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRp
Q29sdW1uOjpwcm9jZXNzUG9zc2libGVTcGFubmVyRGVzY2VuZGFudChSCiB2b2lkIFJlbmRlclRy
ZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6aGFuZGxlU3Bhbm5lclJlbW92YWwoUmVuZGVyTXVsdGlD
b2x1bW5GbG93JiBmbG93LCBSZW5kZXJPYmplY3QmIHNwYW5uZXIsIFJlbmRlclRyZWVCdWlsZGVy
OjpDYW5Db2xsYXBzZUFub255bW91c0Jsb2NrIGNhbkNvbGxhcHNlQW5vbnltb3VzQmxvY2spCiB7
CiAgICAgLy8gVGhlIHBsYWNlaG9sZGVyIG1heSBhbHJlYWR5IGhhdmUgYmVlbiByZW1vdmVkLCBi
dXQgaWYgaXQgaGFzbid0LCBkbyBzbyBub3cuCi0gICAgaWYgKGF1dG8gcGxhY2Vob2xkZXIgPSBm
bG93LnNwYW5uZXJNYXAoKS50YWtlKCZkb3duY2FzdDxSZW5kZXJCb3g+KHNwYW5uZXIpKSkKKyAg
ICBpZiAoYXV0byBwbGFjZWhvbGRlciA9IGZsb3cuc3Bhbm5lck1hcCgpLnRha2UoZG93bmNhc3Q8
UmVuZGVyQm94PihzcGFubmVyKSkpCiAgICAgICAgIG1fYnVpbGRlci5kZXN0cm95KCpwbGFjZWhv
bGRlciwgY2FuQ29sbGFwc2VBbm9ueW1vdXNCbG9jayk7CiAKICAgICBpZiAoYXV0byogbmV4dCA9
IHNwYW5uZXIubmV4dFNpYmxpbmcoKSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>475331</attachid>
            <date>2025-05-21 08:36:00 -0700</date>
            <delta_ts>2025-05-21 13:30:53 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-293363-20250521083559.patch</filename>
            <type>text/plain</type>
            <size>22802</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA5YTNkODE0OTk4Y2Q5MTRhZmJiNmJhNTNhOGZjMTVjMDA1YzgxNjI1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgMjEgTWF5IDIwMjUgMDc6MzY6MTQgLTA3MDAKU3ViamVjdDogW1BBVENIXSBVc2UgU2lu
Z2xlVGhyZWFkV2Vha0hhc2hNYXA8UmVuZGVyRm9vPiBpbnN0ZWFkIG9mCiBVbmNoZWNrZWRLZXlI
YXNoTWFwPFNpbmdsZVRocmVhZFdlYWtSZWY8UmVuZGVyRm9vPj4gaW4gbXVsdGljb2x1bW4gY29k
ZQogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MzM2MwoKUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaXRoIGRlbGF5ZWQgcmVuZGVyZXIgZGVzdHJ1Y3Rpb24s
IHN1Y2ggV2Vha1JlZnMgYXJlIG5vdCBndWFyYW50ZWVkIGFueW1vcmUuCgoqIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcDoKKFdlYkNvcmU6OlJlbmRlckxpc3RN
YXJrZXI6OnBhcmVudEJveCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRp
Q29sdW1uRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OmZpcnN0Q29s
dW1uU2V0T3JTcGFubmVyIGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uRmxvdzo6
ZmluZENvbHVtblNwYW5uZXJQbGFjZWhvbGRlciBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHA6CihXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNl
dDo6Zmlyc3RSZW5kZXJlckluRnJhZ21lbnRlZEZsb3cgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVy
TXVsdGlDb2x1bW5TZXQ6Omxhc3RSZW5kZXJlckluRnJhZ21lbnRlZEZsb3cgY29uc3QpOgooV2Vi
Q29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnJlcXVpcmVzQmFsYW5jaW5nIGNvbnN0KToKKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6cHJvcGFnYXRlUmVwYWludFRvUGFyZW50V2l0aE91dGxpbmVBdXRvSWZOZWVkZWQg
Y29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVp
bGRlci5jcHA6CihXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6YXR0YWNoSW50ZXJuYWwpOgoq
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlck11bHRp
Q29sdW1uLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6cmVz
b2x2ZU1vdmVkQ2hpbGQpOgooV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29sdW1u
OjpyZXN0b3JlQ29sdW1uU3Bhbm5lcnNGb3JDb250YWluZXIpOgooV2ViQ29yZTo6UmVuZGVyVHJl
ZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjptdWx0aUNvbHVtbkRlc2NlbmRhbnRJbnNlcnRlZCk6CihX
ZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46Om11bHRpQ29sdW1uUmVsYXRp
dmVXaWxsQmVSZW1vdmVkKToKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVt
bjo6YWRqdXN0QmVmb3JlQ2hpbGRGb3JNdWx0aUNvbHVtblNwYW5uZXJJZk5lZWRlZCk6CihXZWJD
b3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmRlc3Ryb3lGcmFnbWVudGVkRmxv
dyk6CihXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmhhbmRsZVNwYW5u
ZXJSZW1vdmFsKToKLS0tCiBTb3VyY2UvV1RGL3d0Zi9XZWFrSGFzaE1hcC5oICAgICAgICAgICAg
ICAgICAgICAgICB8ICA1ICsrKy0tCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21l
bnRDb250YWluZXIuY3BwICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGcmFnbWVudENvbnRhaW5lci5oIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcCAgfCAxNCArKysrKysrLS0tLS0tLQogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmggICAgfCAgNCArKy0tCiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAgICAgICB8ICAyICstCiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcCB8ICA0ICsr
LS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaCAgIHwg
IDYgKysrLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQu
Y3BwICB8IDEyICsrKysrKy0tLS0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAgICAgICAgICAgfCAgMiArLQogLi4uL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlci5jcHAgICAgICAgfCAgMiArLQogLi4uL3VwZGF0aW5nL1JlbmRlclRyZWVCdWls
ZGVyTXVsdGlDb2x1bW4uY3BwICAgICAgfCAxNCArKysrKysrLS0tLS0tLQogMTIgZmlsZXMgY2hh
bmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvV2Vha0hhc2hNYXAuaCBiL1NvdXJjZS9XVEYvd3RmL1dlYWtIYXNoTWFwLmgK
aW5kZXggNGJmZmVhNTkxYjQ4Li43MDA5MjI2OWExNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1dlYWtIYXNoTWFwLmgKKysrIGIvU291cmNlL1dURi93dGYvV2Vha0hhc2hNYXAuaApAQCAt
MjExLDEwICsyMTEsMTEgQEAgcHVibGljOgogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQsIHR5cGVuYW1lIFY+Ci0gICAgdm9pZCBzZXQoY29uc3QgVCYga2V5LCBWJiYgdmFsdWUpCisg
ICAgQWRkUmVzdWx0IHNldChjb25zdCBUJiBrZXksIFYmJiB2YWx1ZSkKICAgICB7CiAgICAgICAg
IGFtb3J0aXplZENsZWFudXBJZk5lZWRlZCgpOwotICAgICAgICBtX21hcC5zZXQobWFrZUtleUlt
cGwoa2V5KSwgc3RkOjpmb3J3YXJkPFY+KHZhbHVlKSk7CisgICAgICAgIGF1dG8gYWRkUmVzdWx0
ID0gbV9tYXAuc2V0KG1ha2VLZXlJbXBsKGtleSksIHN0ZDo6Zm9yd2FyZDxWPih2YWx1ZSkpOwor
ICAgICAgICByZXR1cm4gQWRkUmVzdWx0IHsgV2Vha0hhc2hNYXBJdGVyYXRvcigqdGhpcywgYWRk
UmVzdWx0Lml0ZXJhdG9yKSwgYWRkUmVzdWx0LmlzTmV3RW50cnkgfTsKICAgICB9CiAKICAgICBp
dGVyYXRvciBmaW5kKGNvbnN0IEtleVR5cGUmIGtleSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCmluZGV4IDMyZWYwYThlNTll
OS4uYWY5ZjNjZDE4MDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKQEAgLTMzMyw5ICszMzMsOSBAQCBSZW5kZXJCb3hG
cmFnbWVudEluZm8qIFJlbmRlckZyYWdtZW50Q29udGFpbmVyOjpzZXRSZW5kZXJCb3hGcmFnbWVu
dEluZm8oY29uc3QgUgogICAgIHJldHVybiBib3hJbmZvLmdldCgpOwogfQogCi1zdGQ6OnVuaXF1
ZV9wdHI8UmVuZGVyQm94RnJhZ21lbnRJbmZvPiBSZW5kZXJGcmFnbWVudENvbnRhaW5lcjo6dGFr
ZVJlbmRlckJveEZyYWdtZW50SW5mbyhjb25zdCBSZW5kZXJCb3gqIGJveCkKK3N0ZDo6dW5pcXVl
X3B0cjxSZW5kZXJCb3hGcmFnbWVudEluZm8+IFJlbmRlckZyYWdtZW50Q29udGFpbmVyOjp0YWtl
UmVuZGVyQm94RnJhZ21lbnRJbmZvKGNvbnN0IFJlbmRlckJveCYgYm94KQogewotICAgIHJldHVy
biBtX3JlbmRlckJveEZyYWdtZW50SW5mby50YWtlKCpib3gpOworICAgIHJldHVybiBtX3JlbmRl
ckJveEZyYWdtZW50SW5mby50YWtlKGJveCk7CiB9CiAKIHZvaWQgUmVuZGVyRnJhZ21lbnRDb250
YWluZXI6OnJlbW92ZVJlbmRlckJveEZyYWdtZW50SW5mbyhjb25zdCBSZW5kZXJCb3gmIGJveCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRh
aW5lci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVy
LmgKaW5kZXggZmU1MzBiNzc0OWRlLi5kMjY2ZDhmZWM0NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5oCkBAIC02Niw3ICs2Niw3
IEBAIHB1YmxpYzoKICAgICBSZW5kZXJCb3hGcmFnbWVudEluZm8qIHJlbmRlckJveEZyYWdtZW50
SW5mbyhjb25zdCBSZW5kZXJCb3gmKSBjb25zdDsKICAgICBSZW5kZXJCb3hGcmFnbWVudEluZm8q
IHNldFJlbmRlckJveEZyYWdtZW50SW5mbyhjb25zdCBSZW5kZXJCb3gmLCBMYXlvdXRVbml0IGxv
Z2ljYWxMZWZ0SW5zZXQsIExheW91dFVuaXQgbG9naWNhbFJpZ2h0SW5zZXQsCiAgICAgICAgIGJv
b2wgY29udGFpbmluZ0Jsb2NrQ2hhaW5Jc0luc2V0KTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVu
ZGVyQm94RnJhZ21lbnRJbmZvPiB0YWtlUmVuZGVyQm94RnJhZ21lbnRJbmZvKGNvbnN0IFJlbmRl
ckJveCopOworICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJCb3hGcmFnbWVudEluZm8+IHRha2VS
ZW5kZXJCb3hGcmFnbWVudEluZm8oY29uc3QgUmVuZGVyQm94Jik7CiAgICAgdm9pZCByZW1vdmVS
ZW5kZXJCb3hGcmFnbWVudEluZm8oY29uc3QgUmVuZGVyQm94Jik7CiAKICAgICB2b2lkIGRlbGV0
ZUFsbFJlbmRlckJveEZyYWdtZW50SW5mbygpOwpAQCAtMTU3LDcgKzE1Nyw3IEBAIHByaXZhdGU6
CiAgICAgLy8gQSBSZW5kZXJCb3hGcmFnbWVudEluZm8qIHRlbGxzIHVzIGFib3V0IGFueSBsYXlv
dXQgaW5mb3JtYXRpb24gZm9yIGEgUmVuZGVyQm94IHRoYXQKICAgICAvLyBpcyB1bmlxdWUgdG8g
dGhlIGZyYWdtZW50LiBGb3Igbm93IGl0IGp1c3QgaG9sZHMgbG9naWNhbCB3aWR0aCBpbmZvcm1h
dGlvbiBmb3IgUmVuZGVyQmxvY2tzLCBidXQgZXZlbnR1YWxseQogICAgIC8vIGl0IHdpbGwgYWxz
byBob2xkIGEgY3VzdG9tIHN0eWxlIGZvciBhbnkgYm94IChmb3IgZnJhZ21lbnQgc3R5bGluZyku
Ci0gICAgdXNpbmcgUmVuZGVyQm94RnJhZ21lbnRJbmZvTWFwID0gVW5jaGVja2VkS2V5SGFzaE1h
cDxTaW5nbGVUaHJlYWRXZWFrUmVmPGNvbnN0IFJlbmRlckJveD4sIHN0ZDo6dW5pcXVlX3B0cjxS
ZW5kZXJCb3hGcmFnbWVudEluZm8+PjsKKyAgICB1c2luZyBSZW5kZXJCb3hGcmFnbWVudEluZm9N
YXAgPSBTaW5nbGVUaHJlYWRXZWFrSGFzaE1hcDxjb25zdCBSZW5kZXJCb3gsIHN0ZDo6dW5pcXVl
X3B0cjxSZW5kZXJCb3hGcmFnbWVudEluZm8+PjsKICAgICBSZW5kZXJCb3hGcmFnbWVudEluZm9N
YXAgbV9yZW5kZXJCb3hGcmFnbWVudEluZm87CiAKICAgICBib29sIG1faXNWYWxpZCB7IGZhbHNl
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRl
ZEZsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93
LmNwcAppbmRleCBlZTI0MDMxNTRiODYuLmZkZGM5NmU5NjgzZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwCkBAIC0zNzUsNyArMzc1
LDcgQEAgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXBG
cm9tRmxvd1RvRnJhZ21lbnQoVHJhbnNmb3JtU3QKICAgICByZXR1cm4gUmVuZGVyRnJhZ21lbnRD
b250YWluZXI7CiB9CiAKLXZvaWQgUmVuZGVyRnJhZ21lbnRlZEZsb3c6OnJlbW92ZVJlbmRlckJv
eEZyYWdtZW50SW5mbyhSZW5kZXJCb3gmIGJveCkKK3ZvaWQgUmVuZGVyRnJhZ21lbnRlZEZsb3c6
OnJlbW92ZVJlbmRlckJveEZyYWdtZW50SW5mbyhjb25zdCBSZW5kZXJCb3gmIGJveCkKIHsKICAg
ICBpZiAoIWhhc0ZyYWdtZW50cygpKQogICAgICAgICByZXR1cm47CkBAIC00MDMsNyArNDAzLDcg
QEAgdm9pZCBSZW5kZXJGcmFnbWVudGVkRmxvdzo6cmVtb3ZlUmVuZGVyQm94RnJhZ21lbnRJbmZv
KFJlbmRlckJveCYgYm94KQogICAgICAgICBBU1NFUlRfVU5VU0VEKGZyYWdtZW50LCAhZnJhZ21l
bnQucmVuZGVyQm94RnJhZ21lbnRJbmZvKGJveCkpOwogI2VuZGlmCiAKLSAgICBtX2ZyYWdtZW50
UmFuZ2VNYXAucmVtb3ZlKCZib3gpOworICAgIG1fZnJhZ21lbnRSYW5nZU1hcC5yZW1vdmUoYm94
KTsKIH0KIAogdm9pZCBSZW5kZXJGcmFnbWVudGVkRmxvdzo6cmVtb3ZlTGluZUZyYWdtZW50SW5m
byhjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrRmxvdykKQEAgLTQyMiw3ICs0MjIsNyBAQCB2
b2lkIFJlbmRlckZyYWdtZW50ZWRGbG93Ojpsb2dpY2FsV2lkdGhDaGFuZ2VkSW5GcmFnbWVudHNG
b3JCbG9jayhjb25zdCBSZW5kZXJCbAogICAgIGlmICghaGFzVmFsaWRGcmFnbWVudEluZm8oKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byBpdCA9IG1fZnJhZ21lbnRSYW5nZU1hcC5maW5k
KCZibG9jayk7CisgICAgYXV0byBpdCA9IG1fZnJhZ21lbnRSYW5nZU1hcC5maW5kKGJsb2NrKTsK
ICAgICBpZiAoaXQgPT0gbV9mcmFnbWVudFJhbmdlTWFwLmVuZCgpKQogICAgICAgICByZXR1cm47
CiAKQEAgLTQ1Miw3ICs0NTIsNyBAQCB2b2lkIFJlbmRlckZyYWdtZW50ZWRGbG93Ojpsb2dpY2Fs
V2lkdGhDaGFuZ2VkSW5GcmFnbWVudHNGb3JCbG9jayhjb25zdCBSZW5kZXJCbAogICAgICAgICBB
U1NFUlQoIWZyYWdtZW50Lm5lZWRzTGF5b3V0KCkgfHwgZnJhZ21lbnQuaXNSZW5kZXJGcmFnbWVu
dENvbnRhaW5lclNldCgpKTsKIAogICAgICAgICAvLyBXZSBoYXZlIG5vIGluZm9ybWF0aW9uIGNv
bXB1dGVkIGZvciB0aGlzIGZyYWdtZW50IHNvIHdlIG5lZWQgdG8gZG8gaXQuCi0gICAgICAgIHN0
ZDo6dW5pcXVlX3B0cjxSZW5kZXJCb3hGcmFnbWVudEluZm8+IG9sZEluZm8gPSBmcmFnbWVudC50
YWtlUmVuZGVyQm94RnJhZ21lbnRJbmZvKCZibG9jayk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZW5kZXJCb3hGcmFnbWVudEluZm8+IG9sZEluZm8gPSBmcmFnbWVudC50YWtlUmVuZGVyQm94
RnJhZ21lbnRJbmZvKGJsb2NrKTsKICAgICAgICAgaWYgKCFvbGRJbmZvKSB7CiAgICAgICAgICAg
ICByZWxheW91dENoaWxkcmVuID0gcmFuZ2VJbnZhbGlkYXRlZCA/IFJlbGF5b3V0Q2hpbGRyZW46
OlllcyA6IFJlbGF5b3V0Q2hpbGRyZW46Ok5vOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtNTM4
LDcgKzUzOCw3IEBAIHZvaWQgUmVuZGVyRnJhZ21lbnRlZEZsb3c6OnNldEZyYWdtZW50UmFuZ2VG
b3JCb3goY29uc3QgUmVuZGVyQm94JiBib3gsIFJlbmRlckZyCiB7CiAgICAgQVNTRVJUKGhhc0Zy
YWdtZW50cygpKTsKICAgICBBU1NFUlQoc3RhcnRGcmFnbWVudCAmJiBlbmRGcmFnbWVudCAmJiBz
dGFydEZyYWdtZW50LT5mcmFnbWVudGVkRmxvdygpID09IHRoaXMgJiYgZW5kRnJhZ21lbnQtPmZy
YWdtZW50ZWRGbG93KCkgPT0gdGhpcyk7Ci0gICAgYXV0byByZXN1bHQgPSBtX2ZyYWdtZW50UmFu
Z2VNYXAuc2V0KGJveCwgUmVuZGVyRnJhZ21lbnRDb250YWluZXJSYW5nZShzdGFydEZyYWdtZW50
LCBlbmRGcmFnbWVudCkpOworICAgIGF1dG8gcmVzdWx0ID0gbV9mcmFnbWVudFJhbmdlTWFwLmFk
ZChib3gsIFJlbmRlckZyYWdtZW50Q29udGFpbmVyUmFuZ2Uoc3RhcnRGcmFnbWVudCwgZW5kRnJh
Z21lbnQpKTsKICAgICBpZiAocmVzdWx0LmlzTmV3RW50cnkpCiAgICAgICAgIHJldHVybjsKIApA
QCAtNTUxLDcgKzU1MSw3IEBAIHZvaWQgUmVuZGVyRnJhZ21lbnRlZEZsb3c6OnNldEZyYWdtZW50
UmFuZ2VGb3JCb3goY29uc3QgUmVuZGVyQm94JiBib3gsIFJlbmRlckZyCiAKIGJvb2wgUmVuZGVy
RnJhZ21lbnRlZEZsb3c6Omhhc0NhY2hlZEZyYWdtZW50UmFuZ2VGb3JCb3goY29uc3QgUmVuZGVy
Qm94JiBib3gpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZnJhZ21lbnRSYW5nZU1hcC5jb250YWlu
cygmYm94KTsKKyAgICByZXR1cm4gbV9mcmFnbWVudFJhbmdlTWFwLmNvbnRhaW5zKGJveCk7CiB9
CiAKIGJvb2wgUmVuZGVyRnJhZ21lbnRlZEZsb3c6OmdldEZyYWdtZW50UmFuZ2VGb3JCb3hGcm9t
Q2FjaGVkSW5mbyhjb25zdCBSZW5kZXJCb3gmIGJveCwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIq
JiBzdGFydEZyYWdtZW50LCBSZW5kZXJGcmFnbWVudENvbnRhaW5lciomIGVuZEZyYWdtZW50KSBj
b25zdApAQCAtNTU5LDcgKzU1OSw3IEBAIGJvb2wgUmVuZGVyRnJhZ21lbnRlZEZsb3c6OmdldEZy
YWdtZW50UmFuZ2VGb3JCb3hGcm9tQ2FjaGVkSW5mbyhjb25zdCBSZW5kZXJCb3gmCiAgICAgQVNT
RVJUKGhhc1ZhbGlkRnJhZ21lbnRJbmZvKCkpOwogICAgIEFTU0VSVCgoc3RhcnRGcmFnbWVudCA9
PSBudWxscHRyKSAmJiAoZW5kRnJhZ21lbnQgPT0gbnVsbHB0cikpOwogCi0gICAgYXV0byBpdCA9
IG1fZnJhZ21lbnRSYW5nZU1hcC5maW5kKCZib3gpOworICAgIGF1dG8gaXQgPSBtX2ZyYWdtZW50
UmFuZ2VNYXAuZmluZChib3gpOwogICAgIGlmIChpdCAhPSBtX2ZyYWdtZW50UmFuZ2VNYXAuZW5k
KCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVyRnJhZ21lbnRDb250YWluZXJSYW5nZSYgcmFuZ2Ug
PSBpdC0+dmFsdWU7CiAgICAgICAgIHN0YXJ0RnJhZ21lbnQgPSByYW5nZS5zdGFydEZyYWdtZW50
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRl
ZEZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5o
CmluZGV4IGE3MTU2OGY4YTY1OS4uOTI0MzIzMGQ1NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaApAQCAtMjA0LDcgKzIwNCw3IEBAIHBy
b3RlY3RlZDoKIAogICAgIGJvb2wgZ2V0RnJhZ21lbnRSYW5nZUZvckJveEZyb21DYWNoZWRJbmZv
KGNvbnN0IFJlbmRlckJveCYsIFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiYgc3RhcnRGcmFnbWVu
dCwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqJiBlbmRGcmFnbWVudCkgY29uc3Q7CiAKLSAgICB2
b2lkIHJlbW92ZVJlbmRlckJveEZyYWdtZW50SW5mbyhSZW5kZXJCb3gmKTsKKyAgICB2b2lkIHJl
bW92ZVJlbmRlckJveEZyYWdtZW50SW5mbyhjb25zdCBSZW5kZXJCb3gmKTsKICAgICB2b2lkIHJl
bW92ZUxpbmVGcmFnbWVudEluZm8oY29uc3QgUmVuZGVyQmxvY2tGbG93Jik7CiAKICAgICBjbGFz
cyBSZW5kZXJGcmFnbWVudENvbnRhaW5lclJhbmdlIHsKQEAgLTI0MSw3ICsyNDEsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgc3RkOjp1bmlxdWVfcHRyPENvbnRhaW5pbmdGcmFnbWVudE1hcD4gbV9saW5l
VG9GcmFnbWVudE1hcDsKIAogICAgIC8vIE1hcCBhIGJveCB0byB0aGUgbGlzdCBvZiBmcmFnbWVu
dHMgaW4gd2hpY2ggdGhlIGJveCBpcyByZW5kZXJlZC4KLSAgICB1c2luZyBSZW5kZXJGcmFnbWVu
dENvbnRhaW5lclJhbmdlTWFwID0gVW5jaGVja2VkS2V5SGFzaE1hcDxTaW5nbGVUaHJlYWRXZWFr
UmVmPGNvbnN0IFJlbmRlckJveD4sIFJlbmRlckZyYWdtZW50Q29udGFpbmVyUmFuZ2U+OworICAg
IHVzaW5nIFJlbmRlckZyYWdtZW50Q29udGFpbmVyUmFuZ2VNYXAgPSBTaW5nbGVUaHJlYWRXZWFr
SGFzaE1hcDxjb25zdCBSZW5kZXJCb3gsIFJlbmRlckZyYWdtZW50Q29udGFpbmVyUmFuZ2U+Owog
ICAgIFJlbmRlckZyYWdtZW50Q29udGFpbmVyUmFuZ2VNYXAgbV9mcmFnbWVudFJhbmdlTWFwOwog
CiAgICAgLy8gTWFwIGEgYm94IHdpdGggYSBmcmFnbWVudCBicmVhayB0byB0aGUgYXV0byBoZWln
aHQgZnJhZ21lbnQgYWZmZWN0ZWQgYnkgdGhhdCBicmVhay4gCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKaW5kZXggYjQ1YzVlYzhiM2UzLi5mMWZkNzgw
NDZkOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFy
a2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5j
cHAKQEAgLTIzNiw3ICsyMzYsNyBAQCBSZW5kZXJCb3gqIFJlbmRlckxpc3RNYXJrZXI6OnBhcmVu
dEJveChSZW5kZXJCb3gmIGJveCkKICAgICBDaGVja2VkUHRyIG11bHRpQ29sdW1uRmxvdyA9IGR5
bmFtaWNEb3duY2FzdDxSZW5kZXJNdWx0aUNvbHVtbkZsb3c+KG1fbGlzdEl0ZW0tPmVuY2xvc2lu
Z0ZyYWdtZW50ZWRGbG93KCkpOwogICAgIGlmICghbXVsdGlDb2x1bW5GbG93KQogICAgICAgICBy
ZXR1cm4gYm94LnBhcmVudEJveCgpOwotICAgIGF1dG8qIHBsYWNlaG9sZGVyID0gbXVsdGlDb2x1
bW5GbG93LT5maW5kQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyKCZib3gpOworICAgIGF1dG8qIHBs
YWNlaG9sZGVyID0gbXVsdGlDb2x1bW5GbG93LT5maW5kQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVy
KGJveCk7CiAgICAgcmV0dXJuIHBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXItPnBhcmVudEJveCgp
IDogYm94LnBhcmVudEJveCgpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcAppbmRleCAwNjcyNDhkMzc5NzcuLjg4MTllZGYw
ODZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29s
dW1uRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29s
dW1uRmxvdy5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgUmVuZGVyQm94KiBSZW5kZXJNdWx0aUNvbHVt
bkZsb3c6OmZpcnN0Q29sdW1uU2V0T3JTcGFubmVyKCkgY29uc3QKIHsKICAgICBpZiAoUmVuZGVy
T2JqZWN0KiBzaWJsaW5nID0gbmV4dFNpYmxpbmcoKSkgewogICAgICAgICBBU1NFUlQoaXM8UmVu
ZGVyQm94Pigqc2libGluZykpOwotICAgICAgICBBU1NFUlQoaXM8UmVuZGVyTXVsdGlDb2x1bW5T
ZXQ+KCpzaWJsaW5nKSB8fCBmaW5kQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyKGRvd25jYXN0PFJl
bmRlckJveD4oc2libGluZykpKTsKKyAgICAgICAgQVNTRVJUKGlzPFJlbmRlck11bHRpQ29sdW1u
U2V0Pigqc2libGluZykgfHwgZmluZENvbHVtblNwYW5uZXJQbGFjZWhvbGRlcihkb3duY2FzdDxS
ZW5kZXJCb3g+KCpzaWJsaW5nKSkpOwogICAgICAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyQm94
PihzaWJsaW5nKTsKICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0xMDQsNyArMTA0LDcg
QEAgUmVuZGVyQm94KiBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OnByZXZpb3VzQ29sdW1uU2V0T3JT
cGFubmVyU2libGluZ09mKGNvbnN0IFJlbmQKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotUmVu
ZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIqIFJlbmRlck11bHRpQ29sdW1uRmxvdzo6
ZmluZENvbHVtblNwYW5uZXJQbGFjZWhvbGRlcihjb25zdCBSZW5kZXJCb3gqIHNwYW5uZXIpIGNv
bnN0CitSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlciogUmVuZGVyTXVsdGlDb2x1
bW5GbG93OjpmaW5kQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyKGNvbnN0IFJlbmRlckJveCYgc3Bh
bm5lcikgY29uc3QKIHsKICAgICByZXR1cm4gbV9zcGFubmVyTWFwLmdldChzcGFubmVyKS5nZXQo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtbkZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZs
b3cuaAppbmRleCBkOGM3YTY1MzkwMzkuLmRhOGVjZGNiYTIwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaApAQCAtNDUsMTEgKzQ1LDEx
IEBAIHB1YmxpYzoKICAgICBSZW5kZXJNdWx0aUNvbHVtblNldCogZmlyc3RNdWx0aUNvbHVtblNl
dCgpIGNvbnN0OwogICAgIFJlbmRlck11bHRpQ29sdW1uU2V0KiBsYXN0TXVsdGlDb2x1bW5TZXQo
KSBjb25zdDsKICAgICBSZW5kZXJCb3gqIGZpcnN0Q29sdW1uU2V0T3JTcGFubmVyKCkgY29uc3Q7
Ci0gICAgYm9vbCBoYXNDb2x1bW5TcGFubmVyKCkgY29uc3QgeyByZXR1cm4gIW1fc3Bhbm5lck1h
cC5pc0VtcHR5KCk7IH0KKyAgICBib29sIGhhc0NvbHVtblNwYW5uZXIoKSBjb25zdCB7IHJldHVy
biAhbV9zcGFubmVyTWFwLmlzRW1wdHlJZ25vcmluZ051bGxSZWZlcmVuY2VzKCk7IH0KICAgICBz
dGF0aWMgUmVuZGVyQm94KiBuZXh0Q29sdW1uU2V0T3JTcGFubmVyU2libGluZ09mKGNvbnN0IFJl
bmRlckJveCopOwogICAgIHN0YXRpYyBSZW5kZXJCb3gqIHByZXZpb3VzQ29sdW1uU2V0T3JTcGFu
bmVyU2libGluZ09mKGNvbnN0IFJlbmRlckJveCopOwogCi0gICAgUmVuZGVyTXVsdGlDb2x1bW5T
cGFubmVyUGxhY2Vob2xkZXIqIGZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoY29uc3QgUmVu
ZGVyQm94KiBzcGFubmVyKSBjb25zdDsKKyAgICBSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFj
ZWhvbGRlciogZmluZENvbHVtblNwYW5uZXJQbGFjZWhvbGRlcihjb25zdCBSZW5kZXJCb3gmIHNw
YW5uZXIpIGNvbnN0OwogCiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKIApAQCAtOTYsNyAr
OTYsNyBAQCBwdWJsaWM6CiAgICAgLy8gRklYTUU6IEV2ZW50dWFsbHkgYXMgY29sdW1uIGFuZCBm
cmFnbWVudCBmbG93IHRocmVhZHMgc3RhcnQgbmVzdGluZywgdGhpcyB3aWxsIGVuZCB1cCBjaGFu
Z2luZy4KICAgICBib29sIHNob3VsZENoZWNrQ29sdW1uQnJlYWtzKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKLSAgICB1c2luZyBTcGFubmVyTWFwID0gVW5jaGVja2VkS2V5SGFzaE1hcDxTaW5nbGVUaHJl
YWRXZWFrUmVmPGNvbnN0IFJlbmRlckJveD4sIFNpbmdsZVRocmVhZFdlYWtQdHI8UmVuZGVyTXVs
dGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXI+PjsKKyAgICB1c2luZyBTcGFubmVyTWFwID0gU2lu
Z2xlVGhyZWFkV2Vha0hhc2hNYXA8Y29uc3QgUmVuZGVyQm94LCBTaW5nbGVUaHJlYWRXZWFrUHRy
PFJlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyPj47CiAgICAgU3Bhbm5lck1hcCYg
c3Bhbm5lck1hcCgpIHsgcmV0dXJuIG1fc3Bhbm5lck1hcDsgfQogCiBwcml2YXRlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKaW5kZXgg
NTllNDllMTM2ZmIyLi5iNzc0ZTRiNzQzZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcApAQCAtNzUsMTEgKzc1LDExIEBAIFJlbmRl
ck11bHRpQ29sdW1uU2V0KiBSZW5kZXJNdWx0aUNvbHVtblNldDo6cHJldmlvdXNTaWJsaW5nTXVs
dGlDb2x1bW5TZXQoKSBjb25zCiAKIFJlbmRlck9iamVjdCogUmVuZGVyTXVsdGlDb2x1bW5TZXQ6
OmZpcnN0UmVuZGVyZXJJbkZyYWdtZW50ZWRGbG93KCkgY29uc3QKIHsKLSAgICBpZiAoUmVuZGVy
Qm94KiBzaWJsaW5nID0gUmVuZGVyTXVsdGlDb2x1bW5GbG93OjpwcmV2aW91c0NvbHVtblNldE9y
U3Bhbm5lclNpYmxpbmdPZih0aGlzKSkgeworICAgIGlmIChhdXRvKiBzaWJsaW5nID0gUmVuZGVy
TXVsdGlDb2x1bW5GbG93OjpwcmV2aW91c0NvbHVtblNldE9yU3Bhbm5lclNpYmxpbmdPZih0aGlz
KSkgewogICAgICAgICAvLyBBZGphY2VudCBzZXRzIHNob3VsZCBub3Qgb2NjdXIuIEN1cnJlbnRs
eSB3ZSB3b3VsZCBoYXZlIG5vIHdheSBvZiBmaWd1cmluZyBvdXQgd2hhdCBlYWNoCiAgICAgICAg
IC8vIG9mIHRoZW0gY29udGFpbnMgdGhlbi4KICAgICAgICAgQVNTRVJUKCFzaWJsaW5nLT5pc1Jl
bmRlck11bHRpQ29sdW1uU2V0KCkpOwotICAgICAgICBpZiAoUmVuZGVyTXVsdGlDb2x1bW5TcGFu
bmVyUGxhY2Vob2xkZXIqIHBsYWNlaG9sZGVyID0gbXVsdGlDb2x1bW5GbG93KCktPmZpbmRDb2x1
bW5TcGFubmVyUGxhY2Vob2xkZXIoc2libGluZykpCisgICAgICAgIGlmIChSZW5kZXJNdWx0aUNv
bHVtblNwYW5uZXJQbGFjZWhvbGRlciogcGxhY2Vob2xkZXIgPSBtdWx0aUNvbHVtbkZsb3coKS0+
ZmluZENvbHVtblNwYW5uZXJQbGFjZWhvbGRlcigqc2libGluZykpCiAgICAgICAgICAgICByZXR1
cm4gcGxhY2Vob2xkZXItPm5leHRJblByZU9yZGVyQWZ0ZXJDaGlsZHJlbigpOwogICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CkBAIC04OCwxMSArODgsMTEgQEAgUmVuZGVyT2Jq
ZWN0KiBSZW5kZXJNdWx0aUNvbHVtblNldDo6Zmlyc3RSZW5kZXJlckluRnJhZ21lbnRlZEZsb3co
KSBjb25zdAogCiBSZW5kZXJPYmplY3QqIFJlbmRlck11bHRpQ29sdW1uU2V0OjpsYXN0UmVuZGVy
ZXJJbkZyYWdtZW50ZWRGbG93KCkgY29uc3QKIHsKLSAgICBpZiAoUmVuZGVyQm94KiBzaWJsaW5n
ID0gUmVuZGVyTXVsdGlDb2x1bW5GbG93OjpuZXh0Q29sdW1uU2V0T3JTcGFubmVyU2libGluZ09m
KHRoaXMpKSB7CisgICAgaWYgKGF1dG8qIHNpYmxpbmcgPSBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6
Om5leHRDb2x1bW5TZXRPclNwYW5uZXJTaWJsaW5nT2YodGhpcykpIHsKICAgICAgICAgLy8gQWRq
YWNlbnQgc2V0cyBzaG91bGQgbm90IG9jY3VyLiBDdXJyZW50bHkgd2Ugd291bGQgaGF2ZSBubyB3
YXkgb2YgZmlndXJpbmcgb3V0IHdoYXQgZWFjaAogICAgICAgICAvLyBvZiB0aGVtIGNvbnRhaW5z
IHRoZW4uCiAgICAgICAgIEFTU0VSVCghc2libGluZy0+aXNSZW5kZXJNdWx0aUNvbHVtblNldCgp
KTsKLSAgICAgICAgaWYgKFJlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyKiBwbGFj
ZWhvbGRlciA9IG11bHRpQ29sdW1uRmxvdygpLT5maW5kQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVy
KHNpYmxpbmcpKQorICAgICAgICBpZiAoUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xk
ZXIqIHBsYWNlaG9sZGVyID0gbXVsdGlDb2x1bW5GbG93KCktPmZpbmRDb2x1bW5TcGFubmVyUGxh
Y2Vob2xkZXIoKnNpYmxpbmcpKQogICAgICAgICAgICAgcmV0dXJuIHBsYWNlaG9sZGVyLT5wcmV2
aW91c0luUHJlT3JkZXIoKTsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQpA
QCAtMzM1LDEwICszMzUsMTAgQEAgYm9vbCBSZW5kZXJNdWx0aUNvbHVtblNldDo6cmVxdWlyZXNC
YWxhbmNpbmcoKSBjb25zdAogICAgIGlmICghbXVsdGlDb2x1bW5GbG93KCktPnByb2dyZXNzaW9u
SXNJbmxpbmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKFJlbmRlckJveCog
bmV4dCA9IFJlbmRlck11bHRpQ29sdW1uRmxvdzo6bmV4dENvbHVtblNldE9yU3Bhbm5lclNpYmxp
bmdPZih0aGlzKSkgeworICAgIGlmIChhdXRvKiBuZXh0ID0gUmVuZGVyTXVsdGlDb2x1bW5GbG93
OjpuZXh0Q29sdW1uU2V0T3JTcGFubmVyU2libGluZ09mKHRoaXMpKSB7CiAgICAgICAgIGlmICgh
bmV4dC0+aXNSZW5kZXJNdWx0aUNvbHVtblNldCgpICYmICFuZXh0LT5pc0xlZ2VuZCgpKSB7CiAg
ICAgICAgICAgICAvLyBJZiB3ZSdyZSBmb2xsb3dlZCBieSBhIHNwYW5uZXIsIHdlIG5lZWQgdG8g
YmFsYW5jZS4KLSAgICAgICAgICAgIEFTU0VSVChtdWx0aUNvbHVtbkZsb3coKS0+ZmluZENvbHVt
blNwYW5uZXJQbGFjZWhvbGRlcihuZXh0KSk7CisgICAgICAgICAgICBBU1NFUlQobXVsdGlDb2x1
bW5GbG93KCktPmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoKm5leHQpKTsKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAyYmZhNDk4MmQ4ZmQuLjQwMmY1MTRhZDViYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTk2OSw3ICs5Njks
NyBAQCB2b2lkIFJlbmRlck9iamVjdDo6cHJvcGFnYXRlUmVwYWludFRvUGFyZW50V2l0aE91dGxp
bmVBdXRvSWZOZWVkZWQoY29uc3QgUmVuZGVyTAogICAgICAgICBDaGVja2VkUHRyIG9yaWdpbmFs
UmVuZGVyZXIgPSByZW5kZXJlcjsKICAgICAgICAgaWYgKENoZWNrZWRQdHIgcHJldmlvdXNNdWx0
aUNvbHVtblNldCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJNdWx0aUNvbHVtblNldD4ocmVuZGVy
ZXItPnByZXZpb3VzU2libGluZygpKTsgcHJldmlvdXNNdWx0aUNvbHVtblNldCAmJiAhcmVuZGVy
ZXItPmlzUmVuZGVyTXVsdGlDb2x1bW5TZXQoKSAmJiAhcmVuZGVyZXItPmlzTGVnZW5kKCkpIHsK
ICAgICAgICAgICAgIENoZWNrZWRQdHIgZW5jbG9zaW5nTXVsdGlDb2x1bW5GbG93ID0gcHJldmlv
dXNNdWx0aUNvbHVtblNldC0+bXVsdGlDb2x1bW5GbG93KCk7Ci0gICAgICAgICAgICBDaGVja2Vk
UHRyIHJlbmRlck11bHRpQ29sdW1uUGxhY2Vob2xkZXIgPSBlbmNsb3NpbmdNdWx0aUNvbHVtbkZs
b3ctPmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoZG93bmNhc3Q8UmVuZGVyQm94PihyZW5k
ZXJlci5nZXQoKSkpOworICAgICAgICAgICAgQ2hlY2tlZFB0ciByZW5kZXJNdWx0aUNvbHVtblBs
YWNlaG9sZGVyID0gZW5jbG9zaW5nTXVsdGlDb2x1bW5GbG93LT5maW5kQ29sdW1uU3Bhbm5lclBs
YWNlaG9sZGVyKGRvd25jYXN0PFJlbmRlckJveD4oKnJlbmRlcmVyKSk7CiAgICAgICAgICAgICBB
U1NFUlQocmVuZGVyTXVsdGlDb2x1bW5QbGFjZWhvbGRlcik7CiAgICAgICAgICAgICByZW5kZXJl
ciA9IFdURk1vdmUocmVuZGVyTXVsdGlDb2x1bW5QbGFjZWhvbGRlcik7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVp
bGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXIuY3BwCmluZGV4IGY2NjQ5OGNjYjU5Ni4uM2QxMDBiODEzM2JmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5j
cHAKQEAgLTI3Niw3ICsyNzYsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjphdHRhY2hJbnRl
cm5hbChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYgogICAgICAgICBp
ZiAoYXV0byogZW5jbG9zaW5nRnJhZ21lbnRlZEZsb3cgPSBwYXJlbnQuZW5jbG9zaW5nRnJhZ21l
bnRlZEZsb3coKSkgewogICAgICAgICAgICAgYXV0byBjb2x1bW5TcGFubmVyUGxhY2Vob2xkZXJG
b3JCZWZvcmVDaGlsZCA9IFsmXSgpIC0+IFJlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9s
ZGVyKiB7CiAgICAgICAgICAgICAgICAgYXV0byogbXVsdGlDb2x1bW5GbG93ID0gZHluYW1pY0Rv
d25jYXN0PFJlbmRlck11bHRpQ29sdW1uRmxvdz4oZW5jbG9zaW5nRnJhZ21lbnRlZEZsb3cpOwot
ICAgICAgICAgICAgICAgIHJldHVybiBtdWx0aUNvbHVtbkZsb3cgPyBtdWx0aUNvbHVtbkZsb3ct
PmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoYmVmb3JlQ2hpbGRCb3gpIDogbnVsbHB0cjsK
KyAgICAgICAgICAgICAgICByZXR1cm4gbXVsdGlDb2x1bW5GbG93ID8gbXVsdGlDb2x1bW5GbG93
LT5maW5kQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyKCpiZWZvcmVDaGlsZEJveCkgOiBudWxscHRy
OwogICAgICAgICAgICAgfTsKIAogICAgICAgICAgICAgaWYgKGF1dG8qIHNwYW5uZXJQbGFjZWhv
bGRlciA9IGNvbHVtblNwYW5uZXJQbGFjZWhvbGRlckZvckJlZm9yZUNoaWxkKCkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJN
dWx0aUNvbHVtbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5jcHAKaW5kZXggNzQ2NTUxM2ZmOTI0Li5lMGQxNGM0OGQx
Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlck11bHRpQ29sdW1uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5jcHAKQEAgLTE4MSw3ICsxODEs
NyBAQCBSZW5kZXJPYmplY3QqIFJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6cmVzb2x2
ZU1vdmVkQ2hpbGQoUmVuZGVyRnJhZ21lbnRlZAogICAgIC8vIGNyZWF0ZSBhbmQgaW5zZXJ0IGEg
cmVuZGVyZXIgZm9yIHRoZSBzaWJsaW5nIG5vZGUgaW1tZWRpYXRlbHkgcHJlY2VkaW5nIHRoZSBz
cGFubmVyLCB3ZSBuZWVkCiAgICAgLy8gdG8gbWFwIHRoYXQgc3Bhbm5lciByZW5kZXJlciB0byB0
aGUgc3Bhbm5lcidzIHBsYWNlaG9sZGVyLCB3aGljaCBpcyB3aGVyZSB0aGUgbmV3IGluc2VydGVk
CiAgICAgLy8gcmVuZGVyZXIgYmVsb25ncy4KLSAgICBpZiAoYXV0byogcGxhY2Vob2xkZXIgPSBy
ZW5kZXJNdWx0aUNvbHVtbkZsb3ctPmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoYmVmb3Jl
Q2hpbGRSZW5kZXJCb3gpKQorICAgIGlmIChhdXRvKiBwbGFjZWhvbGRlciA9IHJlbmRlck11bHRp
Q29sdW1uRmxvdy0+ZmluZENvbHVtblNwYW5uZXJQbGFjZWhvbGRlcigqYmVmb3JlQ2hpbGRSZW5k
ZXJCb3gpKQogICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXI7CiAKICAgICAvLyBUaGlzIGlzIGFu
IGludmFsaWQgc3Bhbm5lciwgb3IgaXRzIHBsYWNlaG9sZGVyIGhhc24ndCBiZWVuIGNyZWF0ZWQg
eWV0LiBUaGlzIGhhcHBlbnMgd2hlbgpAQCAtMTk1LDcgKzE5NSw3IEBAIHZvaWQgUmVuZGVyVHJl
ZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjpyZXN0b3JlQ29sdW1uU3Bhbm5lcnNGb3JDb250YWluZXIo
UmVuZGVyTXVsCiB7CiAgICAgYXV0byYgc3Bhbm5lcnMgPSBtdWx0aUNvbHVtbkZsb3cuc3Bhbm5l
ck1hcCgpOwogICAgIFZlY3RvcjxSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlcio+
IHBsYWNlaG9sZGVyc1RvUmVzdG9yZTsKLSAgICBmb3IgKGF1dG8mIHNwYW5uZXJBbmRQbGFjZWhv
bGRlciA6IHNwYW5uZXJzKSB7CisgICAgZm9yIChhdXRvIHNwYW5uZXJBbmRQbGFjZWhvbGRlciA6
IHNwYW5uZXJzKSB7CiAgICAgICAgIGF1dG8mIHBsYWNlaG9sZGVyID0gc3Bhbm5lckFuZFBsYWNl
aG9sZGVyLnZhbHVlOwogICAgICAgICBpZiAoIXBsYWNlaG9sZGVyIHx8ICFwbGFjZWhvbGRlci0+
aXNEZXNjZW5kYW50T2YoJmNvbnRhaW5lcikpCiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTIz
Myw3ICsyMzMsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6bXVsdGlD
b2x1bW5EZXNjZW5kYW50SW5zZXJ0ZWQoUmVuZGVyTXVsdGlDbwogICAgICAgICAgICAgLy8gQSBz
cGFubmVyJ3MgcGxhY2Vob2xkZXIgaGFzIGJlZW4gaW5zZXJ0ZWQuIFRoZSBhY3R1YWwgc3Bhbm5l
ciByZW5kZXJlciBpcyBtb3ZlZCBmcm9tCiAgICAgICAgICAgICAvLyB3aGVyZSBpdCB3b3VsZCBv
dGhlcndpc2Ugb2NjdXIgKGlmIGl0IHdlcmVuJ3QgYSBzcGFubmVyKSB0byBiZWNvbWluZyBhIHNp
Ymxpbmcgb2YgdGhlCiAgICAgICAgICAgICAvLyBjb2x1bW4gc2V0cy4KLSAgICAgICAgICAgIEFT
U0VSVCghZmxvdy5zcGFubmVyTWFwKCkuZ2V0KHBsYWNlaG9sZGVyLT5zcGFubmVyKCkpKTsKKyAg
ICAgICAgICAgIEFTU0VSVCghZmxvdy5zcGFubmVyTWFwKCkuZ2V0KCpwbGFjZWhvbGRlci0+c3Bh
bm5lcigpKSk7CiAgICAgICAgICAgICBmbG93LnNwYW5uZXJNYXAoKS5hZGQoKnBsYWNlaG9sZGVy
LT5zcGFubmVyKCksIHBsYWNlaG9sZGVyKTsKICAgICAgICAgICAgIEFTU0VSVCghcGxhY2Vob2xk
ZXItPmZpcnN0Q2hpbGQoKSk7IC8vIFRoZXJlIHNob3VsZCBiZSBubyBjaGlsZHJlbiBoZXJlLCBi
dXQgaWYgdGhlcmUgYXJlLCB3ZSBvdWdodCB0byBza2lwIHRoZW0uCiAgICAgICAgIH0gZWxzZQpA
QCAtMjUxLDcgKzI1MSw3IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjpt
dWx0aUNvbHVtblJlbGF0aXZlV2lsbEJlUmVtb3ZlZChSZW5kZXJNdWx0CiAgICAgICAgIC8vIGtl
ZXAgdGhlIHJlZmVyZW5jZSB0byB0aGUgc3Bhbm5lciwgc2luY2UgdGhlIHBsYWNlaG9sZGVyIG1h
eSBiZSBhYm91dCB0byBiZSByZS1pbnNlcnRlZAogICAgICAgICAvLyBpbiB0aGUgdHJlZS4KICAg
ICAgICAgQVNTRVJUKHJlbGF0aXZlLmlzRGVzY2VuZGFudE9mKCZmbG93KSk7Ci0gICAgICAgIGZs
b3cuc3Bhbm5lck1hcCgpLnJlbW92ZShwbGFjZWhvbGRlci0+c3Bhbm5lcigpKTsKKyAgICAgICAg
Zmxvdy5zcGFubmVyTWFwKCkucmVtb3ZlKCpwbGFjZWhvbGRlci0+c3Bhbm5lcigpKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAocmVsYXRpdmUuc3R5bGUoKS5jb2x1bW5TcGFuKCkg
PT0gQ29sdW1uU3Bhbjo6QWxsKSB7CkBAIC0yODMsNyArMjgzLDcgQEAgUmVuZGVyT2JqZWN0KiBS
ZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmFkanVzdEJlZm9yZUNoaWxkRm9yTXVsdGlD
b2x1bW5TcGEKICAgICBpZiAoIW11bHRpQ29sdW1uRmxvdykKICAgICAgICAgcmV0dXJuICZiZWZv
cmVDaGlsZDsKIAotICAgIHJldHVybiBtdWx0aUNvbHVtbkZsb3ctPmZpbmRDb2x1bW5TcGFubmVy
UGxhY2Vob2xkZXIoYmVmb3JlQ2hpbGRCb3gpOworICAgIHJldHVybiBtdWx0aUNvbHVtbkZsb3ct
PmZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoKmJlZm9yZUNoaWxkQm94KTsKIH0KIAogdm9p
ZCBSZW5kZXJUcmVlQnVpbGRlcjo6TXVsdGlDb2x1bW46OmNyZWF0ZUZyYWdtZW50ZWRGbG93KFJl
bmRlckJsb2NrRmxvdyYgZmxvdykKQEAgLTMyMSw3ICszMjEsNyBAQCB2b2lkIFJlbmRlclRyZWVC
dWlsZGVyOjpNdWx0aUNvbHVtbjo6ZGVzdHJveUZyYWdtZW50ZWRGbG93KFJlbmRlckJsb2NrRmxv
dyYgZmxvdwogICAgIC8vIE1vdmUgc3Bhbm5lcnMgYmFjayB0byB0aGVpciBvcmlnaW5hbCBET00g
cG9zaXRpb24gaW4gdGhlIHRyZWUsIGFuZCBkZXN0cm95IHRoZSBwbGFjZWhvbGRlcnMuCiAgICAg
YXV0byYgc3Bhbm5lcnMgPSBtdWx0aUNvbHVtbkZsb3cuc3Bhbm5lck1hcCgpOwogICAgIFZlY3Rv
cjxSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlcio+IHBsYWNlaG9sZGVyc1RvRGVs
ZXRlOwotICAgIGZvciAoYXV0byYgc3Bhbm5lckFuZFBsYWNlaG9sZGVyIDogc3Bhbm5lcnMpCisg
ICAgZm9yIChhdXRvIHNwYW5uZXJBbmRQbGFjZWhvbGRlciA6IHNwYW5uZXJzKQogICAgICAgICBw
bGFjZWhvbGRlcnNUb0RlbGV0ZS5hcHBlbmQoc3Bhbm5lckFuZFBsYWNlaG9sZGVyLnZhbHVlLmdl
dCgpKTsKICAgICBWZWN0b3I8c3RkOjpwYWlyPFJlbmRlckVsZW1lbnQqLCBSZW5kZXJQdHI8UmVu
ZGVyT2JqZWN0Pj4+IHBhcmVudEFuZFNwYW5uZXJMaXN0OwogICAgIGZvciAoYXV0byogcGxhY2Vo
b2xkZXIgOiBwbGFjZWhvbGRlcnNUb0RlbGV0ZSkgewpAQCAtNDQ2LDcgKzQ0Niw3IEBAIFJlbmRl
ck9iamVjdCogUmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjpwcm9jZXNzUG9zc2libGVT
cGFubmVyRGVzY2VuZGFudChSCiB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6
aGFuZGxlU3Bhbm5lclJlbW92YWwoUmVuZGVyTXVsdGlDb2x1bW5GbG93JiBmbG93LCBSZW5kZXJP
YmplY3QmIHNwYW5uZXIsIFJlbmRlclRyZWVCdWlsZGVyOjpDYW5Db2xsYXBzZUFub255bW91c0Js
b2NrIGNhbkNvbGxhcHNlQW5vbnltb3VzQmxvY2spCiB7CiAgICAgLy8gVGhlIHBsYWNlaG9sZGVy
IG1heSBhbHJlYWR5IGhhdmUgYmVlbiByZW1vdmVkLCBidXQgaWYgaXQgaGFzbid0LCBkbyBzbyBu
b3cuCi0gICAgaWYgKGF1dG8gcGxhY2Vob2xkZXIgPSBmbG93LnNwYW5uZXJNYXAoKS50YWtlKCZk
b3duY2FzdDxSZW5kZXJCb3g+KHNwYW5uZXIpKSkKKyAgICBpZiAoYXV0byBwbGFjZWhvbGRlciA9
IGZsb3cuc3Bhbm5lck1hcCgpLnRha2UoZG93bmNhc3Q8UmVuZGVyQm94PihzcGFubmVyKSkpCiAg
ICAgICAgIG1fYnVpbGRlci5kZXN0cm95KCpwbGFjZWhvbGRlciwgY2FuQ29sbGFwc2VBbm9ueW1v
dXNCbG9jayk7CiAKICAgICBpZiAoYXV0byogbmV4dCA9IHNwYW5uZXIubmV4dFNpYmxpbmcoKSkg
ewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>