<?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>242058</bug_id>
          
          <creation_ts>2022-06-28 02:47:24 -0700</creation_ts>
          <short_desc>Add RuleSet bucket for attribute selectors</short_desc>
          <delta_ts>2022-06-30 04:32:57 -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>CSS</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>
          <dependson>242159</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>fujii</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1878708</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-06-28 02:47:24 -0700</bug_when>
    <thetext>Faster attribute selectors in subject position.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1878709</commentid>
    <comment_count>1</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-06-28 02:48:27 -0700</bug_when>
    <thetext>rdar://95790940</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1878746</commentid>
    <comment_count>2</comment_count>
      <attachid>460516</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-06-28 04:18:50 -0700</bug_when>
    <thetext>Created attachment 460516
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1878978</commentid>
    <comment_count>3</comment_count>
      <attachid>460536</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-06-29 02:09:52 -0700</bug_when>
    <thetext>Created attachment 460536
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1878990</commentid>
    <comment_count>4</comment_count>
      <attachid>460538</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-06-29 03:48:10 -0700</bug_when>
    <thetext>Created attachment 460538
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1879022</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-06-29 09:22:08 -0700</bug_when>
    <thetext>Committed 251950@main (bd435a9ae24e): &lt;https://commits.webkit.org/251950@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 460538.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1879231</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-06-29 20:17:40 -0700</bug_when>
    <thetext>Bug 242159 – REGRESSION(251950@main) Crash under WebCore::Style::ElementRuleCollector::collectMatchingRules</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1879259</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-06-29 22:09:30 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1879260</commentid>
    <comment_count>8</comment_count>
      <attachid>460569</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-06-29 22:09:32 -0700</bug_when>
    <thetext>Created attachment 460569
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1879294</commentid>
    <comment_count>9</comment_count>
      <attachid>460574</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-06-30 02:03:04 -0700</bug_when>
    <thetext>Created attachment 460574
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1879317</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-06-30 04:32:56 -0700</bug_when>
    <thetext>Committed 251989@main (c27218b87632): &lt;https://commits.webkit.org/251989@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 460574.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>460516</attachid>
            <date>2022-06-28 04:18:50 -0700</date>
            <delta_ts>2022-06-29 02:09:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-242058-20220628141849.patch</filename>
            <type>text/plain</type>
            <size>11424</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSA2NTJiNDlhYmY5MDExZTY4MWUzOTFlODZhYTViNDI3MGQ1NzQ3MTA5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBUdWUsIDI4IEp1biAyMDIyIDE0OjEyOjQ0ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIFJ1
bGVTZXQgYnVja2V0IGZvciBhdHRyaWJ1dGUgc2VsZWN0b3JzCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQyMDU4IDxyZGFyOi8vOTU3OTA5NDA+CgpSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KCiogU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xs
ZWN0b3IuY3BwOgooV2ViQ29yZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0
TWF0Y2hpbmdSdWxlcyk6CgpDaGVjayB0aGUgYXR0cmlidXRlIGJ1Y2tldHMgZm9yIGVsZW1lbnQg
YXR0cmlidXRlcy4KCiogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZURhdGEuY3BwOgooV2ViQ29y
ZTo6U3R5bGU6OmNvbXB1dGVNYXRjaEJhc2VkT25SdWxlSGFzaCk6CgpTZWxlY3RvcnMgaW4gZm9y
bSBbYXR0cmlidXRlXSBtYXRjaCB3aXRob3V0IGZ1cnRoZXIgY2hlY2tpbmcuCgoqIFNvdXJjZS9X
ZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwOgooV2ViQ29yZTo6U3R5bGU6OnNob3VsZEhhdmVCdWNr
ZXRGb3JBdHRyaWJ1dGVOYW1lKToKCkRvbid0IGJ1Y2tldCBsYXp5IGF0dHJpYnV0ZXMgdGhhdCB3
b3VsZCByZXF1aXJlIHN5bmNob25pemF0aW9uLgoKKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0Ojph
ZGRSdWxlKToKKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0Ojp0cmF2ZXJzZVJ1bGVEYXRhcyk6CihX
ZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6c2hyaW5rVG9GaXQpOgoqIFNvdXJjZS9XZWJDb3JlL3N0
eWxlL1J1bGVTZXQuaDoKKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0OjpoYXNBdHRyaWJ1dGVSdWxl
cyBjb25zdCk6CihXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6YXR0cmlidXRlUnVsZXMgY29uc3Qp
OgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OnRhZ1J1bGVzIGNvbnN0KToKLS0tCiBTb3VyY2Uv
V2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAgfCAyNCArKysrKysrLS0tLS0K
IFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcCAgICAgICAgICAgICB8ICAyICsKIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwICAgICAgICAgICAgICB8IDM5ICsrKysrKysr
KysrKysrKy0tLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaCAgICAgICAgICAgICAg
ICB8IDE4ICsrKysrKy0tLQogNCBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCAyMiBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVs
ZUNvbGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rv
ci5jcHAKaW5kZXggMzdiOTRjZWJhYTU1Li4zMDZiYjQyZGU4NWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTE0NSwyNSArMTQ1LDMxIEBA
IHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbGxlY3RNYXRjaGluZ1J1bGVzKGNvbnN0IE1h
dGNoUmVxdWVzdCYgbWF0Y2hSZXF1ZXN0CiB7CiAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghKG1f
bW9kZSA9PSBTZWxlY3RvckNoZWNrZXI6Ok1vZGU6OkNvbGxlY3RpbmdSdWxlc0lnbm9yaW5nVmly
dHVhbFBzZXVkb0VsZW1lbnRzICYmIG1fcHNldWRvRWxlbWVudFJlcXVlc3QucHNldWRvSWQgIT0g
UHNldWRvSWQ6Ok5vbmUpLCAiV2hlbiBpbiBTdHlsZUludmFsaWRhdGlvbiBvciBTaGFyaW5nUnVs
ZXMsIFNlbGVjdG9yQ2hlY2tlciBkb2VzIG5vdCB0cnkgdG8gbWF0Y2ggdGhlIHBzZXVkbyBJRC4g
V2hpbGUgRWxlbWVudFJ1bGVDb2xsZWN0b3Igc3VwcG9ydHMgbWF0Y2hpbmcgYSBwYXJ0aWN1bGFy
IHBzZXVkb0lkIGluIHRoaXMgY2FzZSwgdGhpcyB3b3VsZCBpbmRpY2F0ZSBhIGVycm9yIGF0IHRo
ZSBjYWxsIHNpdGUgc2luY2UgbWF0Y2hpbmcgYSBwYXJ0aWN1bGFyIGVsZW1lbnQgc2hvdWxkIGJl
IHVubmVjZXNzYXJ5LiIpOwogCi0gICAgYXV0byogc2hhZG93Um9vdCA9IGVsZW1lbnQoKS5jb250
YWluaW5nU2hhZG93Um9vdCgpOworICAgIGF1dG8mIGVsZW1lbnQgPSB0aGlzLT5lbGVtZW50KCk7
CisgICAgYXV0byogc2hhZG93Um9vdCA9IGVsZW1lbnQuY29udGFpbmluZ1NoYWRvd1Jvb3QoKTsK
ICAgICBpZiAoc2hhZG93Um9vdCAmJiBzaGFkb3dSb290LT5tb2RlKCkgPT0gU2hhZG93Um9vdE1v
ZGU6OlVzZXJBZ2VudCkKICAgICAgICAgY29sbGVjdE1hdGNoaW5nU2hhZG93UHNldWRvRWxlbWVu
dFJ1bGVzKG1hdGNoUmVxdWVzdCk7CiAKKyAgICBib29sIGlzSFRNTCA9IGVsZW1lbnQuaXNIVE1M
RWxlbWVudCgpICYmIGVsZW1lbnQuZG9jdW1lbnQoKS5pc0hUTUxEb2N1bWVudCgpOworCiAgICAg
Ly8gV2UgbmVlZCB0byBjb2xsZWN0IHRoZSBydWxlcyBmb3IgaWQsIGNsYXNzLCB0YWcsIGFuZCBl
dmVyeXRoaW5nIGVsc2UgaW50byBhIGJ1ZmZlciBhbmQKICAgICAvLyB0aGVuIHNvcnQgdGhlIGJ1
ZmZlci4KLSAgICBhdXRvJiBpZCA9IGVsZW1lbnQoKS5pZEZvclN0eWxlUmVzb2x1dGlvbigpOwor
ICAgIGF1dG8mIGlkID0gZWxlbWVudC5pZEZvclN0eWxlUmVzb2x1dGlvbigpOwogICAgIGlmICgh
aWQuaXNOdWxsKCkpCiAgICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRjaFJl
cXVlc3QucnVsZVNldC5pZFJ1bGVzKGlkKSwgbWF0Y2hSZXF1ZXN0KTsKLSAgICBpZiAoZWxlbWVu
dCgpLmhhc0NsYXNzKCkpIHsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBlbGVtZW50
KCkuY2xhc3NOYW1lcygpLnNpemUoKTsgKytpKQotICAgICAgICAgICAgY29sbGVjdE1hdGNoaW5n
UnVsZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0LmNsYXNzUnVsZXMoZWxlbWVudCgpLmNs
YXNzTmFtZXMoKVtpXSksIG1hdGNoUmVxdWVzdCk7CisgICAgaWYgKGVsZW1lbnQuaGFzQ2xhc3Mo
KSkgeworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGVsZW1lbnQuY2xhc3NOYW1lcygp
LnNpemUoKTsgKytpKQorICAgICAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1h
dGNoUmVxdWVzdC5ydWxlU2V0LmNsYXNzUnVsZXMoZWxlbWVudC5jbGFzc05hbWVzKClbaV0pLCBt
YXRjaFJlcXVlc3QpOwogICAgIH0KLQotICAgIGlmIChlbGVtZW50KCkuaXNMaW5rKCkpCisgICAg
aWYgKGVsZW1lbnQuaGFzQXR0cmlidXRlc1dpdGhvdXRVcGRhdGUoKSAmJiBtYXRjaFJlcXVlc3Qu
cnVsZVNldC5oYXNBdHRyaWJ1dGVSdWxlcygpKSB7CisgICAgICAgIGZvciAoYXV0byYgYXR0cmli
dXRlIDogZWxlbWVudC5hdHRyaWJ1dGVzSXRlcmF0b3IoKSkKKyAgICAgICAgICAgIGNvbGxlY3RN
YXRjaGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC5hdHRyaWJ1dGVSdWxlcyhh
dHRyaWJ1dGUubG9jYWxOYW1lKCksIGlzSFRNTCksIG1hdGNoUmVxdWVzdCk7CisgICAgfQorICAg
IGlmIChlbGVtZW50LmlzTGluaygpKQogICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxp
c3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQubGlua1BzZXVkb0NsYXNzUnVsZXMoKSwgbWF0Y2hSZXF1
ZXN0KTsKLSAgICBpZiAobWF0Y2hlc0ZvY3VzUHNldWRvQ2xhc3MoZWxlbWVudCgpKSkKKyAgICBp
ZiAobWF0Y2hlc0ZvY3VzUHNldWRvQ2xhc3MoZWxlbWVudCkpCiAgICAgICAgIGNvbGxlY3RNYXRj
aGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC5mb2N1c1BzZXVkb0NsYXNzUnVs
ZXMoKSwgbWF0Y2hSZXF1ZXN0KTsKLSAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0
Y2hSZXF1ZXN0LnJ1bGVTZXQudGFnUnVsZXMoZWxlbWVudCgpLmxvY2FsTmFtZSgpLCBlbGVtZW50
KCkuaXNIVE1MRWxlbWVudCgpICYmIGVsZW1lbnQoKS5kb2N1bWVudCgpLmlzSFRNTERvY3VtZW50
KCkpLCBtYXRjaFJlcXVlc3QpOworICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRj
aFJlcXVlc3QucnVsZVNldC50YWdSdWxlcyhlbGVtZW50LmxvY2FsTmFtZSgpLCBpc0hUTUwpLCBt
YXRjaFJlcXVlc3QpOwogICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVl
c3QucnVsZVNldC51bml2ZXJzYWxSdWxlcygpLCBtYXRjaFJlcXVlc3QpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9SdWxlRGF0YS5jcHAKaW5kZXggMzA5OWQ1ZWRlZDJlLi42NmQ0Y2JlZTg3OTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9SdWxlRGF0YS5jcHAKQEAgLTgwLDYgKzgwLDggQEAgc3RhdGljIGlubGluZSBN
YXRjaEJhc2VkT25SdWxlSGFzaCBjb21wdXRlTWF0Y2hCYXNlZE9uUnVsZUhhc2goY29uc3QgQ1NT
U2VsZWN0b3IKICAgICAgICAgcmV0dXJuIE1hdGNoQmFzZWRPblJ1bGVIYXNoOjpDbGFzc0E7CiAg
ICAgaWYgKHNlbGVjdG9yLm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6OkNsYXNzKQogICAgICAgICBy
ZXR1cm4gTWF0Y2hCYXNlZE9uUnVsZUhhc2g6OkNsYXNzQjsKKyAgICBpZiAoc2VsZWN0b3IubWF0
Y2goKSA9PSBDU1NTZWxlY3Rvcjo6U2V0ICYmIHNlbGVjdG9yLnZhbHVlKCkuaXNOdWxsKCkgJiYg
c2VsZWN0b3IuYXR0cmlidXRlKCkucHJlZml4KCkgPT0gc3RhckF0b20oKSkKKyAgICAgICAgcmV0
dXJuIE1hdGNoQmFzZWRPblJ1bGVIYXNoOjpDbGFzc0I7CiAgICAgcmV0dXJuIE1hdGNoQmFzZWRP
blJ1bGVIYXNoOjpOb25lOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9S
dWxlU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCmluZGV4IGNmMTdk
ZWRjODU5YS4uYjM4ZTc0MjNjNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9S
dWxlU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcApAQCAtMzcs
NiArMzcsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlF
dmFsdWF0b3IuaCIKICNpbmNsdWRlICJSdWxlU2V0QnVpbGRlci5oIgorI2luY2x1ZGUgIlNWR0Vs
ZW1lbnQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlbGVjdG9y
Q2hlY2tlci5oIgogI2luY2x1ZGUgIlNlbGVjdG9yRmlsdGVyLmgiCkBAIC04Niw2ICs4NywxNiBA
QCBzdGF0aWMgYm9vbCBpc0hvc3RTZWxlY3Rvck1hdGNoaW5nSW5TaGFkb3dUcmVlKGNvbnN0IENT
U1NlbGVjdG9yJiBzdGFydFNlbGVjdG9yKQogICAgIHJldHVybiAhaGFzT25seU9uZUNvbXBvdW5k
ICYmIGhhc0hvc3RJbkxhc3RDb21wb3VuZDsKIH0KIAorc3RhdGljIGJvb2wgc2hvdWxkSGF2ZUJ1
Y2tldEZvckF0dHJpYnV0ZU5hbWUoY29uc3QgQ1NTU2VsZWN0b3ImIGF0dHJpYnV0ZVNlbGVjdG9y
KQoreworICAgIC8vIERvbid0IG1ha2UgYnVja2V0cyBmb3IgbGF6eSBhdHRyaWJ1dGVzIHNpbmNl
IHdlIGRvbid0IHdhbnQgdG8gc3luY2hyb25pemUuCisgICAgaWYgKGF0dHJpYnV0ZVNlbGVjdG9y
LmF0dHJpYnV0ZUNhbm9uaWNhbExvY2FsTmFtZSgpID09IEhUTUxOYW1lczo6c3R5bGVBdHRyLT5s
b2NhbE5hbWUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChTVkdFbGVtZW50Ojph
bmltYXRhYmxlQXR0cmlidXRlRm9yTmFtZShhdHRyaWJ1dGVTZWxlY3Rvci5hdHRyaWJ1dGUoKS5s
b2NhbE5hbWUoKSkgIT0gbnVsbFFOYW1lKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBSdWxlU2V0OjphZGRSdWxlKGNvbnN0IFN0eWxlUnVsZSYg
cnVsZSwgdW5zaWduZWQgc2VsZWN0b3JJbmRleCwgdW5zaWduZWQgc2VsZWN0b3JMaXN0SW5kZXgp
CiB7CiAgICAgUnVsZURhdGEgcnVsZURhdGEocnVsZSwgc2VsZWN0b3JJbmRleCwgc2VsZWN0b3JM
aXN0SW5kZXgsIG1fcnVsZUNvdW50KTsKQEAgLTExOCw2ICsxMjksNyBAQCB2b2lkIFJ1bGVTZXQ6
OmFkZFJ1bGUoUnVsZURhdGEmJiBydWxlRGF0YSwgQ2FzY2FkZUxheWVySWRlbnRpZmllciBjYXNj
YWRlTGF5ZXJJZAogICAgIGNvbnN0IENTU1NlbGVjdG9yKiBpZFNlbGVjdG9yID0gbnVsbHB0cjsK
ICAgICBjb25zdCBDU1NTZWxlY3RvciogdGFnU2VsZWN0b3IgPSBudWxscHRyOwogICAgIGNvbnN0
IENTU1NlbGVjdG9yKiBjbGFzc1NlbGVjdG9yID0gbnVsbHB0cjsKKyAgICBjb25zdCBDU1NTZWxl
Y3RvciogYXR0cmlidXRlU2VsZWN0b3IgPSBudWxscHRyOwogICAgIGNvbnN0IENTU1NlbGVjdG9y
KiBsaW5rU2VsZWN0b3IgPSBudWxscHRyOwogICAgIGNvbnN0IENTU1NlbGVjdG9yKiBmb2N1c1Nl
bGVjdG9yID0gbnVsbHB0cjsKICAgICBjb25zdCBDU1NTZWxlY3RvciogaG9zdFBzZXVkb0NsYXNz
U2VsZWN0b3IgPSBudWxscHRyOwpAQCAtMTQ3LDYgKzE1OSwxNiBAQCB2b2lkIFJ1bGVTZXQ6OmFk
ZFJ1bGUoUnVsZURhdGEmJiBydWxlRGF0YSwgQ2FzY2FkZUxheWVySWRlbnRpZmllciBjYXNjYWRl
TGF5ZXJJZAogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAg
ICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RXhhY3Q6CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlNldDoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6TGlzdDoKKyAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6SHlwaGVuOgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpDb250YWluOgorICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpCZWdpbjoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
RW5kOgorICAgICAgICAgICAgaWYgKHNob3VsZEhhdmVCdWNrZXRGb3JBdHRyaWJ1dGVOYW1lKCpz
ZWxlY3RvcikpCisgICAgICAgICAgICAgICAgYXR0cmlidXRlU2VsZWN0b3IgPSBzZWxlY3RvcjsK
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpUYWc6CiAgICAg
ICAgICAgICBpZiAoc2VsZWN0b3ItPnRhZ1FOYW1lKCkubG9jYWxOYW1lKCkgIT0gc3RhckF0b20o
KSkKICAgICAgICAgICAgICAgICB0YWdTZWxlY3RvciA9IHNlbGVjdG9yOwpAQCAtMTkyLDEzICsy
MTQsNiBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJ1bGUoUnVsZURhdGEmJiBydWxlRGF0YSwgQ2FzY2Fk
ZUxheWVySWRlbnRpZmllciBjYXNjYWRlTGF5ZXJJZAogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlVua25vd246Ci0gICAgICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OkV4YWN0OgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTZXQ6Ci0g
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6Okxpc3Q6Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
Okh5cGhlbjoKLSAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6Q29udGFpbjoKLSAgICAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6QmVnaW46Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkVuZDoKICAg
ICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UGFnZVBzZXVkb0NsYXNzOgogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KQEAgLTI2MSw2ICsyNzYsMTIgQEAgdm9pZCBSdWxlU2V0OjphZGRSdWxl
KFJ1bGVEYXRhJiYgcnVsZURhdGEsIENhc2NhZGVMYXllcklkZW50aWZpZXIgY2FzY2FkZUxheWVy
SWQKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmIChhdHRyaWJ1dGVTZWxlY3Rvcikg
eworICAgICAgICBhZGRUb1J1bGVTZXQoYXR0cmlidXRlU2VsZWN0b3ItPmF0dHJpYnV0ZSgpLmxv
Y2FsTmFtZSgpLCBtX2F0dHJpYnV0ZUxvY2FsTmFtZVJ1bGVzLCBydWxlRGF0YSk7CisgICAgICAg
IGFkZFRvUnVsZVNldChhdHRyaWJ1dGVTZWxlY3Rvci0+YXR0cmlidXRlQ2Fub25pY2FsTG9jYWxO
YW1lKCksIG1fYXR0cmlidXRlQ2Fub25pY2FsTG9jYWxOYW1lUnVsZXMsIHJ1bGVEYXRhKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChsaW5rU2VsZWN0b3IpIHsKICAgICAgICAg
bV9saW5rUHNldWRvQ2xhc3NSdWxlcy5hcHBlbmQocnVsZURhdGEpOwogICAgICAgICByZXR1cm47
CkBAIC0zMDEsNiArMzIyLDggQEAgdm9pZCBSdWxlU2V0Ojp0cmF2ZXJzZVJ1bGVEYXRhcyhGdW5j
dGlvbiYmIGZ1bmN0aW9uKQogCiAgICAgdHJhdmVyc2VNYXAobV9pZFJ1bGVzKTsKICAgICB0cmF2
ZXJzZU1hcChtX2NsYXNzUnVsZXMpOworICAgIHRyYXZlcnNlTWFwKG1fYXR0cmlidXRlTG9jYWxO
YW1lUnVsZXMpOworICAgIHRyYXZlcnNlTWFwKG1fYXR0cmlidXRlQ2Fub25pY2FsTG9jYWxOYW1l
UnVsZXMpOwogICAgIHRyYXZlcnNlTWFwKG1fdGFnTG9jYWxOYW1lUnVsZXMpOwogICAgIHRyYXZl
cnNlTWFwKG1fdGFnTG93ZXJjYXNlTG9jYWxOYW1lUnVsZXMpOwogICAgIHRyYXZlcnNlTWFwKG1f
c2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKTsKQEAgLTM5Myw2ICs0MTYsOCBAQCB2b2lkIFJ1bGVT
ZXQ6OnNocmlua1RvRml0KCkKIHsKICAgICBzaHJpbmtNYXBWZWN0b3JzVG9GaXQobV9pZFJ1bGVz
KTsKICAgICBzaHJpbmtNYXBWZWN0b3JzVG9GaXQobV9jbGFzc1J1bGVzKTsKKyAgICBzaHJpbmtN
YXBWZWN0b3JzVG9GaXQobV9hdHRyaWJ1dGVMb2NhbE5hbWVSdWxlcyk7CisgICAgc2hyaW5rTWFw
VmVjdG9yc1RvRml0KG1fYXR0cmlidXRlQ2Fub25pY2FsTG9jYWxOYW1lUnVsZXMpOwogICAgIHNo
cmlua01hcFZlY3RvcnNUb0ZpdChtX3RhZ0xvY2FsTmFtZVJ1bGVzKTsKICAgICBzaHJpbmtNYXBW
ZWN0b3JzVG9GaXQobV90YWdMb3dlcmNhc2VMb2NhbE5hbWVSdWxlcyk7CiAgICAgc2hyaW5rTWFw
VmVjdG9yc1RvRml0KG1fc2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVT
ZXQuaAppbmRleCA2NjQyMzZkYzg2NmIuLjdmNTU2NzZlYWU3MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVT
ZXQuaApAQCAtODYsNiArODYsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBSdWxlRGF0YVZlY3Rv
ciogaWRSdWxlcyhjb25zdCBBdG9tU3RyaW5nJiBrZXkpIGNvbnN0IHsgcmV0dXJuIG1faWRSdWxl
cy5nZXQoa2V5KTsgfQogICAgIGNvbnN0IFJ1bGVEYXRhVmVjdG9yKiBjbGFzc1J1bGVzKGNvbnN0
IEF0b21TdHJpbmcmIGtleSkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1J1bGVzLmdldChrZXkpOyB9
CisgICAgY29uc3QgUnVsZURhdGFWZWN0b3IqIGF0dHJpYnV0ZVJ1bGVzKGNvbnN0IEF0b21TdHJp
bmcmIGtleSwgYm9vbCBpc0hUTUxOYW1lKSBjb25zdDsKICAgICBjb25zdCBSdWxlRGF0YVZlY3Rv
ciogdGFnUnVsZXMoY29uc3QgQXRvbVN0cmluZyYga2V5LCBib29sIGlzSFRNTE5hbWUpIGNvbnN0
OwogICAgIGNvbnN0IFJ1bGVEYXRhVmVjdG9yKiBzaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMoY29u
c3QgQXRvbVN0cmluZyYga2V5KSBjb25zdCB7IHJldHVybiBtX3NoYWRvd1BzZXVkb0VsZW1lbnRS
dWxlcy5nZXQoa2V5KTsgfQogICAgIGNvbnN0IFJ1bGVEYXRhVmVjdG9yKiBsaW5rUHNldWRvQ2xh
c3NSdWxlcygpIGNvbnN0IHsgcmV0dXJuICZtX2xpbmtQc2V1ZG9DbGFzc1J1bGVzOyB9CkBAIC0x
MDIsNiArMTAzLDcgQEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgcnVsZUNvdW50KCkgY29uc3Qg
eyByZXR1cm4gbV9ydWxlQ291bnQ7IH0KIAorICAgIGJvb2wgaGFzQXR0cmlidXRlUnVsZXMoKSBj
b25zdCB7IHJldHVybiAhbV9hdHRyaWJ1dGVMb2NhbE5hbWVSdWxlcy5pc0VtcHR5KCk7IH0KICAg
ICBib29sIGhhc1NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcygpIGNvbnN0IHsgcmV0dXJuICFtX3No
YWRvd1BzZXVkb0VsZW1lbnRSdWxlcy5pc0VtcHR5KCk7IH0KICAgICBib29sIGhhc0hvc3RQc2V1
ZG9DbGFzc1J1bGVzTWF0Y2hpbmdJblNoYWRvd1RyZWUoKSBjb25zdCB7IHJldHVybiBtX2hhc0hv
c3RQc2V1ZG9DbGFzc1J1bGVzTWF0Y2hpbmdJblNoYWRvd1RyZWU7IH0KIApAQCAtMTY4LDYgKzE3
MCw4IEBAIHByaXZhdGU6CiAKICAgICBBdG9tUnVsZU1hcCBtX2lkUnVsZXM7CiAgICAgQXRvbVJ1
bGVNYXAgbV9jbGFzc1J1bGVzOworICAgIEF0b21SdWxlTWFwIG1fYXR0cmlidXRlTG9jYWxOYW1l
UnVsZXM7CisgICAgQXRvbVJ1bGVNYXAgbV9hdHRyaWJ1dGVDYW5vbmljYWxMb2NhbE5hbWVSdWxl
czsKICAgICBBdG9tUnVsZU1hcCBtX3RhZ0xvY2FsTmFtZVJ1bGVzOwogICAgIEF0b21SdWxlTWFw
IG1fdGFnTG93ZXJjYXNlTG9jYWxOYW1lUnVsZXM7CiAgICAgQXRvbVJ1bGVNYXAgbV9zaGFkb3dQ
c2V1ZG9FbGVtZW50UnVsZXM7CkBAIC0xOTksMTQgKzIwMywxNiBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9oYXNWaWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcmllcyB7IGZhbHNlIH07CiB9OwogCitp
bmxpbmUgY29uc3QgUnVsZVNldDo6UnVsZURhdGFWZWN0b3IqIFJ1bGVTZXQ6OmF0dHJpYnV0ZVJ1
bGVzKGNvbnN0IEF0b21TdHJpbmcmIGtleSwgYm9vbCBpc0hUTUxOYW1lKSBjb25zdAoreworICAg
IGF1dG8mIHJ1bGVzID0gaXNIVE1MTmFtZSA/IG1fYXR0cmlidXRlQ2Fub25pY2FsTG9jYWxOYW1l
UnVsZXMgOiBtX2F0dHJpYnV0ZUxvY2FsTmFtZVJ1bGVzOworICAgIHJldHVybiBydWxlcy5nZXQo
a2V5KTsKK30KKwogaW5saW5lIGNvbnN0IFJ1bGVTZXQ6OlJ1bGVEYXRhVmVjdG9yKiBSdWxlU2V0
Ojp0YWdSdWxlcyhjb25zdCBBdG9tU3RyaW5nJiBrZXksIGJvb2wgaXNIVE1MTmFtZSkgY29uc3QK
IHsKLSAgICBjb25zdCBBdG9tUnVsZU1hcCogdGFnUnVsZXM7Ci0gICAgaWYgKGlzSFRNTE5hbWUp
Ci0gICAgICAgIHRhZ1J1bGVzID0gJm1fdGFnTG93ZXJjYXNlTG9jYWxOYW1lUnVsZXM7Ci0gICAg
ZWxzZQotICAgICAgICB0YWdSdWxlcyA9ICZtX3RhZ0xvY2FsTmFtZVJ1bGVzOwotICAgIHJldHVy
biB0YWdSdWxlcy0+Z2V0KGtleSk7CisgICAgYXV0byYgcnVsZXMgPSBpc0hUTUxOYW1lID8gbV90
YWdMb3dlcmNhc2VMb2NhbE5hbWVSdWxlcyA6IG1fdGFnTG9jYWxOYW1lUnVsZXM7CisgICAgcmV0
dXJuIHJ1bGVzLmdldChrZXkpOwogfQogCiBpbmxpbmUgQ2FzY2FkZUxheWVyUHJpb3JpdHkgUnVs
ZVNldDo6Y2FzY2FkZUxheWVyUHJpb3JpdHlGb3JJZGVudGlmaWVyKENhc2NhZGVMYXllcklkZW50
aWZpZXIgaWRlbnRpZmllcikgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>460536</attachid>
            <date>2022-06-29 02:09:52 -0700</date>
            <delta_ts>2022-06-29 03:48:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-242058-20220629120950.patch</filename>
            <type>text/plain</type>
            <size>11426</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSA3NWQzZTFkMjdmODc2Mjk5NWRkZmI1NmQyYWYxMGQ0YjU4ZTI4M2NlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBUdWUsIDI4IEp1biAyMDIyIDE0OjEyOjQ0ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIFJ1
bGVTZXQgYnVja2V0IGZvciBhdHRyaWJ1dGUgc2VsZWN0b3JzCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQyMDU4IDxyZGFyOi8vOTU3OTA5NDA+CgpSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KCiogU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xs
ZWN0b3IuY3BwOgooV2ViQ29yZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0
TWF0Y2hpbmdSdWxlcyk6CgpDaGVjayB0aGUgYXR0cmlidXRlIGJ1Y2tldHMgZm9yIGVsZW1lbnQg
YXR0cmlidXRlcy4KCiogU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZURhdGEuY3BwOgooV2ViQ29y
ZTo6U3R5bGU6OmNvbXB1dGVNYXRjaEJhc2VkT25SdWxlSGFzaCk6CgpTZWxlY3RvcnMgaW4gZm9y
bSBbYXR0cmlidXRlXSBtYXRjaCB3aXRob3V0IGZ1cnRoZXIgY2hlY2tpbmcuCgoqIFNvdXJjZS9X
ZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwOgooV2ViQ29yZTo6U3R5bGU6OnNob3VsZEhhdmVCdWNr
ZXRGb3JBdHRyaWJ1dGVOYW1lKToKCkRvbid0IGJ1Y2tldCBsYXp5IGF0dHJpYnV0ZXMgdGhhdCB3
b3VsZCByZXF1aXJlIHN5bmNocm9uaXphdGlvbi4KCihXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6
YWRkUnVsZSk6CihXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6dHJhdmVyc2VSdWxlRGF0YXMpOgoo
V2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OnNocmlua1RvRml0KToKKiBTb3VyY2UvV2ViQ29yZS9z
dHlsZS9SdWxlU2V0Lmg6CihXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6aGFzQXR0cmlidXRlUnVs
ZXMgY29uc3QpOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OmF0dHJpYnV0ZVJ1bGVzIGNvbnN0
KToKKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0Ojp0YWdSdWxlcyBjb25zdCk6Ci0tLQogU291cmNl
L1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwIHwgMjQgKysrKysrKy0tLS0t
CiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRGF0YS5jcHAgICAgICAgICAgICAgfCAgMiArCiBT
b3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcCAgICAgICAgICAgICAgfCAzOSArKysrKysr
KysrKysrKystLS0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmggICAgICAgICAgICAg
ICAgfCAxOCArKysrKystLS0KIDQgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgMjIg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1
bGVDb2xsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0
b3IuY3BwCmluZGV4IDM3Yjk0Y2ViYWE1NS4uMzA2YmI0MmRlODVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCkBAIC0xNDUsMjUgKzE0NSwzMSBA
QCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdSdWxlcyhjb25zdCBN
YXRjaFJlcXVlc3QmIG1hdGNoUmVxdWVzdAogewogICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoISht
X21vZGUgPT0gU2VsZWN0b3JDaGVja2VyOjpNb2RlOjpDb2xsZWN0aW5nUnVsZXNJZ25vcmluZ1Zp
cnR1YWxQc2V1ZG9FbGVtZW50cyAmJiBtX3BzZXVkb0VsZW1lbnRSZXF1ZXN0LnBzZXVkb0lkICE9
IFBzZXVkb0lkOjpOb25lKSwgIldoZW4gaW4gU3R5bGVJbnZhbGlkYXRpb24gb3IgU2hhcmluZ1J1
bGVzLCBTZWxlY3RvckNoZWNrZXIgZG9lcyBub3QgdHJ5IHRvIG1hdGNoIHRoZSBwc2V1ZG8gSUQu
IFdoaWxlIEVsZW1lbnRSdWxlQ29sbGVjdG9yIHN1cHBvcnRzIG1hdGNoaW5nIGEgcGFydGljdWxh
ciBwc2V1ZG9JZCBpbiB0aGlzIGNhc2UsIHRoaXMgd291bGQgaW5kaWNhdGUgYSBlcnJvciBhdCB0
aGUgY2FsbCBzaXRlIHNpbmNlIG1hdGNoaW5nIGEgcGFydGljdWxhciBlbGVtZW50IHNob3VsZCBi
ZSB1bm5lY2Vzc2FyeS4iKTsKIAotICAgIGF1dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50KCkuY29u
dGFpbmluZ1NoYWRvd1Jvb3QoKTsKKyAgICBhdXRvJiBlbGVtZW50ID0gdGhpcy0+ZWxlbWVudCgp
OworICAgIGF1dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50LmNvbnRhaW5pbmdTaGFkb3dSb290KCk7
CiAgICAgaWYgKHNoYWRvd1Jvb3QgJiYgc2hhZG93Um9vdC0+bW9kZSgpID09IFNoYWRvd1Jvb3RN
b2RlOjpVc2VyQWdlbnQpCiAgICAgICAgIGNvbGxlY3RNYXRjaGluZ1NoYWRvd1BzZXVkb0VsZW1l
bnRSdWxlcyhtYXRjaFJlcXVlc3QpOwogCisgICAgYm9vbCBpc0hUTUwgPSBlbGVtZW50LmlzSFRN
TEVsZW1lbnQoKSAmJiBlbGVtZW50LmRvY3VtZW50KCkuaXNIVE1MRG9jdW1lbnQoKTsKKwogICAg
IC8vIFdlIG5lZWQgdG8gY29sbGVjdCB0aGUgcnVsZXMgZm9yIGlkLCBjbGFzcywgdGFnLCBhbmQg
ZXZlcnl0aGluZyBlbHNlIGludG8gYSBidWZmZXIgYW5kCiAgICAgLy8gdGhlbiBzb3J0IHRoZSBi
dWZmZXIuCi0gICAgYXV0byYgaWQgPSBlbGVtZW50KCkuaWRGb3JTdHlsZVJlc29sdXRpb24oKTsK
KyAgICBhdXRvJiBpZCA9IGVsZW1lbnQuaWRGb3JTdHlsZVJlc29sdXRpb24oKTsKICAgICBpZiAo
IWlkLmlzTnVsbCgpKQogICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hS
ZXF1ZXN0LnJ1bGVTZXQuaWRSdWxlcyhpZCksIG1hdGNoUmVxdWVzdCk7Ci0gICAgaWYgKGVsZW1l
bnQoKS5oYXNDbGFzcygpKSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZWxlbWVu
dCgpLmNsYXNzTmFtZXMoKS5zaXplKCk7ICsraSkKLSAgICAgICAgICAgIGNvbGxlY3RNYXRjaGlu
Z1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC5jbGFzc1J1bGVzKGVsZW1lbnQoKS5j
bGFzc05hbWVzKClbaV0pLCBtYXRjaFJlcXVlc3QpOworICAgIGlmIChlbGVtZW50Lmhhc0NsYXNz
KCkpIHsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBlbGVtZW50LmNsYXNzTmFtZXMo
KS5zaXplKCk7ICsraSkKKyAgICAgICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdCht
YXRjaFJlcXVlc3QucnVsZVNldC5jbGFzc1J1bGVzKGVsZW1lbnQuY2xhc3NOYW1lcygpW2ldKSwg
bWF0Y2hSZXF1ZXN0KTsKICAgICB9Ci0KLSAgICBpZiAoZWxlbWVudCgpLmlzTGluaygpKQorICAg
IGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZXNXaXRob3V0VXBkYXRlKCkgJiYgbWF0Y2hSZXF1ZXN0
LnJ1bGVTZXQuaGFzQXR0cmlidXRlUnVsZXMoKSkgeworICAgICAgICBmb3IgKGF1dG8mIGF0dHJp
YnV0ZSA6IGVsZW1lbnQuYXR0cmlidXRlc0l0ZXJhdG9yKCkpCisgICAgICAgICAgICBjb2xsZWN0
TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQuYXR0cmlidXRlUnVsZXMo
YXR0cmlidXRlLmxvY2FsTmFtZSgpLCBpc0hUTUwpLCBtYXRjaFJlcXVlc3QpOworICAgIH0KKyAg
ICBpZiAoZWxlbWVudC5pc0xpbmsoKSkKICAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JM
aXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0LmxpbmtQc2V1ZG9DbGFzc1J1bGVzKCksIG1hdGNoUmVx
dWVzdCk7Ci0gICAgaWYgKG1hdGNoZXNGb2N1c1BzZXVkb0NsYXNzKGVsZW1lbnQoKSkpCisgICAg
aWYgKG1hdGNoZXNGb2N1c1BzZXVkb0NsYXNzKGVsZW1lbnQpKQogICAgICAgICBjb2xsZWN0TWF0
Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQuZm9jdXNQc2V1ZG9DbGFzc1J1
bGVzKCksIG1hdGNoUmVxdWVzdCk7Ci0gICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1h
dGNoUmVxdWVzdC5ydWxlU2V0LnRhZ1J1bGVzKGVsZW1lbnQoKS5sb2NhbE5hbWUoKSwgZWxlbWVu
dCgpLmlzSFRNTEVsZW1lbnQoKSAmJiBlbGVtZW50KCkuZG9jdW1lbnQoKS5pc0hUTUxEb2N1bWVu
dCgpKSwgbWF0Y2hSZXF1ZXN0KTsKKyAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0
Y2hSZXF1ZXN0LnJ1bGVTZXQudGFnUnVsZXMoZWxlbWVudC5sb2NhbE5hbWUoKSwgaXNIVE1MKSwg
bWF0Y2hSZXF1ZXN0KTsKICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1
ZXN0LnJ1bGVTZXQudW5pdmVyc2FsUnVsZXMoKSwgbWF0Y2hSZXF1ZXN0KTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvUnVsZURhdGEuY3BwCmluZGV4IDMwOTlkNWVkZWQyZS4uMWJjY2FhOWU2Nzg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRGF0YS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvUnVsZURhdGEuY3BwCkBAIC04MCw2ICs4MCw4IEBAIHN0YXRpYyBpbmxpbmUg
TWF0Y2hCYXNlZE9uUnVsZUhhc2ggY29tcHV0ZU1hdGNoQmFzZWRPblJ1bGVIYXNoKGNvbnN0IENT
U1NlbGVjdG9yCiAgICAgICAgIHJldHVybiBNYXRjaEJhc2VkT25SdWxlSGFzaDo6Q2xhc3NBOwog
ICAgIGlmIChzZWxlY3Rvci5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpDbGFzcykKICAgICAgICAg
cmV0dXJuIE1hdGNoQmFzZWRPblJ1bGVIYXNoOjpDbGFzc0I7CisgICAgaWYgKHNlbGVjdG9yLm1h
dGNoKCkgPT0gQ1NTU2VsZWN0b3I6OlNldCAmJiBzZWxlY3Rvci52YWx1ZSgpLmlzTnVsbCgpICYm
IHNlbGVjdG9yLmF0dHJpYnV0ZSgpLm5hbWVzcGFjZVVSSSgpLmlzTnVsbCgpKQorICAgICAgICBy
ZXR1cm4gTWF0Y2hCYXNlZE9uUnVsZUhhc2g6OkNsYXNzQjsKICAgICByZXR1cm4gTWF0Y2hCYXNl
ZE9uUnVsZUhhc2g6Ok5vbmU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAKaW5kZXggY2Yx
N2RlZGM4NTlhLi5iMzhlNzQyM2M3M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1J1bGVTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCkBAIC0z
Nyw2ICszNyw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVy
eUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIlJ1bGVTZXRCdWlsZGVyLmgiCisjaW5jbHVkZSAiU1ZH
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VsZWN0
b3JDaGVja2VyLmgiCiAjaW5jbHVkZSAiU2VsZWN0b3JGaWx0ZXIuaCIKQEAgLTg2LDYgKzg3LDE2
IEBAIHN0YXRpYyBib29sIGlzSG9zdFNlbGVjdG9yTWF0Y2hpbmdJblNoYWRvd1RyZWUoY29uc3Qg
Q1NTU2VsZWN0b3ImIHN0YXJ0U2VsZWN0b3IpCiAgICAgcmV0dXJuICFoYXNPbmx5T25lQ29tcG91
bmQgJiYgaGFzSG9zdEluTGFzdENvbXBvdW5kOwogfQogCitzdGF0aWMgYm9vbCBzaG91bGRIYXZl
QnVja2V0Rm9yQXR0cmlidXRlTmFtZShjb25zdCBDU1NTZWxlY3RvciYgYXR0cmlidXRlU2VsZWN0
b3IpCit7CisgICAgLy8gRG9uJ3QgbWFrZSBidWNrZXRzIGZvciBsYXp5IGF0dHJpYnV0ZXMgc2lu
Y2Ugd2UgZG9uJ3Qgd2FudCB0byBzeW5jaHJvbml6ZS4KKyAgICBpZiAoYXR0cmlidXRlU2VsZWN0
b3IuYXR0cmlidXRlQ2Fub25pY2FsTG9jYWxOYW1lKCkgPT0gSFRNTE5hbWVzOjpzdHlsZUF0dHIt
PmxvY2FsTmFtZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKFNWR0VsZW1lbnQ6
OmFuaW1hdGFibGVBdHRyaWJ1dGVGb3JOYW1lKGF0dHJpYnV0ZVNlbGVjdG9yLmF0dHJpYnV0ZSgp
LmxvY2FsTmFtZSgpKSAhPSBudWxsUU5hbWUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IHJldHVybiB0cnVlOworfQorCiB2b2lkIFJ1bGVTZXQ6OmFkZFJ1bGUoY29uc3QgU3R5bGVSdWxl
JiBydWxlLCB1bnNpZ25lZCBzZWxlY3RvckluZGV4LCB1bnNpZ25lZCBzZWxlY3Rvckxpc3RJbmRl
eCkKIHsKICAgICBSdWxlRGF0YSBydWxlRGF0YShydWxlLCBzZWxlY3RvckluZGV4LCBzZWxlY3Rv
ckxpc3RJbmRleCwgbV9ydWxlQ291bnQpOwpAQCAtMTE4LDYgKzEyOSw3IEBAIHZvaWQgUnVsZVNl
dDo6YWRkUnVsZShSdWxlRGF0YSYmIHJ1bGVEYXRhLCBDYXNjYWRlTGF5ZXJJZGVudGlmaWVyIGNh
c2NhZGVMYXllcklkCiAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIGlkU2VsZWN0b3IgPSBudWxscHRy
OwogICAgIGNvbnN0IENTU1NlbGVjdG9yKiB0YWdTZWxlY3RvciA9IG51bGxwdHI7CiAgICAgY29u
c3QgQ1NTU2VsZWN0b3IqIGNsYXNzU2VsZWN0b3IgPSBudWxscHRyOworICAgIGNvbnN0IENTU1Nl
bGVjdG9yKiBhdHRyaWJ1dGVTZWxlY3RvciA9IG51bGxwdHI7CiAgICAgY29uc3QgQ1NTU2VsZWN0
b3IqIGxpbmtTZWxlY3RvciA9IG51bGxwdHI7CiAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIGZvY3Vz
U2VsZWN0b3IgPSBudWxscHRyOwogICAgIGNvbnN0IENTU1NlbGVjdG9yKiBob3N0UHNldWRvQ2xh
c3NTZWxlY3RvciA9IG51bGxwdHI7CkBAIC0xNDcsNiArMTU5LDE2IEBAIHZvaWQgUnVsZVNldDo6
YWRkUnVsZShSdWxlRGF0YSYmIHJ1bGVEYXRhLCBDYXNjYWRlTGF5ZXJJZGVudGlmaWVyIGNhc2Nh
ZGVMYXllcklkCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQor
ICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpFeGFjdDoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6U2V0OgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpMaXN0OgorICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpIeXBoZW46CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkNvbnRhaW46Cisg
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkJlZ2luOgorICAgICAgICBjYXNlIENTU1NlbGVjdG9y
OjpFbmQ6CisgICAgICAgICAgICBpZiAoc2hvdWxkSGF2ZUJ1Y2tldEZvckF0dHJpYnV0ZU5hbWUo
KnNlbGVjdG9yKSkKKyAgICAgICAgICAgICAgICBhdHRyaWJ1dGVTZWxlY3RvciA9IHNlbGVjdG9y
OworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlRhZzoKICAg
ICAgICAgICAgIGlmIChzZWxlY3Rvci0+dGFnUU5hbWUoKS5sb2NhbE5hbWUoKSAhPSBzdGFyQXRv
bSgpKQogICAgICAgICAgICAgICAgIHRhZ1NlbGVjdG9yID0gc2VsZWN0b3I7CkBAIC0xOTIsMTMg
KzIxNCw2IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZShSdWxlRGF0YSYmIHJ1bGVEYXRhLCBDYXNj
YWRlTGF5ZXJJZGVudGlmaWVyIGNhc2NhZGVMYXllcklkCiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6VW5rbm93bjoKLSAgICAgICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6RXhhY3Q6Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNldDoK
LSAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6TGlzdDoKLSAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6SHlwaGVuOgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpDb250YWluOgotICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpCZWdpbjoKLSAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RW5kOgog
ICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQYWdlUHNldWRvQ2xhc3M6CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQpAQCAtMjYxLDYgKzI3NiwxMiBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJ1
bGUoUnVsZURhdGEmJiBydWxlRGF0YSwgQ2FzY2FkZUxheWVySWRlbnRpZmllciBjYXNjYWRlTGF5
ZXJJZAogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKGF0dHJpYnV0ZVNlbGVjdG9y
KSB7CisgICAgICAgIGFkZFRvUnVsZVNldChhdHRyaWJ1dGVTZWxlY3Rvci0+YXR0cmlidXRlKCku
bG9jYWxOYW1lKCksIG1fYXR0cmlidXRlTG9jYWxOYW1lUnVsZXMsIHJ1bGVEYXRhKTsKKyAgICAg
ICAgYWRkVG9SdWxlU2V0KGF0dHJpYnV0ZVNlbGVjdG9yLT5hdHRyaWJ1dGVDYW5vbmljYWxMb2Nh
bE5hbWUoKSwgbV9hdHRyaWJ1dGVDYW5vbmljYWxMb2NhbE5hbWVSdWxlcywgcnVsZURhdGEpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKGxpbmtTZWxlY3RvcikgewogICAgICAg
ICBtX2xpbmtQc2V1ZG9DbGFzc1J1bGVzLmFwcGVuZChydWxlRGF0YSk7CiAgICAgICAgIHJldHVy
bjsKQEAgLTMwMSw2ICszMjIsOCBAQCB2b2lkIFJ1bGVTZXQ6OnRyYXZlcnNlUnVsZURhdGFzKEZ1
bmN0aW9uJiYgZnVuY3Rpb24pCiAKICAgICB0cmF2ZXJzZU1hcChtX2lkUnVsZXMpOwogICAgIHRy
YXZlcnNlTWFwKG1fY2xhc3NSdWxlcyk7CisgICAgdHJhdmVyc2VNYXAobV9hdHRyaWJ1dGVMb2Nh
bE5hbWVSdWxlcyk7CisgICAgdHJhdmVyc2VNYXAobV9hdHRyaWJ1dGVDYW5vbmljYWxMb2NhbE5h
bWVSdWxlcyk7CiAgICAgdHJhdmVyc2VNYXAobV90YWdMb2NhbE5hbWVSdWxlcyk7CiAgICAgdHJh
dmVyc2VNYXAobV90YWdMb3dlcmNhc2VMb2NhbE5hbWVSdWxlcyk7CiAgICAgdHJhdmVyc2VNYXAo
bV9zaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMpOwpAQCAtMzkzLDYgKzQxNiw4IEBAIHZvaWQgUnVs
ZVNldDo6c2hyaW5rVG9GaXQoKQogewogICAgIHNocmlua01hcFZlY3RvcnNUb0ZpdChtX2lkUnVs
ZXMpOwogICAgIHNocmlua01hcFZlY3RvcnNUb0ZpdChtX2NsYXNzUnVsZXMpOworICAgIHNocmlu
a01hcFZlY3RvcnNUb0ZpdChtX2F0dHJpYnV0ZUxvY2FsTmFtZVJ1bGVzKTsKKyAgICBzaHJpbmtN
YXBWZWN0b3JzVG9GaXQobV9hdHRyaWJ1dGVDYW5vbmljYWxMb2NhbE5hbWVSdWxlcyk7CiAgICAg
c2hyaW5rTWFwVmVjdG9yc1RvRml0KG1fdGFnTG9jYWxOYW1lUnVsZXMpOwogICAgIHNocmlua01h
cFZlY3RvcnNUb0ZpdChtX3RhZ0xvd2VyY2FzZUxvY2FsTmFtZVJ1bGVzKTsKICAgICBzaHJpbmtN
YXBWZWN0b3JzVG9GaXQobV9zaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVs
ZVNldC5oCmluZGV4IDY2NDIzNmRjODY2Yi4uN2Y1NTY3NmVhZTczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVs
ZVNldC5oCkBAIC04Niw2ICs4Niw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFJ1bGVEYXRhVmVj
dG9yKiBpZFJ1bGVzKGNvbnN0IEF0b21TdHJpbmcmIGtleSkgY29uc3QgeyByZXR1cm4gbV9pZFJ1
bGVzLmdldChrZXkpOyB9CiAgICAgY29uc3QgUnVsZURhdGFWZWN0b3IqIGNsYXNzUnVsZXMoY29u
c3QgQXRvbVN0cmluZyYga2V5KSBjb25zdCB7IHJldHVybiBtX2NsYXNzUnVsZXMuZ2V0KGtleSk7
IH0KKyAgICBjb25zdCBSdWxlRGF0YVZlY3RvciogYXR0cmlidXRlUnVsZXMoY29uc3QgQXRvbVN0
cmluZyYga2V5LCBib29sIGlzSFRNTE5hbWUpIGNvbnN0OwogICAgIGNvbnN0IFJ1bGVEYXRhVmVj
dG9yKiB0YWdSdWxlcyhjb25zdCBBdG9tU3RyaW5nJiBrZXksIGJvb2wgaXNIVE1MTmFtZSkgY29u
c3Q7CiAgICAgY29uc3QgUnVsZURhdGFWZWN0b3IqIHNoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyhj
b25zdCBBdG9tU3RyaW5nJiBrZXkpIGNvbnN0IHsgcmV0dXJuIG1fc2hhZG93UHNldWRvRWxlbWVu
dFJ1bGVzLmdldChrZXkpOyB9CiAgICAgY29uc3QgUnVsZURhdGFWZWN0b3IqIGxpbmtQc2V1ZG9D
bGFzc1J1bGVzKCkgY29uc3QgeyByZXR1cm4gJm1fbGlua1BzZXVkb0NsYXNzUnVsZXM7IH0KQEAg
LTEwMiw2ICsxMDMsNyBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCBydWxlQ291bnQoKSBjb25z
dCB7IHJldHVybiBtX3J1bGVDb3VudDsgfQogCisgICAgYm9vbCBoYXNBdHRyaWJ1dGVSdWxlcygp
IGNvbnN0IHsgcmV0dXJuICFtX2F0dHJpYnV0ZUxvY2FsTmFtZVJ1bGVzLmlzRW1wdHkoKTsgfQog
ICAgIGJvb2wgaGFzU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKCkgY29uc3QgeyByZXR1cm4gIW1f
c2hhZG93UHNldWRvRWxlbWVudFJ1bGVzLmlzRW1wdHkoKTsgfQogICAgIGJvb2wgaGFzSG9zdFBz
ZXVkb0NsYXNzUnVsZXNNYXRjaGluZ0luU2hhZG93VHJlZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
SG9zdFBzZXVkb0NsYXNzUnVsZXNNYXRjaGluZ0luU2hhZG93VHJlZTsgfQogCkBAIC0xNjgsNiAr
MTcwLDggQEAgcHJpdmF0ZToKIAogICAgIEF0b21SdWxlTWFwIG1faWRSdWxlczsKICAgICBBdG9t
UnVsZU1hcCBtX2NsYXNzUnVsZXM7CisgICAgQXRvbVJ1bGVNYXAgbV9hdHRyaWJ1dGVMb2NhbE5h
bWVSdWxlczsKKyAgICBBdG9tUnVsZU1hcCBtX2F0dHJpYnV0ZUNhbm9uaWNhbExvY2FsTmFtZVJ1
bGVzOwogICAgIEF0b21SdWxlTWFwIG1fdGFnTG9jYWxOYW1lUnVsZXM7CiAgICAgQXRvbVJ1bGVN
YXAgbV90YWdMb3dlcmNhc2VMb2NhbE5hbWVSdWxlczsKICAgICBBdG9tUnVsZU1hcCBtX3NoYWRv
d1BzZXVkb0VsZW1lbnRSdWxlczsKQEAgLTE5OSwxNCArMjAzLDE2IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2hhc1ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyaWVzIHsgZmFsc2UgfTsKIH07CiAK
K2lubGluZSBjb25zdCBSdWxlU2V0OjpSdWxlRGF0YVZlY3RvciogUnVsZVNldDo6YXR0cmlidXRl
UnVsZXMoY29uc3QgQXRvbVN0cmluZyYga2V5LCBib29sIGlzSFRNTE5hbWUpIGNvbnN0Cit7Cisg
ICAgYXV0byYgcnVsZXMgPSBpc0hUTUxOYW1lID8gbV9hdHRyaWJ1dGVDYW5vbmljYWxMb2NhbE5h
bWVSdWxlcyA6IG1fYXR0cmlidXRlTG9jYWxOYW1lUnVsZXM7CisgICAgcmV0dXJuIHJ1bGVzLmdl
dChrZXkpOworfQorCiBpbmxpbmUgY29uc3QgUnVsZVNldDo6UnVsZURhdGFWZWN0b3IqIFJ1bGVT
ZXQ6OnRhZ1J1bGVzKGNvbnN0IEF0b21TdHJpbmcmIGtleSwgYm9vbCBpc0hUTUxOYW1lKSBjb25z
dAogewotICAgIGNvbnN0IEF0b21SdWxlTWFwKiB0YWdSdWxlczsKLSAgICBpZiAoaXNIVE1MTmFt
ZSkKLSAgICAgICAgdGFnUnVsZXMgPSAmbV90YWdMb3dlcmNhc2VMb2NhbE5hbWVSdWxlczsKLSAg
ICBlbHNlCi0gICAgICAgIHRhZ1J1bGVzID0gJm1fdGFnTG9jYWxOYW1lUnVsZXM7Ci0gICAgcmV0
dXJuIHRhZ1J1bGVzLT5nZXQoa2V5KTsKKyAgICBhdXRvJiBydWxlcyA9IGlzSFRNTE5hbWUgPyBt
X3RhZ0xvd2VyY2FzZUxvY2FsTmFtZVJ1bGVzIDogbV90YWdMb2NhbE5hbWVSdWxlczsKKyAgICBy
ZXR1cm4gcnVsZXMuZ2V0KGtleSk7CiB9CiAKIGlubGluZSBDYXNjYWRlTGF5ZXJQcmlvcml0eSBS
dWxlU2V0OjpjYXNjYWRlTGF5ZXJQcmlvcml0eUZvcklkZW50aWZpZXIoQ2FzY2FkZUxheWVySWRl
bnRpZmllciBpZGVudGlmaWVyKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>460538</attachid>
            <date>2022-06-29 03:48:10 -0700</date>
            <delta_ts>2022-06-29 22:09:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-242058-20220629134809.patch</filename>
            <type>text/plain</type>
            <size>11646</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSBmMjQ1ZDFhZjllMWJkZjFmYzhjNzFjOTcxYTdjMGU5YmI2Mjc4YWRiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBUdWUsIDI4IEp1biAyMDIyIDE0OjEyOjQ0ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIFJ1
bGVTZXQgYnVja2V0IGZvciBhdHRyaWJ1dGUgc2VsZWN0b3JzCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQyMDU4IDxyZGFyOi8vOTU3OTA5NDA+CgpSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KCkN1cnJlbnRseSBhdHRyaWJ1dGUgc2VsZWN0b3JzIGRvbid0IGdl
dCBjbGFzc2lmaWVkIGludG8gcnVsZSBidWNrZXRzIG9mIHRoZWlyIG93biAodW5saWtlIGNsYXNz
IGFuZCBpZCBzZWxlY3RvcnMpLgpBdHRyaWJ1dGUgc2VsZWN0b3JzIGFyZSBwcmV0dHkgcG9wdWxh
ciB0aGVzZSBkYXlzIHNvIGl0IG1ha2VzIHNlbnNlIHRvIG9wdGltaXplIHRoaXMgY2FzZSB0b28u
CgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcDoKKFdlYkNv
cmU6OlN0eWxlOjpFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXMpOgoK
Q2hlY2sgdGhlIGF0dHJpYnV0ZSBidWNrZXRzIGZvciBlbGVtZW50IGF0dHJpYnV0ZXMuCgoqIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpjb21wdXRl
TWF0Y2hCYXNlZE9uUnVsZUhhc2gpOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3Bw
OgooV2ViQ29yZTo6U3R5bGU6OnNob3VsZEhhdmVCdWNrZXRGb3JBdHRyaWJ1dGVOYW1lKToKCkRv
bid0IGJ1Y2tldCBsYXp5IGF0dHJpYnV0ZXMgdGhhdCB3b3VsZCByZXF1aXJlIHN5bmNocm9uaXph
dGlvbi4KCihXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6YWRkUnVsZSk6CihXZWJDb3JlOjpTdHls
ZTo6UnVsZVNldDo6dHJhdmVyc2VSdWxlRGF0YXMpOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6
OnNocmlua1RvRml0KToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0Lmg6CihXZWJDb3Jl
OjpTdHlsZTo6UnVsZVNldDo6aGFzQXR0cmlidXRlUnVsZXMgY29uc3QpOgooV2ViQ29yZTo6U3R5
bGU6OlJ1bGVTZXQ6OmF0dHJpYnV0ZVJ1bGVzIGNvbnN0KToKKFdlYkNvcmU6OlN0eWxlOjpSdWxl
U2V0Ojp0YWdSdWxlcyBjb25zdCk6Ci0tLQogU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1
bGVDb2xsZWN0b3IuY3BwIHwgMjQgKysrKysrKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9S
dWxlRGF0YS5jcHAgICAgICAgICAgICAgfCAgMiArCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxl
U2V0LmNwcCAgICAgICAgICAgICAgfCAzOSArKysrKysrKysrKysrKystLS0tCiBTb3VyY2UvV2Vi
Q29yZS9zdHlsZS9SdWxlU2V0LmggICAgICAgICAgICAgICAgfCAxOSArKysrKy0tLS0KIDQgZmls
ZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCmluZGV4IDM3Yjk0Y2ViYWE1
NS4uMzA2YmI0MmRlODVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50
UnVsZUNvbGxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVD
b2xsZWN0b3IuY3BwCkBAIC0xNDUsMjUgKzE0NSwzMSBAQCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVj
dG9yOjpjb2xsZWN0TWF0Y2hpbmdSdWxlcyhjb25zdCBNYXRjaFJlcXVlc3QmIG1hdGNoUmVxdWVz
dAogewogICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIShtX21vZGUgPT0gU2VsZWN0b3JDaGVja2Vy
OjpNb2RlOjpDb2xsZWN0aW5nUnVsZXNJZ25vcmluZ1ZpcnR1YWxQc2V1ZG9FbGVtZW50cyAmJiBt
X3BzZXVkb0VsZW1lbnRSZXF1ZXN0LnBzZXVkb0lkICE9IFBzZXVkb0lkOjpOb25lKSwgIldoZW4g
aW4gU3R5bGVJbnZhbGlkYXRpb24gb3IgU2hhcmluZ1J1bGVzLCBTZWxlY3RvckNoZWNrZXIgZG9l
cyBub3QgdHJ5IHRvIG1hdGNoIHRoZSBwc2V1ZG8gSUQuIFdoaWxlIEVsZW1lbnRSdWxlQ29sbGVj
dG9yIHN1cHBvcnRzIG1hdGNoaW5nIGEgcGFydGljdWxhciBwc2V1ZG9JZCBpbiB0aGlzIGNhc2Us
IHRoaXMgd291bGQgaW5kaWNhdGUgYSBlcnJvciBhdCB0aGUgY2FsbCBzaXRlIHNpbmNlIG1hdGNo
aW5nIGEgcGFydGljdWxhciBlbGVtZW50IHNob3VsZCBiZSB1bm5lY2Vzc2FyeS4iKTsKIAotICAg
IGF1dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50KCkuY29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKKyAg
ICBhdXRvJiBlbGVtZW50ID0gdGhpcy0+ZWxlbWVudCgpOworICAgIGF1dG8qIHNoYWRvd1Jvb3Qg
PSBlbGVtZW50LmNvbnRhaW5pbmdTaGFkb3dSb290KCk7CiAgICAgaWYgKHNoYWRvd1Jvb3QgJiYg
c2hhZG93Um9vdC0+bW9kZSgpID09IFNoYWRvd1Jvb3RNb2RlOjpVc2VyQWdlbnQpCiAgICAgICAg
IGNvbGxlY3RNYXRjaGluZ1NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyhtYXRjaFJlcXVlc3QpOwog
CisgICAgYm9vbCBpc0hUTUwgPSBlbGVtZW50LmlzSFRNTEVsZW1lbnQoKSAmJiBlbGVtZW50LmRv
Y3VtZW50KCkuaXNIVE1MRG9jdW1lbnQoKTsKKwogICAgIC8vIFdlIG5lZWQgdG8gY29sbGVjdCB0
aGUgcnVsZXMgZm9yIGlkLCBjbGFzcywgdGFnLCBhbmQgZXZlcnl0aGluZyBlbHNlIGludG8gYSBi
dWZmZXIgYW5kCiAgICAgLy8gdGhlbiBzb3J0IHRoZSBidWZmZXIuCi0gICAgYXV0byYgaWQgPSBl
bGVtZW50KCkuaWRGb3JTdHlsZVJlc29sdXRpb24oKTsKKyAgICBhdXRvJiBpZCA9IGVsZW1lbnQu
aWRGb3JTdHlsZVJlc29sdXRpb24oKTsKICAgICBpZiAoIWlkLmlzTnVsbCgpKQogICAgICAgICBj
b2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQuaWRSdWxlcyhp
ZCksIG1hdGNoUmVxdWVzdCk7Ci0gICAgaWYgKGVsZW1lbnQoKS5oYXNDbGFzcygpKSB7Ci0gICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZWxlbWVudCgpLmNsYXNzTmFtZXMoKS5zaXplKCk7
ICsraSkKLSAgICAgICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVl
c3QucnVsZVNldC5jbGFzc1J1bGVzKGVsZW1lbnQoKS5jbGFzc05hbWVzKClbaV0pLCBtYXRjaFJl
cXVlc3QpOworICAgIGlmIChlbGVtZW50Lmhhc0NsYXNzKCkpIHsKKyAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBlbGVtZW50LmNsYXNzTmFtZXMoKS5zaXplKCk7ICsraSkKKyAgICAgICAg
ICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC5jbGFz
c1J1bGVzKGVsZW1lbnQuY2xhc3NOYW1lcygpW2ldKSwgbWF0Y2hSZXF1ZXN0KTsKICAgICB9Ci0K
LSAgICBpZiAoZWxlbWVudCgpLmlzTGluaygpKQorICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0
ZXNXaXRob3V0VXBkYXRlKCkgJiYgbWF0Y2hSZXF1ZXN0LnJ1bGVTZXQuaGFzQXR0cmlidXRlUnVs
ZXMoKSkgeworICAgICAgICBmb3IgKGF1dG8mIGF0dHJpYnV0ZSA6IGVsZW1lbnQuYXR0cmlidXRl
c0l0ZXJhdG9yKCkpCisgICAgICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0
Y2hSZXF1ZXN0LnJ1bGVTZXQuYXR0cmlidXRlUnVsZXMoYXR0cmlidXRlLmxvY2FsTmFtZSgpLCBp
c0hUTUwpLCBtYXRjaFJlcXVlc3QpOworICAgIH0KKyAgICBpZiAoZWxlbWVudC5pc0xpbmsoKSkK
ICAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0
LmxpbmtQc2V1ZG9DbGFzc1J1bGVzKCksIG1hdGNoUmVxdWVzdCk7Ci0gICAgaWYgKG1hdGNoZXNG
b2N1c1BzZXVkb0NsYXNzKGVsZW1lbnQoKSkpCisgICAgaWYgKG1hdGNoZXNGb2N1c1BzZXVkb0Ns
YXNzKGVsZW1lbnQpKQogICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hS
ZXF1ZXN0LnJ1bGVTZXQuZm9jdXNQc2V1ZG9DbGFzc1J1bGVzKCksIG1hdGNoUmVxdWVzdCk7Ci0g
ICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0LnRhZ1J1
bGVzKGVsZW1lbnQoKS5sb2NhbE5hbWUoKSwgZWxlbWVudCgpLmlzSFRNTEVsZW1lbnQoKSAmJiBl
bGVtZW50KCkuZG9jdW1lbnQoKS5pc0hUTUxEb2N1bWVudCgpKSwgbWF0Y2hSZXF1ZXN0KTsKKyAg
ICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQudGFnUnVs
ZXMoZWxlbWVudC5sb2NhbE5hbWUoKSwgaXNIVE1MKSwgbWF0Y2hSZXF1ZXN0KTsKICAgICBjb2xs
ZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQudW5pdmVyc2FsUnVs
ZXMoKSwgbWF0Y2hSZXF1ZXN0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvUnVsZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZURhdGEuY3BwCmluZGV4
IDMwOTlkNWVkZWQyZS4uM2EwZWZjN2FhZTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9SdWxlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZURhdGEuY3Bw
CkBAIC04MCw2ICs4MCw4IEBAIHN0YXRpYyBpbmxpbmUgTWF0Y2hCYXNlZE9uUnVsZUhhc2ggY29t
cHV0ZU1hdGNoQmFzZWRPblJ1bGVIYXNoKGNvbnN0IENTU1NlbGVjdG9yCiAgICAgICAgIHJldHVy
biBNYXRjaEJhc2VkT25SdWxlSGFzaDo6Q2xhc3NBOwogICAgIGlmIChzZWxlY3Rvci5tYXRjaCgp
ID09IENTU1NlbGVjdG9yOjpDbGFzcykKICAgICAgICAgcmV0dXJuIE1hdGNoQmFzZWRPblJ1bGVI
YXNoOjpDbGFzc0I7CisgICAgLy8gRklYTUU6IFZhbHVlbGVzcyBbYXR0cmlidXRlXSBjYXNlIGNh
biBiZSBoYW5kbGVkIGhlcmUgdG9vLgorCiAgICAgcmV0dXJuIE1hdGNoQmFzZWRPblJ1bGVIYXNo
OjpOb25lOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCmluZGV4IGNmMTdkZWRjODU5YS4u
YjM4ZTc0MjNjNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcApAQCAtMzcsNiArMzcsNyBA
QAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3Iu
aCIKICNpbmNsdWRlICJSdWxlU2V0QnVpbGRlci5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIK
ICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlbGVjdG9yQ2hlY2tlci5o
IgogI2luY2x1ZGUgIlNlbGVjdG9yRmlsdGVyLmgiCkBAIC04Niw2ICs4NywxNiBAQCBzdGF0aWMg
Ym9vbCBpc0hvc3RTZWxlY3Rvck1hdGNoaW5nSW5TaGFkb3dUcmVlKGNvbnN0IENTU1NlbGVjdG9y
JiBzdGFydFNlbGVjdG9yKQogICAgIHJldHVybiAhaGFzT25seU9uZUNvbXBvdW5kICYmIGhhc0hv
c3RJbkxhc3RDb21wb3VuZDsKIH0KIAorc3RhdGljIGJvb2wgc2hvdWxkSGF2ZUJ1Y2tldEZvckF0
dHJpYnV0ZU5hbWUoY29uc3QgQ1NTU2VsZWN0b3ImIGF0dHJpYnV0ZVNlbGVjdG9yKQoreworICAg
IC8vIERvbid0IG1ha2UgYnVja2V0cyBmb3IgbGF6eSBhdHRyaWJ1dGVzIHNpbmNlIHdlIGRvbid0
IHdhbnQgdG8gc3luY2hyb25pemUuCisgICAgaWYgKGF0dHJpYnV0ZVNlbGVjdG9yLmF0dHJpYnV0
ZUNhbm9uaWNhbExvY2FsTmFtZSgpID09IEhUTUxOYW1lczo6c3R5bGVBdHRyLT5sb2NhbE5hbWUo
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChTVkdFbGVtZW50OjphbmltYXRhYmxl
QXR0cmlidXRlRm9yTmFtZShhdHRyaWJ1dGVTZWxlY3Rvci5hdHRyaWJ1dGUoKS5sb2NhbE5hbWUo
KSkgIT0gbnVsbFFOYW1lKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwogdm9pZCBSdWxlU2V0OjphZGRSdWxlKGNvbnN0IFN0eWxlUnVsZSYgcnVsZSwgdW5z
aWduZWQgc2VsZWN0b3JJbmRleCwgdW5zaWduZWQgc2VsZWN0b3JMaXN0SW5kZXgpCiB7CiAgICAg
UnVsZURhdGEgcnVsZURhdGEocnVsZSwgc2VsZWN0b3JJbmRleCwgc2VsZWN0b3JMaXN0SW5kZXgs
IG1fcnVsZUNvdW50KTsKQEAgLTExOCw2ICsxMjksNyBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJ1bGUo
UnVsZURhdGEmJiBydWxlRGF0YSwgQ2FzY2FkZUxheWVySWRlbnRpZmllciBjYXNjYWRlTGF5ZXJJ
ZAogICAgIGNvbnN0IENTU1NlbGVjdG9yKiBpZFNlbGVjdG9yID0gbnVsbHB0cjsKICAgICBjb25z
dCBDU1NTZWxlY3RvciogdGFnU2VsZWN0b3IgPSBudWxscHRyOwogICAgIGNvbnN0IENTU1NlbGVj
dG9yKiBjbGFzc1NlbGVjdG9yID0gbnVsbHB0cjsKKyAgICBjb25zdCBDU1NTZWxlY3RvciogYXR0
cmlidXRlU2VsZWN0b3IgPSBudWxscHRyOwogICAgIGNvbnN0IENTU1NlbGVjdG9yKiBsaW5rU2Vs
ZWN0b3IgPSBudWxscHRyOwogICAgIGNvbnN0IENTU1NlbGVjdG9yKiBmb2N1c1NlbGVjdG9yID0g
bnVsbHB0cjsKICAgICBjb25zdCBDU1NTZWxlY3RvciogaG9zdFBzZXVkb0NsYXNzU2VsZWN0b3Ig
PSBudWxscHRyOwpAQCAtMTQ3LDYgKzE1OSwxNiBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJ1bGUoUnVs
ZURhdGEmJiBydWxlRGF0YSwgQ2FzY2FkZUxheWVySWRlbnRpZmllciBjYXNjYWRlTGF5ZXJJZAog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6RXhhY3Q6CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNldDoKKyAg
ICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6TGlzdDoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
SHlwaGVuOgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpDb250YWluOgorICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpCZWdpbjoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RW5kOgorICAg
ICAgICAgICAgaWYgKHNob3VsZEhhdmVCdWNrZXRGb3JBdHRyaWJ1dGVOYW1lKCpzZWxlY3Rvcikp
CisgICAgICAgICAgICAgICAgYXR0cmlidXRlU2VsZWN0b3IgPSBzZWxlY3RvcjsKKyAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpUYWc6CiAgICAgICAgICAgICBp
ZiAoc2VsZWN0b3ItPnRhZ1FOYW1lKCkubG9jYWxOYW1lKCkgIT0gc3RhckF0b20oKSkKICAgICAg
ICAgICAgICAgICB0YWdTZWxlY3RvciA9IHNlbGVjdG9yOwpAQCAtMTkyLDEzICsyMTQsNiBAQCB2
b2lkIFJ1bGVTZXQ6OmFkZFJ1bGUoUnVsZURhdGEmJiBydWxlRGF0YSwgQ2FzY2FkZUxheWVySWRl
bnRpZmllciBjYXNjYWRlTGF5ZXJJZAogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlVua25vd246Ci0gICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OkV4YWN0OgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTZXQ6Ci0gICAgICAgIGNh
c2UgQ1NTU2VsZWN0b3I6Okxpc3Q6Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6Okh5cGhlbjoK
LSAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6Q29udGFpbjoKLSAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6QmVnaW46Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkVuZDoKICAgICAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6UGFnZVBzZXVkb0NsYXNzOgogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KQEAgLTI2MSw2ICsyNzYsMTIgQEAgdm9pZCBSdWxlU2V0OjphZGRSdWxlKFJ1bGVEYXRh
JiYgcnVsZURhdGEsIENhc2NhZGVMYXllcklkZW50aWZpZXIgY2FzY2FkZUxheWVySWQKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmIChhdHRyaWJ1dGVTZWxlY3RvcikgeworICAgICAg
ICBhZGRUb1J1bGVTZXQoYXR0cmlidXRlU2VsZWN0b3ItPmF0dHJpYnV0ZSgpLmxvY2FsTmFtZSgp
LCBtX2F0dHJpYnV0ZUxvY2FsTmFtZVJ1bGVzLCBydWxlRGF0YSk7CisgICAgICAgIGFkZFRvUnVs
ZVNldChhdHRyaWJ1dGVTZWxlY3Rvci0+YXR0cmlidXRlQ2Fub25pY2FsTG9jYWxOYW1lKCksIG1f
YXR0cmlidXRlQ2Fub25pY2FsTG9jYWxOYW1lUnVsZXMsIHJ1bGVEYXRhKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKwogICAgIGlmIChsaW5rU2VsZWN0b3IpIHsKICAgICAgICAgbV9saW5rUHNl
dWRvQ2xhc3NSdWxlcy5hcHBlbmQocnVsZURhdGEpOwogICAgICAgICByZXR1cm47CkBAIC0zMDEs
NiArMzIyLDggQEAgdm9pZCBSdWxlU2V0Ojp0cmF2ZXJzZVJ1bGVEYXRhcyhGdW5jdGlvbiYmIGZ1
bmN0aW9uKQogCiAgICAgdHJhdmVyc2VNYXAobV9pZFJ1bGVzKTsKICAgICB0cmF2ZXJzZU1hcCht
X2NsYXNzUnVsZXMpOworICAgIHRyYXZlcnNlTWFwKG1fYXR0cmlidXRlTG9jYWxOYW1lUnVsZXMp
OworICAgIHRyYXZlcnNlTWFwKG1fYXR0cmlidXRlQ2Fub25pY2FsTG9jYWxOYW1lUnVsZXMpOwog
ICAgIHRyYXZlcnNlTWFwKG1fdGFnTG9jYWxOYW1lUnVsZXMpOwogICAgIHRyYXZlcnNlTWFwKG1f
dGFnTG93ZXJjYXNlTG9jYWxOYW1lUnVsZXMpOwogICAgIHRyYXZlcnNlTWFwKG1fc2hhZG93UHNl
dWRvRWxlbWVudFJ1bGVzKTsKQEAgLTM5Myw2ICs0MTYsOCBAQCB2b2lkIFJ1bGVTZXQ6OnNocmlu
a1RvRml0KCkKIHsKICAgICBzaHJpbmtNYXBWZWN0b3JzVG9GaXQobV9pZFJ1bGVzKTsKICAgICBz
aHJpbmtNYXBWZWN0b3JzVG9GaXQobV9jbGFzc1J1bGVzKTsKKyAgICBzaHJpbmtNYXBWZWN0b3Jz
VG9GaXQobV9hdHRyaWJ1dGVMb2NhbE5hbWVSdWxlcyk7CisgICAgc2hyaW5rTWFwVmVjdG9yc1Rv
Rml0KG1fYXR0cmlidXRlQ2Fub25pY2FsTG9jYWxOYW1lUnVsZXMpOwogICAgIHNocmlua01hcFZl
Y3RvcnNUb0ZpdChtX3RhZ0xvY2FsTmFtZVJ1bGVzKTsKICAgICBzaHJpbmtNYXBWZWN0b3JzVG9G
aXQobV90YWdMb3dlcmNhc2VMb2NhbE5hbWVSdWxlcyk7CiAgICAgc2hyaW5rTWFwVmVjdG9yc1Rv
Rml0KG1fc2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1J1bGVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaAppbmRl
eCA2NjQyMzZkYzg2NmIuLjE2ZmZhMjkwNjM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvUnVsZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaApAQCAt
ODYsNiArODYsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBSdWxlRGF0YVZlY3RvciogaWRSdWxl
cyhjb25zdCBBdG9tU3RyaW5nJiBrZXkpIGNvbnN0IHsgcmV0dXJuIG1faWRSdWxlcy5nZXQoa2V5
KTsgfQogICAgIGNvbnN0IFJ1bGVEYXRhVmVjdG9yKiBjbGFzc1J1bGVzKGNvbnN0IEF0b21TdHJp
bmcmIGtleSkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1J1bGVzLmdldChrZXkpOyB9CisgICAgY29u
c3QgUnVsZURhdGFWZWN0b3IqIGF0dHJpYnV0ZVJ1bGVzKGNvbnN0IEF0b21TdHJpbmcmIGtleSwg
Ym9vbCBpc0hUTUxOYW1lKSBjb25zdDsKICAgICBjb25zdCBSdWxlRGF0YVZlY3RvciogdGFnUnVs
ZXMoY29uc3QgQXRvbVN0cmluZyYga2V5LCBib29sIGlzSFRNTE5hbWUpIGNvbnN0OwogICAgIGNv
bnN0IFJ1bGVEYXRhVmVjdG9yKiBzaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMoY29uc3QgQXRvbVN0
cmluZyYga2V5KSBjb25zdCB7IHJldHVybiBtX3NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcy5nZXQo
a2V5KTsgfQogICAgIGNvbnN0IFJ1bGVEYXRhVmVjdG9yKiBsaW5rUHNldWRvQ2xhc3NSdWxlcygp
IGNvbnN0IHsgcmV0dXJuICZtX2xpbmtQc2V1ZG9DbGFzc1J1bGVzOyB9CkBAIC0xMDIsNiArMTAz
LDcgQEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgcnVsZUNvdW50KCkgY29uc3QgeyByZXR1cm4g
bV9ydWxlQ291bnQ7IH0KIAorICAgIGJvb2wgaGFzQXR0cmlidXRlUnVsZXMoKSBjb25zdCB7IHJl
dHVybiAhbV9hdHRyaWJ1dGVMb2NhbE5hbWVSdWxlcy5pc0VtcHR5KCk7IH0KICAgICBib29sIGhh
c1NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcygpIGNvbnN0IHsgcmV0dXJuICFtX3NoYWRvd1BzZXVk
b0VsZW1lbnRSdWxlcy5pc0VtcHR5KCk7IH0KICAgICBib29sIGhhc0hvc3RQc2V1ZG9DbGFzc1J1
bGVzTWF0Y2hpbmdJblNoYWRvd1RyZWUoKSBjb25zdCB7IHJldHVybiBtX2hhc0hvc3RQc2V1ZG9D
bGFzc1J1bGVzTWF0Y2hpbmdJblNoYWRvd1RyZWU7IH0KIApAQCAtMTY4LDYgKzE3MCw4IEBAIHBy
aXZhdGU6CiAKICAgICBBdG9tUnVsZU1hcCBtX2lkUnVsZXM7CiAgICAgQXRvbVJ1bGVNYXAgbV9j
bGFzc1J1bGVzOworICAgIEF0b21SdWxlTWFwIG1fYXR0cmlidXRlTG9jYWxOYW1lUnVsZXM7Cisg
ICAgQXRvbVJ1bGVNYXAgbV9hdHRyaWJ1dGVDYW5vbmljYWxMb2NhbE5hbWVSdWxlczsKICAgICBB
dG9tUnVsZU1hcCBtX3RhZ0xvY2FsTmFtZVJ1bGVzOwogICAgIEF0b21SdWxlTWFwIG1fdGFnTG93
ZXJjYXNlTG9jYWxOYW1lUnVsZXM7CiAgICAgQXRvbVJ1bGVNYXAgbV9zaGFkb3dQc2V1ZG9FbGVt
ZW50UnVsZXM7CkBAIC0xOTksMTQgKzIwMywxNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNW
aWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcmllcyB7IGZhbHNlIH07CiB9OwogCitpbmxpbmUgY29u
c3QgUnVsZVNldDo6UnVsZURhdGFWZWN0b3IqIFJ1bGVTZXQ6OmF0dHJpYnV0ZVJ1bGVzKGNvbnN0
IEF0b21TdHJpbmcmIGtleSwgYm9vbCBpc0hUTUxOYW1lKSBjb25zdAoreworICAgIGF1dG8mIHJ1
bGVzID0gaXNIVE1MTmFtZSA/IG1fYXR0cmlidXRlQ2Fub25pY2FsTG9jYWxOYW1lUnVsZXMgOiBt
X2F0dHJpYnV0ZUxvY2FsTmFtZVJ1bGVzOworICAgIHJldHVybiBydWxlcy5nZXQoa2V5KTsKK30K
KwogaW5saW5lIGNvbnN0IFJ1bGVTZXQ6OlJ1bGVEYXRhVmVjdG9yKiBSdWxlU2V0Ojp0YWdSdWxl
cyhjb25zdCBBdG9tU3RyaW5nJiBrZXksIGJvb2wgaXNIVE1MTmFtZSkgY29uc3QKIHsKLSAgICBj
b25zdCBBdG9tUnVsZU1hcCogdGFnUnVsZXM7Ci0gICAgaWYgKGlzSFRNTE5hbWUpCi0gICAgICAg
IHRhZ1J1bGVzID0gJm1fdGFnTG93ZXJjYXNlTG9jYWxOYW1lUnVsZXM7Ci0gICAgZWxzZQotICAg
ICAgICB0YWdSdWxlcyA9ICZtX3RhZ0xvY2FsTmFtZVJ1bGVzOwotICAgIHJldHVybiB0YWdSdWxl
cy0+Z2V0KGtleSk7CisgICAgYXV0byYgcnVsZXMgPSBpc0hUTUxOYW1lID8gbV90YWdMb3dlcmNh
c2VMb2NhbE5hbWVSdWxlcyA6IG1fdGFnTG9jYWxOYW1lUnVsZXM7CisgICAgcmV0dXJuIHJ1bGVz
LmdldChrZXkpOwogfQogCiBpbmxpbmUgQ2FzY2FkZUxheWVyUHJpb3JpdHkgUnVsZVNldDo6Y2Fz
Y2FkZUxheWVyUHJpb3JpdHlGb3JJZGVudGlmaWVyKENhc2NhZGVMYXllcklkZW50aWZpZXIgaWRl
bnRpZmllcikgY29uc3QKQEAgLTI0MSw2ICsyNDcsNSBAQCBpbmxpbmUgVmVjdG9yPGNvbnN0IEZp
bHRlcmVkQ29udGFpbmVyUXVlcnkqPiBSdWxlU2V0Ojpjb250YWluZXJRdWVyaWVzRm9yKGNvbnN0
CiAgICAgcmV0dXJuIHF1ZXJpZXM7CiB9CiAKLQogfSAvLyBuYW1lc3BhY2UgU3R5bGUKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>460569</attachid>
            <date>2022-06-29 22:09:32 -0700</date>
            <delta_ts>2022-06-29 22:10:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-242058-20220630080931.patch</filename>
            <type>text/plain</type>
            <size>11390</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSBhOTM3M2QxYmQzNmZmYmIxNzgyOTFiNDIwMDE0Yjk0Y2MwMzI3MDllIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDMwIEp1biAyMDIyIDA4OjA2OjUyICswMzAwClN1YmplY3Q6IFtQQVRDSF0gUmV2ZXJ0
IFsyNTE5NTBAbWFpbl0gQWRkIFJ1bGVTZXQgYnVja2V0IGZvciBhdHRyaWJ1dGUKIHNlbGVjdG9y
cyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQyMDU4CgpVbnJldmll
d2VkLgoKQ2F1c2VkIGEgY3Jhc2guCgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxl
Q29sbGVjdG9yLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29s
bGVjdE1hdGNoaW5nUnVsZXMpOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcDoK
KFdlYkNvcmU6OlN0eWxlOjpjb21wdXRlTWF0Y2hCYXNlZE9uUnVsZUhhc2gpOgoqIFNvdXJjZS9X
ZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OmFkZFJ1
bGUpOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OnRyYXZlcnNlUnVsZURhdGFzKToKKFdlYkNv
cmU6OlN0eWxlOjpSdWxlU2V0OjpzaHJpbmtUb0ZpdCk6CihXZWJDb3JlOjpTdHlsZTo6c2hvdWxk
SGF2ZUJ1Y2tldEZvckF0dHJpYnV0ZU5hbWUpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL3N0
eWxlL1J1bGVTZXQuaDoKKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0OjpjbGFzc1J1bGVzIGNvbnN0
KToKKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0Ojp0YWdSdWxlcyBjb25zdCk6CihXZWJDb3JlOjpT
dHlsZTo6UnVsZVNldDo6aGFzQXR0cmlidXRlUnVsZXMgY29uc3QpOiBEZWxldGVkLgooV2ViQ29y
ZTo6U3R5bGU6OlJ1bGVTZXQ6OmF0dHJpYnV0ZVJ1bGVzIGNvbnN0KTogRGVsZXRlZC4KLS0tCiBT
b3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAgfCAyNCArKysrKy0t
LS0tLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcCAgICAgICAgICAgICB8ICAy
IC0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwICAgICAgICAgICAgICB8IDM5ICsr
KystLS0tLS0tLS0tLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaCAgICAgICAg
ICAgICAgICB8IDE5ICsrKystLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCsp
LCA2MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVt
ZW50UnVsZUNvbGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNv
bGxlY3Rvci5jcHAKaW5kZXggMzA2YmI0MmRlODVlLi4zN2I5NGNlYmFhNTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTE0NSwzMSArMTQ1
LDI1IEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbGxlY3RNYXRjaGluZ1J1bGVzKGNv
bnN0IE1hdGNoUmVxdWVzdCYgbWF0Y2hSZXF1ZXN0CiB7CiAgICAgQVNTRVJUX1dJVEhfTUVTU0FH
RSghKG1fbW9kZSA9PSBTZWxlY3RvckNoZWNrZXI6Ok1vZGU6OkNvbGxlY3RpbmdSdWxlc0lnbm9y
aW5nVmlydHVhbFBzZXVkb0VsZW1lbnRzICYmIG1fcHNldWRvRWxlbWVudFJlcXVlc3QucHNldWRv
SWQgIT0gUHNldWRvSWQ6Ok5vbmUpLCAiV2hlbiBpbiBTdHlsZUludmFsaWRhdGlvbiBvciBTaGFy
aW5nUnVsZXMsIFNlbGVjdG9yQ2hlY2tlciBkb2VzIG5vdCB0cnkgdG8gbWF0Y2ggdGhlIHBzZXVk
byBJRC4gV2hpbGUgRWxlbWVudFJ1bGVDb2xsZWN0b3Igc3VwcG9ydHMgbWF0Y2hpbmcgYSBwYXJ0
aWN1bGFyIHBzZXVkb0lkIGluIHRoaXMgY2FzZSwgdGhpcyB3b3VsZCBpbmRpY2F0ZSBhIGVycm9y
IGF0IHRoZSBjYWxsIHNpdGUgc2luY2UgbWF0Y2hpbmcgYSBwYXJ0aWN1bGFyIGVsZW1lbnQgc2hv
dWxkIGJlIHVubmVjZXNzYXJ5LiIpOwogCi0gICAgYXV0byYgZWxlbWVudCA9IHRoaXMtPmVsZW1l
bnQoKTsKLSAgICBhdXRvKiBzaGFkb3dSb290ID0gZWxlbWVudC5jb250YWluaW5nU2hhZG93Um9v
dCgpOworICAgIGF1dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50KCkuY29udGFpbmluZ1NoYWRvd1Jv
b3QoKTsKICAgICBpZiAoc2hhZG93Um9vdCAmJiBzaGFkb3dSb290LT5tb2RlKCkgPT0gU2hhZG93
Um9vdE1vZGU6OlVzZXJBZ2VudCkKICAgICAgICAgY29sbGVjdE1hdGNoaW5nU2hhZG93UHNldWRv
RWxlbWVudFJ1bGVzKG1hdGNoUmVxdWVzdCk7CiAKLSAgICBib29sIGlzSFRNTCA9IGVsZW1lbnQu
aXNIVE1MRWxlbWVudCgpICYmIGVsZW1lbnQuZG9jdW1lbnQoKS5pc0hUTUxEb2N1bWVudCgpOwot
CiAgICAgLy8gV2UgbmVlZCB0byBjb2xsZWN0IHRoZSBydWxlcyBmb3IgaWQsIGNsYXNzLCB0YWcs
IGFuZCBldmVyeXRoaW5nIGVsc2UgaW50byBhIGJ1ZmZlciBhbmQKICAgICAvLyB0aGVuIHNvcnQg
dGhlIGJ1ZmZlci4KLSAgICBhdXRvJiBpZCA9IGVsZW1lbnQuaWRGb3JTdHlsZVJlc29sdXRpb24o
KTsKKyAgICBhdXRvJiBpZCA9IGVsZW1lbnQoKS5pZEZvclN0eWxlUmVzb2x1dGlvbigpOwogICAg
IGlmICghaWQuaXNOdWxsKCkpCiAgICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdCht
YXRjaFJlcXVlc3QucnVsZVNldC5pZFJ1bGVzKGlkKSwgbWF0Y2hSZXF1ZXN0KTsKLSAgICBpZiAo
ZWxlbWVudC5oYXNDbGFzcygpKSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZWxl
bWVudC5jbGFzc05hbWVzKCkuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICBjb2xsZWN0TWF0Y2hp
bmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQuY2xhc3NSdWxlcyhlbGVtZW50LmNs
YXNzTmFtZXMoKVtpXSksIG1hdGNoUmVxdWVzdCk7Ci0gICAgfQotICAgIGlmIChlbGVtZW50Lmhh
c0F0dHJpYnV0ZXNXaXRob3V0VXBkYXRlKCkgJiYgbWF0Y2hSZXF1ZXN0LnJ1bGVTZXQuaGFzQXR0
cmlidXRlUnVsZXMoKSkgewotICAgICAgICBmb3IgKGF1dG8mIGF0dHJpYnV0ZSA6IGVsZW1lbnQu
YXR0cmlidXRlc0l0ZXJhdG9yKCkpCi0gICAgICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zv
ckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQuYXR0cmlidXRlUnVsZXMoYXR0cmlidXRlLmxvY2Fs
TmFtZSgpLCBpc0hUTUwpLCBtYXRjaFJlcXVlc3QpOworICAgIGlmIChlbGVtZW50KCkuaGFzQ2xh
c3MoKSkgeworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGVsZW1lbnQoKS5jbGFzc05h
bWVzKCkuc2l6ZSgpOyArK2kpCisgICAgICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxp
c3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQuY2xhc3NSdWxlcyhlbGVtZW50KCkuY2xhc3NOYW1lcygp
W2ldKSwgbWF0Y2hSZXF1ZXN0KTsKICAgICB9Ci0gICAgaWYgKGVsZW1lbnQuaXNMaW5rKCkpCisK
KyAgICBpZiAoZWxlbWVudCgpLmlzTGluaygpKQogICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxl
c0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQubGlua1BzZXVkb0NsYXNzUnVsZXMoKSwgbWF0
Y2hSZXF1ZXN0KTsKLSAgICBpZiAobWF0Y2hlc0ZvY3VzUHNldWRvQ2xhc3MoZWxlbWVudCkpCisg
ICAgaWYgKG1hdGNoZXNGb2N1c1BzZXVkb0NsYXNzKGVsZW1lbnQoKSkpCiAgICAgICAgIGNvbGxl
Y3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC5mb2N1c1BzZXVkb0Ns
YXNzUnVsZXMoKSwgbWF0Y2hSZXF1ZXN0KTsKLSAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxp
c3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQudGFnUnVsZXMoZWxlbWVudC5sb2NhbE5hbWUoKSwgaXNI
VE1MKSwgbWF0Y2hSZXF1ZXN0KTsKKyAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0
Y2hSZXF1ZXN0LnJ1bGVTZXQudGFnUnVsZXMoZWxlbWVudCgpLmxvY2FsTmFtZSgpLCBlbGVtZW50
KCkuaXNIVE1MRWxlbWVudCgpICYmIGVsZW1lbnQoKS5kb2N1bWVudCgpLmlzSFRNTERvY3VtZW50
KCkpLCBtYXRjaFJlcXVlc3QpOwogICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRj
aFJlcXVlc3QucnVsZVNldC51bml2ZXJzYWxSdWxlcygpLCBtYXRjaFJlcXVlc3QpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlRGF0YS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9SdWxlRGF0YS5jcHAKaW5kZXggM2EwZWZjN2FhZTM0Li4zMDk5ZDVlZGVkMmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9SdWxlRGF0YS5jcHAKQEAgLTgwLDggKzgwLDYgQEAgc3RhdGljIGlu
bGluZSBNYXRjaEJhc2VkT25SdWxlSGFzaCBjb21wdXRlTWF0Y2hCYXNlZE9uUnVsZUhhc2goY29u
c3QgQ1NTU2VsZWN0b3IKICAgICAgICAgcmV0dXJuIE1hdGNoQmFzZWRPblJ1bGVIYXNoOjpDbGFz
c0E7CiAgICAgaWYgKHNlbGVjdG9yLm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6OkNsYXNzKQogICAg
ICAgICByZXR1cm4gTWF0Y2hCYXNlZE9uUnVsZUhhc2g6OkNsYXNzQjsKLSAgICAvLyBGSVhNRTog
VmFsdWVsZXNzIFthdHRyaWJ1dGVdIGNhc2UgY2FuIGJlIGhhbmRsZWQgaGVyZSB0b28uCi0KICAg
ICByZXR1cm4gTWF0Y2hCYXNlZE9uUnVsZUhhc2g6Ok5vbmU7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVs
ZVNldC5jcHAKaW5kZXggYjM4ZTc0MjNjNzNlLi5jZjE3ZGVkYzg1OWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1J1bGVTZXQuY3BwCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAj
aW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIlJ1bGVTZXRCdWlsZGVy
LmgiCi0jaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CiAjaW5jbHVkZSAiU2VsZWN0b3JDaGVja2VyLmgiCiAjaW5jbHVkZSAiU2VsZWN0b3JGaWx0ZXIu
aCIKQEAgLTg3LDE2ICs4Niw2IEBAIHN0YXRpYyBib29sIGlzSG9zdFNlbGVjdG9yTWF0Y2hpbmdJ
blNoYWRvd1RyZWUoY29uc3QgQ1NTU2VsZWN0b3ImIHN0YXJ0U2VsZWN0b3IpCiAgICAgcmV0dXJu
ICFoYXNPbmx5T25lQ29tcG91bmQgJiYgaGFzSG9zdEluTGFzdENvbXBvdW5kOwogfQogCi1zdGF0
aWMgYm9vbCBzaG91bGRIYXZlQnVja2V0Rm9yQXR0cmlidXRlTmFtZShjb25zdCBDU1NTZWxlY3Rv
ciYgYXR0cmlidXRlU2VsZWN0b3IpCi17Ci0gICAgLy8gRG9uJ3QgbWFrZSBidWNrZXRzIGZvciBs
YXp5IGF0dHJpYnV0ZXMgc2luY2Ugd2UgZG9uJ3Qgd2FudCB0byBzeW5jaHJvbml6ZS4KLSAgICBp
ZiAoYXR0cmlidXRlU2VsZWN0b3IuYXR0cmlidXRlQ2Fub25pY2FsTG9jYWxOYW1lKCkgPT0gSFRN
TE5hbWVzOjpzdHlsZUF0dHItPmxvY2FsTmFtZSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgaWYgKFNWR0VsZW1lbnQ6OmFuaW1hdGFibGVBdHRyaWJ1dGVGb3JOYW1lKGF0dHJpYnV0ZVNl
bGVjdG9yLmF0dHJpYnV0ZSgpLmxvY2FsTmFtZSgpKSAhPSBudWxsUU5hbWUoKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIFJ1bGVTZXQ6OmFkZFJ1
bGUoY29uc3QgU3R5bGVSdWxlJiBydWxlLCB1bnNpZ25lZCBzZWxlY3RvckluZGV4LCB1bnNpZ25l
ZCBzZWxlY3Rvckxpc3RJbmRleCkKIHsKICAgICBSdWxlRGF0YSBydWxlRGF0YShydWxlLCBzZWxl
Y3RvckluZGV4LCBzZWxlY3Rvckxpc3RJbmRleCwgbV9ydWxlQ291bnQpOwpAQCAtMTI5LDcgKzEx
OCw2IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZShSdWxlRGF0YSYmIHJ1bGVEYXRhLCBDYXNjYWRl
TGF5ZXJJZGVudGlmaWVyIGNhc2NhZGVMYXllcklkCiAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIGlk
U2VsZWN0b3IgPSBudWxscHRyOwogICAgIGNvbnN0IENTU1NlbGVjdG9yKiB0YWdTZWxlY3RvciA9
IG51bGxwdHI7CiAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIGNsYXNzU2VsZWN0b3IgPSBudWxscHRy
OwotICAgIGNvbnN0IENTU1NlbGVjdG9yKiBhdHRyaWJ1dGVTZWxlY3RvciA9IG51bGxwdHI7CiAg
ICAgY29uc3QgQ1NTU2VsZWN0b3IqIGxpbmtTZWxlY3RvciA9IG51bGxwdHI7CiAgICAgY29uc3Qg
Q1NTU2VsZWN0b3IqIGZvY3VzU2VsZWN0b3IgPSBudWxscHRyOwogICAgIGNvbnN0IENTU1NlbGVj
dG9yKiBob3N0UHNldWRvQ2xhc3NTZWxlY3RvciA9IG51bGxwdHI7CkBAIC0xNTksMTYgKzE0Nyw2
IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZShSdWxlRGF0YSYmIHJ1bGVEYXRhLCBDYXNjYWRlTGF5
ZXJJZGVudGlmaWVyIGNhc2NhZGVMYXllcklkCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpFeGFjdDoKLSAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2V0OgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpMaXN0
OgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpIeXBoZW46Ci0gICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OkNvbnRhaW46Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkJlZ2luOgotICAgICAg
ICBjYXNlIENTU1NlbGVjdG9yOjpFbmQ6Ci0gICAgICAgICAgICBpZiAoc2hvdWxkSGF2ZUJ1Y2tl
dEZvckF0dHJpYnV0ZU5hbWUoKnNlbGVjdG9yKSkKLSAgICAgICAgICAgICAgICBhdHRyaWJ1dGVT
ZWxlY3RvciA9IHNlbGVjdG9yOwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlRhZzoKICAgICAgICAgICAgIGlmIChzZWxlY3Rvci0+dGFnUU5hbWUoKS5sb2Nh
bE5hbWUoKSAhPSBzdGFyQXRvbSgpKQogICAgICAgICAgICAgICAgIHRhZ1NlbGVjdG9yID0gc2Vs
ZWN0b3I7CkBAIC0yMTQsNiArMTkyLDEzIEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZShSdWxlRGF0
YSYmIHJ1bGVEYXRhLCBDYXNjYWRlTGF5ZXJJZGVudGlmaWVyIGNhc2NhZGVMYXllcklkCiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
VW5rbm93bjoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RXhhY3Q6CisgICAgICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlNldDoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6TGlzdDoKKyAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6SHlwaGVuOgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpD
b250YWluOgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpCZWdpbjoKKyAgICAgICAgY2FzZSBD
U1NTZWxlY3Rvcjo6RW5kOgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQYWdlUHNldWRvQ2xh
c3M6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMjc2LDEyICsyNjEsNiBAQCB2
b2lkIFJ1bGVTZXQ6OmFkZFJ1bGUoUnVsZURhdGEmJiBydWxlRGF0YSwgQ2FzY2FkZUxheWVySWRl
bnRpZmllciBjYXNjYWRlTGF5ZXJJZAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYg
KGF0dHJpYnV0ZVNlbGVjdG9yKSB7Ci0gICAgICAgIGFkZFRvUnVsZVNldChhdHRyaWJ1dGVTZWxl
Y3Rvci0+YXR0cmlidXRlKCkubG9jYWxOYW1lKCksIG1fYXR0cmlidXRlTG9jYWxOYW1lUnVsZXMs
IHJ1bGVEYXRhKTsKLSAgICAgICAgYWRkVG9SdWxlU2V0KGF0dHJpYnV0ZVNlbGVjdG9yLT5hdHRy
aWJ1dGVDYW5vbmljYWxMb2NhbE5hbWUoKSwgbV9hdHRyaWJ1dGVDYW5vbmljYWxMb2NhbE5hbWVS
dWxlcywgcnVsZURhdGEpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgaWYgKGxpbmtT
ZWxlY3RvcikgewogICAgICAgICBtX2xpbmtQc2V1ZG9DbGFzc1J1bGVzLmFwcGVuZChydWxlRGF0
YSk7CiAgICAgICAgIHJldHVybjsKQEAgLTMyMiw4ICszMDEsNiBAQCB2b2lkIFJ1bGVTZXQ6OnRy
YXZlcnNlUnVsZURhdGFzKEZ1bmN0aW9uJiYgZnVuY3Rpb24pCiAKICAgICB0cmF2ZXJzZU1hcCht
X2lkUnVsZXMpOwogICAgIHRyYXZlcnNlTWFwKG1fY2xhc3NSdWxlcyk7Ci0gICAgdHJhdmVyc2VN
YXAobV9hdHRyaWJ1dGVMb2NhbE5hbWVSdWxlcyk7Ci0gICAgdHJhdmVyc2VNYXAobV9hdHRyaWJ1
dGVDYW5vbmljYWxMb2NhbE5hbWVSdWxlcyk7CiAgICAgdHJhdmVyc2VNYXAobV90YWdMb2NhbE5h
bWVSdWxlcyk7CiAgICAgdHJhdmVyc2VNYXAobV90YWdMb3dlcmNhc2VMb2NhbE5hbWVSdWxlcyk7
CiAgICAgdHJhdmVyc2VNYXAobV9zaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMpOwpAQCAtNDE2LDgg
KzM5Myw2IEBAIHZvaWQgUnVsZVNldDo6c2hyaW5rVG9GaXQoKQogewogICAgIHNocmlua01hcFZl
Y3RvcnNUb0ZpdChtX2lkUnVsZXMpOwogICAgIHNocmlua01hcFZlY3RvcnNUb0ZpdChtX2NsYXNz
UnVsZXMpOwotICAgIHNocmlua01hcFZlY3RvcnNUb0ZpdChtX2F0dHJpYnV0ZUxvY2FsTmFtZVJ1
bGVzKTsKLSAgICBzaHJpbmtNYXBWZWN0b3JzVG9GaXQobV9hdHRyaWJ1dGVDYW5vbmljYWxMb2Nh
bE5hbWVSdWxlcyk7CiAgICAgc2hyaW5rTWFwVmVjdG9yc1RvRml0KG1fdGFnTG9jYWxOYW1lUnVs
ZXMpOwogICAgIHNocmlua01hcFZlY3RvcnNUb0ZpdChtX3RhZ0xvd2VyY2FzZUxvY2FsTmFtZVJ1
bGVzKTsKICAgICBzaHJpbmtNYXBWZWN0b3JzVG9GaXQobV9zaGFkb3dQc2V1ZG9FbGVtZW50UnVs
ZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCmluZGV4IDE2ZmZhMjkwNjM4Ni4uNjY0MjM2ZGM4NjZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCkBAIC04Niw3ICs4Niw2IEBAIHB1YmxpYzoKIAogICAg
IGNvbnN0IFJ1bGVEYXRhVmVjdG9yKiBpZFJ1bGVzKGNvbnN0IEF0b21TdHJpbmcmIGtleSkgY29u
c3QgeyByZXR1cm4gbV9pZFJ1bGVzLmdldChrZXkpOyB9CiAgICAgY29uc3QgUnVsZURhdGFWZWN0
b3IqIGNsYXNzUnVsZXMoY29uc3QgQXRvbVN0cmluZyYga2V5KSBjb25zdCB7IHJldHVybiBtX2Ns
YXNzUnVsZXMuZ2V0KGtleSk7IH0KLSAgICBjb25zdCBSdWxlRGF0YVZlY3RvciogYXR0cmlidXRl
UnVsZXMoY29uc3QgQXRvbVN0cmluZyYga2V5LCBib29sIGlzSFRNTE5hbWUpIGNvbnN0OwogICAg
IGNvbnN0IFJ1bGVEYXRhVmVjdG9yKiB0YWdSdWxlcyhjb25zdCBBdG9tU3RyaW5nJiBrZXksIGJv
b2wgaXNIVE1MTmFtZSkgY29uc3Q7CiAgICAgY29uc3QgUnVsZURhdGFWZWN0b3IqIHNoYWRvd1Bz
ZXVkb0VsZW1lbnRSdWxlcyhjb25zdCBBdG9tU3RyaW5nJiBrZXkpIGNvbnN0IHsgcmV0dXJuIG1f
c2hhZG93UHNldWRvRWxlbWVudFJ1bGVzLmdldChrZXkpOyB9CiAgICAgY29uc3QgUnVsZURhdGFW
ZWN0b3IqIGxpbmtQc2V1ZG9DbGFzc1J1bGVzKCkgY29uc3QgeyByZXR1cm4gJm1fbGlua1BzZXVk
b0NsYXNzUnVsZXM7IH0KQEAgLTEwMyw3ICsxMDIsNiBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25l
ZCBydWxlQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3J1bGVDb3VudDsgfQogCi0gICAgYm9vbCBo
YXNBdHRyaWJ1dGVSdWxlcygpIGNvbnN0IHsgcmV0dXJuICFtX2F0dHJpYnV0ZUxvY2FsTmFtZVJ1
bGVzLmlzRW1wdHkoKTsgfQogICAgIGJvb2wgaGFzU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKCkg
Y29uc3QgeyByZXR1cm4gIW1fc2hhZG93UHNldWRvRWxlbWVudFJ1bGVzLmlzRW1wdHkoKTsgfQog
ICAgIGJvb2wgaGFzSG9zdFBzZXVkb0NsYXNzUnVsZXNNYXRjaGluZ0luU2hhZG93VHJlZSgpIGNv
bnN0IHsgcmV0dXJuIG1faGFzSG9zdFBzZXVkb0NsYXNzUnVsZXNNYXRjaGluZ0luU2hhZG93VHJl
ZTsgfQogCkBAIC0xNzAsOCArMTY4LDYgQEAgcHJpdmF0ZToKIAogICAgIEF0b21SdWxlTWFwIG1f
aWRSdWxlczsKICAgICBBdG9tUnVsZU1hcCBtX2NsYXNzUnVsZXM7Ci0gICAgQXRvbVJ1bGVNYXAg
bV9hdHRyaWJ1dGVMb2NhbE5hbWVSdWxlczsKLSAgICBBdG9tUnVsZU1hcCBtX2F0dHJpYnV0ZUNh
bm9uaWNhbExvY2FsTmFtZVJ1bGVzOwogICAgIEF0b21SdWxlTWFwIG1fdGFnTG9jYWxOYW1lUnVs
ZXM7CiAgICAgQXRvbVJ1bGVNYXAgbV90YWdMb3dlcmNhc2VMb2NhbE5hbWVSdWxlczsKICAgICBB
dG9tUnVsZU1hcCBtX3NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlczsKQEAgLTIwMywxNiArMTk5LDE0
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc1ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyaWVz
IHsgZmFsc2UgfTsKIH07CiAKLWlubGluZSBjb25zdCBSdWxlU2V0OjpSdWxlRGF0YVZlY3Rvciog
UnVsZVNldDo6YXR0cmlidXRlUnVsZXMoY29uc3QgQXRvbVN0cmluZyYga2V5LCBib29sIGlzSFRN
TE5hbWUpIGNvbnN0Ci17Ci0gICAgYXV0byYgcnVsZXMgPSBpc0hUTUxOYW1lID8gbV9hdHRyaWJ1
dGVDYW5vbmljYWxMb2NhbE5hbWVSdWxlcyA6IG1fYXR0cmlidXRlTG9jYWxOYW1lUnVsZXM7Ci0g
ICAgcmV0dXJuIHJ1bGVzLmdldChrZXkpOwotfQotCiBpbmxpbmUgY29uc3QgUnVsZVNldDo6UnVs
ZURhdGFWZWN0b3IqIFJ1bGVTZXQ6OnRhZ1J1bGVzKGNvbnN0IEF0b21TdHJpbmcmIGtleSwgYm9v
bCBpc0hUTUxOYW1lKSBjb25zdAogewotICAgIGF1dG8mIHJ1bGVzID0gaXNIVE1MTmFtZSA/IG1f
dGFnTG93ZXJjYXNlTG9jYWxOYW1lUnVsZXMgOiBtX3RhZ0xvY2FsTmFtZVJ1bGVzOwotICAgIHJl
dHVybiBydWxlcy5nZXQoa2V5KTsKKyAgICBjb25zdCBBdG9tUnVsZU1hcCogdGFnUnVsZXM7Cisg
ICAgaWYgKGlzSFRNTE5hbWUpCisgICAgICAgIHRhZ1J1bGVzID0gJm1fdGFnTG93ZXJjYXNlTG9j
YWxOYW1lUnVsZXM7CisgICAgZWxzZQorICAgICAgICB0YWdSdWxlcyA9ICZtX3RhZ0xvY2FsTmFt
ZVJ1bGVzOworICAgIHJldHVybiB0YWdSdWxlcy0+Z2V0KGtleSk7CiB9CiAKIGlubGluZSBDYXNj
YWRlTGF5ZXJQcmlvcml0eSBSdWxlU2V0OjpjYXNjYWRlTGF5ZXJQcmlvcml0eUZvcklkZW50aWZp
ZXIoQ2FzY2FkZUxheWVySWRlbnRpZmllciBpZGVudGlmaWVyKSBjb25zdApAQCAtMjQ3LDUgKzI0
MSw2IEBAIGlubGluZSBWZWN0b3I8Y29uc3QgRmlsdGVyZWRDb250YWluZXJRdWVyeSo+IFJ1bGVT
ZXQ6OmNvbnRhaW5lclF1ZXJpZXNGb3IoY29uc3QKICAgICByZXR1cm4gcXVlcmllczsKIH0KIAor
CiB9IC8vIG5hbWVzcGFjZSBTdHlsZQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>460574</attachid>
            <date>2022-06-30 02:03:04 -0700</date>
            <delta_ts>2022-06-30 04:32:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-242058-20220630120302.patch</filename>
            <type>text/plain</type>
            <size>12984</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSA4ZDJjZmJjMzQ2YmU3NDY2YTEzNzljNjE1YzVhYzc4ZWEwOGQ2Zjk4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBUdWUsIDI4IEp1biAyMDIyIDE0OjEyOjQ0ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIFJ1
bGVTZXQgYnVja2V0IGZvciBhdHRyaWJ1dGUgc2VsZWN0b3JzCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQyMDU4IDxyZGFyOi8vOTU3OTA5NDA+CgpSZXZpZXdlZCBi
eSBBbGFuIEJ1anRhcy4KCkN1cnJlbnRseSBhdHRyaWJ1dGUgc2VsZWN0b3JzIGRvbid0IGdldCBj
bGFzc2lmaWVkIGludG8gcnVsZSBidWNrZXRzIG9mIHRoZWlyIG93biAodW5saWtlIGNsYXNzIGFu
ZCBpZCBzZWxlY3RvcnMpLgpBdHRyaWJ1dGUgc2VsZWN0b3JzIGFyZSBwcmV0dHkgcG9wdWxhciB0
aGVzZSBkYXlzIHNvIGl0IG1ha2VzIHNlbnNlIHRvIG9wdGltaXplIHRoaXMgY2FzZSB0b28uCgoq
IFNvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcDoKKFdlYkNvcmU6
OlN0eWxlOjpFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXMpOgoKQ2hl
Y2sgdGhlIGF0dHJpYnV0ZSBidWNrZXRzIGZvciBlbGVtZW50IGF0dHJpYnV0ZXMuCgoqIFNvdXJj
ZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpjb21wdXRlTWF0
Y2hCYXNlZE9uUnVsZUhhc2gpOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwOgoo
V2ViQ29yZTo6U3R5bGU6OnNob3VsZEhhdmVCdWNrZXRGb3JBdHRyaWJ1dGVOYW1lKToKCkRvbid0
IGJ1Y2tldCBsYXp5IGF0dHJpYnV0ZXMgdGhhdCB3b3VsZCByZXF1aXJlIHN5bmNocm9uaXphdGlv
bi4KCihXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6YWRkUnVsZSk6CihXZWJDb3JlOjpTdHlsZTo6
UnVsZVNldDo6dHJhdmVyc2VSdWxlRGF0YXMpOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OnNo
cmlua1RvRml0KToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0Lmg6CihXZWJDb3JlOjpT
dHlsZTo6UnVsZVNldDo6aGFzQXR0cmlidXRlUnVsZXMgY29uc3QpOgooV2ViQ29yZTo6U3R5bGU6
OlJ1bGVTZXQ6OmF0dHJpYnV0ZVJ1bGVzIGNvbnN0KToKKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0
Ojp0YWdSdWxlcyBjb25zdCk6Ci0tLQogU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVD
b2xsZWN0b3IuY3BwIHwgMjkgKysrKysrKysrLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1
bGVEYXRhLmNwcCAgICAgICAgICAgICB8ICAyICsKIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVT
ZXQuY3BwICAgICAgICAgICAgICB8IDM5ICsrKysrKysrKysrKysrKy0tLS0KIFNvdXJjZS9XZWJD
b3JlL3N0eWxlL1J1bGVTZXQuaCAgICAgICAgICAgICAgICB8IDE5ICsrKysrLS0tLQogLi4udHJp
YnV0ZS1zeW5jaHJvbml6YXRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0IHwgIDEgKwogLi4uL2Nzcy9h
dHRyaWJ1dGUtc3luY2hyb25pemF0aW9uLWNyYXNoLmh0bWwgIHwgIDkgKysrKysKIDYgZmlsZXMg
Y2hhbmdlZCwgNzYgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXR0cmlidXRlLXN5bmNocm9uaXphdGlvbi1jcmFz
aC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9h
dHRyaWJ1dGUtc3luY2hyb25pemF0aW9uLWNyYXNoLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKaW5kZXggMzdiOTRjZWJhYTU1Li4wYTA1ZWM5
ODcyYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5j
cHAKQEAgLTE0NSwyNSArMTQ1LDM2IEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbGxl
Y3RNYXRjaGluZ1J1bGVzKGNvbnN0IE1hdGNoUmVxdWVzdCYgbWF0Y2hSZXF1ZXN0CiB7CiAgICAg
QVNTRVJUX1dJVEhfTUVTU0FHRSghKG1fbW9kZSA9PSBTZWxlY3RvckNoZWNrZXI6Ok1vZGU6OkNv
bGxlY3RpbmdSdWxlc0lnbm9yaW5nVmlydHVhbFBzZXVkb0VsZW1lbnRzICYmIG1fcHNldWRvRWxl
bWVudFJlcXVlc3QucHNldWRvSWQgIT0gUHNldWRvSWQ6Ok5vbmUpLCAiV2hlbiBpbiBTdHlsZUlu
dmFsaWRhdGlvbiBvciBTaGFyaW5nUnVsZXMsIFNlbGVjdG9yQ2hlY2tlciBkb2VzIG5vdCB0cnkg
dG8gbWF0Y2ggdGhlIHBzZXVkbyBJRC4gV2hpbGUgRWxlbWVudFJ1bGVDb2xsZWN0b3Igc3VwcG9y
dHMgbWF0Y2hpbmcgYSBwYXJ0aWN1bGFyIHBzZXVkb0lkIGluIHRoaXMgY2FzZSwgdGhpcyB3b3Vs
ZCBpbmRpY2F0ZSBhIGVycm9yIGF0IHRoZSBjYWxsIHNpdGUgc2luY2UgbWF0Y2hpbmcgYSBwYXJ0
aWN1bGFyIGVsZW1lbnQgc2hvdWxkIGJlIHVubmVjZXNzYXJ5LiIpOwogCi0gICAgYXV0byogc2hh
ZG93Um9vdCA9IGVsZW1lbnQoKS5jb250YWluaW5nU2hhZG93Um9vdCgpOworICAgIGF1dG8mIGVs
ZW1lbnQgPSB0aGlzLT5lbGVtZW50KCk7CisgICAgYXV0byogc2hhZG93Um9vdCA9IGVsZW1lbnQu
Y29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKICAgICBpZiAoc2hhZG93Um9vdCAmJiBzaGFkb3dSb290
LT5tb2RlKCkgPT0gU2hhZG93Um9vdE1vZGU6OlVzZXJBZ2VudCkKICAgICAgICAgY29sbGVjdE1h
dGNoaW5nU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKG1hdGNoUmVxdWVzdCk7CiAKKyAgICBib29s
IGlzSFRNTCA9IGVsZW1lbnQuaXNIVE1MRWxlbWVudCgpICYmIGVsZW1lbnQuZG9jdW1lbnQoKS5p
c0hUTUxEb2N1bWVudCgpOworCiAgICAgLy8gV2UgbmVlZCB0byBjb2xsZWN0IHRoZSBydWxlcyBm
b3IgaWQsIGNsYXNzLCB0YWcsIGFuZCBldmVyeXRoaW5nIGVsc2UgaW50byBhIGJ1ZmZlciBhbmQK
ICAgICAvLyB0aGVuIHNvcnQgdGhlIGJ1ZmZlci4KLSAgICBhdXRvJiBpZCA9IGVsZW1lbnQoKS5p
ZEZvclN0eWxlUmVzb2x1dGlvbigpOworICAgIGF1dG8mIGlkID0gZWxlbWVudC5pZEZvclN0eWxl
UmVzb2x1dGlvbigpOwogICAgIGlmICghaWQuaXNOdWxsKCkpCiAgICAgICAgIGNvbGxlY3RNYXRj
aGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC5pZFJ1bGVzKGlkKSwgbWF0Y2hS
ZXF1ZXN0KTsKLSAgICBpZiAoZWxlbWVudCgpLmhhc0NsYXNzKCkpIHsKLSAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBlbGVtZW50KCkuY2xhc3NOYW1lcygpLnNpemUoKTsgKytpKQotICAg
ICAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0
LmNsYXNzUnVsZXMoZWxlbWVudCgpLmNsYXNzTmFtZXMoKVtpXSksIG1hdGNoUmVxdWVzdCk7Cisg
ICAgaWYgKGVsZW1lbnQuaGFzQ2xhc3MoKSkgeworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGVsZW1lbnQuY2xhc3NOYW1lcygpLnNpemUoKTsgKytpKQorICAgICAgICAgICAgY29sbGVj
dE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0LmNsYXNzUnVsZXMoZWxl
bWVudC5jbGFzc05hbWVzKClbaV0pLCBtYXRjaFJlcXVlc3QpOwogICAgIH0KLQotICAgIGlmIChl
bGVtZW50KCkuaXNMaW5rKCkpCisgICAgaWYgKGVsZW1lbnQuaGFzQXR0cmlidXRlc1dpdGhvdXRV
cGRhdGUoKSAmJiBtYXRjaFJlcXVlc3QucnVsZVNldC5oYXNBdHRyaWJ1dGVSdWxlcygpKSB7Cisg
ICAgICAgIFZlY3Rvcjxjb25zdCBSdWxlU2V0OjpSdWxlRGF0YVZlY3RvciosIDQ+IHJ1bGVWZWN0
b3JzOworICAgICAgICBmb3IgKGF1dG8mIGF0dHJpYnV0ZSA6IGVsZW1lbnQuYXR0cmlidXRlc0l0
ZXJhdG9yKCkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBydWxlcyA9IG1hdGNoUmVxdWVzdC5y
dWxlU2V0LmF0dHJpYnV0ZVJ1bGVzKGF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgaXNIVE1MKSkKKyAg
ICAgICAgICAgICAgICBydWxlVmVjdG9ycy5hcHBlbmQocnVsZXMpOworICAgICAgICB9CisgICAg
ICAgIGZvciAoYXV0byogcnVsZXMgOiBydWxlVmVjdG9ycykKKyAgICAgICAgICAgIGNvbGxlY3RN
YXRjaGluZ1J1bGVzRm9yTGlzdChydWxlcywgbWF0Y2hSZXF1ZXN0KTsKKyAgICB9CisgICAgaWYg
KGVsZW1lbnQuaXNMaW5rKCkpCiAgICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdCht
YXRjaFJlcXVlc3QucnVsZVNldC5saW5rUHNldWRvQ2xhc3NSdWxlcygpLCBtYXRjaFJlcXVlc3Qp
OwotICAgIGlmIChtYXRjaGVzRm9jdXNQc2V1ZG9DbGFzcyhlbGVtZW50KCkpKQorICAgIGlmICht
YXRjaGVzRm9jdXNQc2V1ZG9DbGFzcyhlbGVtZW50KSkKICAgICAgICAgY29sbGVjdE1hdGNoaW5n
UnVsZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0LmZvY3VzUHNldWRvQ2xhc3NSdWxlcygp
LCBtYXRjaFJlcXVlc3QpOwotICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRjaFJl
cXVlc3QucnVsZVNldC50YWdSdWxlcyhlbGVtZW50KCkubG9jYWxOYW1lKCksIGVsZW1lbnQoKS5p
c0hUTUxFbGVtZW50KCkgJiYgZWxlbWVudCgpLmRvY3VtZW50KCkuaXNIVE1MRG9jdW1lbnQoKSks
IG1hdGNoUmVxdWVzdCk7CisgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1hdGNoUmVx
dWVzdC5ydWxlU2V0LnRhZ1J1bGVzKGVsZW1lbnQubG9jYWxOYW1lKCksIGlzSFRNTCksIG1hdGNo
UmVxdWVzdCk7CiAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5y
dWxlU2V0LnVuaXZlcnNhbFJ1bGVzKCksIG1hdGNoUmVxdWVzdCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1J1bGVEYXRhLmNwcAppbmRleCAzMDk5ZDVlZGVkMmUuLjNhMGVmYzdhYWUzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1J1bGVEYXRhLmNwcApAQCAtODAsNiArODAsOCBAQCBzdGF0aWMgaW5saW5lIE1hdGNo
QmFzZWRPblJ1bGVIYXNoIGNvbXB1dGVNYXRjaEJhc2VkT25SdWxlSGFzaChjb25zdCBDU1NTZWxl
Y3RvcgogICAgICAgICByZXR1cm4gTWF0Y2hCYXNlZE9uUnVsZUhhc2g6OkNsYXNzQTsKICAgICBp
ZiAoc2VsZWN0b3IubWF0Y2goKSA9PSBDU1NTZWxlY3Rvcjo6Q2xhc3MpCiAgICAgICAgIHJldHVy
biBNYXRjaEJhc2VkT25SdWxlSGFzaDo6Q2xhc3NCOworICAgIC8vIEZJWE1FOiBWYWx1ZWxlc3Mg
W2F0dHJpYnV0ZV0gY2FzZSBjYW4gYmUgaGFuZGxlZCBoZXJlIHRvby4KKwogICAgIHJldHVybiBN
YXRjaEJhc2VkT25SdWxlSGFzaDo6Tm9uZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvUnVsZVNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcApp
bmRleCBjZjE3ZGVkYzg1OWEuLmIzOGU3NDIzYzczZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvUnVsZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5j
cHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJN
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiUnVsZVNldEJ1aWxkZXIuaCIKKyNpbmNs
dWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTZWxlY3RvckNoZWNrZXIuaCIKICNpbmNsdWRlICJTZWxlY3RvckZpbHRlci5oIgpAQCAtODYs
NiArODcsMTYgQEAgc3RhdGljIGJvb2wgaXNIb3N0U2VsZWN0b3JNYXRjaGluZ0luU2hhZG93VHJl
ZShjb25zdCBDU1NTZWxlY3RvciYgc3RhcnRTZWxlY3RvcikKICAgICByZXR1cm4gIWhhc09ubHlP
bmVDb21wb3VuZCAmJiBoYXNIb3N0SW5MYXN0Q29tcG91bmQ7CiB9CiAKK3N0YXRpYyBib29sIHNo
b3VsZEhhdmVCdWNrZXRGb3JBdHRyaWJ1dGVOYW1lKGNvbnN0IENTU1NlbGVjdG9yJiBhdHRyaWJ1
dGVTZWxlY3RvcikKK3sKKyAgICAvLyBEb24ndCBtYWtlIGJ1Y2tldHMgZm9yIGxhenkgYXR0cmli
dXRlcyBzaW5jZSB3ZSBkb24ndCB3YW50IHRvIHN5bmNocm9uaXplLgorICAgIGlmIChhdHRyaWJ1
dGVTZWxlY3Rvci5hdHRyaWJ1dGVDYW5vbmljYWxMb2NhbE5hbWUoKSA9PSBIVE1MTmFtZXM6OnN0
eWxlQXR0ci0+bG9jYWxOYW1lKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoU1ZH
RWxlbWVudDo6YW5pbWF0YWJsZUF0dHJpYnV0ZUZvck5hbWUoYXR0cmlidXRlU2VsZWN0b3IuYXR0
cmlidXRlKCkubG9jYWxOYW1lKCkpICE9IG51bGxRTmFtZSgpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgUnVsZVNldDo6YWRkUnVsZShjb25zdCBT
dHlsZVJ1bGUmIHJ1bGUsIHVuc2lnbmVkIHNlbGVjdG9ySW5kZXgsIHVuc2lnbmVkIHNlbGVjdG9y
TGlzdEluZGV4KQogewogICAgIFJ1bGVEYXRhIHJ1bGVEYXRhKHJ1bGUsIHNlbGVjdG9ySW5kZXgs
IHNlbGVjdG9yTGlzdEluZGV4LCBtX3J1bGVDb3VudCk7CkBAIC0xMTgsNiArMTI5LDcgQEAgdm9p
ZCBSdWxlU2V0OjphZGRSdWxlKFJ1bGVEYXRhJiYgcnVsZURhdGEsIENhc2NhZGVMYXllcklkZW50
aWZpZXIgY2FzY2FkZUxheWVySWQKICAgICBjb25zdCBDU1NTZWxlY3RvciogaWRTZWxlY3RvciA9
IG51bGxwdHI7CiAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIHRhZ1NlbGVjdG9yID0gbnVsbHB0cjsK
ICAgICBjb25zdCBDU1NTZWxlY3RvciogY2xhc3NTZWxlY3RvciA9IG51bGxwdHI7CisgICAgY29u
c3QgQ1NTU2VsZWN0b3IqIGF0dHJpYnV0ZVNlbGVjdG9yID0gbnVsbHB0cjsKICAgICBjb25zdCBD
U1NTZWxlY3RvciogbGlua1NlbGVjdG9yID0gbnVsbHB0cjsKICAgICBjb25zdCBDU1NTZWxlY3Rv
ciogZm9jdXNTZWxlY3RvciA9IG51bGxwdHI7CiAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIGhvc3RQ
c2V1ZG9DbGFzc1NlbGVjdG9yID0gbnVsbHB0cjsKQEAgLTE0Nyw2ICsxNTksMTYgQEAgdm9pZCBS
dWxlU2V0OjphZGRSdWxlKFJ1bGVEYXRhJiYgcnVsZURhdGEsIENhc2NhZGVMYXllcklkZW50aWZp
ZXIgY2FzY2FkZUxheWVySWQKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkV4YWN0OgorICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpTZXQ6CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6Okxpc3Q6CisgICAgICAg
IGNhc2UgQ1NTU2VsZWN0b3I6Okh5cGhlbjoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6Q29u
dGFpbjoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6QmVnaW46CisgICAgICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OkVuZDoKKyAgICAgICAgICAgIGlmIChzaG91bGRIYXZlQnVja2V0Rm9yQXR0cmli
dXRlTmFtZSgqc2VsZWN0b3IpKQorICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVNlbGVjdG9yID0g
c2VsZWN0b3I7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
VGFnOgogICAgICAgICAgICAgaWYgKHNlbGVjdG9yLT50YWdRTmFtZSgpLmxvY2FsTmFtZSgpICE9
IHN0YXJBdG9tKCkpCiAgICAgICAgICAgICAgICAgdGFnU2VsZWN0b3IgPSBzZWxlY3RvcjsKQEAg
LTE5MiwxMyArMjE0LDYgQEAgdm9pZCBSdWxlU2V0OjphZGRSdWxlKFJ1bGVEYXRhJiYgcnVsZURh
dGEsIENhc2NhZGVMYXllcklkZW50aWZpZXIgY2FzY2FkZUxheWVySWQKICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpVbmtub3duOgot
ICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpFeGFjdDoKLSAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6U2V0OgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpMaXN0OgotICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpIeXBoZW46Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkNvbnRhaW46Ci0g
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkJlZ2luOgotICAgICAgICBjYXNlIENTU1NlbGVjdG9y
OjpFbmQ6CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBhZ2VQc2V1ZG9DbGFzczoKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0yNjEsNiArMjc2LDEyIEBAIHZvaWQgUnVsZVNl
dDo6YWRkUnVsZShSdWxlRGF0YSYmIHJ1bGVEYXRhLCBDYXNjYWRlTGF5ZXJJZGVudGlmaWVyIGNh
c2NhZGVMYXllcklkCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoYXR0cmlidXRl
U2VsZWN0b3IpIHsKKyAgICAgICAgYWRkVG9SdWxlU2V0KGF0dHJpYnV0ZVNlbGVjdG9yLT5hdHRy
aWJ1dGUoKS5sb2NhbE5hbWUoKSwgbV9hdHRyaWJ1dGVMb2NhbE5hbWVSdWxlcywgcnVsZURhdGEp
OworICAgICAgICBhZGRUb1J1bGVTZXQoYXR0cmlidXRlU2VsZWN0b3ItPmF0dHJpYnV0ZUNhbm9u
aWNhbExvY2FsTmFtZSgpLCBtX2F0dHJpYnV0ZUNhbm9uaWNhbExvY2FsTmFtZVJ1bGVzLCBydWxl
RGF0YSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAobGlua1NlbGVjdG9yKSB7
CiAgICAgICAgIG1fbGlua1BzZXVkb0NsYXNzUnVsZXMuYXBwZW5kKHJ1bGVEYXRhKTsKICAgICAg
ICAgcmV0dXJuOwpAQCAtMzAxLDYgKzMyMiw4IEBAIHZvaWQgUnVsZVNldDo6dHJhdmVyc2VSdWxl
RGF0YXMoRnVuY3Rpb24mJiBmdW5jdGlvbikKIAogICAgIHRyYXZlcnNlTWFwKG1faWRSdWxlcyk7
CiAgICAgdHJhdmVyc2VNYXAobV9jbGFzc1J1bGVzKTsKKyAgICB0cmF2ZXJzZU1hcChtX2F0dHJp
YnV0ZUxvY2FsTmFtZVJ1bGVzKTsKKyAgICB0cmF2ZXJzZU1hcChtX2F0dHJpYnV0ZUNhbm9uaWNh
bExvY2FsTmFtZVJ1bGVzKTsKICAgICB0cmF2ZXJzZU1hcChtX3RhZ0xvY2FsTmFtZVJ1bGVzKTsK
ICAgICB0cmF2ZXJzZU1hcChtX3RhZ0xvd2VyY2FzZUxvY2FsTmFtZVJ1bGVzKTsKICAgICB0cmF2
ZXJzZU1hcChtX3NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyk7CkBAIC0zOTMsNiArNDE2LDggQEAg
dm9pZCBSdWxlU2V0OjpzaHJpbmtUb0ZpdCgpCiB7CiAgICAgc2hyaW5rTWFwVmVjdG9yc1RvRml0
KG1faWRSdWxlcyk7CiAgICAgc2hyaW5rTWFwVmVjdG9yc1RvRml0KG1fY2xhc3NSdWxlcyk7Cisg
ICAgc2hyaW5rTWFwVmVjdG9yc1RvRml0KG1fYXR0cmlidXRlTG9jYWxOYW1lUnVsZXMpOworICAg
IHNocmlua01hcFZlY3RvcnNUb0ZpdChtX2F0dHJpYnV0ZUNhbm9uaWNhbExvY2FsTmFtZVJ1bGVz
KTsKICAgICBzaHJpbmtNYXBWZWN0b3JzVG9GaXQobV90YWdMb2NhbE5hbWVSdWxlcyk7CiAgICAg
c2hyaW5rTWFwVmVjdG9yc1RvRml0KG1fdGFnTG93ZXJjYXNlTG9jYWxOYW1lUnVsZXMpOwogICAg
IHNocmlua01hcFZlY3RvcnNUb0ZpdChtX3NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9SdWxlU2V0LmgKaW5kZXggNjY0MjM2ZGM4NjZiLi4xNmZmYTI5MDYzODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9SdWxlU2V0LmgKQEAgLTg2LDYgKzg2LDcgQEAgcHVibGljOgogCiAgICAgY29uc3QgUnVs
ZURhdGFWZWN0b3IqIGlkUnVsZXMoY29uc3QgQXRvbVN0cmluZyYga2V5KSBjb25zdCB7IHJldHVy
biBtX2lkUnVsZXMuZ2V0KGtleSk7IH0KICAgICBjb25zdCBSdWxlRGF0YVZlY3RvciogY2xhc3NS
dWxlcyhjb25zdCBBdG9tU3RyaW5nJiBrZXkpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NSdWxlcy5n
ZXQoa2V5KTsgfQorICAgIGNvbnN0IFJ1bGVEYXRhVmVjdG9yKiBhdHRyaWJ1dGVSdWxlcyhjb25z
dCBBdG9tU3RyaW5nJiBrZXksIGJvb2wgaXNIVE1MTmFtZSkgY29uc3Q7CiAgICAgY29uc3QgUnVs
ZURhdGFWZWN0b3IqIHRhZ1J1bGVzKGNvbnN0IEF0b21TdHJpbmcmIGtleSwgYm9vbCBpc0hUTUxO
YW1lKSBjb25zdDsKICAgICBjb25zdCBSdWxlRGF0YVZlY3Rvciogc2hhZG93UHNldWRvRWxlbWVu
dFJ1bGVzKGNvbnN0IEF0b21TdHJpbmcmIGtleSkgY29uc3QgeyByZXR1cm4gbV9zaGFkb3dQc2V1
ZG9FbGVtZW50UnVsZXMuZ2V0KGtleSk7IH0KICAgICBjb25zdCBSdWxlRGF0YVZlY3RvciogbGlu
a1BzZXVkb0NsYXNzUnVsZXMoKSBjb25zdCB7IHJldHVybiAmbV9saW5rUHNldWRvQ2xhc3NSdWxl
czsgfQpAQCAtMTAyLDYgKzEwMyw3IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIHJ1bGVDb3Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fcnVsZUNvdW50OyB9CiAKKyAgICBib29sIGhhc0F0dHJpYnV0
ZVJ1bGVzKCkgY29uc3QgeyByZXR1cm4gIW1fYXR0cmlidXRlTG9jYWxOYW1lUnVsZXMuaXNFbXB0
eSgpOyB9CiAgICAgYm9vbCBoYXNTaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMoKSBjb25zdCB7IHJl
dHVybiAhbV9zaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBo
YXNIb3N0UHNldWRvQ2xhc3NSdWxlc01hdGNoaW5nSW5TaGFkb3dUcmVlKCkgY29uc3QgeyByZXR1
cm4gbV9oYXNIb3N0UHNldWRvQ2xhc3NSdWxlc01hdGNoaW5nSW5TaGFkb3dUcmVlOyB9CiAKQEAg
LTE2OCw2ICsxNzAsOCBAQCBwcml2YXRlOgogCiAgICAgQXRvbVJ1bGVNYXAgbV9pZFJ1bGVzOwog
ICAgIEF0b21SdWxlTWFwIG1fY2xhc3NSdWxlczsKKyAgICBBdG9tUnVsZU1hcCBtX2F0dHJpYnV0
ZUxvY2FsTmFtZVJ1bGVzOworICAgIEF0b21SdWxlTWFwIG1fYXR0cmlidXRlQ2Fub25pY2FsTG9j
YWxOYW1lUnVsZXM7CiAgICAgQXRvbVJ1bGVNYXAgbV90YWdMb2NhbE5hbWVSdWxlczsKICAgICBB
dG9tUnVsZU1hcCBtX3RhZ0xvd2VyY2FzZUxvY2FsTmFtZVJ1bGVzOwogICAgIEF0b21SdWxlTWFw
IG1fc2hhZG93UHNldWRvRWxlbWVudFJ1bGVzOwpAQCAtMTk5LDE0ICsyMDMsMTYgQEAgcHJpdmF0
ZToKICAgICBib29sIG1faGFzVmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJpZXMgeyBmYWxzZSB9
OwogfTsKIAoraW5saW5lIGNvbnN0IFJ1bGVTZXQ6OlJ1bGVEYXRhVmVjdG9yKiBSdWxlU2V0Ojph
dHRyaWJ1dGVSdWxlcyhjb25zdCBBdG9tU3RyaW5nJiBrZXksIGJvb2wgaXNIVE1MTmFtZSkgY29u
c3QKK3sKKyAgICBhdXRvJiBydWxlcyA9IGlzSFRNTE5hbWUgPyBtX2F0dHJpYnV0ZUNhbm9uaWNh
bExvY2FsTmFtZVJ1bGVzIDogbV9hdHRyaWJ1dGVMb2NhbE5hbWVSdWxlczsKKyAgICByZXR1cm4g
cnVsZXMuZ2V0KGtleSk7Cit9CisKIGlubGluZSBjb25zdCBSdWxlU2V0OjpSdWxlRGF0YVZlY3Rv
ciogUnVsZVNldDo6dGFnUnVsZXMoY29uc3QgQXRvbVN0cmluZyYga2V5LCBib29sIGlzSFRNTE5h
bWUpIGNvbnN0CiB7Ci0gICAgY29uc3QgQXRvbVJ1bGVNYXAqIHRhZ1J1bGVzOwotICAgIGlmIChp
c0hUTUxOYW1lKQotICAgICAgICB0YWdSdWxlcyA9ICZtX3RhZ0xvd2VyY2FzZUxvY2FsTmFtZVJ1
bGVzOwotICAgIGVsc2UKLSAgICAgICAgdGFnUnVsZXMgPSAmbV90YWdMb2NhbE5hbWVSdWxlczsK
LSAgICByZXR1cm4gdGFnUnVsZXMtPmdldChrZXkpOworICAgIGF1dG8mIHJ1bGVzID0gaXNIVE1M
TmFtZSA/IG1fdGFnTG93ZXJjYXNlTG9jYWxOYW1lUnVsZXMgOiBtX3RhZ0xvY2FsTmFtZVJ1bGVz
OworICAgIHJldHVybiBydWxlcy5nZXQoa2V5KTsKIH0KIAogaW5saW5lIENhc2NhZGVMYXllclBy
aW9yaXR5IFJ1bGVTZXQ6OmNhc2NhZGVMYXllclByaW9yaXR5Rm9ySWRlbnRpZmllcihDYXNjYWRl
TGF5ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpIGNvbnN0CkBAIC0yNDEsNiArMjQ3LDUgQEAgaW5s
aW5lIFZlY3Rvcjxjb25zdCBGaWx0ZXJlZENvbnRhaW5lclF1ZXJ5Kj4gUnVsZVNldDo6Y29udGFp
bmVyUXVlcmllc0Zvcihjb25zdAogICAgIHJldHVybiBxdWVyaWVzOwogfQogCi0KIH0gLy8gbmFt
ZXNwYWNlIFN0eWxlCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9hdHRyaWJ1dGUtc3luY2hyb25pemF0aW9uLWNyYXNoLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2F0dHJpYnV0ZS1zeW5jaHJvbml6YXRpb24tY3Jhc2gt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNzMw
ZWJmNjZhMGRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXR0cmli
dXRlLXN5bmNocm9uaXphdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorVGhp
cyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvYXR0cmlidXRlLXN5bmNocm9uaXphdGlvbi1jcmFzaC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvYXR0cmlidXRlLXN5bmNocm9uaXphdGlvbi1jcmFzaC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNzcxODhlODhiODAwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXR0cmlidXRlLXN5bmNocm9uaXphdGlv
bi1jcmFzaC5odG1sCkBAIC0wLDAgKzEsOSBAQAorPHN0eWxlPgorW2RhdGEtYV06Zmlyc3Qtb2Yt
dHlwZSB7IGNvbG9yOiBncmVlbiB9Cis8L3N0eWxlPgorPGRpdiBpZD10ZXN0IGRhdGEtYSBkYXRh
LWIgZGF0YS1jPlRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC48L2Rpdj4KKzxz
Y3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Cit0ZXN0LnN0eWxlLmNvbG9yID0gInllbGxvdyI7Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>