<?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>235881</bug_id>
          
          <creation_ts>2022-01-31 02:08:12 -0800</creation_ts>
          <short_desc>[CSS Container Queries] Check for query containers when matching rules</short_desc>
          <delta_ts>2022-01-31 06:58:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>229659</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>graouts</cc>
    
    <cc>ntim</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1835465</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-31 02:08:12 -0800</bug_when>
    <thetext>Skip rules inside container queries when there are no container ancestors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835466</commentid>
    <comment_count>1</comment_count>
      <attachid>450390</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-31 02:13:23 -0800</bug_when>
    <thetext>Created attachment 450390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835473</commentid>
    <comment_count>2</comment_count>
      <attachid>450392</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-31 02:53:01 -0800</bug_when>
    <thetext>Created attachment 450392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835502</commentid>
    <comment_count>3</comment_count>
      <attachid>450392</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-01-31 04:31:45 -0800</bug_when>
    <thetext>Comment on attachment 450392
Patch

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

&gt; Source/WebCore/ChangeLog:16
&gt; +        This patch doesn&apos;t yet do any actual container query matching, it just check

nit: it just checks

&gt; Source/WebCore/style/ElementRuleCollector.cpp:488
&gt; +        if (auto* containerQuery = matchRequest.ruleSet.containerQueryFor(ruleData)) {
&gt; +            if (!containerQueryMatches(*containerQuery))

you could combine both lines, unless you&apos;re planning to re-use containerQuery</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835514</commentid>
    <comment_count>4</comment_count>
      <attachid>450392</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-31 05:32:58 -0800</bug_when>
    <thetext>Comment on attachment 450392
Patch

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

r+ but you&apos;ll probably want to account for Tim&apos;s comments as well.

&gt; LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt:3
&gt; +FAIL Changing the container type invalidates relevant descendants assert_equals: expected &quot;rgb(0, 128, 0)&quot; but got &quot;rgb(0, 0, 0)&quot;

What an odd change!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835515</commentid>
    <comment_count>5</comment_count>
      <attachid>450405</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-31 06:03:00 -0800</bug_when>
    <thetext>Created attachment 450405
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835520</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-31 06:57:35 -0800</bug_when>
    <thetext>Committed r288813 (246589@main): &lt;https://commits.webkit.org/246589@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450405.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835521</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-31 06:58:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/88268007&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450390</attachid>
            <date>2022-01-31 02:13:23 -0800</date>
            <delta_ts>2022-01-31 02:52:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235881-20220131121321.patch</filename>
            <type>text/plain</type>
            <size>12208</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWVkNjcwYmVhYWYyMzVm
OTM1N2RmZDUyOWUzYTY1YTg3YjI4YjhiOC4uMzRlN2ZiZDM5MTJjMTY2MDYyNmI1ODA4Yjc3ZGUz
ZmFlZjhkZjY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIyLTAxLTMxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENvbnRhaW5lciBR
dWVyaWVzXSBDaGVjayBmb3IgcXVlcnkgY29udGFpbmVycyB3aGVuIG1hdGNoaW5nIHJ1bGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU4ODEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTa2lwIHJ1bGVz
IGluc2lkZSBjb250YWluZXIgcXVlcmllcyB3aGVuIHRoZXJlIGFyZSBubyBjb250YWluZXIgYW5j
ZXN0b3JzLgorCisgICAgICAgICogc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hp
bmdSdWxlc0Zvckxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29s
bGVjdG9yOjpjb250YWluZXJRdWVyeU1hdGNoZXMpOgorCisgICAgICAgIEFkZCB0aGUgbWF0Y2hp
bmcgZnVuY3Rpb24uCisgICAgICAgIAorICAgICAgICBUaGlzIHBhdGNoIGRvZXNuJ3QgeWV0IGRv
IGFueSBhY3R1YWwgY29udGFpbmVyIHF1ZXJ5IG1hdGNoaW5nLCBpdCBqdXN0IGNoZWNrCisgICAg
ICAgIGlmIHdlIGFyZSBpbnNpZGUgYSBxdWVyeSBjb250YWluZXIuCisKKyAgICAgICAgKiBzdHls
ZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oOgorICAgICAgICAqIHN0eWxlL1J1bGVTZXQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0Ojpjb250YWluZXJRdWVyeUZvciBjb25zdCk6
CisgICAgICAgICogc3R5bGUvU2VsZWN0b3JNYXRjaGluZ1N0YXRlLmg6CisKKyAgICAgICAgQWRk
IGNvbnRhaW5lciBzdGFjay4KKworICAgICAgICAqIHN0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpUcmVlUmVzb2x2ZXI6OnBvcFBhcmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpyZXNvbHZlQ29tcG9zZWRUcmVl
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpUcmVlUmVzb2x2ZXI6OnVwZGF0ZVF1ZXJ5Q29u
dGFpbmVyKToKKworICAgICAgICBNYWludGFpbiB0aGUgY29udGFpbmVyIHN0YWNrLgorCisgICAg
ICAgICogc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuaDoKKwogMjAyMi0wMS0yOSAgVHlsZXIgV2ls
Y29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJc29sYXRlZCB0cmVlIG9i
amVjdHMgZG9uJ3QgdXBkYXRlIHRoZWlyIEFYUHJvcGVydHlOYW1lOjpFbGVtZW50UmVjdCBvciBB
WFByb3BlcnR5TmFtZTo6Qm91bmRpbmdCb3hSZWN0IGluIHJlc3BvbnNlIHRvIGR5bmFtaWMgcGFn
ZSBjaGFuZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNv
bGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5j
cHAKaW5kZXggZmVmYTQ4NWNhZmJmNGJiYzg0YmU5NWY0NTlhNzk5ZTI3NjhkNjVmNS4uYjFjYzk5
YTlkZjg4YjdmM2M5ZmJiNWY4NzdmOTQ2OTRmZGMxNTcyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcApAQCAtNDg2LDYgKzQ4NiwxMSBAQCB2b2lk
IEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoY29uc3Qg
UnVsZVNldDo6UnVsZURhdGFWZQogICAgICAgICBpZiAobV9zZWxlY3Rvck1hdGNoaW5nU3RhdGUg
JiYgbV9zZWxlY3Rvck1hdGNoaW5nU3RhdGUtPnNlbGVjdG9yRmlsdGVyLmZhc3RSZWplY3RTZWxl
Y3RvcihydWxlRGF0YS5kZXNjZW5kYW50U2VsZWN0b3JJZGVudGlmaWVySGFzaGVzKCkpKQogICAg
ICAgICAgICAgY29udGludWU7CiAKKyAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lclF1ZXJ5ID0g
bWF0Y2hSZXF1ZXN0LnJ1bGVTZXQtPmNvbnRhaW5lclF1ZXJ5Rm9yKHJ1bGVEYXRhKSkgeworICAg
ICAgICAgICAgaWYgKCFjb250YWluZXJRdWVyeU1hdGNoZXMoKmNvbnRhaW5lclF1ZXJ5KSkKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCiAgICAgICAgIGF1dG8mIHJ1bGUg
PSBydWxlRGF0YS5zdHlsZVJ1bGUoKTsKIAogICAgICAgICAvLyBJZiB0aGUgcnVsZSBoYXMgbm8g
cHJvcGVydGllcyB0byBhcHBseSwgdGhlbiBpZ25vcmUgaXQgaW4gdGhlIG5vbi1kZWJ1ZyBtb2Rl
LgpAQCAtNTAxLDYgKzUwNiwxNCBAQCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0
TWF0Y2hpbmdSdWxlc0Zvckxpc3QoY29uc3QgUnVsZVNldDo6UnVsZURhdGFWZQogICAgIH0KIH0K
IAorYm9vbCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29udGFpbmVyUXVlcnlNYXRjaGVzKGNvbnN0
IENvbnRhaW5lclF1ZXJ5JikKK3sKKyAgICBpZiAoIW1fc2VsZWN0b3JNYXRjaGluZ1N0YXRlKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAvLyBGSVhNRTogVGhlIGFjdHVhbCBtYXRjaGluZy4K
KyAgICByZXR1cm4gIW1fc2VsZWN0b3JNYXRjaGluZ1N0YXRlLT5xdWVyeUNvbnRhaW5lcnMuaXNF
bXB0eSgpOworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wgY29tcGFyZVJ1bGVzKE1hdGNoZWRSdWxl
IHIxLCBNYXRjaGVkUnVsZSByMikKIHsKICAgICAvLyBGb3Igbm9ybWFsIHByb3BlcnRpZXMgdGhl
IGVhcmxpZXIgc2NvcGUgd2lucy4gVGhpcyBtYXkgYmUgcmV2ZXJzZWQgYnkgIWltcG9ydGFudCB3
aGljaCBpcyBoYW5kbGVkIHdoZW4gcmVzb2x2aW5nIGNhc2NhZGUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaAppbmRleCAxYWY0ZmIwMDg3Y2E5Yzg5YmFlNWJm
MGQwZDdmY2U2ZGViMjE4ZjY1Li4yNDdmNjFhZGY3ZGMyYmRiZTQ3ZjZjMjhhNjFlYTUwNTI0YmEw
YWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgKQEAg
LTExMiw2ICsxMTIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY29sbGVjdE1hdGNoaW5nUnVsZXMo
Y29uc3QgTWF0Y2hSZXF1ZXN0Jik7CiAgICAgdm9pZCBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxp
c3QoY29uc3QgUnVsZVNldDo6UnVsZURhdGFWZWN0b3IqLCBjb25zdCBNYXRjaFJlcXVlc3QmKTsK
ICAgICBib29sIHJ1bGVNYXRjaGVzKGNvbnN0IFJ1bGVEYXRhJiwgdW5zaWduZWQmIHNwZWNpZmlj
aXR5LCBTY29wZU9yZGluYWwpOworICAgIGJvb2wgY29udGFpbmVyUXVlcnlNYXRjaGVzKGNvbnN0
IENvbnRhaW5lclF1ZXJ5Jik7CiAKICAgICB2b2lkIHNvcnRNYXRjaGVkUnVsZXMoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvUnVsZVNldC5oCmluZGV4IDVlZmFhNGIzZTU4MjBmYTM0ODA1YzRmNTQ2YTk2OWQyZjMy
M2IyZTguLjY0ZTQ1MmY5ZmY1NzA4NTYwNjkzM2NhZmY2ZTdhZDFjYjIxMTZiYWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9SdWxlU2V0LmgKQEAgLTEwOCw2ICsxMDgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNv
bnN0ZXhwciBhdXRvIGNhc2NhZGVMYXllclByaW9yaXR5Rm9yVW5sYXllcmVkID0gc3RkOjpudW1l
cmljX2xpbWl0czxDYXNjYWRlTGF5ZXJQcmlvcml0eT46Om1heCgpOwogCiAgICAgQ2FzY2FkZUxh
eWVyUHJpb3JpdHkgY2FzY2FkZUxheWVyUHJpb3JpdHlGb3IoY29uc3QgUnVsZURhdGEmKSBjb25z
dDsKKyAgICBjb25zdCBDb250YWluZXJRdWVyeSogY29udGFpbmVyUXVlcnlGb3IoY29uc3QgUnVs
ZURhdGEmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUnVsZVNldEJ1aWxk
ZXI7CkBAIC0yMjAsNSArMjIxLDE4IEBAIGlubGluZSBDYXNjYWRlTGF5ZXJQcmlvcml0eSBSdWxl
U2V0OjpjYXNjYWRlTGF5ZXJQcmlvcml0eUZvcihjb25zdCBSdWxlRGF0YSYgcnVsCiAgICAgcmV0
dXJuIGNhc2NhZGVMYXllclByaW9yaXR5Rm9ySWRlbnRpZmllcihpZGVudGlmaWVyKTsKIH0KIAor
aW5saW5lIGNvbnN0IENvbnRhaW5lclF1ZXJ5KiBSdWxlU2V0Ojpjb250YWluZXJRdWVyeUZvcihj
b25zdCBSdWxlRGF0YSYgcnVsZURhdGEpIGNvbnN0Cit7CisgICAgaWYgKG1fY29udGFpbmVyUXVl
cnlJZGVudGlmaWVyRm9yUnVsZVBvc2l0aW9uLnNpemUoKSA8PSBydWxlRGF0YS5wb3NpdGlvbigp
KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGF1dG8gaWRlbnRpZmllciA9IG1fY29u
dGFpbmVyUXVlcnlJZGVudGlmaWVyRm9yUnVsZVBvc2l0aW9uW3J1bGVEYXRhLnBvc2l0aW9uKCld
OworICAgIGlmICghaWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBy
ZXR1cm4gJm1fY29udGFpbmVyUXVlcmllc1tpZGVudGlmaWVyIC0gMV0ucXVlcnk7Cit9CisKKwog
fSAvLyBuYW1lc3BhY2UgU3R5bGUKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1NlbGVjdG9yTWF0Y2hpbmdTdGF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvU2VsZWN0b3JNYXRjaGluZ1N0YXRlLmgKaW5kZXggMmI1M2NkM2JhYmY2NDhi
M2U3ZWNkYTI5NmU3YjliMmY0MjUzODk4Mi4uOWUwZTFiNGJkNThmMDJhZmRjYmRkOWY4NWNiMDk3
YjFhMWZmNzgxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU2VsZWN0b3JNYXRj
aGluZ1N0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU2VsZWN0b3JNYXRjaGluZ1N0
YXRlLmgKQEAgLTM4LDYgKzM4LDggQEAgZW51bSBjbGFzcyBIYXNQc2V1ZG9DbGFzc01hdGNoIDog
dWludDhfdCB7IE5vbmUsIE1hdGNoZXMsIEZhaWxzLCBGYWlsc1N1YnRyZWUgfTsKIHN0cnVjdCBT
ZWxlY3Rvck1hdGNoaW5nU3RhdGUgewogICAgIFNlbGVjdG9yRmlsdGVyIHNlbGVjdG9yRmlsdGVy
OwogCisgICAgVmVjdG9yPFJlZjxjb25zdCBFbGVtZW50Pj4gcXVlcnlDb250YWluZXJzOworCiAg
ICAgSGFzaE1hcDxIYXNQc2V1ZG9DbGFzc0NhY2hlS2V5LCBIYXNQc2V1ZG9DbGFzc01hdGNoPiBo
YXNQc2V1ZG9DbGFzc01hdGNoQ2FjaGU7CiAgICAgSGFzaE1hcDxIYXNQc2V1ZG9DbGFzc0ZpbHRl
cktleSwgc3RkOjp1bmlxdWVfcHRyPEhhc1NlbGVjdG9yRmlsdGVyPj4gaGFzUHNldWRvQ2xhc3NT
ZWxlY3RvckZpbHRlcnM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVUcmVlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2
ZXIuY3BwCmluZGV4IDIwZTJlM2Q2NTczYzQ4NjdhNWQ5M2Y5ZThmZGZlMThiZTBiZmVjYjkuLjJk
MjM2NmFlNDM4Yjg5ZmJhNTdlNTI0YTdmODVlNzhlMDBmNzUzMDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKQEAgLTQyNiw2ICs0MjYsMTAgQEAgdm9pZCBU
cmVlUmVzb2x2ZXI6OnBvcFBhcmVudCgpCiAKICAgICBzY29wZSgpLnNlbGVjdG9yTWF0Y2hpbmdT
dGF0ZS5zZWxlY3RvckZpbHRlci5wb3BQYXJlbnQoKTsKIAorICAgIGF1dG8mIHF1ZXJ5Q29udGFp
bmVycyA9IHNjb3BlKCkuc2VsZWN0b3JNYXRjaGluZ1N0YXRlLnF1ZXJ5Q29udGFpbmVyczsKKyAg
ICBpZiAoIXF1ZXJ5Q29udGFpbmVycy5pc0VtcHR5KCkgJiYgcXVlcnlDb250YWluZXJzLmxhc3Qo
KS5wdHIoKSA9PSAmcGFyZW50RWxlbWVudCkKKyAgICAgICAgcXVlcnlDb250YWluZXJzLnJlbW92
ZUxhc3QoKTsKKwogICAgIG1fcGFyZW50U3RhY2sucmVtb3ZlTGFzdCgpOwogfQogCkBAIC01OTQs
NiArNTk4LDkgQEAgdm9pZCBUcmVlUmVzb2x2ZXI6OnJlc29sdmVDb21wb3NlZFRyZWUoKQogCiAg
ICAgICAgIGJvb2wgc2hvdWxkSXRlcmF0ZUNoaWxkcmVuID0gc3R5bGUgJiYgKGVsZW1lbnQuY2hp
bGROZWVkc1N0eWxlUmVjYWxjKCkgfHwgZGVzY2VuZGFudHNUb1Jlc29sdmUgIT0gRGVzY2VuZGFu
dHNUb1Jlc29sdmU6Ok5vbmUpOwogCisgICAgICAgIGlmIChzaG91bGRJdGVyYXRlQ2hpbGRyZW4p
CisgICAgICAgICAgICB1cGRhdGVRdWVyeUNvbnRhaW5lcihlbGVtZW50LCAqc3R5bGUpOworCiAg
ICAgICAgIGlmICghbV9kaWRTZWVQZW5kaW5nU3R5bGVzaGVldCkKICAgICAgICAgICAgIG1fZGlk
U2VlUGVuZGluZ1N0eWxlc2hlZXQgPSBoYXNMb2FkaW5nU3R5bGVzaGVldChtX2RvY3VtZW50LnN0
eWxlU2NvcGUoKSwgZWxlbWVudCwgIXNob3VsZEl0ZXJhdGVDaGlsZHJlbik7CiAKQEAgLTYxMiw2
ICs2MTksMTYgQEAgdm9pZCBUcmVlUmVzb2x2ZXI6OnJlc29sdmVDb21wb3NlZFRyZWUoKQogICAg
IHBvcFBhcmVudHNUb0RlcHRoKDEpOwogfQogCit2b2lkIFRyZWVSZXNvbHZlcjo6dXBkYXRlUXVl
cnlDb250YWluZXIoY29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgUmVuZGVyU3R5bGUmIHN0
eWxlKQoreworICAgIGlmIChzdHlsZS5jb250YWluZXJUeXBlKCkgPT0gQ29udGFpbmVyVHlwZTo6
Tm9uZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc2NvcGUoKS5zZWxlY3Rvck1hdGNoaW5nU3Rh
dGUucXVlcnlDb250YWluZXJzLmFwcGVuZChlbGVtZW50KTsKKworICAgIC8vIEZJWE1FOiBTa2lw
IHRoZSBzdWJ0cmVlIGFuZCBlbnN1cmUgdGhlIGNvbnRhaW5lciBpcyByZXNvbHZlZCBieSBkb2lu
ZyBhIGxheW91dCBpZiBuZWVkZWQuCit9CisKIHN0ZDo6dW5pcXVlX3B0cjxVcGRhdGU+IFRyZWVS
ZXNvbHZlcjo6cmVzb2x2ZSgpCiB7CiAgICAgYXV0byYgcmVuZGVyVmlldyA9ICptX2RvY3VtZW50
LnJlbmRlclZpZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJl
ZVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oCmlu
ZGV4IGZhMjVhNTE1NDlkNDBkODdkMDU1NzEzODI1ZWZlYmEwNDZlNmUwYzcuLmFmMTg5YTNhNTBi
NGY1MjU3MzFjZDNhZWRlNTYzODE5NzQwZWY5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVUcmVlUmVzb2x2ZXIuaApAQCAtNTksNiArNTksNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5p
cXVlX3B0cjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JTdHlsZWFibGUoY29uc3QgU3R5bGVhYmxlJiwg
Y29uc3QgUmVzb2x1dGlvbkNvbnRleHQmKTsKIAogICAgIHZvaWQgcmVzb2x2ZUNvbXBvc2VkVHJl
ZSgpOworICAgIHZvaWQgdXBkYXRlUXVlcnlDb250YWluZXIoY29uc3QgRWxlbWVudCYsIGNvbnN0
IFJlbmRlclN0eWxlJik7CiAKICAgICBFbGVtZW50VXBkYXRlcyByZXNvbHZlRWxlbWVudChFbGVt
ZW50Jik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBkNTdmMzJjOTIzYjA4OGM3M2FhZGRlZmYyMTgxM2UwNWYyNzMwOWZm
Li45M2I3Y2NkMGYwZGQxNjY2MzFiZDQzNDg1ZmU1MTc3M2NmZDljOGNlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMjItMDEtMzEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgor
CisgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIENoZWNrIGZvciBxdWVyeSBjb250YWlu
ZXJzIHdoZW4gbWF0Y2hpbmcgcnVsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNTg4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMi0wMS0yOSAgVHlsZXIg
V2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJc29sYXRlZCB0cmVl
IG9iamVjdHMgZG9uJ3QgdXBkYXRlIHRoZWlyIEFYUHJvcGVydHlOYW1lOjpFbGVtZW50UmVjdCBv
ciBBWFByb3BlcnR5TmFtZTo6Qm91bmRpbmdCb3hSZWN0IGluIHJlc3BvbnNlIHRvIGR5bmFtaWMg
cGFnZSBjaGFuZ2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyYWVjZmNjODNl
MGVmYzEyNjI5MDJmOTRiYTFhZGYxNjhlOTBjM2QzLi5iZTI4Yjk2M2M1MTE1YjlhY2RiOTM1Yzk4
YTAxMDQ5ODFiNzQyZTEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAyMi0wMS0zMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NTUyBDb250YWluZXIgUXVlcmllc10gQ2hlY2sgZm9yIHF1ZXJ5IGNvbnRhaW5l
cnMgd2hlbiBtYXRjaGluZyBydWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM1ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW5lci1xdWVyaWVzL2NvbnRhaW5lci10eXBlLWludmFsaWRhdGlvbi1leHBlY3RlZC50eHQ6CisK
IDIwMjItMDEtMjggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgY3NzL2Nzcy1iYWNrZ3JvdW5kcy9hbmltYXRpb25zL2JveC1zaGFkb3ctY29tcG9zaXRpb24u
aHRtbCBoYXMgZmFpbHVyZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDRjMmI5OTdhODRmYWJiNmY0
YWM5ZjE2NTA0MjhmNjllZjk2YjBkYmUuLmU0N2ZkZDI2NDVmZWZmY2UyNjVhMmZjYjliMmNmY2U5
MzcxYjFiYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDc0NywxNSArNDc0Nyw4IEBAIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4taHRtbC1v
dmVyZmxvdy0wMDMuaHRtbCBbCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLWh0bWwtb3ZlcmZsb3ctMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIAogIyBDb250YWluZXIgcXVlcmllcwotd2Via2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmll
cy9jaGFuZ2UtZGlzcGxheS1pbi1jb250YWluZXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
d2Via2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9jb3VudGVycy1pbi1jb250YWluZXItZHluYW1p
Yy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjI5NjU5IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVz
L2NvdW50ZXJzLWluLWNvbnRhaW5lci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMjI5NjU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW5lci1xdWVyaWVzL2Rpc3BsYXktaW4tY29udGFpbmVyLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvZmllbGRzZXQtbGVnZW5k
LWNoYW5nZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjI5NjU5IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1x
dWVyaWVzL211bHRpY29sLWluc2lkZS1jb250YWluZXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9wc2V1ZG8tZWxlbWVudHMtMDAyLnRlbnRh
dGl2ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjI5NjU5IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVy
aWVzL3Jlc2l6ZS13aGlsZS1jb250ZW50LXZpc2liaWxpdHktaGlkZGVuLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvdG9wLWxheWVyLWRpYWxv
Zy1iYWNrZHJvcC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjI5NjU5
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5l
ci1xdWVyaWVzL2lubGluZS1zaXplLWJmYy1mbG9hdHMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy93aGl0ZXNwYWNlLXVwZGF0ZS1hZnRlci1y
ZW1vdmFsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bmVyLXF1ZXJpZXMvY29udGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW5lci1xdWVyaWVzL2NvbnRhaW5lci10eXBlLWludmFsaWRhdGlvbi1leHBlY3RlZC50
eHQKaW5kZXggN2UxZmJmMWQyMmNhMmIyYjk1ZjJkZGVmNjg3MjU4ZjlhZjA1ODM4OS4uYzM1MWMy
MzdjNzhkY2JmNGY4ZThmNDNmZjk0MmNjMGNmOWFiYjZhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bmVyLXF1ZXJpZXMvY29udGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluZXItcXVlcmllcy9jb250YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogVGVzdAogCi1GQUlMIENoYW5naW5nIHRoZSBjb250YWlu
ZXIgdHlwZSBpbnZhbGlkYXRlcyByZWxldmFudCBkZXNjZW5kYW50cyBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAicmdiKDAsIDAsIDApIiBidXQgZ290ICJyZ2IoMCwgMTI4LCAwKSIKK0ZBSUwgQ2hh
bmdpbmcgdGhlIGNvbnRhaW5lciB0eXBlIGludmFsaWRhdGVzIHJlbGV2YW50IGRlc2NlbmRhbnRz
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdvdCAicmdiKDAs
IDAsIDApIgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450392</attachid>
            <date>2022-01-31 02:53:01 -0800</date>
            <delta_ts>2022-01-31 06:02:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235881-20220131125259.patch</filename>
            <type>text/plain</type>
            <size>20748</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWVkNjcwYmVhYWYyMzVm
OTM1N2RmZDUyOWUzYTY1YTg3YjI4YjhiOC4uMzRlN2ZiZDM5MTJjMTY2MDYyNmI1ODA4Yjc3ZGUz
ZmFlZjhkZjY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIyLTAxLTMxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENvbnRhaW5lciBR
dWVyaWVzXSBDaGVjayBmb3IgcXVlcnkgY29udGFpbmVycyB3aGVuIG1hdGNoaW5nIHJ1bGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU4ODEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTa2lwIHJ1bGVz
IGluc2lkZSBjb250YWluZXIgcXVlcmllcyB3aGVuIHRoZXJlIGFyZSBubyBjb250YWluZXIgYW5j
ZXN0b3JzLgorCisgICAgICAgICogc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hp
bmdSdWxlc0Zvckxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkVsZW1lbnRSdWxlQ29s
bGVjdG9yOjpjb250YWluZXJRdWVyeU1hdGNoZXMpOgorCisgICAgICAgIEFkZCB0aGUgbWF0Y2hp
bmcgZnVuY3Rpb24uCisgICAgICAgIAorICAgICAgICBUaGlzIHBhdGNoIGRvZXNuJ3QgeWV0IGRv
IGFueSBhY3R1YWwgY29udGFpbmVyIHF1ZXJ5IG1hdGNoaW5nLCBpdCBqdXN0IGNoZWNrCisgICAg
ICAgIGlmIHdlIGFyZSBpbnNpZGUgYSBxdWVyeSBjb250YWluZXIuCisKKyAgICAgICAgKiBzdHls
ZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oOgorICAgICAgICAqIHN0eWxlL1J1bGVTZXQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0Ojpjb250YWluZXJRdWVyeUZvciBjb25zdCk6
CisgICAgICAgICogc3R5bGUvU2VsZWN0b3JNYXRjaGluZ1N0YXRlLmg6CisKKyAgICAgICAgQWRk
IGNvbnRhaW5lciBzdGFjay4KKworICAgICAgICAqIHN0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpUcmVlUmVzb2x2ZXI6OnBvcFBhcmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpyZXNvbHZlQ29tcG9zZWRUcmVl
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpUcmVlUmVzb2x2ZXI6OnVwZGF0ZVF1ZXJ5Q29u
dGFpbmVyKToKKworICAgICAgICBNYWludGFpbiB0aGUgY29udGFpbmVyIHN0YWNrLgorCisgICAg
ICAgICogc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuaDoKKwogMjAyMi0wMS0yOSAgVHlsZXIgV2ls
Y29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJc29sYXRlZCB0cmVlIG9i
amVjdHMgZG9uJ3QgdXBkYXRlIHRoZWlyIEFYUHJvcGVydHlOYW1lOjpFbGVtZW50UmVjdCBvciBB
WFByb3BlcnR5TmFtZTo6Qm91bmRpbmdCb3hSZWN0IGluIHJlc3BvbnNlIHRvIGR5bmFtaWMgcGFn
ZSBjaGFuZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNv
bGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5j
cHAKaW5kZXggZmVmYTQ4NWNhZmJmNGJiYzg0YmU5NWY0NTlhNzk5ZTI3NjhkNjVmNS4uY2U2Y2Nl
Mjk2NmM4YTc1MDYzYjZiYjM3Y2Y2NDA1MDhlMmRmMTAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcApAQCAtNzMsMTIgKzczLDEyIEBAIHN0YXRp
YyBjb25zdCBTdHlsZVByb3BlcnRpZXMmIHJpZ2h0VG9MZWZ0RGVjbGFyYXRpb24oKQogCiBjbGFz
cyBNYXRjaFJlcXVlc3QgewogcHVibGljOgotICAgIE1hdGNoUmVxdWVzdChjb25zdCBSdWxlU2V0
KiBydWxlU2V0LCBTY29wZU9yZGluYWwgc3R5bGVTY29wZU9yZGluYWwgPSBTY29wZU9yZGluYWw6
OkVsZW1lbnQpCisgICAgTWF0Y2hSZXF1ZXN0KGNvbnN0IFJ1bGVTZXQmIHJ1bGVTZXQsIFNjb3Bl
T3JkaW5hbCBzdHlsZVNjb3BlT3JkaW5hbCA9IFNjb3BlT3JkaW5hbDo6RWxlbWVudCkKICAgICAg
ICAgOiBydWxlU2V0KHJ1bGVTZXQpCiAgICAgICAgICwgc3R5bGVTY29wZU9yZGluYWwoc3R5bGVT
Y29wZU9yZGluYWwpCiAgICAgewogICAgIH0KLSAgICBjb25zdCBSdWxlU2V0KiBydWxlU2V0Owor
ICAgIGNvbnN0IFJ1bGVTZXQmIHJ1bGVTZXQ7CiAgICAgU2NvcGVPcmRpbmFsIHN0eWxlU2NvcGVP
cmRpbmFsOwogfTsKIApAQCAtMTE0LDcgKzExNCw3IEBAIGNvbnN0IFZlY3RvcjxSZWZQdHI8Y29u
c3QgU3R5bGVSdWxlPj4mIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaGVkUnVsZUxpc3QoKSBj
CiAKIGlubGluZSB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjphZGRNYXRjaGVkUnVsZShjb25z
dCBSdWxlRGF0YSYgcnVsZURhdGEsIHVuc2lnbmVkIHNwZWNpZmljaXR5LCBjb25zdCBNYXRjaFJl
cXVlc3QmIG1hdGNoUmVxdWVzdCkKIHsKLSAgICBhdXRvIGNhc2NhZGVMYXllclByaW9yaXR5ID0g
bWF0Y2hSZXF1ZXN0LnJ1bGVTZXQgPyBtYXRjaFJlcXVlc3QucnVsZVNldC0+Y2FzY2FkZUxheWVy
UHJpb3JpdHlGb3IocnVsZURhdGEpIDogUnVsZVNldDo6Y2FzY2FkZUxheWVyUHJpb3JpdHlGb3JV
bmxheWVyZWQ7CisgICAgYXV0byBjYXNjYWRlTGF5ZXJQcmlvcml0eSA9IG1hdGNoUmVxdWVzdC5y
dWxlU2V0LmNhc2NhZGVMYXllclByaW9yaXR5Rm9yKHJ1bGVEYXRhKTsKICAgICBtX21hdGNoZWRS
dWxlcy5hcHBlbmQoeyAmcnVsZURhdGEsIHNwZWNpZmljaXR5LCBtYXRjaFJlcXVlc3Quc3R5bGVT
Y29wZU9yZGluYWwsIGNhc2NhZGVMYXllclByaW9yaXR5IH0pOwogfQogCkBAIC0xMzksNyArMTM5
LDYgQEAgaW5saW5lIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmFkZEVsZW1lbnRTdHlsZVBy
b3BlcnRpZXMoY29uc3QgU3R5bGVQcm9wZXJ0aWUKIAogdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rv
cjo6Y29sbGVjdE1hdGNoaW5nUnVsZXMoY29uc3QgTWF0Y2hSZXF1ZXN0JiBtYXRjaFJlcXVlc3Qp
CiB7Ci0gICAgQVNTRVJUKG1hdGNoUmVxdWVzdC5ydWxlU2V0KTsKICAgICBBU1NFUlRfV0lUSF9N
RVNTQUdFKCEobV9tb2RlID09IFNlbGVjdG9yQ2hlY2tlcjo6TW9kZTo6Q29sbGVjdGluZ1J1bGVz
SWdub3JpbmdWaXJ0dWFsUHNldWRvRWxlbWVudHMgJiYgbV9wc2V1ZG9FbGVtZW50UmVxdWVzdC5w
c2V1ZG9JZCAhPSBQc2V1ZG9JZDo6Tm9uZSksICJXaGVuIGluIFN0eWxlSW52YWxpZGF0aW9uIG9y
IFNoYXJpbmdSdWxlcywgU2VsZWN0b3JDaGVja2VyIGRvZXMgbm90IHRyeSB0byBtYXRjaCB0aGUg
cHNldWRvIElELiBXaGlsZSBFbGVtZW50UnVsZUNvbGxlY3RvciBzdXBwb3J0cyBtYXRjaGluZyBh
IHBhcnRpY3VsYXIgcHNldWRvSWQgaW4gdGhpcyBjYXNlLCB0aGlzIHdvdWxkIGluZGljYXRlIGEg
ZXJyb3IgYXQgdGhlIGNhbGwgc2l0ZSBzaW5jZSBtYXRjaGluZyBhIHBhcnRpY3VsYXIgZWxlbWVu
dCBzaG91bGQgYmUgdW5uZWNlc3NhcnkuIik7CiAKICAgICBhdXRvKiBzaGFkb3dSb290ID0gZWxl
bWVudCgpLmNvbnRhaW5pbmdTaGFkb3dSb290KCk7CkBAIC0xNTAsMTggKzE0OSwxOCBAQCB2b2lk
IEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdSdWxlcyhjb25zdCBNYXRjaFJl
cXVlc3QmIG1hdGNoUmVxdWVzdAogICAgIC8vIHRoZW4gc29ydCB0aGUgYnVmZmVyLgogICAgIGF1
dG8mIGlkID0gZWxlbWVudCgpLmlkRm9yU3R5bGVSZXNvbHV0aW9uKCk7CiAgICAgaWYgKCFpZC5p
c051bGwoKSkKLSAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1hdGNoUmVxdWVz
dC5ydWxlU2V0LT5pZFJ1bGVzKGlkKSwgbWF0Y2hSZXF1ZXN0KTsKKyAgICAgICAgY29sbGVjdE1h
dGNoaW5nUnVsZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0LmlkUnVsZXMoaWQpLCBtYXRj
aFJlcXVlc3QpOwogICAgIGlmIChlbGVtZW50KCkuaGFzQ2xhc3MoKSkgewogICAgICAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IGVsZW1lbnQoKS5jbGFzc05hbWVzKCkuc2l6ZSgpOyArK2kpCi0g
ICAgICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVT
ZXQtPmNsYXNzUnVsZXMoZWxlbWVudCgpLmNsYXNzTmFtZXMoKVtpXSksIG1hdGNoUmVxdWVzdCk7
CisgICAgICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1
bGVTZXQuY2xhc3NSdWxlcyhlbGVtZW50KCkuY2xhc3NOYW1lcygpW2ldKSwgbWF0Y2hSZXF1ZXN0
KTsKICAgICB9CiAKICAgICBpZiAoZWxlbWVudCgpLmlzTGluaygpKQotICAgICAgICBjb2xsZWN0
TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQtPmxpbmtQc2V1ZG9DbGFz
c1J1bGVzKCksIG1hdGNoUmVxdWVzdCk7CisgICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9y
TGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC5saW5rUHNldWRvQ2xhc3NSdWxlcygpLCBtYXRjaFJl
cXVlc3QpOwogICAgIGlmIChtYXRjaGVzRm9jdXNQc2V1ZG9DbGFzcyhlbGVtZW50KCkpKQotICAg
ICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQtPmZv
Y3VzUHNldWRvQ2xhc3NSdWxlcygpLCBtYXRjaFJlcXVlc3QpOwotICAgIGNvbGxlY3RNYXRjaGlu
Z1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC0+dGFnUnVsZXMoZWxlbWVudCgpLmxv
Y2FsTmFtZSgpLCBlbGVtZW50KCkuaXNIVE1MRWxlbWVudCgpICYmIGVsZW1lbnQoKS5kb2N1bWVu
dCgpLmlzSFRNTERvY3VtZW50KCkpLCBtYXRjaFJlcXVlc3QpOwotICAgIGNvbGxlY3RNYXRjaGlu
Z1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC0+dW5pdmVyc2FsUnVsZXMoKSwgbWF0
Y2hSZXF1ZXN0KTsKKyAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1hdGNoUmVx
dWVzdC5ydWxlU2V0LmZvY3VzUHNldWRvQ2xhc3NSdWxlcygpLCBtYXRjaFJlcXVlc3QpOworICAg
IGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC50YWdSdWxl
cyhlbGVtZW50KCkubG9jYWxOYW1lKCksIGVsZW1lbnQoKS5pc0hUTUxFbGVtZW50KCkgJiYgZWxl
bWVudCgpLmRvY3VtZW50KCkuaXNIVE1MRG9jdW1lbnQoKSksIG1hdGNoUmVxdWVzdCk7CisgICAg
Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0LnVuaXZlcnNh
bFJ1bGVzKCksIG1hdGNoUmVxdWVzdCk7CiB9CiAKIApAQCAtMjM0LDcgKzIzMyw3IEBAIGJvb2wg
RWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoZXNBbnlBdXRob3JSdWxlcygpCiB2b2lkIEVsZW1l
bnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdBdXRob3JSdWxlcygpCiB7CiAgICAgewot
ICAgICAgICBNYXRjaFJlcXVlc3QgbWF0Y2hSZXF1ZXN0KG1fYXV0aG9yU3R5bGUucHRyKCkpOwor
ICAgICAgICBNYXRjaFJlcXVlc3QgbWF0Y2hSZXF1ZXN0KG1fYXV0aG9yU3R5bGUpOwogICAgICAg
ICBjb2xsZWN0TWF0Y2hpbmdSdWxlcyhtYXRjaFJlcXVlc3QpOwogICAgIH0KIApAQCAtMjU5LDcg
KzI1OCw3IEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoQXV0aG9yU2hhZG93UHNl
dWRvRWxlbWVudFJ1bGVzKCkKICAgICAgICAgcmV0dXJuOwogICAgIC8vIExvb2sgdXAgc2hhZG93
IHBzZXVkbyBlbGVtZW50cyBhbHNvIGZyb20gdGhlIGhvc3Qgc2NvcGUgYXV0aG9yIHN0eWxlIGFz
IHRoZXkgYXJlIHdlYi1leHBvc2VkLgogICAgIGF1dG8mIGhvc3RBdXRob3JSdWxlcyA9IFNjb3Bl
Ojpmb3JOb2RlKCpzaGFkb3dSb290Lmhvc3QoKSkucmVzb2x2ZXIoKS5ydWxlU2V0cygpLmF1dGhv
clN0eWxlKCk7Ci0gICAgTWF0Y2hSZXF1ZXN0IGhvc3RBdXRob3JSZXF1ZXN0IHsgJmhvc3RBdXRo
b3JSdWxlcywgU2NvcGVPcmRpbmFsOjpDb250YWluaW5nSG9zdCB9OworICAgIE1hdGNoUmVxdWVz
dCBob3N0QXV0aG9yUmVxdWVzdCB7IGhvc3RBdXRob3JSdWxlcywgU2NvcGVPcmRpbmFsOjpDb250
YWluaW5nSG9zdCB9OwogICAgIGNvbGxlY3RNYXRjaGluZ1NoYWRvd1BzZXVkb0VsZW1lbnRSdWxl
cyhob3N0QXV0aG9yUmVxdWVzdCk7CiB9CiAKQEAgLTI3Miw3ICsyNzEsNyBAQCB2b2lkIEVsZW1l
bnRSdWxlQ29sbGVjdG9yOjptYXRjaEhvc3RQc2V1ZG9DbGFzc1J1bGVzKCkKICAgICBpZiAoc2hh
ZG93SG9zdFJ1bGVzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTWF0Y2hSZXF1
ZXN0IGhvc3RNYXRjaFJlcXVlc3QgeyBudWxscHRyLCBTY29wZU9yZGluYWw6OlNoYWRvdyB9Owor
ICAgIE1hdGNoUmVxdWVzdCBob3N0TWF0Y2hSZXF1ZXN0IHsgc2hhZG93QXV0aG9yU3R5bGUsIFNj
b3BlT3JkaW5hbDo6U2hhZG93IH07CiAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KCZz
aGFkb3dIb3N0UnVsZXMsIGhvc3RNYXRjaFJlcXVlc3QpOwogfQogCkBAIC0yODgsNyArMjg3LDcg
QEAgdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hTbG90dGVkUHNldWRvRWxlbWVudFJ1
bGVzKCkKIAogICAgICAgICBhdXRvJiBzY29wZUF1dGhvclJ1bGVzID0gc3R5bGVTY29wZS5yZXNv
bHZlcigpLnJ1bGVTZXRzKCkuYXV0aG9yU3R5bGUoKTsKIAotICAgICAgICBNYXRjaFJlcXVlc3Qg
c2NvcGVNYXRjaFJlcXVlc3QoJnNjb3BlQXV0aG9yUnVsZXMsIHN0eWxlU2NvcGVPcmRpbmFsKTsK
KyAgICAgICAgTWF0Y2hSZXF1ZXN0IHNjb3BlTWF0Y2hSZXF1ZXN0KHNjb3BlQXV0aG9yUnVsZXMs
IHN0eWxlU2NvcGVPcmRpbmFsKTsKICAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0
KCZzY29wZUF1dGhvclJ1bGVzLnNsb3R0ZWRQc2V1ZG9FbGVtZW50UnVsZXMoKSwgc2NvcGVNYXRj
aFJlcXVlc3QpOwogCiAgICAgICAgIGlmIChzdHlsZVNjb3BlT3JkaW5hbCA9PSBTY29wZU9yZGlu
YWw6OlNsb3RMaW1pdCkKQEAgLTMyMSw3ICszMjAsNyBAQCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVj
dG9yOjptYXRjaFBhcnRQc2V1ZG9FbGVtZW50UnVsZXNGb3JTY29wZShjb25zdCBFbGVtZW50JiBw
YQogCiAgICAgICAgIGF1dG8mIGhvc3RBdXRob3JSdWxlcyA9IHN0eWxlU2NvcGUucmVzb2x2ZXIo
KS5ydWxlU2V0cygpLmF1dGhvclN0eWxlKCk7CiAKLSAgICAgICAgTWF0Y2hSZXF1ZXN0IHNjb3Bl
TWF0Y2hSZXF1ZXN0KCZob3N0QXV0aG9yUnVsZXMsIHN0eWxlU2NvcGVPcmRpbmFsKTsKKyAgICAg
ICAgTWF0Y2hSZXF1ZXN0IHNjb3BlTWF0Y2hSZXF1ZXN0KGhvc3RBdXRob3JSdWxlcywgc3R5bGVT
Y29wZU9yZGluYWwpOwogICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoJmhvc3RB
dXRob3JSdWxlcy5wYXJ0UHNldWRvRWxlbWVudFJ1bGVzKCksIHNjb3BlTWF0Y2hSZXF1ZXN0KTsK
IAogICAgICAgICAvLyBFbGVtZW50IG1heSBvbmx5IGJlIGV4cG9zZWQgdG8gc3R5bGluZyBmcm9t
IGVuY2xvc2luZyBzY29wZXMgdmlhIGV4cG9ydHBhcnRzIGF0dHJpYnV0ZXMuCkBAIC0zMzUsMTAg
KzMzNCw5IEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoUGFydFBzZXVkb0VsZW1l
bnRSdWxlc0ZvclNjb3BlKGNvbnN0IEVsZW1lbnQmIHBhCiAKIHZvaWQgRWxlbWVudFJ1bGVDb2xs
ZWN0b3I6OmNvbGxlY3RNYXRjaGluZ1NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyhjb25zdCBNYXRj
aFJlcXVlc3QmIG1hdGNoUmVxdWVzdCkKIHsKLSAgICBBU1NFUlQobWF0Y2hSZXF1ZXN0LnJ1bGVT
ZXQpOwogICAgIEFTU0VSVChlbGVtZW50KCkuY29udGFpbmluZ1NoYWRvd1Jvb3QoKS0+bW9kZSgp
ID09IFNoYWRvd1Jvb3RNb2RlOjpVc2VyQWdlbnQpOwogCi0gICAgYXV0byYgcnVsZXMgPSAqbWF0
Y2hSZXF1ZXN0LnJ1bGVTZXQ7CisgICAgYXV0byYgcnVsZXMgPSBtYXRjaFJlcXVlc3QucnVsZVNl
dDsKICNpZiBFTkFCTEUoVklERU8pCiAgICAgLy8gRlhJTUU6IFdlYlZUVCBzaG91bGQgbm90IGJl
IGRvbmUgYnkgc3R5bGluZyBVQSBzaGFkb3cgdHJlZXMgbGlrZSB0aGlzLgogICAgIGlmIChlbGVt
ZW50KCkuaXNXZWJWVFRFbGVtZW50KCkpCkBAIC0zNTYsNyArMzU0LDcgQEAgdm9pZCBFbGVtZW50
UnVsZUNvbGxlY3Rvcjo6bWF0Y2hVc2VyUnVsZXMoKQogICAgIAogICAgIGNsZWFyTWF0Y2hlZFJ1
bGVzKCk7CiAKLSAgICBNYXRjaFJlcXVlc3QgbWF0Y2hSZXF1ZXN0KG1fdXNlclN0eWxlLmdldCgp
KTsKKyAgICBNYXRjaFJlcXVlc3QgbWF0Y2hSZXF1ZXN0KCptX3VzZXJTdHlsZSk7CiAgICAgY29s
bGVjdE1hdGNoaW5nUnVsZXMobWF0Y2hSZXF1ZXN0KTsKIAogICAgIHNvcnRBbmRUcmFuc2Zlck1h
dGNoZWRSdWxlcyhEZWNsYXJhdGlvbk9yaWdpbjo6VXNlcik7CkBAIC0zODEsNyArMzc5LDcgQEAg
dm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hVQVJ1bGVzKGNvbnN0IFJ1bGVTZXQmIHJ1
bGVzKQogewogICAgIGNsZWFyTWF0Y2hlZFJ1bGVzKCk7CiAgICAgCi0gICAgY29sbGVjdE1hdGNo
aW5nUnVsZXMoTWF0Y2hSZXF1ZXN0KCZydWxlcykpOworICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVz
KE1hdGNoUmVxdWVzdChydWxlcykpOwogCiAgICAgc29ydEFuZFRyYW5zZmVyTWF0Y2hlZFJ1bGVz
KERlY2xhcmF0aW9uT3JpZ2luOjpVc2VyQWdlbnQpOwogfQpAQCAtNDg2LDYgKzQ4NCwxMSBAQCB2
b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoY29u
c3QgUnVsZVNldDo6UnVsZURhdGFWZQogICAgICAgICBpZiAobV9zZWxlY3Rvck1hdGNoaW5nU3Rh
dGUgJiYgbV9zZWxlY3Rvck1hdGNoaW5nU3RhdGUtPnNlbGVjdG9yRmlsdGVyLmZhc3RSZWplY3RT
ZWxlY3RvcihydWxlRGF0YS5kZXNjZW5kYW50U2VsZWN0b3JJZGVudGlmaWVySGFzaGVzKCkpKQog
ICAgICAgICAgICAgY29udGludWU7CiAKKyAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lclF1ZXJ5
ID0gbWF0Y2hSZXF1ZXN0LnJ1bGVTZXQuY29udGFpbmVyUXVlcnlGb3IocnVsZURhdGEpKSB7Cisg
ICAgICAgICAgICBpZiAoIWNvbnRhaW5lclF1ZXJ5TWF0Y2hlcygqY29udGFpbmVyUXVlcnkpKQor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKICAgICAgICAgYXV0byYgcnVs
ZSA9IHJ1bGVEYXRhLnN0eWxlUnVsZSgpOwogCiAgICAgICAgIC8vIElmIHRoZSBydWxlIGhhcyBu
byBwcm9wZXJ0aWVzIHRvIGFwcGx5LCB0aGVuIGlnbm9yZSBpdCBpbiB0aGUgbm9uLWRlYnVnIG1v
ZGUuCkBAIC01MDEsNiArNTA0LDE0IEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbGxl
Y3RNYXRjaGluZ1J1bGVzRm9yTGlzdChjb25zdCBSdWxlU2V0OjpSdWxlRGF0YVZlCiAgICAgfQog
fQogCitib29sIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb250YWluZXJRdWVyeU1hdGNoZXMoY29u
c3QgQ29udGFpbmVyUXVlcnkmKQoreworICAgIGlmICghbV9zZWxlY3Rvck1hdGNoaW5nU3RhdGUp
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIC8vIEZJWE1FOiBUaGUgYWN0dWFsIG1hdGNoaW5n
LgorICAgIHJldHVybiAhbV9zZWxlY3Rvck1hdGNoaW5nU3RhdGUtPnF1ZXJ5Q29udGFpbmVycy5p
c0VtcHR5KCk7Cit9CisKIHN0YXRpYyBpbmxpbmUgYm9vbCBjb21wYXJlUnVsZXMoTWF0Y2hlZFJ1
bGUgcjEsIE1hdGNoZWRSdWxlIHIyKQogewogICAgIC8vIEZvciBub3JtYWwgcHJvcGVydGllcyB0
aGUgZWFybGllciBzY29wZSB3aW5zLiBUaGlzIG1heSBiZSByZXZlcnNlZCBieSAhaW1wb3J0YW50
IHdoaWNoIGlzIGhhbmRsZWQgd2hlbiByZXNvbHZpbmcgY2FzY2FkZS4KQEAgLTU3OCw3ICs1ODks
NyBAQCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjphZGRFbGVtZW50SW5saW5lU3R5bGVQcm9w
ZXJ0aWVzKGJvb2wgaW5jbHVkZVNNSUxQcm9wZQogICAgICAgICBhZGRFbGVtZW50U3R5bGVQcm9w
ZXJ0aWVzKGRvd25jYXN0PFNWR0VsZW1lbnQ+KGVsZW1lbnQoKSkuYW5pbWF0ZWRTTUlMU3R5bGVQ
cm9wZXJ0aWVzKCksIGZhbHNlIC8qIGlzQ2FjaGVhYmxlICovKTsKIH0KIAotYm9vbCBFbGVtZW50
UnVsZUNvbGxlY3Rvcjo6aGFzQW55TWF0Y2hpbmdSdWxlcyhjb25zdCBSdWxlU2V0KiBydWxlU2V0
KQorYm9vbCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6aGFzQW55TWF0Y2hpbmdSdWxlcyhjb25zdCBS
dWxlU2V0JiBydWxlU2V0KQogewogICAgIGNsZWFyTWF0Y2hlZFJ1bGVzKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCmluZGV4IDFhZjRmYjAwODdjYTlj
ODliYWU1YmYwZDBkN2ZjZTZkZWIyMThmNjUuLjRiYTMzNDRlMDk2Yzc3MGNkYTYyMTk0MDAxNTg2
MzdhN2E4YmU0MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxl
Q29sbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0
b3IuaApAQCAtODIsNyArODIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRQc2V1ZG9FbGVtZW50
UmVxdWVzdChjb25zdCBQc2V1ZG9FbGVtZW50UmVxdWVzdCYgcmVxdWVzdCkgeyBtX3BzZXVkb0Vs
ZW1lbnRSZXF1ZXN0ID0gcmVxdWVzdDsgfQogICAgIHZvaWQgc2V0TWVkaXVtKGNvbnN0IE1lZGlh
UXVlcnlFdmFsdWF0b3IqIG1lZGl1bSkgeyBtX2lzUHJpbnRTdHlsZSA9IG1lZGl1bS0+bWVkaWFU
eXBlTWF0Y2hTcGVjaWZpYygicHJpbnQiKTsgfQogCi0gICAgYm9vbCBoYXNBbnlNYXRjaGluZ1J1
bGVzKGNvbnN0IFJ1bGVTZXQqKTsKKyAgICBib29sIGhhc0FueU1hdGNoaW5nUnVsZXMoY29uc3Qg
UnVsZVNldCYpOwogCiAgICAgY29uc3QgTWF0Y2hSZXN1bHQmIG1hdGNoUmVzdWx0KCkgY29uc3Q7
CiAgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxjb25zdCBTdHlsZVJ1bGU+PiYgbWF0Y2hlZFJ1bGVM
aXN0KCkgY29uc3Q7CkBAIC0xMTIsNiArMTEyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbGxl
Y3RNYXRjaGluZ1J1bGVzKGNvbnN0IE1hdGNoUmVxdWVzdCYpOwogICAgIHZvaWQgY29sbGVjdE1h
dGNoaW5nUnVsZXNGb3JMaXN0KGNvbnN0IFJ1bGVTZXQ6OlJ1bGVEYXRhVmVjdG9yKiwgY29uc3Qg
TWF0Y2hSZXF1ZXN0Jik7CiAgICAgYm9vbCBydWxlTWF0Y2hlcyhjb25zdCBSdWxlRGF0YSYsIHVu
c2lnbmVkJiBzcGVjaWZpY2l0eSwgU2NvcGVPcmRpbmFsKTsKKyAgICBib29sIGNvbnRhaW5lclF1
ZXJ5TWF0Y2hlcyhjb25zdCBDb250YWluZXJRdWVyeSYpOwogCiAgICAgdm9pZCBzb3J0TWF0Y2hl
ZFJ1bGVzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaAppbmRleCA1ZWZhYTRiM2U1ODIwZmEzNDgw
NWM0ZjU0NmE5NjlkMmYzMjNiMmU4Li42NGU0NTJmOWZmNTcwODU2MDY5MzNjYWZmNmU3YWQxY2Iy
MTE2YmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCkBAIC0xMDgsNiArMTA4LDcgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBjYXNjYWRlTGF5ZXJQcmlvcml0eUZvclVubGF5
ZXJlZCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8Q2FzY2FkZUxheWVyUHJpb3JpdHk+OjptYXgoKTsK
IAogICAgIENhc2NhZGVMYXllclByaW9yaXR5IGNhc2NhZGVMYXllclByaW9yaXR5Rm9yKGNvbnN0
IFJ1bGVEYXRhJikgY29uc3Q7CisgICAgY29uc3QgQ29udGFpbmVyUXVlcnkqIGNvbnRhaW5lclF1
ZXJ5Rm9yKGNvbnN0IFJ1bGVEYXRhJikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNs
YXNzIFJ1bGVTZXRCdWlsZGVyOwpAQCAtMjIwLDUgKzIyMSwxOCBAQCBpbmxpbmUgQ2FzY2FkZUxh
eWVyUHJpb3JpdHkgUnVsZVNldDo6Y2FzY2FkZUxheWVyUHJpb3JpdHlGb3IoY29uc3QgUnVsZURh
dGEmIHJ1bAogICAgIHJldHVybiBjYXNjYWRlTGF5ZXJQcmlvcml0eUZvcklkZW50aWZpZXIoaWRl
bnRpZmllcik7CiB9CiAKK2lubGluZSBjb25zdCBDb250YWluZXJRdWVyeSogUnVsZVNldDo6Y29u
dGFpbmVyUXVlcnlGb3IoY29uc3QgUnVsZURhdGEmIHJ1bGVEYXRhKSBjb25zdAoreworICAgIGlm
IChtX2NvbnRhaW5lclF1ZXJ5SWRlbnRpZmllckZvclJ1bGVQb3NpdGlvbi5zaXplKCkgPD0gcnVs
ZURhdGEucG9zaXRpb24oKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBhdXRvIGlk
ZW50aWZpZXIgPSBtX2NvbnRhaW5lclF1ZXJ5SWRlbnRpZmllckZvclJ1bGVQb3NpdGlvbltydWxl
RGF0YS5wb3NpdGlvbigpXTsKKyAgICBpZiAoIWlkZW50aWZpZXIpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgcmV0dXJuICZtX2NvbnRhaW5lclF1ZXJpZXNbaWRlbnRpZmllciAtIDFd
LnF1ZXJ5OworfQorCisKIH0gLy8gbmFtZXNwYWNlIFN0eWxlCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TZWxlY3Rvck1hdGNoaW5nU3Rh
dGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1NlbGVjdG9yTWF0Y2hpbmdTdGF0ZS5oCmluZGV4
IDJiNTNjZDNiYWJmNjQ4YjNlN2VjZGEyOTZlN2I5YjJmNDI1Mzg5ODIuLjllMGUxYjRiZDU4ZjAy
YWZkY2JkZDlmODVjYjA5N2IxYTFmZjc4MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1NlbGVjdG9yTWF0Y2hpbmdTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Nl
bGVjdG9yTWF0Y2hpbmdTdGF0ZS5oCkBAIC0zOCw2ICszOCw4IEBAIGVudW0gY2xhc3MgSGFzUHNl
dWRvQ2xhc3NNYXRjaCA6IHVpbnQ4X3QgeyBOb25lLCBNYXRjaGVzLCBGYWlscywgRmFpbHNTdWJ0
cmVlIH07CiBzdHJ1Y3QgU2VsZWN0b3JNYXRjaGluZ1N0YXRlIHsKICAgICBTZWxlY3RvckZpbHRl
ciBzZWxlY3RvckZpbHRlcjsKIAorICAgIFZlY3RvcjxSZWY8Y29uc3QgRWxlbWVudD4+IHF1ZXJ5
Q29udGFpbmVyczsKKwogICAgIEhhc2hNYXA8SGFzUHNldWRvQ2xhc3NDYWNoZUtleSwgSGFzUHNl
dWRvQ2xhc3NNYXRjaD4gaGFzUHNldWRvQ2xhc3NNYXRjaENhY2hlOwogICAgIEhhc2hNYXA8SGFz
UHNldWRvQ2xhc3NGaWx0ZXJLZXksIHN0ZDo6dW5pcXVlX3B0cjxIYXNTZWxlY3RvckZpbHRlcj4+
IGhhc1BzZXVkb0NsYXNzU2VsZWN0b3JGaWx0ZXJzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlU2hhcmluZ1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlU2hhcmluZ1Jlc29sdmVyLmNwcAppbmRleCBkYzM0NzkyMDdmZDE1NjA2MGI0NGE1
YmUyNTM0MzBkMmQ0ODY4NWVmLi5jOGVkODQxYmNlZDllNWQ3MTRhZWZjZDQ4ZTE0MWI1OGQ3ZjE2
NTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNoYXJpbmdSZXNvbHZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTaGFyaW5nUmVzb2x2ZXIuY3Bw
CkBAIC0zMzAsNyArMzMwLDcgQEAgYm9vbCBTaGFyaW5nUmVzb2x2ZXI6OnN0eWxlU2hhcmluZ0Nh
bmRpZGF0ZU1hdGNoZXNSdWxlU2V0KGNvbnN0IFN0eWxlZEVsZW1lbnQmIGUKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCiAgICAgRWxlbWVudFJ1bGVDb2xsZWN0b3IgY29sbGVjdG9yKGVsZW1lbnQs
IG1fcnVsZVNldHMsICZtX3NlbGVjdG9yTWF0Y2hpbmdTdGF0ZSk7Ci0gICAgcmV0dXJuIGNvbGxl
Y3Rvci5oYXNBbnlNYXRjaGluZ1J1bGVzKHJ1bGVTZXQpOworICAgIHJldHVybiBjb2xsZWN0b3Iu
aGFzQW55TWF0Y2hpbmdSdWxlcygqcnVsZVNldCk7CiB9CiAKIGJvb2wgU2hhcmluZ1Jlc29sdmVy
OjpzaGFyaW5nQ2FuZGlkYXRlSGFzSWRlbnRpY2FsU3R5bGVBZmZlY3RpbmdBdHRyaWJ1dGVzKGNv
bnN0IENvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0eWxlZEVsZW1lbnQmIHNoYXJpbmdDYW5kaWRh
dGUpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNv
bHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKaW5k
ZXggMjBlMmUzZDY1NzNjNDg2N2E1ZDkzZjllOGZkZmUxOGJlMGJmZWNiOS4uMmQyMzY2YWU0Mzhi
ODlmYmE1N2U1MjRhN2Y4NWU3OGUwMGY3NTMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlVHJlZVJlc29sdmVyLmNwcApAQCAtNDI2LDYgKzQyNiwxMCBAQCB2b2lkIFRyZWVSZXNvbHZl
cjo6cG9wUGFyZW50KCkKIAogICAgIHNjb3BlKCkuc2VsZWN0b3JNYXRjaGluZ1N0YXRlLnNlbGVj
dG9yRmlsdGVyLnBvcFBhcmVudCgpOwogCisgICAgYXV0byYgcXVlcnlDb250YWluZXJzID0gc2Nv
cGUoKS5zZWxlY3Rvck1hdGNoaW5nU3RhdGUucXVlcnlDb250YWluZXJzOworICAgIGlmICghcXVl
cnlDb250YWluZXJzLmlzRW1wdHkoKSAmJiBxdWVyeUNvbnRhaW5lcnMubGFzdCgpLnB0cigpID09
ICZwYXJlbnRFbGVtZW50KQorICAgICAgICBxdWVyeUNvbnRhaW5lcnMucmVtb3ZlTGFzdCgpOwor
CiAgICAgbV9wYXJlbnRTdGFjay5yZW1vdmVMYXN0KCk7CiB9CiAKQEAgLTU5NCw2ICs1OTgsOSBA
QCB2b2lkIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUNvbXBvc2VkVHJlZSgpCiAKICAgICAgICAgYm9v
bCBzaG91bGRJdGVyYXRlQ2hpbGRyZW4gPSBzdHlsZSAmJiAoZWxlbWVudC5jaGlsZE5lZWRzU3R5
bGVSZWNhbGMoKSB8fCBkZXNjZW5kYW50c1RvUmVzb2x2ZSAhPSBEZXNjZW5kYW50c1RvUmVzb2x2
ZTo6Tm9uZSk7CiAKKyAgICAgICAgaWYgKHNob3VsZEl0ZXJhdGVDaGlsZHJlbikKKyAgICAgICAg
ICAgIHVwZGF0ZVF1ZXJ5Q29udGFpbmVyKGVsZW1lbnQsICpzdHlsZSk7CisKICAgICAgICAgaWYg
KCFtX2RpZFNlZVBlbmRpbmdTdHlsZXNoZWV0KQogICAgICAgICAgICAgbV9kaWRTZWVQZW5kaW5n
U3R5bGVzaGVldCA9IGhhc0xvYWRpbmdTdHlsZXNoZWV0KG1fZG9jdW1lbnQuc3R5bGVTY29wZSgp
LCBlbGVtZW50LCAhc2hvdWxkSXRlcmF0ZUNoaWxkcmVuKTsKIApAQCAtNjEyLDYgKzYxOSwxNiBA
QCB2b2lkIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUNvbXBvc2VkVHJlZSgpCiAgICAgcG9wUGFyZW50
c1RvRGVwdGgoMSk7CiB9CiAKK3ZvaWQgVHJlZVJlc29sdmVyOjp1cGRhdGVRdWVyeUNvbnRhaW5l
cihjb25zdCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCit7Cisg
ICAgaWYgKHN0eWxlLmNvbnRhaW5lclR5cGUoKSA9PSBDb250YWluZXJUeXBlOjpOb25lKQorICAg
ICAgICByZXR1cm47CisKKyAgICBzY29wZSgpLnNlbGVjdG9yTWF0Y2hpbmdTdGF0ZS5xdWVyeUNv
bnRhaW5lcnMuYXBwZW5kKGVsZW1lbnQpOworCisgICAgLy8gRklYTUU6IFNraXAgdGhlIHN1YnRy
ZWUgYW5kIGVuc3VyZSB0aGUgY29udGFpbmVyIGlzIHJlc29sdmVkIGJ5IGRvaW5nIGEgbGF5b3V0
IGlmIG5lZWRlZC4KK30KKwogc3RkOjp1bmlxdWVfcHRyPFVwZGF0ZT4gVHJlZVJlc29sdmVyOjpy
ZXNvbHZlKCkKIHsKICAgICBhdXRvJiByZW5kZXJWaWV3ID0gKm1fZG9jdW1lbnQucmVuZGVyVmll
dygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmgKaW5kZXggZmEyNWE1
MTU0OWQ0MGQ4N2QwNTU3MTM4MjVlZmViYTA0NmU2ZTBjNy4uYWYxODlhM2E1MGI0ZjUyNTczMWNk
M2FlZGU1NjM4MTk3NDBlZjk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVUcmVlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNv
bHZlci5oCkBAIC01OSw2ICs1OSw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJl
bmRlclN0eWxlPiBzdHlsZUZvclN0eWxlYWJsZShjb25zdCBTdHlsZWFibGUmLCBjb25zdCBSZXNv
bHV0aW9uQ29udGV4dCYpOwogCiAgICAgdm9pZCByZXNvbHZlQ29tcG9zZWRUcmVlKCk7CisgICAg
dm9pZCB1cGRhdGVRdWVyeUNvbnRhaW5lcihjb25zdCBFbGVtZW50JiwgY29uc3QgUmVuZGVyU3R5
bGUmKTsKIAogICAgIEVsZW1lbnRVcGRhdGVzIHJlc29sdmVFbGVtZW50KEVsZW1lbnQmKTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGQ1N2YzMmM5MjNiMDg4YzczYWFkZGVmZjIxODEzZTA1ZjI3MzA5ZmYuLjkzYjdjY2Qw
ZjBkZDE2NjYzMWJkNDM0ODVmZTUxNzczY2ZkOWM4Y2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAyMi0wMS0zMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAg
W0NTUyBDb250YWluZXIgUXVlcmllc10gQ2hlY2sgZm9yIHF1ZXJ5IGNvbnRhaW5lcnMgd2hlbiBt
YXRjaGluZyBydWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM1ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIyLTAxLTI5ICBUeWxlciBXaWxjb2NrICA8
dHlsZXJfd0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IElzb2xhdGVkIHRyZWUgb2JqZWN0cyBk
b24ndCB1cGRhdGUgdGhlaXIgQVhQcm9wZXJ0eU5hbWU6OkVsZW1lbnRSZWN0IG9yIEFYUHJvcGVy
dHlOYW1lOjpCb3VuZGluZ0JveFJlY3QgaW4gcmVzcG9uc2UgdG8gZHluYW1pYyBwYWdlIGNoYW5n
ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDJhZWNmY2M4M2UwZWZjMTI2Mjkw
MmY5NGJhMWFkZjE2OGU5MGMzZDMuLmJlMjhiOTYzYzUxMTViOWFjZGI5MzVjOThhMDEwNDk4MWI3
NDJlMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisy
MDIyLTAxLTMxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBb
Q1NTIENvbnRhaW5lciBRdWVyaWVzXSBDaGVjayBmb3IgcXVlcnkgY29udGFpbmVycyB3aGVuIG1h
dGNoaW5nIHJ1bGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzU4ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJp
ZXMvY29udGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMS0y
OCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBjc3MvY3Nz
LWJhY2tncm91bmRzL2FuaW1hdGlvbnMvYm94LXNoYWRvdy1jb21wb3NpdGlvbi5odG1sIGhhcyBm
YWlsdXJlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNGMyYjk5N2E4NGZhYmI2ZjRhYzlmMTY1MDQy
OGY2OWVmOTZiMGRiZS4uZTQ3ZmRkMjY0NWZlZmZjZTI2NWEyZmNiOWIyY2ZjZTkzNzFiMWJiOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00NzQ3LDE1ICs0NzQ3LDggQEAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1odG1sLW92ZXJmbG93LTAw
My5odG1sIFsKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4taHRtbC1vdmVyZmxvdy0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCiAj
IENvbnRhaW5lciBxdWVyaWVzCi13ZWJraXQub3JnL2IvMjI5NjU5IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL2NoYW5nZS1k
aXNwbGF5LWluLWNvbnRhaW5lci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3Jn
L2IvMjI5NjU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW5lci1xdWVyaWVzL2NvdW50ZXJzLWluLWNvbnRhaW5lci1keW5hbWljLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvY291bnRlcnMt
aW4tY29udGFpbmVyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMjk2
NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bmVyLXF1ZXJpZXMvZGlzcGxheS1pbi1jb250YWluZXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9maWVsZHNldC1sZWdlbmQtY2hhbmdlLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvbXVs
dGljb2wtaW5zaWRlLWNvbnRhaW5lci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMjI5NjU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW5lci1xdWVyaWVzL3BzZXVkby1lbGVtZW50cy0wMDIudGVudGF0aXZlLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcmVzaXpl
LXdoaWxlLWNvbnRlbnQtdmlzaWJpbGl0eS1oaWRkZW4uaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy90b3AtbGF5ZXItZGlhbG9nLWJhY2tkcm9w
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMv
aW5saW5lLXNpemUtYmZjLWZsb2F0cy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMjI5NjU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW5lci1xdWVyaWVzL3doaXRlc3BhY2UtdXBkYXRlLWFmdGVyLXJlbW92YWwuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmll
cy9jb250YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVy
LXF1ZXJpZXMvY29udGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA3
ZTFmYmYxZDIyY2EyYjJiOTVmMmRkZWY2ODcyNThmOWFmMDU4Mzg5Li5jMzUxYzIzN2M3OGRjYmY0
ZjhlOGY0M2ZmOTQyY2MwY2Y5YWJiNmE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmll
cy9jb250YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW5lci1xdWVyaWVzL2NvbnRhaW5lci10eXBlLWludmFsaWRhdGlvbi1leHBlY3RlZC50eHQKQEAg
LTEsNCArMSw0IEBACiBUZXN0CiAKLUZBSUwgQ2hhbmdpbmcgdGhlIGNvbnRhaW5lciB0eXBlIGlu
dmFsaWRhdGVzIHJlbGV2YW50IGRlc2NlbmRhbnRzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJy
Z2IoMCwgMCwgMCkiIGJ1dCBnb3QgInJnYigwLCAxMjgsIDApIgorRkFJTCBDaGFuZ2luZyB0aGUg
Y29udGFpbmVyIHR5cGUgaW52YWxpZGF0ZXMgcmVsZXZhbnQgZGVzY2VuZGFudHMgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMCwgMCwgMCkiCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450405</attachid>
            <date>2022-01-31 06:03:00 -0800</date>
            <delta_ts>2022-01-31 06:57:36 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-235881-20220131160259.patch</filename>
            <type>text/plain</type>
            <size>20742</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWVkNjcwYmVhYWYyMzVm
OTM1N2RmZDUyOWUzYTY1YTg3YjI4YjhiOC4uZjI2NDRmMjVjNTI1NmE3MThiMjQwYmU5OTcwZjE1
MTVlY2UwOTZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIyLTAxLTMxICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENvbnRhaW5lciBR
dWVyaWVzXSBDaGVjayBmb3IgcXVlcnkgY29udGFpbmVycyB3aGVuIG1hdGNoaW5nIHJ1bGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU4ODEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbnRvaW5lIFF1aW50LgorCisgICAgICAgIFNraXAgcnVsZXMg
aW5zaWRlIGNvbnRhaW5lciBxdWVyaWVzIHdoZW4gdGhlcmUgYXJlIG5vIGNvbnRhaW5lciBhbmNl
c3RvcnMuCisKKyAgICAgICAgKiBzdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbGxlY3RNYXRjaGlu
Z1J1bGVzRm9yTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxlbWVudFJ1bGVDb2xs
ZWN0b3I6OmNvbnRhaW5lclF1ZXJ5TWF0Y2hlcyk6CisKKyAgICAgICAgQWRkIHRoZSBtYXRjaGlu
ZyBmdW5jdGlvbi4KKworICAgICAgICBUaGlzIHBhdGNoIGRvZXNuJ3QgeWV0IGRvIGFueSBhY3R1
YWwgY29udGFpbmVyIHF1ZXJ5IG1hdGNoaW5nLCBpdCBqdXN0IGNoZWNrcworICAgICAgICBpZiB3
ZSBhcmUgaW5zaWRlIGEgcXVlcnkgY29udGFpbmVyLgorCisgICAgICAgICogc3R5bGUvRWxlbWVu
dFJ1bGVDb2xsZWN0b3IuaDoKKyAgICAgICAgKiBzdHlsZS9SdWxlU2V0Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6Y29udGFpbmVyUXVlcnlGb3IgY29uc3QpOgorICAgICAg
ICAqIHN0eWxlL1NlbGVjdG9yTWF0Y2hpbmdTdGF0ZS5oOgorCisgICAgICAgIEFkZCB0aGUgY29u
dGFpbmVyIHN0YWNrLgorCisgICAgICAgICogc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZlcjo6cG9wUGFyZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlOjpUcmVlUmVzb2x2ZXI6OnJlc29sdmVDb21wb3NlZFRyZWUpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZlcjo6dXBkYXRlUXVlcnlDb250YWlu
ZXIpOgorCisgICAgICAgIE1haW50YWluIHRoZSBjb250YWluZXIgc3RhY2suCisKKyAgICAgICAg
KiBzdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oOgorCiAyMDIyLTAxLTI5ICBUeWxlciBXaWxjb2Nr
ICA8dHlsZXJfd0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IElzb2xhdGVkIHRyZWUgb2JqZWN0
cyBkb24ndCB1cGRhdGUgdGhlaXIgQVhQcm9wZXJ0eU5hbWU6OkVsZW1lbnRSZWN0IG9yIEFYUHJv
cGVydHlOYW1lOjpCb3VuZGluZ0JveFJlY3QgaW4gcmVzcG9uc2UgdG8gZHluYW1pYyBwYWdlIGNo
YW5nZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVj
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcApp
bmRleCBmZWZhNDg1Y2FmYmY0YmJjODRiZTk1ZjQ1OWE3OTllMjc2OGQ2NWY1Li5jZTZjY2UyOTY2
YzhhNzUwNjNiNmJiMzdjZjY0MDUwOGUyZGYxMDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCkBAIC03MywxMiArNzMsMTIgQEAgc3RhdGljIGNv
bnN0IFN0eWxlUHJvcGVydGllcyYgcmlnaHRUb0xlZnREZWNsYXJhdGlvbigpCiAKIGNsYXNzIE1h
dGNoUmVxdWVzdCB7CiBwdWJsaWM6Ci0gICAgTWF0Y2hSZXF1ZXN0KGNvbnN0IFJ1bGVTZXQqIHJ1
bGVTZXQsIFNjb3BlT3JkaW5hbCBzdHlsZVNjb3BlT3JkaW5hbCA9IFNjb3BlT3JkaW5hbDo6RWxl
bWVudCkKKyAgICBNYXRjaFJlcXVlc3QoY29uc3QgUnVsZVNldCYgcnVsZVNldCwgU2NvcGVPcmRp
bmFsIHN0eWxlU2NvcGVPcmRpbmFsID0gU2NvcGVPcmRpbmFsOjpFbGVtZW50KQogICAgICAgICA6
IHJ1bGVTZXQocnVsZVNldCkKICAgICAgICAgLCBzdHlsZVNjb3BlT3JkaW5hbChzdHlsZVNjb3Bl
T3JkaW5hbCkKICAgICB7CiAgICAgfQotICAgIGNvbnN0IFJ1bGVTZXQqIHJ1bGVTZXQ7CisgICAg
Y29uc3QgUnVsZVNldCYgcnVsZVNldDsKICAgICBTY29wZU9yZGluYWwgc3R5bGVTY29wZU9yZGlu
YWw7CiB9OwogCkBAIC0xMTQsNyArMTE0LDcgQEAgY29uc3QgVmVjdG9yPFJlZlB0cjxjb25zdCBT
dHlsZVJ1bGU+PiYgRWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoZWRSdWxlTGlzdCgpIGMKIAog
aW5saW5lIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmFkZE1hdGNoZWRSdWxlKGNvbnN0IFJ1
bGVEYXRhJiBydWxlRGF0YSwgdW5zaWduZWQgc3BlY2lmaWNpdHksIGNvbnN0IE1hdGNoUmVxdWVz
dCYgbWF0Y2hSZXF1ZXN0KQogewotICAgIGF1dG8gY2FzY2FkZUxheWVyUHJpb3JpdHkgPSBtYXRj
aFJlcXVlc3QucnVsZVNldCA/IG1hdGNoUmVxdWVzdC5ydWxlU2V0LT5jYXNjYWRlTGF5ZXJQcmlv
cml0eUZvcihydWxlRGF0YSkgOiBSdWxlU2V0OjpjYXNjYWRlTGF5ZXJQcmlvcml0eUZvclVubGF5
ZXJlZDsKKyAgICBhdXRvIGNhc2NhZGVMYXllclByaW9yaXR5ID0gbWF0Y2hSZXF1ZXN0LnJ1bGVT
ZXQuY2FzY2FkZUxheWVyUHJpb3JpdHlGb3IocnVsZURhdGEpOwogICAgIG1fbWF0Y2hlZFJ1bGVz
LmFwcGVuZCh7ICZydWxlRGF0YSwgc3BlY2lmaWNpdHksIG1hdGNoUmVxdWVzdC5zdHlsZVNjb3Bl
T3JkaW5hbCwgY2FzY2FkZUxheWVyUHJpb3JpdHkgfSk7CiB9CiAKQEAgLTEzOSw3ICsxMzksNiBA
QCBpbmxpbmUgdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6YWRkRWxlbWVudFN0eWxlUHJvcGVy
dGllcyhjb25zdCBTdHlsZVByb3BlcnRpZQogCiB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpj
b2xsZWN0TWF0Y2hpbmdSdWxlcyhjb25zdCBNYXRjaFJlcXVlc3QmIG1hdGNoUmVxdWVzdCkKIHsK
LSAgICBBU1NFUlQobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQpOwogICAgIEFTU0VSVF9XSVRIX01FU1NB
R0UoIShtX21vZGUgPT0gU2VsZWN0b3JDaGVja2VyOjpNb2RlOjpDb2xsZWN0aW5nUnVsZXNJZ25v
cmluZ1ZpcnR1YWxQc2V1ZG9FbGVtZW50cyAmJiBtX3BzZXVkb0VsZW1lbnRSZXF1ZXN0LnBzZXVk
b0lkICE9IFBzZXVkb0lkOjpOb25lKSwgIldoZW4gaW4gU3R5bGVJbnZhbGlkYXRpb24gb3IgU2hh
cmluZ1J1bGVzLCBTZWxlY3RvckNoZWNrZXIgZG9lcyBub3QgdHJ5IHRvIG1hdGNoIHRoZSBwc2V1
ZG8gSUQuIFdoaWxlIEVsZW1lbnRSdWxlQ29sbGVjdG9yIHN1cHBvcnRzIG1hdGNoaW5nIGEgcGFy
dGljdWxhciBwc2V1ZG9JZCBpbiB0aGlzIGNhc2UsIHRoaXMgd291bGQgaW5kaWNhdGUgYSBlcnJv
ciBhdCB0aGUgY2FsbCBzaXRlIHNpbmNlIG1hdGNoaW5nIGEgcGFydGljdWxhciBlbGVtZW50IHNo
b3VsZCBiZSB1bm5lY2Vzc2FyeS4iKTsKIAogICAgIGF1dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50
KCkuY29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKQEAgLTE1MCwxOCArMTQ5LDE4IEBAIHZvaWQgRWxl
bWVudFJ1bGVDb2xsZWN0b3I6OmNvbGxlY3RNYXRjaGluZ1J1bGVzKGNvbnN0IE1hdGNoUmVxdWVz
dCYgbWF0Y2hSZXF1ZXN0CiAgICAgLy8gdGhlbiBzb3J0IHRoZSBidWZmZXIuCiAgICAgYXV0byYg
aWQgPSBlbGVtZW50KCkuaWRGb3JTdHlsZVJlc29sdXRpb24oKTsKICAgICBpZiAoIWlkLmlzTnVs
bCgpKQotICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1
bGVTZXQtPmlkUnVsZXMoaWQpLCBtYXRjaFJlcXVlc3QpOworICAgICAgICBjb2xsZWN0TWF0Y2hp
bmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQuaWRSdWxlcyhpZCksIG1hdGNoUmVx
dWVzdCk7CiAgICAgaWYgKGVsZW1lbnQoKS5oYXNDbGFzcygpKSB7CiAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgZWxlbWVudCgpLmNsYXNzTmFtZXMoKS5zaXplKCk7ICsraSkKLSAgICAg
ICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC0+
Y2xhc3NSdWxlcyhlbGVtZW50KCkuY2xhc3NOYW1lcygpW2ldKSwgbWF0Y2hSZXF1ZXN0KTsKKyAg
ICAgICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNl
dC5jbGFzc1J1bGVzKGVsZW1lbnQoKS5jbGFzc05hbWVzKClbaV0pLCBtYXRjaFJlcXVlc3QpOwog
ICAgIH0KIAogICAgIGlmIChlbGVtZW50KCkuaXNMaW5rKCkpCi0gICAgICAgIGNvbGxlY3RNYXRj
aGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC0+bGlua1BzZXVkb0NsYXNzUnVs
ZXMoKSwgbWF0Y2hSZXF1ZXN0KTsKKyAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0
KG1hdGNoUmVxdWVzdC5ydWxlU2V0LmxpbmtQc2V1ZG9DbGFzc1J1bGVzKCksIG1hdGNoUmVxdWVz
dCk7CiAgICAgaWYgKG1hdGNoZXNGb2N1c1BzZXVkb0NsYXNzKGVsZW1lbnQoKSkpCi0gICAgICAg
IGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChtYXRjaFJlcXVlc3QucnVsZVNldC0+Zm9jdXNQ
c2V1ZG9DbGFzc1J1bGVzKCksIG1hdGNoUmVxdWVzdCk7Ci0gICAgY29sbGVjdE1hdGNoaW5nUnVs
ZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0LT50YWdSdWxlcyhlbGVtZW50KCkubG9jYWxO
YW1lKCksIGVsZW1lbnQoKS5pc0hUTUxFbGVtZW50KCkgJiYgZWxlbWVudCgpLmRvY3VtZW50KCku
aXNIVE1MRG9jdW1lbnQoKSksIG1hdGNoUmVxdWVzdCk7Ci0gICAgY29sbGVjdE1hdGNoaW5nUnVs
ZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0LT51bml2ZXJzYWxSdWxlcygpLCBtYXRjaFJl
cXVlc3QpOworICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0
LnJ1bGVTZXQuZm9jdXNQc2V1ZG9DbGFzc1J1bGVzKCksIG1hdGNoUmVxdWVzdCk7CisgICAgY29s
bGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KG1hdGNoUmVxdWVzdC5ydWxlU2V0LnRhZ1J1bGVzKGVs
ZW1lbnQoKS5sb2NhbE5hbWUoKSwgZWxlbWVudCgpLmlzSFRNTEVsZW1lbnQoKSAmJiBlbGVtZW50
KCkuZG9jdW1lbnQoKS5pc0hUTUxEb2N1bWVudCgpKSwgbWF0Y2hSZXF1ZXN0KTsKKyAgICBjb2xs
ZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QobWF0Y2hSZXF1ZXN0LnJ1bGVTZXQudW5pdmVyc2FsUnVs
ZXMoKSwgbWF0Y2hSZXF1ZXN0KTsKIH0KIAogCkBAIC0yMzQsNyArMjMzLDcgQEAgYm9vbCBFbGVt
ZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hlc0FueUF1dGhvclJ1bGVzKCkKIHZvaWQgRWxlbWVudFJ1
bGVDb2xsZWN0b3I6OmNvbGxlY3RNYXRjaGluZ0F1dGhvclJ1bGVzKCkKIHsKICAgICB7Ci0gICAg
ICAgIE1hdGNoUmVxdWVzdCBtYXRjaFJlcXVlc3QobV9hdXRob3JTdHlsZS5wdHIoKSk7CisgICAg
ICAgIE1hdGNoUmVxdWVzdCBtYXRjaFJlcXVlc3QobV9hdXRob3JTdHlsZSk7CiAgICAgICAgIGNv
bGxlY3RNYXRjaGluZ1J1bGVzKG1hdGNoUmVxdWVzdCk7CiAgICAgfQogCkBAIC0yNTksNyArMjU4
LDcgQEAgdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hBdXRob3JTaGFkb3dQc2V1ZG9F
bGVtZW50UnVsZXMoKQogICAgICAgICByZXR1cm47CiAgICAgLy8gTG9vayB1cCBzaGFkb3cgcHNl
dWRvIGVsZW1lbnRzIGFsc28gZnJvbSB0aGUgaG9zdCBzY29wZSBhdXRob3Igc3R5bGUgYXMgdGhl
eSBhcmUgd2ViLWV4cG9zZWQuCiAgICAgYXV0byYgaG9zdEF1dGhvclJ1bGVzID0gU2NvcGU6OmZv
ck5vZGUoKnNoYWRvd1Jvb3QuaG9zdCgpKS5yZXNvbHZlcigpLnJ1bGVTZXRzKCkuYXV0aG9yU3R5
bGUoKTsKLSAgICBNYXRjaFJlcXVlc3QgaG9zdEF1dGhvclJlcXVlc3QgeyAmaG9zdEF1dGhvclJ1
bGVzLCBTY29wZU9yZGluYWw6OkNvbnRhaW5pbmdIb3N0IH07CisgICAgTWF0Y2hSZXF1ZXN0IGhv
c3RBdXRob3JSZXF1ZXN0IHsgaG9zdEF1dGhvclJ1bGVzLCBTY29wZU9yZGluYWw6OkNvbnRhaW5p
bmdIb3N0IH07CiAgICAgY29sbGVjdE1hdGNoaW5nU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKGhv
c3RBdXRob3JSZXF1ZXN0KTsKIH0KIApAQCAtMjcyLDcgKzI3MSw3IEBAIHZvaWQgRWxlbWVudFJ1
bGVDb2xsZWN0b3I6Om1hdGNoSG9zdFBzZXVkb0NsYXNzUnVsZXMoKQogICAgIGlmIChzaGFkb3dI
b3N0UnVsZXMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBNYXRjaFJlcXVlc3Qg
aG9zdE1hdGNoUmVxdWVzdCB7IG51bGxwdHIsIFNjb3BlT3JkaW5hbDo6U2hhZG93IH07CisgICAg
TWF0Y2hSZXF1ZXN0IGhvc3RNYXRjaFJlcXVlc3QgeyBzaGFkb3dBdXRob3JTdHlsZSwgU2NvcGVP
cmRpbmFsOjpTaGFkb3cgfTsKICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoJnNoYWRv
d0hvc3RSdWxlcywgaG9zdE1hdGNoUmVxdWVzdCk7CiB9CiAKQEAgLTI4OCw3ICsyODcsNyBAQCB2
b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaFNsb3R0ZWRQc2V1ZG9FbGVtZW50UnVsZXMo
KQogCiAgICAgICAgIGF1dG8mIHNjb3BlQXV0aG9yUnVsZXMgPSBzdHlsZVNjb3BlLnJlc29sdmVy
KCkucnVsZVNldHMoKS5hdXRob3JTdHlsZSgpOwogCi0gICAgICAgIE1hdGNoUmVxdWVzdCBzY29w
ZU1hdGNoUmVxdWVzdCgmc2NvcGVBdXRob3JSdWxlcywgc3R5bGVTY29wZU9yZGluYWwpOworICAg
ICAgICBNYXRjaFJlcXVlc3Qgc2NvcGVNYXRjaFJlcXVlc3Qoc2NvcGVBdXRob3JSdWxlcywgc3R5
bGVTY29wZU9yZGluYWwpOwogICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoJnNj
b3BlQXV0aG9yUnVsZXMuc2xvdHRlZFBzZXVkb0VsZW1lbnRSdWxlcygpLCBzY29wZU1hdGNoUmVx
dWVzdCk7CiAKICAgICAgICAgaWYgKHN0eWxlU2NvcGVPcmRpbmFsID09IFNjb3BlT3JkaW5hbDo6
U2xvdExpbWl0KQpAQCAtMzIxLDcgKzMyMCw3IEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6
Om1hdGNoUGFydFBzZXVkb0VsZW1lbnRSdWxlc0ZvclNjb3BlKGNvbnN0IEVsZW1lbnQmIHBhCiAK
ICAgICAgICAgYXV0byYgaG9zdEF1dGhvclJ1bGVzID0gc3R5bGVTY29wZS5yZXNvbHZlcigpLnJ1
bGVTZXRzKCkuYXV0aG9yU3R5bGUoKTsKIAotICAgICAgICBNYXRjaFJlcXVlc3Qgc2NvcGVNYXRj
aFJlcXVlc3QoJmhvc3RBdXRob3JSdWxlcywgc3R5bGVTY29wZU9yZGluYWwpOworICAgICAgICBN
YXRjaFJlcXVlc3Qgc2NvcGVNYXRjaFJlcXVlc3QoaG9zdEF1dGhvclJ1bGVzLCBzdHlsZVNjb3Bl
T3JkaW5hbCk7CiAgICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdCgmaG9zdEF1dGhv
clJ1bGVzLnBhcnRQc2V1ZG9FbGVtZW50UnVsZXMoKSwgc2NvcGVNYXRjaFJlcXVlc3QpOwogCiAg
ICAgICAgIC8vIEVsZW1lbnQgbWF5IG9ubHkgYmUgZXhwb3NlZCB0byBzdHlsaW5nIGZyb20gZW5j
bG9zaW5nIHNjb3BlcyB2aWEgZXhwb3J0cGFydHMgYXR0cmlidXRlcy4KQEAgLTMzNSwxMCArMzM0
LDkgQEAgdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hQYXJ0UHNldWRvRWxlbWVudFJ1
bGVzRm9yU2NvcGUoY29uc3QgRWxlbWVudCYgcGEKIAogdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rv
cjo6Y29sbGVjdE1hdGNoaW5nU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKGNvbnN0IE1hdGNoUmVx
dWVzdCYgbWF0Y2hSZXF1ZXN0KQogewotICAgIEFTU0VSVChtYXRjaFJlcXVlc3QucnVsZVNldCk7
CiAgICAgQVNTRVJUKGVsZW1lbnQoKS5jb250YWluaW5nU2hhZG93Um9vdCgpLT5tb2RlKCkgPT0g
U2hhZG93Um9vdE1vZGU6OlVzZXJBZ2VudCk7CiAKLSAgICBhdXRvJiBydWxlcyA9ICptYXRjaFJl
cXVlc3QucnVsZVNldDsKKyAgICBhdXRvJiBydWxlcyA9IG1hdGNoUmVxdWVzdC5ydWxlU2V0Owog
I2lmIEVOQUJMRShWSURFTykKICAgICAvLyBGWElNRTogV2ViVlRUIHNob3VsZCBub3QgYmUgZG9u
ZSBieSBzdHlsaW5nIFVBIHNoYWRvdyB0cmVlcyBsaWtlIHRoaXMuCiAgICAgaWYgKGVsZW1lbnQo
KS5pc1dlYlZUVEVsZW1lbnQoKSkKQEAgLTM1Niw3ICszNTQsNyBAQCB2b2lkIEVsZW1lbnRSdWxl
Q29sbGVjdG9yOjptYXRjaFVzZXJSdWxlcygpCiAgICAgCiAgICAgY2xlYXJNYXRjaGVkUnVsZXMo
KTsKIAotICAgIE1hdGNoUmVxdWVzdCBtYXRjaFJlcXVlc3QobV91c2VyU3R5bGUuZ2V0KCkpOwor
ICAgIE1hdGNoUmVxdWVzdCBtYXRjaFJlcXVlc3QoKm1fdXNlclN0eWxlKTsKICAgICBjb2xsZWN0
TWF0Y2hpbmdSdWxlcyhtYXRjaFJlcXVlc3QpOwogCiAgICAgc29ydEFuZFRyYW5zZmVyTWF0Y2hl
ZFJ1bGVzKERlY2xhcmF0aW9uT3JpZ2luOjpVc2VyKTsKQEAgLTM4MSw3ICszNzksNyBAQCB2b2lk
IEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaFVBUnVsZXMoY29uc3QgUnVsZVNldCYgcnVsZXMp
CiB7CiAgICAgY2xlYXJNYXRjaGVkUnVsZXMoKTsKICAgICAKLSAgICBjb2xsZWN0TWF0Y2hpbmdS
dWxlcyhNYXRjaFJlcXVlc3QoJnJ1bGVzKSk7CisgICAgY29sbGVjdE1hdGNoaW5nUnVsZXMoTWF0
Y2hSZXF1ZXN0KHJ1bGVzKSk7CiAKICAgICBzb3J0QW5kVHJhbnNmZXJNYXRjaGVkUnVsZXMoRGVj
bGFyYXRpb25PcmlnaW46OlVzZXJBZ2VudCk7CiB9CkBAIC00ODYsNiArNDg0LDExIEBAIHZvaWQg
RWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChjb25zdCBS
dWxlU2V0OjpSdWxlRGF0YVZlCiAgICAgICAgIGlmIChtX3NlbGVjdG9yTWF0Y2hpbmdTdGF0ZSAm
JiBtX3NlbGVjdG9yTWF0Y2hpbmdTdGF0ZS0+c2VsZWN0b3JGaWx0ZXIuZmFzdFJlamVjdFNlbGVj
dG9yKHJ1bGVEYXRhLmRlc2NlbmRhbnRTZWxlY3RvcklkZW50aWZpZXJIYXNoZXMoKSkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKIAorICAgICAgICBpZiAoYXV0byogY29udGFpbmVyUXVlcnkgPSBt
YXRjaFJlcXVlc3QucnVsZVNldC5jb250YWluZXJRdWVyeUZvcihydWxlRGF0YSkpIHsKKyAgICAg
ICAgICAgIGlmICghY29udGFpbmVyUXVlcnlNYXRjaGVzKCpjb250YWluZXJRdWVyeSkpCisgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKwogICAgICAgICBhdXRvJiBydWxlID0g
cnVsZURhdGEuc3R5bGVSdWxlKCk7CiAKICAgICAgICAgLy8gSWYgdGhlIHJ1bGUgaGFzIG5vIHBy
b3BlcnRpZXMgdG8gYXBwbHksIHRoZW4gaWdub3JlIGl0IGluIHRoZSBub24tZGVidWcgbW9kZS4K
QEAgLTUwMSw2ICs1MDQsMTQgQEAgdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29sbGVjdE1h
dGNoaW5nUnVsZXNGb3JMaXN0KGNvbnN0IFJ1bGVTZXQ6OlJ1bGVEYXRhVmUKICAgICB9CiB9CiAK
K2Jvb2wgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbnRhaW5lclF1ZXJ5TWF0Y2hlcyhjb25zdCBD
b250YWluZXJRdWVyeSYpCit7CisgICAgaWYgKCFtX3NlbGVjdG9yTWF0Y2hpbmdTdGF0ZSkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgLy8gRklYTUU6IFRoZSBhY3R1YWwgbWF0Y2hpbmcuCisg
ICAgcmV0dXJuICFtX3NlbGVjdG9yTWF0Y2hpbmdTdGF0ZS0+cXVlcnlDb250YWluZXJzLmlzRW1w
dHkoKTsKK30KKwogc3RhdGljIGlubGluZSBib29sIGNvbXBhcmVSdWxlcyhNYXRjaGVkUnVsZSBy
MSwgTWF0Y2hlZFJ1bGUgcjIpCiB7CiAgICAgLy8gRm9yIG5vcm1hbCBwcm9wZXJ0aWVzIHRoZSBl
YXJsaWVyIHNjb3BlIHdpbnMuIFRoaXMgbWF5IGJlIHJldmVyc2VkIGJ5ICFpbXBvcnRhbnQgd2hp
Y2ggaXMgaGFuZGxlZCB3aGVuIHJlc29sdmluZyBjYXNjYWRlLgpAQCAtNTc4LDcgKzU4OSw3IEBA
IHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmFkZEVsZW1lbnRJbmxpbmVTdHlsZVByb3BlcnRp
ZXMoYm9vbCBpbmNsdWRlU01JTFByb3BlCiAgICAgICAgIGFkZEVsZW1lbnRTdHlsZVByb3BlcnRp
ZXMoZG93bmNhc3Q8U1ZHRWxlbWVudD4oZWxlbWVudCgpKS5hbmltYXRlZFNNSUxTdHlsZVByb3Bl
cnRpZXMoKSwgZmFsc2UgLyogaXNDYWNoZWFibGUgKi8pOwogfQogCi1ib29sIEVsZW1lbnRSdWxl
Q29sbGVjdG9yOjpoYXNBbnlNYXRjaGluZ1J1bGVzKGNvbnN0IFJ1bGVTZXQqIHJ1bGVTZXQpCiti
b29sIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpoYXNBbnlNYXRjaGluZ1J1bGVzKGNvbnN0IFJ1bGVT
ZXQmIHJ1bGVTZXQpCiB7CiAgICAgY2xlYXJNYXRjaGVkUnVsZXMoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgKaW5kZXggMWFmNGZiMDA4N2NhOWM4OWJh
ZTViZjBkMGQ3ZmNlNmRlYjIxOGY2NS4uNGJhMzM0NGUwOTZjNzcwY2RhNjIxOTQwMDE1ODYzN2E3
YThiZTQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xs
ZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5o
CkBAIC04Miw3ICs4Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFBzZXVkb0VsZW1lbnRSZXF1
ZXN0KGNvbnN0IFBzZXVkb0VsZW1lbnRSZXF1ZXN0JiByZXF1ZXN0KSB7IG1fcHNldWRvRWxlbWVu
dFJlcXVlc3QgPSByZXF1ZXN0OyB9CiAgICAgdm9pZCBzZXRNZWRpdW0oY29uc3QgTWVkaWFRdWVy
eUV2YWx1YXRvciogbWVkaXVtKSB7IG1faXNQcmludFN0eWxlID0gbWVkaXVtLT5tZWRpYVR5cGVN
YXRjaFNwZWNpZmljKCJwcmludCIpOyB9CiAKLSAgICBib29sIGhhc0FueU1hdGNoaW5nUnVsZXMo
Y29uc3QgUnVsZVNldCopOworICAgIGJvb2wgaGFzQW55TWF0Y2hpbmdSdWxlcyhjb25zdCBSdWxl
U2V0Jik7CiAKICAgICBjb25zdCBNYXRjaFJlc3VsdCYgbWF0Y2hSZXN1bHQoKSBjb25zdDsKICAg
ICBjb25zdCBWZWN0b3I8UmVmUHRyPGNvbnN0IFN0eWxlUnVsZT4+JiBtYXRjaGVkUnVsZUxpc3Qo
KSBjb25zdDsKQEAgLTExMiw2ICsxMTIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY29sbGVjdE1h
dGNoaW5nUnVsZXMoY29uc3QgTWF0Y2hSZXF1ZXN0Jik7CiAgICAgdm9pZCBjb2xsZWN0TWF0Y2hp
bmdSdWxlc0Zvckxpc3QoY29uc3QgUnVsZVNldDo6UnVsZURhdGFWZWN0b3IqLCBjb25zdCBNYXRj
aFJlcXVlc3QmKTsKICAgICBib29sIHJ1bGVNYXRjaGVzKGNvbnN0IFJ1bGVEYXRhJiwgdW5zaWdu
ZWQmIHNwZWNpZmljaXR5LCBTY29wZU9yZGluYWwpOworICAgIGJvb2wgY29udGFpbmVyUXVlcnlN
YXRjaGVzKGNvbnN0IENvbnRhaW5lclF1ZXJ5Jik7CiAKICAgICB2b2lkIHNvcnRNYXRjaGVkUnVs
ZXMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCmluZGV4IDVlZmFhNGIzZTU4MjBmYTM0ODA1YzRm
NTQ2YTk2OWQyZjMyM2IyZTguLjY0ZTQ1MmY5ZmY1NzA4NTYwNjkzM2NhZmY2ZTdhZDFjYjIxMTZi
YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKQEAgLTEwOCw2ICsxMDgsNyBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGNhc2NhZGVMYXllclByaW9yaXR5Rm9yVW5sYXllcmVk
ID0gc3RkOjpudW1lcmljX2xpbWl0czxDYXNjYWRlTGF5ZXJQcmlvcml0eT46Om1heCgpOwogCiAg
ICAgQ2FzY2FkZUxheWVyUHJpb3JpdHkgY2FzY2FkZUxheWVyUHJpb3JpdHlGb3IoY29uc3QgUnVs
ZURhdGEmKSBjb25zdDsKKyAgICBjb25zdCBDb250YWluZXJRdWVyeSogY29udGFpbmVyUXVlcnlG
b3IoY29uc3QgUnVsZURhdGEmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3Mg
UnVsZVNldEJ1aWxkZXI7CkBAIC0yMjAsNSArMjIxLDE4IEBAIGlubGluZSBDYXNjYWRlTGF5ZXJQ
cmlvcml0eSBSdWxlU2V0OjpjYXNjYWRlTGF5ZXJQcmlvcml0eUZvcihjb25zdCBSdWxlRGF0YSYg
cnVsCiAgICAgcmV0dXJuIGNhc2NhZGVMYXllclByaW9yaXR5Rm9ySWRlbnRpZmllcihpZGVudGlm
aWVyKTsKIH0KIAoraW5saW5lIGNvbnN0IENvbnRhaW5lclF1ZXJ5KiBSdWxlU2V0Ojpjb250YWlu
ZXJRdWVyeUZvcihjb25zdCBSdWxlRGF0YSYgcnVsZURhdGEpIGNvbnN0Cit7CisgICAgaWYgKG1f
Y29udGFpbmVyUXVlcnlJZGVudGlmaWVyRm9yUnVsZVBvc2l0aW9uLnNpemUoKSA8PSBydWxlRGF0
YS5wb3NpdGlvbigpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGF1dG8gaWRlbnRp
ZmllciA9IG1fY29udGFpbmVyUXVlcnlJZGVudGlmaWVyRm9yUnVsZVBvc2l0aW9uW3J1bGVEYXRh
LnBvc2l0aW9uKCldOworICAgIGlmICghaWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICByZXR1cm4gJm1fY29udGFpbmVyUXVlcmllc1tpZGVudGlmaWVyIC0gMV0ucXVl
cnk7Cit9CisKKwogfSAvLyBuYW1lc3BhY2UgU3R5bGUKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1NlbGVjdG9yTWF0Y2hpbmdTdGF0ZS5o
IGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU2VsZWN0b3JNYXRjaGluZ1N0YXRlLmgKaW5kZXggMmI1
M2NkM2JhYmY2NDhiM2U3ZWNkYTI5NmU3YjliMmY0MjUzODk4Mi4uOWUwZTFiNGJkNThmMDJhZmRj
YmRkOWY4NWNiMDk3YjFhMWZmNzgxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U2VsZWN0b3JNYXRjaGluZ1N0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU2VsZWN0
b3JNYXRjaGluZ1N0YXRlLmgKQEAgLTM4LDYgKzM4LDggQEAgZW51bSBjbGFzcyBIYXNQc2V1ZG9D
bGFzc01hdGNoIDogdWludDhfdCB7IE5vbmUsIE1hdGNoZXMsIEZhaWxzLCBGYWlsc1N1YnRyZWUg
fTsKIHN0cnVjdCBTZWxlY3Rvck1hdGNoaW5nU3RhdGUgewogICAgIFNlbGVjdG9yRmlsdGVyIHNl
bGVjdG9yRmlsdGVyOwogCisgICAgVmVjdG9yPFJlZjxjb25zdCBFbGVtZW50Pj4gcXVlcnlDb250
YWluZXJzOworCiAgICAgSGFzaE1hcDxIYXNQc2V1ZG9DbGFzc0NhY2hlS2V5LCBIYXNQc2V1ZG9D
bGFzc01hdGNoPiBoYXNQc2V1ZG9DbGFzc01hdGNoQ2FjaGU7CiAgICAgSGFzaE1hcDxIYXNQc2V1
ZG9DbGFzc0ZpbHRlcktleSwgc3RkOjp1bmlxdWVfcHRyPEhhc1NlbGVjdG9yRmlsdGVyPj4gaGFz
UHNldWRvQ2xhc3NTZWxlY3RvckZpbHRlcnM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVTaGFyaW5nUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVTaGFyaW5nUmVzb2x2ZXIuY3BwCmluZGV4IGRjMzQ3OTIwN2ZkMTU2MDYwYjQ0YTViZTI1
MzQzMGQyZDQ4Njg1ZWYuLmM4ZWQ4NDFiY2VkOWU1ZDcxNGFlZmNkNDhlMTQxYjU4ZDdmMTY1NzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2hhcmluZ1Jlc29sdmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNoYXJpbmdSZXNvbHZlci5jcHAKQEAg
LTMzMCw3ICszMzAsNyBAQCBib29sIFNoYXJpbmdSZXNvbHZlcjo6c3R5bGVTaGFyaW5nQ2FuZGlk
YXRlTWF0Y2hlc1J1bGVTZXQoY29uc3QgU3R5bGVkRWxlbWVudCYgZQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICBFbGVtZW50UnVsZUNvbGxlY3RvciBjb2xsZWN0b3IoZWxlbWVudCwgbV9y
dWxlU2V0cywgJm1fc2VsZWN0b3JNYXRjaGluZ1N0YXRlKTsKLSAgICByZXR1cm4gY29sbGVjdG9y
Lmhhc0FueU1hdGNoaW5nUnVsZXMocnVsZVNldCk7CisgICAgcmV0dXJuIGNvbGxlY3Rvci5oYXNB
bnlNYXRjaGluZ1J1bGVzKCpydWxlU2V0KTsKIH0KIAogYm9vbCBTaGFyaW5nUmVzb2x2ZXI6OnNo
YXJpbmdDYW5kaWRhdGVIYXNJZGVudGljYWxTdHlsZUFmZmVjdGluZ0F0dHJpYnV0ZXMoY29uc3Qg
Q29udGV4dCYgY29udGV4dCwgY29uc3QgU3R5bGVkRWxlbWVudCYgc2hhcmluZ0NhbmRpZGF0ZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAppbmRleCAy
MGUyZTNkNjU3M2M0ODY3YTVkOTNmOWU4ZmRmZTE4YmUwYmZlY2I5Li4yZDIzNjZhZTQzOGI4OWZi
YTU3ZTUyNGE3Zjg1ZTc4ZTAwZjc1MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVU
cmVlUmVzb2x2ZXIuY3BwCkBAIC00MjYsNiArNDI2LDEwIEBAIHZvaWQgVHJlZVJlc29sdmVyOjpw
b3BQYXJlbnQoKQogCiAgICAgc2NvcGUoKS5zZWxlY3Rvck1hdGNoaW5nU3RhdGUuc2VsZWN0b3JG
aWx0ZXIucG9wUGFyZW50KCk7CiAKKyAgICBhdXRvJiBxdWVyeUNvbnRhaW5lcnMgPSBzY29wZSgp
LnNlbGVjdG9yTWF0Y2hpbmdTdGF0ZS5xdWVyeUNvbnRhaW5lcnM7CisgICAgaWYgKCFxdWVyeUNv
bnRhaW5lcnMuaXNFbXB0eSgpICYmIHF1ZXJ5Q29udGFpbmVycy5sYXN0KCkucHRyKCkgPT0gJnBh
cmVudEVsZW1lbnQpCisgICAgICAgIHF1ZXJ5Q29udGFpbmVycy5yZW1vdmVMYXN0KCk7CisKICAg
ICBtX3BhcmVudFN0YWNrLnJlbW92ZUxhc3QoKTsKIH0KIApAQCAtNTk0LDYgKzU5OCw5IEBAIHZv
aWQgVHJlZVJlc29sdmVyOjpyZXNvbHZlQ29tcG9zZWRUcmVlKCkKIAogICAgICAgICBib29sIHNo
b3VsZEl0ZXJhdGVDaGlsZHJlbiA9IHN0eWxlICYmIChlbGVtZW50LmNoaWxkTmVlZHNTdHlsZVJl
Y2FsYygpIHx8IGRlc2NlbmRhbnRzVG9SZXNvbHZlICE9IERlc2NlbmRhbnRzVG9SZXNvbHZlOjpO
b25lKTsKIAorICAgICAgICBpZiAoc2hvdWxkSXRlcmF0ZUNoaWxkcmVuKQorICAgICAgICAgICAg
dXBkYXRlUXVlcnlDb250YWluZXIoZWxlbWVudCwgKnN0eWxlKTsKKwogICAgICAgICBpZiAoIW1f
ZGlkU2VlUGVuZGluZ1N0eWxlc2hlZXQpCiAgICAgICAgICAgICBtX2RpZFNlZVBlbmRpbmdTdHls
ZXNoZWV0ID0gaGFzTG9hZGluZ1N0eWxlc2hlZXQobV9kb2N1bWVudC5zdHlsZVNjb3BlKCksIGVs
ZW1lbnQsICFzaG91bGRJdGVyYXRlQ2hpbGRyZW4pOwogCkBAIC02MTIsNiArNjE5LDE2IEBAIHZv
aWQgVHJlZVJlc29sdmVyOjpyZXNvbHZlQ29tcG9zZWRUcmVlKCkKICAgICBwb3BQYXJlbnRzVG9E
ZXB0aCgxKTsKIH0KIAordm9pZCBUcmVlUmVzb2x2ZXI6OnVwZGF0ZVF1ZXJ5Q29udGFpbmVyKGNv
bnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKK3sKKyAgICBp
ZiAoc3R5bGUuY29udGFpbmVyVHlwZSgpID09IENvbnRhaW5lclR5cGU6Ok5vbmUpCisgICAgICAg
IHJldHVybjsKKworICAgIHNjb3BlKCkuc2VsZWN0b3JNYXRjaGluZ1N0YXRlLnF1ZXJ5Q29udGFp
bmVycy5hcHBlbmQoZWxlbWVudCk7CisKKyAgICAvLyBGSVhNRTogU2tpcCB0aGUgc3VidHJlZSBh
bmQgZW5zdXJlIHRoZSBjb250YWluZXIgaXMgcmVzb2x2ZWQgYnkgZG9pbmcgYSBsYXlvdXQgaWYg
bmVlZGVkLgorfQorCiBzdGQ6OnVuaXF1ZV9wdHI8VXBkYXRlPiBUcmVlUmVzb2x2ZXI6OnJlc29s
dmUoKQogewogICAgIGF1dG8mIHJlbmRlclZpZXcgPSAqbV9kb2N1bWVudC5yZW5kZXJWaWV3KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuaAppbmRleCBmYTI1YTUxNTQ5
ZDQwZDg3ZDA1NTcxMzgyNWVmZWJhMDQ2ZTZlMGM3Li5hZjE4OWEzYTUwYjRmNTI1NzMxY2QzYWVk
ZTU2MzgxOTc0MGVmOTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRy
ZWVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVy
LmgKQEAgLTU5LDYgKzU5LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVy
U3R5bGU+IHN0eWxlRm9yU3R5bGVhYmxlKGNvbnN0IFN0eWxlYWJsZSYsIGNvbnN0IFJlc29sdXRp
b25Db250ZXh0Jik7CiAKICAgICB2b2lkIHJlc29sdmVDb21wb3NlZFRyZWUoKTsKKyAgICB2b2lk
IHVwZGF0ZVF1ZXJ5Q29udGFpbmVyKGNvbnN0IEVsZW1lbnQmLCBjb25zdCBSZW5kZXJTdHlsZSYp
OwogCiAgICAgRWxlbWVudFVwZGF0ZXMgcmVzb2x2ZUVsZW1lbnQoRWxlbWVudCYpOwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZDU3ZjMyYzkyM2IwODhjNzNhYWRkZWZmMjE4MTNlMDVmMjczMDlmZi4uZGVlNzRhOWU4ZmJi
MWQ4YTI5NzUzZTI1ZmQzZWQ3N2FhNjJkYjcwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIy
LTAxLTMxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NT
IENvbnRhaW5lciBRdWVyaWVzXSBDaGVjayBmb3IgcXVlcnkgY29udGFpbmVycyB3aGVuIG1hdGNo
aW5nIHJ1bGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzU4ODEKKworICAgICAgICBSZXZpZXdlZCBieSBBbnRvaW5lIFF1aW50LgorCisgICAgICAg
ICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMi0wMS0yOSAgVHlsZXIgV2lsY29jayAgPHR5bGVy
X3dAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJc29sYXRlZCB0cmVlIG9iamVjdHMgZG9uJ3Qg
dXBkYXRlIHRoZWlyIEFYUHJvcGVydHlOYW1lOjpFbGVtZW50UmVjdCBvciBBWFByb3BlcnR5TmFt
ZTo6Qm91bmRpbmdCb3hSZWN0IGluIHJlc3BvbnNlIHRvIGR5bmFtaWMgcGFnZSBjaGFuZ2VzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyYWVjZmNjODNlMGVmYzEyNjI5MDJmOTRi
YTFhZGYxNjhlOTBjM2QzLi42YzdiNWQ3OGVjYzdlMDZhMjI1OTg4MTJlOTg3NjEwMGM2MWIwNmYz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMi0w
MS0zMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NTUyBD
b250YWluZXIgUXVlcmllc10gQ2hlY2sgZm9yIHF1ZXJ5IGNvbnRhaW5lcnMgd2hlbiBtYXRjaGlu
ZyBydWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM1ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50b2luZSBRdWludC4KKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvY29u
dGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMS0yOCAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBjc3MvY3NzLWJhY2tn
cm91bmRzL2FuaW1hdGlvbnMvYm94LXNoYWRvdy1jb21wb3NpdGlvbi5odG1sIGhhcyBmYWlsdXJl
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNGMyYjk5N2E4NGZhYmI2ZjRhYzlmMTY1MDQyOGY2OWVm
OTZiMGRiZS4uZTQ3ZmRkMjY0NWZlZmZjZTI2NWEyZmNiOWIyY2ZjZTkzNzFiMWJiOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCkBAIC00NzQ3LDE1ICs0NzQ3LDggQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1odG1sLW92ZXJmbG93LTAwMy5odG1s
IFsKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4taHRtbC1vdmVyZmxvdy0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCiAjIENvbnRh
aW5lciBxdWVyaWVzCi13ZWJraXQub3JnL2IvMjI5NjU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL2NoYW5nZS1kaXNwbGF5
LWluLWNvbnRhaW5lci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjI5
NjU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW5lci1xdWVyaWVzL2NvdW50ZXJzLWluLWNvbnRhaW5lci1keW5hbWljLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvY291bnRlcnMtaW4tY29u
dGFpbmVyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMjk2NTkgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1
ZXJpZXMvZGlzcGxheS1pbi1jb250YWluZXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluZXItcXVlcmllcy9maWVsZHNldC1sZWdlbmQtY2hhbmdlLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvbXVsdGljb2wt
aW5zaWRlLWNvbnRhaW5lci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MjI5NjU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW5lci1xdWVyaWVzL3BzZXVkby1lbGVtZW50cy0wMDIudGVudGF0aXZlLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvcmVzaXplLXdoaWxl
LWNvbnRlbnQtdmlzaWJpbGl0eS1oaWRkZW4uaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzIyOTY1OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluZXItcXVlcmllcy90b3AtbGF5ZXItZGlhbG9nLWJhY2tkcm9wLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMjk2NTkgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMvaW5saW5l
LXNpemUtYmZjLWZsb2F0cy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MjI5NjU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW5lci1xdWVyaWVzL3doaXRlc3BhY2UtdXBkYXRlLWFmdGVyLXJlbW92YWwuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9jb250
YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJp
ZXMvY29udGFpbmVyLXR5cGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA3ZTFmYmYx
ZDIyY2EyYjJiOTVmMmRkZWY2ODcyNThmOWFmMDU4Mzg5Li5jMzUxYzIzN2M3OGRjYmY0ZjhlOGY0
M2ZmOTQyY2MwY2Y5YWJiNmE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9jb250
YWluZXItdHlwZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1x
dWVyaWVzL2NvbnRhaW5lci10eXBlLWludmFsaWRhdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACiBUZXN0CiAKLUZBSUwgQ2hhbmdpbmcgdGhlIGNvbnRhaW5lciB0eXBlIGludmFsaWRh
dGVzIHJlbGV2YW50IGRlc2NlbmRhbnRzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwg
MCwgMCkiIGJ1dCBnb3QgInJnYigwLCAxMjgsIDApIgorRkFJTCBDaGFuZ2luZyB0aGUgY29udGFp
bmVyIHR5cGUgaW52YWxpZGF0ZXMgcmVsZXZhbnQgZGVzY2VuZGFudHMgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInJnYigwLCAxMjgsIDApIiBidXQgZ290ICJyZ2IoMCwgMCwgMCkiCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>