<?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>255635</bug_id>
          
          <creation_ts>2023-04-18 18:18:39 -0700</creation_ts>
          <short_desc>REGRESSION(263094@main): It broke Windows port</short_desc>
          <delta_ts>2023-04-18 18:24:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>255473</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>fujii</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1949626</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-04-18 18:18:39 -0700</bug_when>
    <thetext>https://commits.webkit.org/263094@main introduced a regression:
It broke Windows port

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1949627</commentid>
    <comment_count>1</comment_count>
      <attachid>465974</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-04-18 18:18:45 -0700</bug_when>
    <thetext>Created attachment 465974
[fast-cq] REVERT of 263094@main

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1949628</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-04-18 18:23:47 -0700</bug_when>
    <thetext>Committed 263111@main (b801df7d479f): &lt;https://commits.webkit.org/263111@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 465974.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1949629</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-04-18 18:24:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/108235546&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>465974</attachid>
            <date>2023-04-18 18:18:45 -0700</date>
            <delta_ts>2023-04-18 18:23:48 -0700</delta_ts>
            <desc>[fast-cq] REVERT of 263094@main</desc>
            <filename>bug-255635-20230419011844.patch</filename>
            <type>text/plain</type>
            <size>157557</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSA2MmNmNmU3YThhM2FkMjA0ZjhmN2RiMTY5Y2Y0NTI0OTM5MDVkMmJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBXZWQsIDE5IEFwciAyMDIzIDAxOjE4OjQxICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjMwOTRAbWFpbi4KIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNTU2MzUKCkl0IGJyb2tlIFdpbmRvd3MgcG9ydAoKUmV2ZXJ0
ZWQgY2hhbmdlc2V0OgoKIlBsdW1iIHNoYXBlIGRldGVjdGlvbiBBUEkgdG8gdGhlIEdQVSBQcm9j
ZXNzIgpodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1NDczCmh0dHBz
Oi8vY29tbWl0cy53ZWJraXQub3JnLzI2MzA5NEBtYWluCi0tLQogU291cmNlL1dURi93dGYvUGxh
dGZvcm1IYXZlLmggICAgICAgICAgICAgICAgIHwgIDQgLQogU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZSAgICAgICAgICAgICAgICAgIHwgMTYgLS0tLQogLi4uL1NoYXBlRGV0ZWN0aW9uL0Jh
cmNvZGVEZXRlY3Rvci5jcHAgICAgICAgIHwgNjQgKysrKysrLS0tLS0tLS0tCiAuLi4vTW9kdWxl
cy9TaGFwZURldGVjdGlvbi9CYXJjb2RlRGV0ZWN0b3IuaCAgfCAgNSArLQogLi4uL1NoYXBlRGV0
ZWN0aW9uL0JhcmNvZGVEZXRlY3Rvci5pZGwgICAgICAgIHwgIDQgKy0KIC4uLi9Nb2R1bGVzL1No
YXBlRGV0ZWN0aW9uL0ZhY2VEZXRlY3Rvci5jcHAgICB8IDM1ICsrKy0tLS0tCiAuLi4vTW9kdWxl
cy9TaGFwZURldGVjdGlvbi9GYWNlRGV0ZWN0b3IuaCAgICAgfCAgMyArLQogLi4uL01vZHVsZXMv
U2hhcGVEZXRlY3Rpb24vRmFjZURldGVjdG9yLmlkbCAgIHwgIDIgKy0KIC4uLi9Db2NvYS9CYXJj
b2RlRGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oICAgICB8ICA0ICstCiAuLi4vQ29jb2EvRmFjZURl
dGVjdG9ySW1wbGVtZW50YXRpb24uaCAgICAgICAgfCAgMiArLQogLi4uL0NvY29hL1RleHREZXRl
Y3RvckltcGxlbWVudGF0aW9uLmggICAgICAgIHwgIDIgKy0KIC4uLi9CYXJjb2RlRGV0ZWN0b3JP
cHRpb25zSW50ZXJmYWNlLmggICAgICAgICB8ICAzICstCiAuLi4vSW50ZXJmYWNlcy9CYXJjb2Rl
Rm9ybWF0SW50ZXJmYWNlLmggICAgICAgfCAyNSAtLS0tLS0KIC4uLi9JbnRlcmZhY2VzL0RldGVj
dGVkQmFyY29kZUludGVyZmFjZS5oICAgICB8ICA3ICstCiAuLi4vSW50ZXJmYWNlcy9EZXRlY3Rl
ZEZhY2VJbnRlcmZhY2UuaCAgICAgICAgfCAgMyArLQogLi4uL0ludGVyZmFjZXMvRGV0ZWN0ZWRU
ZXh0SW50ZXJmYWNlLmggICAgICAgIHwgIDUgKy0KIC4uLi9JbnRlcmZhY2VzL0xhbmRtYXJrSW50
ZXJmYWNlLmggICAgICAgICAgICB8ICA3ICstCiAuLi4vSW50ZXJmYWNlcy9MYW5kbWFya1R5cGVJ
bnRlcmZhY2UuaCAgICAgICAgfCAxNSAtLS0tCiAuLi4vTW9kdWxlcy9TaGFwZURldGVjdGlvbi9U
ZXh0RGV0ZWN0b3IuY3BwICAgfCAzNCArKystLS0tLQogLi4uL01vZHVsZXMvU2hhcGVEZXRlY3Rp
b24vVGV4dERldGVjdG9yLmggICAgIHwgIDMgKy0KIC4uLi9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9u
L1RleHREZXRlY3Rvci5pZGwgICB8ICAyICstCiAuLi4vV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogfCAzMCArLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5jcHAgICAgICAgICAgICAgICAgfCAyNSArLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmggICAgICAgICAgICAgICAgICB8IDE4ICstLS0tCiBTb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oICAgICAgICAgICAgfCAxMiAtLS0KIFNvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQgICAgICAgICAgICAgICAgICB8ICA2IC0tCiBTb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QgfCAgNSArLQogLi4uL1dlYktpdC9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdCAgIHwgIDYgLS0KIFNvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMu
bWFrZSAgICAgICAgICAgICB8ICAzIC0KIC4uLi9TaGFwZURldGVjdGlvbi9SZW1vdGVCYXJjb2Rl
RGV0ZWN0b3IuY3BwICB8IDUyIC0tLS0tLS0tLS0tLQogLi4uL1NoYXBlRGV0ZWN0aW9uL1JlbW90
ZUJhcmNvZGVEZXRlY3Rvci5oICAgIHwgODEgLS0tLS0tLS0tLS0tLS0tLS0tLQogLi4uL1JlbW90
ZUJhcmNvZGVEZXRlY3Rvci5tZXNzYWdlcy5pbiAgICAgICAgIHwgMzAgLS0tLS0tLQogLi4uL1No
YXBlRGV0ZWN0aW9uL1JlbW90ZUZhY2VEZXRlY3Rvci5jcHAgICAgIHwgNTIgLS0tLS0tLS0tLS0t
CiAuLi4vU2hhcGVEZXRlY3Rpb24vUmVtb3RlRmFjZURldGVjdG9yLmggICAgICAgfCA4MCAtLS0t
LS0tLS0tLS0tLS0tLS0KIC4uLi9SZW1vdGVGYWNlRGV0ZWN0b3IubWVzc2FnZXMuaW4gICAgICAg
ICAgICB8IDMwIC0tLS0tLS0KIC4uLi9TaGFwZURldGVjdGlvbi9SZW1vdGVUZXh0RGV0ZWN0b3Iu
Y3BwICAgICB8IDUyIC0tLS0tLS0tLS0tLQogLi4uL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZVRleHRE
ZXRlY3Rvci5oICAgICAgIHwgODAgLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vUmVtb3RlVGV4dERl
dGVjdG9yLm1lc3NhZ2VzLmluICAgICAgICAgICAgfCAzMCAtLS0tLS0tCiAuLi4vU2hhcGVEZXRl
Y3Rpb25PYmplY3RIZWFwLmNwcCAgICAgICAgICAgICAgfCA3NyAtLS0tLS0tLS0tLS0tLS0tLS0K
IC4uLi9TaGFwZURldGVjdGlvbi9TaGFwZURldGVjdGlvbk9iamVjdEhlYXAuaCB8IDc5IC0tLS0t
LS0tLS0tLS0tLS0tLQogLi4uL2dyYXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIuY3Bw
ICAgIHwgIDEgLQogLi4uL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwICAgICAg
IHwgODAgLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFj
a2VuZC5oICAgICAgICAgfCAyMyArLS0tLS0KIC4uLi9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLm1l
c3NhZ2VzLmluICAgICAgICB8ICA4IC0tCiAuLi5TdHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxV
bml0TWFuYWdlci5jcHAgfCAgNCArLQogU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNz
YWdlcy5weSAgICAgIHwgIDkgKy0tCiAuLi4vdGVzdHMvTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRp
b25zLmNwcCAgICAgfCAgNSArLQogLi4uL1NjcmlwdHMvd2Via2l0L3Rlc3RzL01lc3NhZ2VOYW1l
cy5jcHAgICAgIHwgIDIgKy0KIC4uLi9TY3JpcHRzL3dlYmtpdC90ZXN0cy9NZXNzYWdlTmFtZXMu
aCAgICAgICB8ICAyICstCiAuLi4vVGVzdFdpdGhDVlBpeGVsQnVmZmVyTWVzc2FnZVJlY2VpdmVy
LmNwcCAgfCAgMiArLQogLi4uL3Rlc3RzL1Rlc3RXaXRoQ1ZQaXhlbEJ1ZmZlck1lc3NhZ2VzLmgg
ICAgIHwgIDIgKy0KIC4uLi9UZXN0V2l0aElmTWVzc2FnZU1lc3NhZ2VSZWNlaXZlci5jcHAgICAg
ICB8ICAyICstCiAuLi4vd2Via2l0L3Rlc3RzL1Rlc3RXaXRoSWZNZXNzYWdlTWVzc2FnZXMuaCAg
fCAgMiArLQogLi4uL1Rlc3RXaXRoSW1hZ2VEYXRhTWVzc2FnZVJlY2VpdmVyLmNwcCAgICAgIHwg
IDIgKy0KIC4uLi93ZWJraXQvdGVzdHMvVGVzdFdpdGhJbWFnZURhdGFNZXNzYWdlcy5oICB8ICAy
ICstCiAuLi4vVGVzdFdpdGhMZWdhY3lSZWNlaXZlck1lc3NhZ2VSZWNlaXZlci5jcHAgfCAgMiAr
LQogLi4uL3Rlc3RzL1Rlc3RXaXRoTGVnYWN5UmVjZWl2ZXJNZXNzYWdlcy5oICAgIHwgIDIgKy0K
IC4uLi9UZXN0V2l0aFNlbWFwaG9yZU1lc3NhZ2VSZWNlaXZlci5jcHAgICAgICB8ICAyICstCiAu
Li4vd2Via2l0L3Rlc3RzL1Rlc3RXaXRoU2VtYXBob3JlTWVzc2FnZXMuaCAgfCAgMiArLQogLi4u
L1Rlc3RXaXRoU3RyZWFtQmF0Y2hlZE1lc3NhZ2VSZWNlaXZlci5jcHAgIHwgIDIgKy0KIC4uLi90
ZXN0cy9UZXN0V2l0aFN0cmVhbUJhdGNoZWRNZXNzYWdlcy5oICAgICB8ICAyICstCiAuLi4vVGVz
dFdpdGhTdHJlYW1CdWZmZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICAgfCAgMiArLQogLi4uL3Rlc3Rz
L1Rlc3RXaXRoU3RyZWFtQnVmZmVyTWVzc2FnZXMuaCAgICAgIHwgIDIgKy0KIC4uLi90ZXN0cy9U
ZXN0V2l0aFN0cmVhbU1lc3NhZ2VSZWNlaXZlci5jcHAgICB8ICAyICstCiAuLi4vd2Via2l0L3Rl
c3RzL1Rlc3RXaXRoU3RyZWFtTWVzc2FnZXMuaCAgICAgfCAgMiArLQogLi4uL1Rlc3RXaXRoU3Vw
ZXJjbGFzc01lc3NhZ2VSZWNlaXZlci5jcHAgICAgIHwgIDIgKy0KIC4uLi93ZWJraXQvdGVzdHMv
VGVzdFdpdGhTdXBlcmNsYXNzTWVzc2FnZXMuaCB8ICAyICstCiAuLi4vVGVzdFdpdGhvdXRBdHRy
aWJ1dGVzTWVzc2FnZVJlY2VpdmVyLmNwcCAgfCAgMiArLQogLi4uL3Rlc3RzL1Rlc3RXaXRob3V0
QXR0cmlidXRlc01lc3NhZ2VzLmggICAgIHwgIDIgKy0KIC4uLi9XZWJLaXQvU2hhcmVkL1NoYXBl
RGV0ZWN0aW9uSWRlbnRpZmllci5oICB8IDM5IC0tLS0tLS0tLQogLi4uL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5zZXJpYWxpemF0aW9uLmluICAgIHwgNjUgLS0tLS0tLS0tLS0tLS0tCiBTb3VyY2Uv
V2ViS2l0L1NvdXJjZXMudHh0ICAgICAgICAgICAgICAgICAgICAgfCAxMCAtLS0KIC4uLi9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICB8IDUyIC0tLS0tLS0tLS0tLQog
Li4uL1JlbW90ZUJhcmNvZGVEZXRlY3RvclByb3h5LmNwcCAgICAgICAgICAgIHwgNzAgLS0tLS0t
LS0tLS0tLS0tLQogLi4uL1JlbW90ZUJhcmNvZGVEZXRlY3RvclByb3h5LmggICAgICAgICAgICAg
IHwgNzggLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vUmVtb3RlRmFjZURldGVjdG9yUHJveHkuY3Bw
ICAgICAgICAgICAgICAgfCA2NSAtLS0tLS0tLS0tLS0tLS0KIC4uLi9TaGFwZURldGVjdGlvbi9S
ZW1vdGVGYWNlRGV0ZWN0b3JQcm94eS5oICB8IDc1IC0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vUmVt
b3RlVGV4dERldGVjdG9yUHJveHkuY3BwICAgICAgICAgICAgICAgfCA2NSAtLS0tLS0tLS0tLS0t
LS0KIC4uLi9TaGFwZURldGVjdGlvbi9SZW1vdGVUZXh0RGV0ZWN0b3JQcm94eS5oICB8IDc0IC0t
LS0tLS0tLS0tLS0tLS0tCiAuLi4vZ3JhcGhpY3MvUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94
eS5jcHAgfCAgMSAtCiAuLi4vR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCAg
ICAgfCAgNiArLQogLi4uL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5jcHAgICAg
IHwgIDMgKy0KIC4uLi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwICAgICAgICB8
IDU3IC0tLS0tLS0tLS0tLS0KIC4uLi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCAg
ICAgICAgICB8ICA3ICstCiAuLi4vUmVtb3RlTGF5ZXJUcmVlL0dyYXBoaWNzTGF5ZXJDQVJlbW90
ZS5jcHAgfCAgMSAtCiAuLi4vbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oICAg
ICAgfCAgNyArLQogLi4uL21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gICAg
IHwgNDQgKy0tLS0tLS0tLQogODcgZmlsZXMgY2hhbmdlZCwgMTE2IGluc2VydGlvbnMoKyksIDE3
NzAgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZUJhcmNvZGVEZXRlY3Rvci5jcHAKIGRlbGV0ZSBtb2Rl
IDEwMDY0NCBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlQmFy
Y29kZURldGVjdG9yLmgKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlQmFyY29kZURldGVjdG9yLm1lc3NhZ2VzLmluCiBkZWxl
dGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL1NoYXBlRGV0ZWN0aW9uL1Jl
bW90ZUZhY2VEZXRlY3Rvci5jcHAKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlRmFjZURldGVjdG9yLmgKIGRlbGV0ZSBtb2Rl
IDEwMDY0NCBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlRmFj
ZURldGVjdG9yLm1lc3NhZ2VzLmluCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZVRleHREZXRlY3Rvci5jcHAKIGRlbGV0ZSBt
b2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3Rl
VGV4dERldGVjdG9yLmgKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlVGV4dERldGVjdG9yLm1lc3NhZ2VzLmluCiBkZWxldGUg
bW9kZSAxMDA2NDQgU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL1NoYXBlRGV0ZWN0aW9uL1NoYXBl
RGV0ZWN0aW9uT2JqZWN0SGVhcC5jcHAKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vU2hhcGVEZXRlY3Rpb25PYmplY3RIZWFwLmgKIGRl
bGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFwZURldGVjdGlvbklkZW50
aWZpZXIuaAogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
U2hhcGVEZXRlY3Rpb24vUmVtb3RlQmFyY29kZURldGVjdG9yUHJveHkuY3BwCiBkZWxldGUgbW9k
ZSAxMDA2NDQgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9TaGFwZURldGVjdGlvbi9SZW1v
dGVCYXJjb2RlRGV0ZWN0b3JQcm94eS5oCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9TaGFwZURldGVjdGlvbi9SZW1vdGVGYWNlRGV0ZWN0b3JQcm94eS5j
cHAKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL1NoYXBl
RGV0ZWN0aW9uL1JlbW90ZUZhY2VEZXRlY3RvclByb3h5LmgKIGRlbGV0ZSBtb2RlIDEwMDY0NCBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZVRleHREZXRl
Y3RvclByb3h5LmNwcAogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvU2hhcGVEZXRlY3Rpb24vUmVtb3RlVGV4dERldGVjdG9yUHJveHkuaAoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm1IYXZlLmgKaW5kZXggNjNlYzU5NTczODFkLi5kNTgwYmFkZDAzODYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
SGF2ZS5oCkBAIC0xMTMxLDEwICsxMTMxLDYgQEAKICNkZWZpbmUgSEFWRV9XRUJHUFVfSU1QTEVN
RU5UQVRJT04gMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgSEFWRV9T
SEFQRV9ERVRFQ1RJT05fQVBJX0lNUExFTUVOVEFUSU9OIDEKLSNlbmRpZgotCiAjaWYgSEFWRShX
RUJHUFVfSU1QTEVNRU5UQVRJT04pICYmICgoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTYwMDAwKSkKICNkZWZpbmUgSEFWRV9NRVRB
TF9CVUZGRVJfQklORElOR19SRUZMRUNUSU9OIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5k
ZXggMGZlYmVhMjEwYWJiLi43NGFiNTdmM2YxNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMSwy
MCArMSw0IEBACiBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCi0gICAgTW9k
dWxlcy9TaGFwZURldGVjdGlvbi9JbXBsZW1lbnRhdGlvbi9Db2NvYS9CYXJjb2RlRGV0ZWN0b3JJ
bXBsZW1lbnRhdGlvbi5oCi0gICAgTW9kdWxlcy9TaGFwZURldGVjdGlvbi9JbXBsZW1lbnRhdGlv
bi9Db2NvYS9GYWNlRGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oCi0gICAgTW9kdWxlcy9TaGFwZURl
dGVjdGlvbi9JbXBsZW1lbnRhdGlvbi9Db2NvYS9UZXh0RGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5o
Ci0KLSAgICBNb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvQmFyY29kZURldGVjdG9y
SW50ZXJmYWNlLmgKLSAgICBNb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvQmFyY29k
ZURldGVjdG9yT3B0aW9uc0ludGVyZmFjZS5oCi0gICAgTW9kdWxlcy9TaGFwZURldGVjdGlvbi9J
bnRlcmZhY2VzL0JhcmNvZGVGb3JtYXRJbnRlcmZhY2UuaAotICAgIE1vZHVsZXMvU2hhcGVEZXRl
Y3Rpb24vSW50ZXJmYWNlcy9EZXRlY3RlZEJhcmNvZGVJbnRlcmZhY2UuaAotICAgIE1vZHVsZXMv
U2hhcGVEZXRlY3Rpb24vSW50ZXJmYWNlcy9EZXRlY3RlZEZhY2VJbnRlcmZhY2UuaAotICAgIE1v
ZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW50ZXJmYWNlcy9EZXRlY3RlZFRleHRJbnRlcmZhY2UuaAot
ICAgIE1vZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW50ZXJmYWNlcy9GYWNlRGV0ZWN0b3JJbnRlcmZh
Y2UuaAotICAgIE1vZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW50ZXJmYWNlcy9GYWNlRGV0ZWN0b3JP
cHRpb25zSW50ZXJmYWNlLmgKLSAgICBNb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMv
TGFuZG1hcmtJbnRlcmZhY2UuaAotICAgIE1vZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW50ZXJmYWNl
cy9MYW5kbWFya1R5cGVJbnRlcmZhY2UuaAotICAgIE1vZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW50
ZXJmYWNlcy9UZXh0RGV0ZWN0b3JJbnRlcmZhY2UuaAotCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BV
LmgKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVBZGFwdGVyLmgKICAgICBNb2R1bGVzL1dlYkdQVS9H
UFVBZGRyZXNzTW9kZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBl
RGV0ZWN0aW9uL0JhcmNvZGVEZXRlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1No
YXBlRGV0ZWN0aW9uL0JhcmNvZGVEZXRlY3Rvci5jcHAKaW5kZXggYTc5MDYzOTVkZDQ2Li5hMzE4
ZjdmNTMwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rp
b24vQmFyY29kZURldGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBl
RGV0ZWN0aW9uL0JhcmNvZGVEZXRlY3Rvci5jcHAKQEAgLTI4LDM2ICsyOCwyNyBAQAogCiAjaW5j
bHVkZSAiQmFyY29kZURldGVjdG9yT3B0aW9ucy5oIgogI2luY2x1ZGUgIkJhcmNvZGVGb3JtYXQu
aCIKLSNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJEZXRlY3RlZEJhcmNvZGUuaCIKLSNp
bmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiSlNEZXRlY3RlZEJhcmNvZGUuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3Bl
LmgiCisKKyNpZiBQTEFURk9STShDT0NPQSkKKy8vIEZJWE1FOiBVc2UgdGhlIEdQVSBQcm9jZXNz
LgorI2luY2x1ZGUgIkJhcmNvZGVEZXRlY3RvckltcGxlbWVudGF0aW9uLmgiCisjZW5kaWYKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1FeGNlcHRpb25PcjxSZWY8QmFyY29kZURldGVjdG9yPj4g
QmFyY29kZURldGVjdG9yOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCwgY29uc3QgQmFyY29kZURldGVjdG9yT3B0aW9ucyYgYmFyY29kZURldGVj
dG9yT3B0aW9ucykKK0V4Y2VwdGlvbk9yPFJlZjxCYXJjb2RlRGV0ZWN0b3I+PiBCYXJjb2RlRGV0
ZWN0b3I6OmNyZWF0ZShjb25zdCBCYXJjb2RlRGV0ZWN0b3JPcHRpb25zJiBiYXJjb2RlRGV0ZWN0
b3JPcHRpb25zKQogewotICAgIGlmIChpczxEb2N1bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCkpIHsKLSAgICAgICAgY29uc3QgYXV0byYgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4o
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7Ci0gICAgICAgIGNvbnN0IGF1dG8qIHBhZ2UgPSBkb2N1
bWVudC5wYWdlKCk7Ci0gICAgICAgIGlmICghcGFnZSkKLSAgICAgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBBYm9ydEVycm9yIH07Ci0gICAgICAgIGF1dG8gYmFja2luZyA9IHBhZ2UtPmNocm9t
ZSgpLmNyZWF0ZUJhcmNvZGVEZXRlY3RvcihiYXJjb2RlRGV0ZWN0b3JPcHRpb25zLmNvbnZlcnRU
b0JhY2tpbmcoKSk7Ci0gICAgICAgIGlmICghYmFja2luZykKLSAgICAgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBBYm9ydEVycm9yIH07Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEJh
cmNvZGVEZXRlY3RvcihiYWNraW5nLnJlbGVhc2VOb25OdWxsKCkpKTsKLSAgICB9Ci0KLSAgICBp
ZiAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7Ci0gICAg
ICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1
MzgwIE1ha2UgdGhlIFNoYXBlIERldGVjdGlvbiBBUEkgd29yayBpbiBXb3JrZXJzCi0gICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBBYm9ydEVycm9yIH07Ci0gICAgfQotCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgLy8gRklYTUU6IFVzZSB0aGUgR1BVIFByb2Nlc3MuCisgICAgYXV0byBiYWNr
aW5nID0gU2hhcGVEZXRlY3Rpb246OkJhcmNvZGVEZXRlY3RvckltcGw6OmNyZWF0ZShiYXJjb2Rl
RGV0ZWN0b3JPcHRpb25zLmNvbnZlcnRUb0JhY2tpbmcoKSk7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQmFyY29kZURldGVjdG9yKFdURk1vdmUoYmFja2luZykpKTsKKyNlbHNlCisgICAgVU5V
U0VEX1BBUkFNKGJhcmNvZGVEZXRlY3Rvck9wdGlvbnMpOwogICAgIHJldHVybiBFeGNlcHRpb24g
eyBBYm9ydEVycm9yIH07CisjZW5kaWYKIH0KIAogCkBAIC02OCwyNyArNTksMTggQEAgQmFyY29k
ZURldGVjdG9yOjpCYXJjb2RlRGV0ZWN0b3IoUmVmPFNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRGV0
ZWN0b3I+JiYgYmFja2luZykKIAogQmFyY29kZURldGVjdG9yOjp+QmFyY29kZURldGVjdG9yKCkg
PSBkZWZhdWx0OwogCi1FeGNlcHRpb25Pcjx2b2lkPiBCYXJjb2RlRGV0ZWN0b3I6OmdldFN1cHBv
cnRlZEZvcm1hdHMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwgR2V0U3VwcG9ydGVkRm9ybWF0c1Byb21pc2UmJiBwcm9taXNlKQordm9pZCBCYXJjb2RlRGV0
ZWN0b3I6OmdldFN1cHBvcnRlZEZvcm1hdHMoR2V0U3VwcG9ydGVkRm9ybWF0c1Byb21pc2UmJiBw
cm9taXNlKQogewotICAgIGlmIChpczxEb2N1bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkp
IHsKLSAgICAgICAgY29uc3QgYXV0byYgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4oc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCk7Ci0gICAgICAgIGNvbnN0IGF1dG8qIHBhZ2UgPSBkb2N1bWVu
dC5wYWdlKCk7Ci0gICAgICAgIGlmICghcGFnZSkKLSAgICAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBBYm9ydEVycm9yIH07Ci0gICAgICAgIHBhZ2UtPmNocm9tZSgpLmdldEJhcmNvZGVEZXRl
Y3RvclN1cHBvcnRlZEZvcm1hdHMoKFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oVmVjdG9y
PFNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0PiYmIGJhcmNvZGVGb3JtYXRzKSBtdXRhYmxl
IHsKLSAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShiYXJjb2RlRm9ybWF0cy5tYXAoW10oYXV0
byBmb3JtYXQpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydEZyb21CYWNraW5nKGZv
cm1hdCk7Ci0gICAgICAgICAgICB9KSk7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgLy8gRklY
TUU6IFVzZSB0aGUgR1BVIFByb2Nlc3MuCisgICAgU2hhcGVEZXRlY3Rpb246OkJhcmNvZGVEZXRl
Y3RvckltcGw6OmdldFN1cHBvcnRlZEZvcm1hdHMoW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
XShWZWN0b3I8U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVGb3JtYXQ+JiYgYmFyY29kZUZvcm1hdHMp
IG11dGFibGUgeworICAgICAgICBwcm9taXNlLnJlc29sdmUoYmFyY29kZUZvcm1hdHMubWFwKFtd
KGF1dG8gZm9ybWF0KSB7CisgICAgICAgICAgICByZXR1cm4gY29udmVydEZyb21CYWNraW5nKGZv
cm1hdCk7CiAgICAgICAgIH0pKTsKLSAgICAgICAgcmV0dXJuIHsgfTsKLSAgICB9Ci0KLSAgICBp
ZiAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7Ci0gICAg
ICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1
MzgwIE1ha2UgdGhlIFNoYXBlIERldGVjdGlvbiBBUEkgd29yayBpbiBXb3JrZXJzCi0gICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBBYm9ydEVycm9yIH07Ci0gICAgfQotCi0gICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEFib3J0RXJyb3IgfTsKKyAgICB9KTsKKyNlbHNlCisgICAgcHJvbWlzZS5yZXNv
bHZlKHsgfSk7CisjZW5kaWYKIH0KIAogdm9pZCBCYXJjb2RlRGV0ZWN0b3I6OmRldGVjdChjb25z
dCBJbWFnZUJpdG1hcDo6U291cmNlJiwgRGV0ZWN0UHJvbWlzZSYmIHByb21pc2UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0JhcmNvZGVEZXRlY3Rv
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9CYXJjb2RlRGV0ZWN0
b3IuaAppbmRleCBmMmM2ZDMzNGQxOTguLjQxZWM3OTRmZmZjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9CYXJjb2RlRGV0ZWN0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0JhcmNvZGVEZXRlY3Rvci5oCkBA
IC0zNywxNiArMzcsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IEJhcmNvZGVEZXRl
Y3Rvck9wdGlvbnM7CiBlbnVtIGNsYXNzIEJhcmNvZGVGb3JtYXQgOiB1aW50OF90Owogc3RydWN0
IERldGVjdGVkQmFyY29kZTsKLWNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNz
IEJhcmNvZGVEZXRlY3RvciA6IHB1YmxpYyBSZWZDb3VudGVkPEJhcmNvZGVEZXRlY3Rvcj4gewog
cHVibGljOgotICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8QmFyY29kZURldGVjdG9yPj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBCYXJjb2RlRGV0ZWN0b3JPcHRpb25z
Jik7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxCYXJjb2RlRGV0ZWN0b3I+PiBjcmVhdGUo
Y29uc3QgQmFyY29kZURldGVjdG9yT3B0aW9ucyYpOwogCiAgICAgfkJhcmNvZGVEZXRlY3Rvcigp
OwogCiAgICAgdXNpbmcgR2V0U3VwcG9ydGVkRm9ybWF0c1Byb21pc2UgPSBET01Qcm9taXNlRGVm
ZXJyZWQ8SURMU2VxdWVuY2U8SURMRW51bWVyYXRpb248QmFyY29kZUZvcm1hdD4+PjsKLSAgICBz
dGF0aWMgRXhjZXB0aW9uT3I8dm9pZD4gZ2V0U3VwcG9ydGVkRm9ybWF0cyhTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgR2V0U3VwcG9ydGVkRm9ybWF0c1Byb21pc2UmJik7CisgICAgc3RhdGljIHZv
aWQgZ2V0U3VwcG9ydGVkRm9ybWF0cyhHZXRTdXBwb3J0ZWRGb3JtYXRzUHJvbWlzZSYmKTsKIAog
ICAgIHVzaW5nIERldGVjdFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMU2VxdWVuY2U8
SURMRGljdGlvbmFyeTxEZXRlY3RlZEJhcmNvZGU+Pj47CiAgICAgdm9pZCBkZXRlY3QoY29uc3Qg
SW1hZ2VCaXRtYXA6OlNvdXJjZSYsIERldGVjdFByb21pc2UmJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0JhcmNvZGVEZXRlY3Rvci5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0JhcmNvZGVEZXRlY3Rvci5pZGwK
aW5kZXggYTc4ZjE1M2FkMzZkLi5jNWYwOTMxODdiODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vQmFyY29kZURldGVjdG9yLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0JhcmNvZGVEZXRlY3Rvci5pZGwKQEAg
LTQ5LDggKzQ5LDggQEAgdHlwZWRlZiAoQ2FudmFzSW1hZ2VTb3VyY2Ugb3IgQmxvYiBvciBJbWFn
ZURhdGEpIEltYWdlQml0bWFwU291cmNlOwogICAgIFNlY3VyZUNvbnRleHQKIF0KIGludGVyZmFj
ZSBCYXJjb2RlRGV0ZWN0b3IgewotICAgIFtDYWxsV2l0aD1DdXJyZW50U2NyaXB0RXhlY3V0aW9u
Q29udGV4dF0gY29uc3RydWN0b3Iob3B0aW9uYWwgQmFyY29kZURldGVjdG9yT3B0aW9ucyBiYXJj
b2RlRGV0ZWN0b3JPcHRpb25zID0ge30pOwotICAgIFtDYWxsV2l0aD1DdXJyZW50U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dF0gc3RhdGljIFByb21pc2U8c2VxdWVuY2U8QmFyY29kZUZvcm1hdD4+IGdl
dFN1cHBvcnRlZEZvcm1hdHMoKTsKKyAgICBjb25zdHJ1Y3RvcihvcHRpb25hbCBCYXJjb2RlRGV0
ZWN0b3JPcHRpb25zIGJhcmNvZGVEZXRlY3Rvck9wdGlvbnMgPSB7fSk7CisgICAgc3RhdGljIFBy
b21pc2U8c2VxdWVuY2U8QmFyY29kZUZvcm1hdD4+IGdldFN1cHBvcnRlZEZvcm1hdHMoKTsKIAog
ICAgIFByb21pc2U8c2VxdWVuY2U8RGV0ZWN0ZWRCYXJjb2RlPj4gZGV0ZWN0KEltYWdlQml0bWFw
U291cmNlIGltYWdlKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1No
YXBlRGV0ZWN0aW9uL0ZhY2VEZXRlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1No
YXBlRGV0ZWN0aW9uL0ZhY2VEZXRlY3Rvci5jcHAKaW5kZXggNTRlYmViYzVkM2YxLi40MjkwMzNk
NDcyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24v
RmFjZURldGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0
aW9uL0ZhY2VEZXRlY3Rvci5jcHAKQEAgLTI2LDM3ICsyNiwyOCBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkZhY2VEZXRlY3Rvci5oIgogCi0jaW5jbHVkZSAiQ2hyb21lLmgiCiAj
aW5jbHVkZSAiRGV0ZWN0ZWRGYWNlLmgiCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJGYWNlRGV0ZWN0b3JPcHRpb25zLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKICNpbmNsdWRlICJKU0RldGVjdGVkRmFjZS5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2Nv
cGUuaCIKKworI2lmIFBMQVRGT1JNKENPQ09BKQorLy8gRklYTUU6IFVzZSB0aGUgR1BVIFByb2Nl
c3MuCisjaW5jbHVkZSAiRmFjZURldGVjdG9ySW1wbGVtZW50YXRpb24uaCIKKyNlbmRpZgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLUV4Y2VwdGlvbk9yPFJlZjxGYWNlRGV0ZWN0b3I+PiBGYWNl
RGV0ZWN0b3I6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBjb25zdCBGYWNlRGV0ZWN0b3JPcHRpb25zJiBmYWNlRGV0ZWN0b3JPcHRpb25zKQor
RXhjZXB0aW9uT3I8UmVmPEZhY2VEZXRlY3Rvcj4+IEZhY2VEZXRlY3Rvcjo6Y3JlYXRlKGNvbnN0
IEZhY2VEZXRlY3Rvck9wdGlvbnMmIGZhY2VEZXRlY3Rvck9wdGlvbnMpCiB7Ci0gICAgaWYgKGlz
PERvY3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KSkgewotICAgICAgICBjb25zdCBhdXRv
JiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsK
LSAgICAgICAgY29uc3QgYXV0byogcGFnZSA9IGRvY3VtZW50LnBhZ2UoKTsKLSAgICAgICAgaWYg
KCFwYWdlKQotICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IgfTsKLSAg
ICAgICAgYXV0byBiYWNraW5nID0gcGFnZS0+Y2hyb21lKCkuY3JlYXRlRmFjZURldGVjdG9yKGZh
Y2VEZXRlY3Rvck9wdGlvbnMuY29udmVydFRvQmFja2luZygpKTsKLSAgICAgICAgaWYgKCFiYWNr
aW5nKQotICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IgfTsKLSAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmFjZURldGVjdG9yKGJhY2tpbmcucmVsZWFzZU5vbk51
bGwoKSkpOwotICAgIH0KLQotICAgIGlmIChpczxXb3JrZXJHbG9iYWxTY29wZT4oc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkpIHsKLSAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNTUzODAgTWFrZSB0aGUgU2hhcGUgRGV0ZWN0aW9uIEFQSSB3
b3JrIGluIFdvcmtlcnMKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IgfTsK
LSAgICB9Ci0KKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICAvLyBGSVhNRTogVXNlIHRoZSBHUFUg
UHJvY2Vzcy4KKyAgICBhdXRvIGJhY2tpbmcgPSBTaGFwZURldGVjdGlvbjo6RmFjZURldGVjdG9y
SW1wbDo6Y3JlYXRlKGZhY2VEZXRlY3Rvck9wdGlvbnMuY29udmVydFRvQmFja2luZygpKTsKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBGYWNlRGV0ZWN0b3IoV1RGTW92ZShiYWNraW5nKSkpOwor
I2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZmFjZURldGVjdG9yT3B0aW9ucyk7CiAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IgfTsKKyNlbmRpZgogfQogCiBGYWNlRGV0ZWN0b3I6OkZh
Y2VEZXRlY3RvcihSZWY8U2hhcGVEZXRlY3Rpb246OkZhY2VEZXRlY3Rvcj4mJiBiYWNraW5nKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9GYWNlRGV0
ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vRmFjZURldGVj
dG9yLmgKaW5kZXggZmRiNzYzYmQ5NmI2Li5iN2IxYmQ0ZDM3YmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vRmFjZURldGVjdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9GYWNlRGV0ZWN0b3IuaApAQCAtMzYs
MTEgKzM2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IEZhY2VEZXRlY3Rvck9w
dGlvbnM7CiBzdHJ1Y3QgRGV0ZWN0ZWRGYWNlOwotY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIAogY2xhc3MgRmFjZURldGVjdG9yIDogcHVibGljIFJlZkNvdW50ZWQ8RmFjZURldGVjdG9y
PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxGYWNlRGV0ZWN0b3I+PiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IEZhY2VEZXRlY3Rvck9wdGlvbnMm
KTsKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEZhY2VEZXRlY3Rvcj4+IGNyZWF0ZShjb25z
dCBGYWNlRGV0ZWN0b3JPcHRpb25zJik7CiAKICAgICB+RmFjZURldGVjdG9yKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vRmFjZURldGVjdG9y
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vRmFjZURldGVjdG9y
LmlkbAppbmRleCBlZjI5YzZiNDVlMTQuLjYxZDBjM2QzY2FlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9GYWNlRGV0ZWN0b3IuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vRmFjZURldGVjdG9yLmlkbApAQCAt
NDksNiArNDksNiBAQCB0eXBlZGVmIChDYW52YXNJbWFnZVNvdXJjZSBvciBCbG9iIG9yIEltYWdl
RGF0YSkgSW1hZ2VCaXRtYXBTb3VyY2U7CiAgICAgU2VjdXJlQ29udGV4dAogXQogaW50ZXJmYWNl
IEZhY2VEZXRlY3RvciB7Ci0gICAgW0NhbGxXaXRoPUN1cnJlbnRTY3JpcHRFeGVjdXRpb25Db250
ZXh0XSBjb25zdHJ1Y3RvcihvcHRpb25hbCBGYWNlRGV0ZWN0b3JPcHRpb25zIGZhY2VEZXRlY3Rv
ck9wdGlvbnMgPSB7fSk7CisgICAgY29uc3RydWN0b3Iob3B0aW9uYWwgRmFjZURldGVjdG9yT3B0
aW9ucyBmYWNlRGV0ZWN0b3JPcHRpb25zID0ge30pOwogICAgIFByb21pc2U8c2VxdWVuY2U8RGV0
ZWN0ZWRGYWNlPj4gZGV0ZWN0KEltYWdlQml0bWFwU291cmNlIGltYWdlKTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ltcGxlbWVudGF0aW9u
L0NvY29hL0JhcmNvZGVEZXRlY3RvckltcGxlbWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ltcGxlbWVudGF0aW9uL0NvY29hL0JhcmNvZGVEZXRlY3Rv
ckltcGxlbWVudGF0aW9uLmgKaW5kZXggNjA5MTBjYTE4NDQ2Li45MTE2NDNhMWE0OWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW1wbGVtZW50YXRp
b24vQ29jb2EvQmFyY29kZURldGVjdG9ySW1wbGVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ltcGxlbWVudGF0aW9uL0NvY29hL0JhcmNvZGVE
ZXRlY3RvckltcGxlbWVudGF0aW9uLmgKQEAgLTQxLDEwICs0MSwxMCBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIH5CYXJjb2RlRGV0ZWN0b3JJbXBsKCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRGb3JtYXRzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVj
dG9yPEJhcmNvZGVGb3JtYXQ+JiYpPiYmKTsKKyAgICBzdGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRG
b3JtYXRzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPEJhcmNvZGVGb3JtYXQ+JiYpPiYm
KTsKIAogcHJpdmF0ZToKLSAgICBXRUJDT1JFX0VYUE9SVCBCYXJjb2RlRGV0ZWN0b3JJbXBsKGNv
bnN0IEJhcmNvZGVEZXRlY3Rvck9wdGlvbnMmKTsKKyAgICBCYXJjb2RlRGV0ZWN0b3JJbXBsKGNv
bnN0IEJhcmNvZGVEZXRlY3Rvck9wdGlvbnMmKTsKIAogICAgIEJhcmNvZGVEZXRlY3RvckltcGwo
Y29uc3QgQmFyY29kZURldGVjdG9ySW1wbCYpID0gZGVsZXRlOwogICAgIEJhcmNvZGVEZXRlY3Rv
ckltcGwoQmFyY29kZURldGVjdG9ySW1wbCYmKSA9IGRlbGV0ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW1wbGVtZW50YXRpb24vQ29jb2EvRmFj
ZURldGVjdG9ySW1wbGVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVE
ZXRlY3Rpb24vSW1wbGVtZW50YXRpb24vQ29jb2EvRmFjZURldGVjdG9ySW1wbGVtZW50YXRpb24u
aAppbmRleCA2N2I2YWZiMmE2Y2UuLjJlM2JlNWZkNzk1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9JbXBsZW1lbnRhdGlvbi9Db2NvYS9GYWNlRGV0
ZWN0b3JJbXBsZW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVE
ZXRlY3Rpb24vSW1wbGVtZW50YXRpb24vQ29jb2EvRmFjZURldGVjdG9ySW1wbGVtZW50YXRpb24u
aApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RmFjZURldGVjdG9ySW1w
bCgpOwogCiBwcml2YXRlOgotICAgIFdFQkNPUkVfRVhQT1JUIEZhY2VEZXRlY3RvckltcGwoY29u
c3QgRmFjZURldGVjdG9yT3B0aW9ucyYpOworICAgIEZhY2VEZXRlY3RvckltcGwoY29uc3QgRmFj
ZURldGVjdG9yT3B0aW9ucyYpOwogCiAgICAgRmFjZURldGVjdG9ySW1wbChjb25zdCBGYWNlRGV0
ZWN0b3JJbXBsJikgPSBkZWxldGU7CiAgICAgRmFjZURldGVjdG9ySW1wbChGYWNlRGV0ZWN0b3JJ
bXBsJiYpID0gZGVsZXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFw
ZURldGVjdGlvbi9JbXBsZW1lbnRhdGlvbi9Db2NvYS9UZXh0RGV0ZWN0b3JJbXBsZW1lbnRhdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9JbXBsZW1lbnRhdGlv
bi9Db2NvYS9UZXh0RGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oCmluZGV4IDZiMmEwYzExYzMyNC4u
NjZhMGQ1MzUwMzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0
ZWN0aW9uL0ltcGxlbWVudGF0aW9uL0NvY29hL1RleHREZXRlY3RvckltcGxlbWVudGF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9JbXBsZW1lbnRhdGlv
bi9Db2NvYS9UZXh0RGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oCkBAIC00MCw3ICs0MCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5UZXh0RGV0ZWN0b3JJbXBsKCk7CiAKIHByaXZhdGU6Ci0gICAg
V0VCQ09SRV9FWFBPUlQgVGV4dERldGVjdG9ySW1wbCgpOworICAgIFRleHREZXRlY3RvckltcGwo
KTsKIAogICAgIFRleHREZXRlY3RvckltcGwoY29uc3QgVGV4dERldGVjdG9ySW1wbCYpID0gZGVs
ZXRlOwogICAgIFRleHREZXRlY3RvckltcGwoVGV4dERldGVjdG9ySW1wbCYmKSA9IGRlbGV0ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW50ZXJm
YWNlcy9CYXJjb2RlRGV0ZWN0b3JPcHRpb25zSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvQmFyY29kZURldGVjdG9yT3B0aW9uc0lu
dGVyZmFjZS5oCmluZGV4IGM4MGM1NjYyMDBlZi4uYTU0ODU0NTM5MWVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvQmFyY29kZURl
dGVjdG9yT3B0aW9uc0ludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hh
cGVEZXRlY3Rpb24vSW50ZXJmYWNlcy9CYXJjb2RlRGV0ZWN0b3JPcHRpb25zSW50ZXJmYWNlLmgK
QEAgLTI1LDExICsyNSwxMiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkJhcmNvZGVG
b3JtYXRJbnRlcmZhY2UuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlOjpTaGFwZURldGVjdGlvbiB7CiAKK2VudW0gY2xhc3MgQmFyY29kZUZvcm1hdCA6IHVp
bnQ4X3Q7CisKIHN0cnVjdCBCYXJjb2RlRGV0ZWN0b3JPcHRpb25zIHsKICAgICBWZWN0b3I8QmFy
Y29kZUZvcm1hdD4gZm9ybWF0czsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvQmFyY29kZUZvcm1hdEludGVyZmFjZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9JbnRlcmZhY2VzL0JhcmNvZGVG
b3JtYXRJbnRlcmZhY2UuaAppbmRleCAxMmFkNTk5ZTBmMzQuLmIxY2ZkMTRiZGVjMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9JbnRlcmZhY2VzL0Jh
cmNvZGVGb3JtYXRJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBl
RGV0ZWN0aW9uL0ludGVyZmFjZXMvQmFyY29kZUZvcm1hdEludGVyZmFjZS5oCkBAIC0yNiw3ICsy
Niw2IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPGNzdGRpbnQ+Ci0jaW5jbHVkZSA8d3Rm
L0VudW1UcmFpdHMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uIHsKIApA
QCAtNDgsMjcgKzQ3LDMgQEAgZW51bSBjbGFzcyBCYXJjb2RlRm9ybWF0IDogdWludDhfdCB7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlOjpTaGFwZURldGVjdGlvbgotCi1uYW1lc3BhY2Ug
V1RGIHsKLQotdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTaGFwZURldGVj
dGlvbjo6QmFyY29kZUZvcm1hdD4gewotICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Ci0g
ICAgICAgIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0LAotICAgICAgICBX
ZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZUZvcm1hdDo6QXp0ZWMsCi0gICAgICAgIFdl
YkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0OjpDb2RlXzEyOCwKLSAgICAgICAg
V2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVGb3JtYXQ6OkNvZGVfMzksCi0gICAgICAg
IFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0OjpDb2RlXzkzLAotICAgICAg
ICBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZUZvcm1hdDo6Q29kYWJhciwKLSAgICAg
ICAgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVGb3JtYXQ6OkRhdGFfbWF0cml4LAot
ICAgICAgICBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZUZvcm1hdDo6RWFuXzEzLAot
ICAgICAgICBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZUZvcm1hdDo6RWFuXzgsCi0g
ICAgICAgIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0OjpJdGYsCi0gICAg
ICAgIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0OjpQZGY0MTcsCi0gICAg
ICAgIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0OjpRcl9jb2RlLAotICAg
ICAgICBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZUZvcm1hdDo6VW5rbm93biwKLSAg
ICAgICAgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVGb3JtYXQ6OlVwY19hLAotICAg
ICAgICBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZUZvcm1hdDo6VXBjX2UKLSAgICA+
OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvRGV0ZWN0ZWRCYXJjb2RlSW50ZXJmYWNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvRGV0
ZWN0ZWRCYXJjb2RlSW50ZXJmYWNlLmgKaW5kZXggNjRiM2E0ZjYzMDEyLi4wMzQ1YTNkYWRhOTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW50ZXJm
YWNlcy9EZXRlY3RlZEJhcmNvZGVJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvRGV0ZWN0ZWRCYXJjb2RlSW50ZXJmYWNlLmgK
QEAgLTI1LDEyICsyNSwxNSBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkJhcmNvZGVG
b3JtYXRJbnRlcmZhY2UuaCIKLSNpbmNsdWRlICJGbG9hdFBvaW50LmgiCisjaW5jbHVkZSAiQmFy
Y29kZUZvcm1hdC5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgRmxvYXRQb2ludDsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmU6OlNoYXBlRGV0
ZWN0aW9uIHsKIAogc3RydWN0IERldGVjdGVkQmFyY29kZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvRGV0ZWN0ZWRGYWNlSW50
ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFj
ZXMvRGV0ZWN0ZWRGYWNlSW50ZXJmYWNlLmgKaW5kZXggOTQ1M2VkNDVkMDAwLi4xNDA2YmIwMzg5
NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW50
ZXJmYWNlcy9EZXRlY3RlZEZhY2VJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvRGV0ZWN0ZWRGYWNlSW50ZXJmYWNlLmgKQEAg
LTI2LDEyICsyNiwxMyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
LSNpbmNsdWRlICJMYW5kbWFya0ludGVyZmFjZS5oIgogI2luY2x1ZGUgPG9wdGlvbmFsPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9u
IHsKIAorc3RydWN0IExhbmRtYXJrOworCiBzdHJ1Y3QgRGV0ZWN0ZWRGYWNlIHsKICAgICBGbG9h
dFJlY3QgYm91bmRpbmdCb3g7CiAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8TGFuZG1hcms+PiBs
YW5kbWFya3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0
aW9uL0ludGVyZmFjZXMvRGV0ZWN0ZWRUZXh0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvRGV0ZWN0ZWRUZXh0SW50ZXJmYWNlLmgK
aW5kZXggMzdhNzUyMGNlZTM5Li4wM2NlODJkYTk1ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW50ZXJmYWNlcy9EZXRlY3RlZFRleHRJbnRlcmZh
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFj
ZXMvRGV0ZWN0ZWRUZXh0SW50ZXJmYWNlLmgKQEAgLTI1LDExICsyNSwxNCBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEZsb2F0UG9pbnQ7Cit9CisKIG5hbWVzcGFj
ZSBXZWJDb3JlOjpTaGFwZURldGVjdGlvbiB7CiAKIHN0cnVjdCBEZXRlY3RlZFRleHQgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9JbnRlcmZhY2Vz
L0xhbmRtYXJrSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0
aW9uL0ludGVyZmFjZXMvTGFuZG1hcmtJbnRlcmZhY2UuaAppbmRleCAxODhiMDg3OWQyODUuLjM1
MzRkYTAzNzMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVj
dGlvbi9JbnRlcmZhY2VzL0xhbmRtYXJrSW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9TaGFwZURldGVjdGlvbi9JbnRlcmZhY2VzL0xhbmRtYXJrSW50ZXJmYWNlLmgKQEAg
LTI1LDEwICsyNSwxMyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkZsb2F0UG9pbnQu
aCIKLSNpbmNsdWRlICJMYW5kbWFya1R5cGVJbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJMYW5kbWFy
a1R5cGUuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsK
K2NsYXNzIEZsb2F0UG9pbnQ7Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlOjpTaGFwZURldGVjdGlv
biB7CiAKIHN0cnVjdCBMYW5kbWFyayB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvTGFuZG1hcmtUeXBlSW50ZXJmYWNlLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0ZWN0aW9uL0ludGVyZmFjZXMvTGFuZG1hcmtU
eXBlSW50ZXJmYWNlLmgKaW5kZXggMGQyZmY5ZmVmYzNjLi45NGNhOWU2YWUxZTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vSW50ZXJmYWNlcy9MYW5k
bWFya1R5cGVJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0
ZWN0aW9uL0ludGVyZmFjZXMvTGFuZG1hcmtUeXBlSW50ZXJmYWNlLmgKQEAgLTI2LDcgKzI2LDYg
QEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8Y3N0ZGludD4KLSNpbmNsdWRlIDx3dGYvRW51
bVRyYWl0cy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb24gewogCkBAIC0z
NywxNyArMzYsMyBAQCBlbnVtIGNsYXNzIExhbmRtYXJrVHlwZSA6IHVpbnQ4X3QgewogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb24KLQotbmFtZXNwYWNlIFdURiB7
Ci0KLXRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246
OkxhbmRtYXJrVHlwZT4gewotICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Ci0gICAgICAg
IFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpMYW5kbWFya1R5cGUsCi0gICAgICAgIFdlYkNvcmU6
OlNoYXBlRGV0ZWN0aW9uOjpMYW5kbWFya1R5cGU6Ok1vdXRoLAotICAgICAgICBXZWJDb3JlOjpT
aGFwZURldGVjdGlvbjo6TGFuZG1hcmtUeXBlOjpFeWUsCi0gICAgICAgIFdlYkNvcmU6OlNoYXBl
RGV0ZWN0aW9uOjpMYW5kbWFya1R5cGU6Ok5vc2UKLSAgICA+OwotfTsKLQotfSAvLyBuYW1lc3Bh
Y2UgV1RGCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rp
b24vVGV4dERldGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rp
b24vVGV4dERldGVjdG9yLmNwcAppbmRleCA2NmZjOWIwMmQ0MjIuLmY3ZjUxMDZlNzEwYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9UZXh0RGV0ZWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vVGV4dERl
dGVjdG9yLmNwcApAQCAtMjYsMzYgKzI2LDI2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiVGV4dERldGVjdG9yLmgiCiAKLSNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJE
ZXRlY3RlZFRleHQuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkpTRE9NUHJv
bWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNEZXRlY3RlZFRleHQuaCIKLSNpbmNsdWRlICJQ
YWdlLmgiCi0jaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotI2luY2x1ZGUgIldv
cmtlckdsb2JhbFNjb3BlLmgiCisKKyNpZiBQTEFURk9STShDT0NPQSkKKy8vIEZJWE1FOiBVc2Ug
dGhlIEdQVSBQcm9jZXNzLgorI2luY2x1ZGUgIlRleHREZXRlY3RvckltcGxlbWVudGF0aW9uLmgi
CisjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1FeGNlcHRpb25PcjxSZWY8VGV4dERl
dGVjdG9yPj4gVGV4dERldGVjdG9yOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCkKK0V4Y2VwdGlvbk9yPFJlZjxUZXh0RGV0ZWN0b3I+PiBUZXh0
RGV0ZWN0b3I6OmNyZWF0ZSgpCiB7Ci0gICAgaWYgKGlzPERvY3VtZW50PihzY3JpcHRFeGVjdXRp
b25Db250ZXh0KSkgewotICAgICAgICBjb25zdCBhdXRvJiBkb2N1bWVudCA9IGRvd25jYXN0PERv
Y3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICAgICAgY29uc3QgYXV0byogcGFn
ZSA9IGRvY3VtZW50LnBhZ2UoKTsKLSAgICAgICAgaWYgKCFwYWdlKQotICAgICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IEFib3J0RXJyb3IgfTsKLSAgICAgICAgYXV0byBiYWNraW5nID0gcGFn
ZS0+Y2hyb21lKCkuY3JlYXRlVGV4dERldGVjdG9yKCk7Ci0gICAgICAgIGlmICghYmFja2luZykK
LSAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBBYm9ydEVycm9yIH07Ci0gICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFRleHREZXRlY3RvcihiYWNraW5nLnJlbGVhc2VOb25OdWxsKCkp
KTsKLSAgICB9Ci0KLSAgICBpZiAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjU1MzgwIE1ha2UgdGhlIFNoYXBlIERldGVjdGlvbiBBUEkgd29yayBp
biBXb3JrZXJzCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBBYm9ydEVycm9yIH07Ci0gICAg
fQotCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgLy8gRklYTUU6IFVzZSB0aGUgR1BVIFByb2Nl
c3MuCisgICAgYXV0byBiYWNraW5nID0gU2hhcGVEZXRlY3Rpb246OlRleHREZXRlY3RvckltcGw6
OmNyZWF0ZSgpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFRleHREZXRlY3RvcihXVEZNb3Zl
KGJhY2tpbmcpKSk7CisjZWxzZQogICAgIHJldHVybiBFeGNlcHRpb24geyBBYm9ydEVycm9yIH07
CisjZW5kaWYKIH0KIAogVGV4dERldGVjdG9yOjpUZXh0RGV0ZWN0b3IoUmVmPFNoYXBlRGV0ZWN0
aW9uOjpUZXh0RGV0ZWN0b3I+JiYgYmFja2luZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vVGV4dERldGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1NoYXBlRGV0ZWN0aW9uL1RleHREZXRlY3Rvci5oCmluZGV4IDgzMTFmYzg1OGJjNC4u
NjA2ZmNhODE2ZDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1NoYXBlRGV0
ZWN0aW9uL1RleHREZXRlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVE
ZXRlY3Rpb24vVGV4dERldGVjdG9yLmgKQEAgLTM1LDExICszNSwxMCBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBzdHJ1Y3QgRGV0ZWN0ZWRUZXh0OwotY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIAogY2xhc3MgVGV4dERldGVjdG9yIDogcHVibGljIFJlZkNvdW50ZWQ8VGV4dERldGVj
dG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxUZXh0RGV0ZWN0b3I+
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAgIHN0YXRpYyBFeGNlcHRpb25P
cjxSZWY8VGV4dERldGVjdG9yPj4gY3JlYXRlKCk7CiAKICAgICB+VGV4dERldGVjdG9yKCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vVGV4dERl
dGVjdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vVGV4dERl
dGVjdG9yLmlkbAppbmRleCAwMzU3ZmFkMWNkZjIuLjhkYmM0ZTRhYTM5NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9TaGFwZURldGVjdGlvbi9UZXh0RGV0ZWN0b3IuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvU2hhcGVEZXRlY3Rpb24vVGV4dERldGVjdG9yLmlk
bApAQCAtNDksNiArNDksNiBAQCB0eXBlZGVmIChDYW52YXNJbWFnZVNvdXJjZSBvciBCbG9iIG9y
IEltYWdlRGF0YSkgSW1hZ2VCaXRtYXBTb3VyY2U7CiAgICAgU2VjdXJlQ29udGV4dAogXQogaW50
ZXJmYWNlIFRleHREZXRlY3RvciB7Ci0gICAgW0NhbGxXaXRoPUN1cnJlbnRTY3JpcHRFeGVjdXRp
b25Db250ZXh0XSBjb25zdHJ1Y3RvcigpOworICAgIGNvbnN0cnVjdG9yKCk7CiAgICAgUHJvbWlz
ZTxzZXF1ZW5jZTxEZXRlY3RlZFRleHQ+PiBkZXRlY3QoSW1hZ2VCaXRtYXBTb3VyY2UgaW1hZ2Up
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBkOTRkZWM3NTQ1MWYuLmZhNTZkN2IxYjVjMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMyw3ICszLDcgQEAK
IAlhcmNoaXZlVmVyc2lvbiA9IDE7CiAJY2xhc3NlcyA9IHsKIAl9OwotCW9iamVjdFZlcnNpb24g
PSA1NDsKKwlvYmplY3RWZXJzaW9uID0gNTE7CiAJb2JqZWN0cyA9IHsKIAogLyogQmVnaW4gUEJY
QWdncmVnYXRlVGFyZ2V0IHNlY3Rpb24gKi8KQEAgLTY1MCwxNyArNjUwLDYgQEAKIAkJMUM3QTZF
QjUyNkY1RDhGNTAwOTZEOEM3IC8qIEZvbnRQYWxldHRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzQ2NzRGRDI2RjQ4NDM2MDBCNjEyNzMgLyogRm9u
dFBhbGV0dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxQzgxQjk1QTBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4MUI5NTYwRTk3
MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQzgxQjk1QzBFOTczMzA4MDAyNjZFMDcg
LyogSW5zcGVjdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQzgxQjk1ODBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ2xpZW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUM5RjRD
MTQyOUU1Mjk2NjAwMTU4MTlFIC8qIERldGVjdGVkRmFjZUludGVyZmFjZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMzOEYyODMyOUUzQjJCQzAwODc5
NUNDIC8qIERldGVjdGVkRmFjZUludGVyZmFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFDOUY0QzE1MjlFNTI5NjYwMDE1ODE5RSAvKiBCYXJj
b2RlRGV0ZWN0b3JJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFDMzhGMjdGMjlFM0IyN0MwMDg3OTVDQyAvKiBCYXJjb2RlRGV0ZWN0b3JJ
bnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQkxQzlGNEMxNjI5RTUyOTY2MDAxNTgxOUUgLyogQmFyY29kZURldGVjdG9yT3B0aW9uc0lu
dGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUMzOEYyODAyOUUzQjI4QTAwODc5NUNDIC8qIEJhcmNvZGVEZXRlY3Rvck9wdGlvbnNJbnRlcmZh
Y2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkx
QzlGNEMxNzI5RTUyOTY2MDAxNTgxOUUgLyogRGV0ZWN0ZWRCYXJjb2RlSW50ZXJmYWNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzM4RjI4MjI5RTNC
MkFEMDA4Nzk1Q0MgLyogRGV0ZWN0ZWRCYXJjb2RlSW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUM5RjRDMTgyOUU1Mjk2NjAwMTU4
MTlFIC8qIExhbmRtYXJrSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQzM4RjI4NzI5RTNCMkU0MDA4Nzk1Q0MgLyogTGFuZG1hcmtJbnRl
cmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkxQzlGNEMxOTI5RTUyOTY2MDAxNTgxOUUgLyogTGFuZG1hcmtUeXBlSW50ZXJmYWNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzM4RjI4ODI5RTNC
MkVDMDA4Nzk1Q0MgLyogTGFuZG1hcmtUeXBlSW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUM5RjRDMUEyOUU1Mjk2NjAwMTU4MTlF
IC8qIEJhcmNvZGVGb3JtYXRJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFDMzhGMjgxMjlFM0IyQTIwMDg3OTVDQyAvKiBCYXJjb2RlRm9y
bWF0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKLQkJMUM5RjRDMUIyOUU1Mjk2NjAwMTU4MTlFIC8qIEZhY2VEZXRlY3RvckludGVyZmFj
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMzOEYy
ODUyOUUzQjJEMDAwODc5NUNDIC8qIEZhY2VEZXRlY3RvckludGVyZmFjZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFDOUY0QzFDMjlFNTI5NjYw
MDE1ODE5RSAvKiBUZXh0RGV0ZWN0b3JJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMzhGMjg5MjlFM0IzMDUwMDg3OTVDQyAvKiBUZXh0
RGV0ZWN0b3JJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQkxQzlGNEMxRDI5RTUyOTY2MDAxNTgxOUUgLyogRmFjZURldGVjdG9yT3B0
aW9uc0ludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUMzOEYyODYyOUUzQjJEQjAwODc5NUNDIC8qIEZhY2VEZXRlY3Rvck9wdGlvbnNJbnRl
cmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkxQzlGNEMxRTI5RTUyOTY2MDAxNTgxOUUgLyogRGV0ZWN0ZWRUZXh0SW50ZXJmYWNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzM4RjI4NDI5RTNC
MkM1MDA4Nzk1Q0MgLyogRGV0ZWN0ZWRUZXh0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUNBRjM0ODEwQTZDNDA1MjAwQUJFMDZF
IC8qIFdlYlNjcmlwdE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUNBRjM0N0UwQTZDNDA1MjAwQUJFMDZFIC8qIFdlYlNjcmlwdE9iamVjdC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFDQUYz
NDgyMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3QubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0FGMzQ3RjBBNkM0MDUyMDBBQkUwNkUg
LyogV2ViU2NyaXB0T2JqZWN0Lm1tICovOyB9OwogCQkxQ0FGMzQ4MzBBNkM0MDUyMDBBQkUwNkUg
LyogV2ViU2NyaXB0T2JqZWN0UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUNBRjM0ODAwQTZDNDA1MjAwQUJFMDZFIC8qIFdlYlNjcmlwdE9i
amVjdFByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNjc1LDkgKzY2NCw2IEBACiAJCTFDRUFBNTMyMjZGMzM2RkMwMDg2ODUwNyAvKiBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JzVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRUFBNTMxMjZGMzMxQzEwMDg2ODUwNyAv
KiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JzVmFsdWUuaCAqLzsgfTsKIAkJMUNG
QUUzMjMwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0Qg
LyogbGlib2JqYy5keWxpYiAqLzsgfTsKIAkJMUNGRDVEN0UyODREQkU3RjAwMDg5NjY3IC8qIFN5
c3RlbUZvbnREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUM0Qzc3REYyODREQTgzOTAwQkQwOTM2IC8qIFN5c3RlbUZvbnREYXRhYmFzZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFDRkRF
N0VFMjlFNzlCQTgwMDZBMjI5MiAvKiBGYWNlRGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMzOEYyOEYyOUUzQjRE
NzAwODc5NUNDIC8qIEZhY2VEZXRlY3RvckltcGxlbWVudGF0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUNGREU3RUYyOUU3OUJBODAwNkEy
MjkyIC8qIFRleHREZXRlY3RvckltcGxlbWVudGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzM4RjI5MTI5RTNCNEUxMDA4Nzk1Q0MgLyogVGV4
dERldGVjdG9ySW1wbGVtZW50YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQkxQ0ZERTdGMDI5RTc5QkE4MDA2QTIyOTIgLyogQmFyY29kZURl
dGVjdG9ySW1wbGVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFDMzhGMjhEMjlFM0I0OTcwMDg3OTVDQyAvKiBCYXJjb2RlRGV0ZWN0b3JJ
bXBsZW1lbnRhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTFEMDAyNkE0MjM3NEQ2MjQwMENBNkNERiAvKiBKU1BpY3R1cmVJblBpY3R1cmVX
aW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFE
MDAyNkEyMjM3NEQ2MjMwMENBNkNERiAvKiBKU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuaCAqLzsg
fTsKIAkJMUQyQzgyQjcyMzZBM0Y2QTAwNTVENkM1IC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRDJDODJC
NjIzNkEzRjZBMDA1NUQ2QzUgLyogUGljdHVyZUluUGljdHVyZVN1cHBvcnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRDJGOEUwMzIzNDQ3NEVG
MDA5OTNCNjggLyogRG9jdW1lbnRQaWN0dXJlSW5QaWN0dXJlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREVGMDZERDIzM0QyRTFDMDBFRTIyOEQgLyog
RG9jdW1lbnRQaWN0dXJlSW5QaWN0dXJlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTM2MDQ1LDEwICszNjAzMSw2IEBACiAJCQkJNDE3QkEzMzgy
OTk1NjRFNjAwN0FFQUI0IC8qIEJhY2tncm91bmRGZXRjaFVJT3B0aW9ucy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTQ0NEIwQTkyOEM4QjE5QTAwQ0E1NjBFIC8qIEJhY2tncm91bmRQYWludGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MTJCNjc4RTI5NEI4OEM4MDAwQzA3NjAgLyogQmFkZ2VDbGll
bnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTFDRkRFN0YwMjlFNzlCQTgwMDZBMjI5MiAvKiBCYXJj
b2RlRGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMUM5RjRDMTUy
OUU1Mjk2NjAwMTU4MTlFIC8qIEJhcmNvZGVEZXRlY3RvckludGVyZmFjZS5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMUM5RjRDMTYyOUU1Mjk2NjAwMTU4MTlFIC8qIEJhcmNvZGVEZXRlY3Rvck9wdGlv
bnNJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTFDOUY0QzFBMjlFNTI5NjYwMDE1ODE5
RSAvKiBCYXJjb2RlRm9ybWF0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzEyNEVF
ODBDMjY0MUNEMDA5RTIzNDkgLyogQmFyUHJvcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDYwQkI2
MTYxRDBBMUJGMDAwMjIxODEyIC8qIEJhc2U2NFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODMxOThGQkYyNEExNjBERDAwNDIwQjA1IC8qIEJhc2VBdWRpb0NvbnRleHQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzY3MjAsOSArMzY3MDIsNiBAQAogCQkJCUJDMkNDQTEwMjY1NUREQjIwMEI4
QzAzNSAvKiBEZXN0aW5hdGlvbkNvbG9yU3BhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMTIy
M0M1MjYwMzU2N0QwMEIwQTBCNiAvKiBEZXRhY2hlZFJUQ0RhdGFDaGFubmVsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBN0M5QUJGOTEzNTdBM0JGMDBGNTUwM0YgLyogRGV0YWlsc01hcmtlckNvbnRy
b2wuaCBpbiBIZWFkZXJzICovLAotCQkJCTFDOUY0QzE3MjlFNTI5NjYwMDE1ODE5RSAvKiBEZXRl
Y3RlZEJhcmNvZGVJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTFDOUY0QzE0MjlFNTI5
NjYwMDE1ODE5RSAvKiBEZXRlY3RlZEZhY2VJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTFDOUY0QzFFMjlFNTI5NjYwMDE1ODE5RSAvKiBEZXRlY3RlZFRleHRJbnRlcmZhY2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExRUQ3NzhEMUJFMzI5NDAwMERDMTc5MSAvKiBEZXZpY2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNDQzJCNTE0MTVGNjEzMDYwMDQ4Q0RENiAvKiBEZXZpY2VDbGllbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNDQzJCNTE2MTVGNjEzMDYwMDQ4Q0RENiAvKiBEZXZpY2VD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTM2OTcyLDkgKzM2OTUxLDYgQEAKIAkJCQk4
QThBRkZGMDI4M0JFMjNFMDA1MjIxRkUgLyogRVhUVGV4dHVyZUNvbXByZXNzaW9uUkdUQy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNzcyODY5NEYxNEY4ODgyNTAwRjQ4NERDIC8qIEVYVFRleHR1cmVG
aWx0ZXJBbmlzb3Ryb3BpYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEEwNTQ1MzMyODNDRjE3RjAw
RjQ5OEU3IC8qIEVYVFRleHR1cmVOb3JtMTYuaCBpbiBIZWFkZXJzICovLAotCQkJCTFDRkRFN0VF
MjlFNzlCQTgwMDZBMjI5MiAvKiBGYWNlRGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJMUM5RjRDMUIyOUU1Mjk2NjAwMTU4MTlFIC8qIEZhY2VEZXRlY3RvckludGVy
ZmFjZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMUM5RjRDMUQyOUU1Mjk2NjAwMTU4MTlFIC8qIEZh
Y2VEZXRlY3Rvck9wdGlvbnNJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxQTA4MjlD
MjI5MzVGM0QwMDg0MjZFMCAvKiBGZWF0dXJlUG9saWN5LmggaW4gSGVhZGVycyAqLywKIAkJCQlB
NzVFOEI4OTBFMURFMkQ2MDA3RjI0ODEgLyogRkVCbGVuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTc1RThCOEIwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29sb3JNYXRyaXguaCBpbiBIZWFkZXJzICov
LApAQCAtMzg1NzEsOCArMzg1NDcsNiBAQAogCQkJCUJDNUVCQTExMEU4MjNFNDcwMEIyNTk2NSAv
KiBLZXlmcmFtZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNUZGN0Q1MThDOTU1MzgwMEZF
NEM4NyAvKiBLZXlwcmVzc0NvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE0NTZGQTI3MTFB
RDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMUM5
RjRDMTgyOUU1Mjk2NjAwMTU4MTlFIC8qIExhbmRtYXJrSW50ZXJmYWNlLmggaW4gSGVhZGVycyAq
LywKLQkJCQkxQzlGNEMxOTI5RTUyOTY2MDAxNTgxOUUgLyogTGFuZG1hcmtUeXBlSW50ZXJmYWNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTlCRDFCODI4RTU5OUZFMDA4OUQ3QjcgLyogTGF0ZW5j
eU1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUMxMjBDMjJCRjJDRDIwMDRFOUQzNSAvKiBM
YXllckFuY2VzdG9yQ2xpcHBpbmdTdGFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTgwMzcxNjQx
QTY2RjFEMzAwQkFGNTE5IC8qIExheWVyRnJhZ21lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtNDAz
NjMsOCArNDAzMzcsNiBAQAogCQkJCTE0MkI5N0NBMTMxMzg5NDMwMDhCRUY0QiAvKiBUZXh0Q29u
dHJvbElubmVyRWxlbWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTU4MkRFMzI1MUMzMEM4NTQw
MEJFMDJBOCAvKiBUZXh0RGVjb3JhdGlvblBhaW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFD
NzNBNzE1MjE4NTc1ODcwMDRDQ0VBNSAvKiBUZXh0RGVjb3JhdGlvblRoaWNrbmVzcy5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJMUNGREU3RUYyOUU3OUJBODAwNkEyMjkyIC8qIFRleHREZXRlY3Rvcklt
cGxlbWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQkxQzlGNEMxQzI5RTUyOTY2MDAxNTgx
OUUgLyogVGV4dERldGVjdG9ySW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzRBNTMz
QjI1NjA2NEUxMDAyOEM1OTIgLyogVGV4dERpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM0QTUzMjUyNTYwNTU1RjAwMjhDNTkyIC8qIFRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9u
QmVoYXZpb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QkM4NEI0MTIzNzExODAwMDBDNjE2MSAv
KiBUZXh0RG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4
IDEzZmE5MjQ1ZjIzMy4uNDYyM2M3NjY4M2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNi0yMDIzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAxMCBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKICAqIENvcHlyaWdodCAoQykg
MjAxMiwgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC0y
MywxMyArMjMsMTEgQEAKICNpbmNsdWRlICJDaHJvbWUuaCIKIAogI2luY2x1ZGUgIkFwcEhpZ2hs
aWdodC5oIgotI2luY2x1ZGUgIkJhcmNvZGVEZXRlY3RvckludGVyZmFjZS5oIgogI2luY2x1ZGUg
IkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkNvbnRhY3RJbmZvLmgiCiAjaW5jbHVkZSAiQ29u
dGFjdHNSZXF1ZXN0RGF0YS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnRUeXBlLmgiCi0jaW5jbHVkZSAiRmFjZURldGVjdG9ySW50ZXJmYWNlLmgiCiAjaW5jbHVk
ZSAiRmlsZUxpc3QuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlckNsaWVudC5oIgpAQCAtNTIsNyArNTAsNiBAQAogI2luY2x1ZGUgIlNoYXJlRGF0YS5oIgog
I2luY2x1ZGUgIlN0b3JhZ2VOYW1lc3BhY2UuaCIKICNpbmNsdWRlICJTdG9yYWdlTmFtZXNwYWNl
UHJvdmlkZXIuaCIKLSNpbmNsdWRlICJUZXh0RGV0ZWN0b3JJbnRlcmZhY2UuaCIKICNpbmNsdWRl
ICJXaW5kb3dGZWF0dXJlcy5oIgogI2luY2x1ZGUgIldvcmtlckNsaWVudC5oIgogI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL1ZNLmg+CkBAIC01NzEsMjYgKzU2OCw2IEBAIFJlZlB0cjxQQUw6Oldl
YkdQVTo6R1BVPiBDaHJvbWU6OmNyZWF0ZUdQVUZvcldlYkdQVSgpIGNvbnN0CiAgICAgcmV0dXJu
IG1fY2xpZW50LT5jcmVhdGVHUFVGb3JXZWJHUFUoKTsKIH0KIAotUmVmUHRyPFNoYXBlRGV0ZWN0
aW9uOjpCYXJjb2RlRGV0ZWN0b3I+IENocm9tZTo6Y3JlYXRlQmFyY29kZURldGVjdG9yKGNvbnN0
IFNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRGV0ZWN0b3JPcHRpb25zJiBiYXJjb2RlRGV0ZWN0b3JP
cHRpb25zKSBjb25zdAotewotICAgIHJldHVybiBtX2NsaWVudC0+Y3JlYXRlQmFyY29kZURldGVj
dG9yKGJhcmNvZGVEZXRlY3Rvck9wdGlvbnMpOwotfQotCi12b2lkIENocm9tZTo6Z2V0QmFyY29k
ZURldGVjdG9yU3VwcG9ydGVkRm9ybWF0cyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxT
aGFwZURldGVjdGlvbjo6QmFyY29kZUZvcm1hdD4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG1fY2xpZW50LT5nZXRCYXJjb2RlRGV0ZWN0b3JTdXBwb3J0ZWRG
b3JtYXRzKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLX0KLQotUmVmUHRyPFNoYXBlRGV0
ZWN0aW9uOjpGYWNlRGV0ZWN0b3I+IENocm9tZTo6Y3JlYXRlRmFjZURldGVjdG9yKGNvbnN0IFNo
YXBlRGV0ZWN0aW9uOjpGYWNlRGV0ZWN0b3JPcHRpb25zJiBmYWNlRGV0ZWN0b3JPcHRpb25zKSBj
b25zdAotewotICAgIHJldHVybiBtX2NsaWVudC0+Y3JlYXRlRmFjZURldGVjdG9yKGZhY2VEZXRl
Y3Rvck9wdGlvbnMpOwotfQotCi1SZWZQdHI8U2hhcGVEZXRlY3Rpb246OlRleHREZXRlY3Rvcj4g
Q2hyb21lOjpjcmVhdGVUZXh0RGV0ZWN0b3IoKSBjb25zdAotewotICAgIHJldHVybiBtX2NsaWVu
dC0+Y3JlYXRlVGV4dERldGVjdG9yKCk7Ci19Ci0KIFBsYXRmb3JtRGlzcGxheUlEIENocm9tZTo6
ZGlzcGxheUlEKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wYWdlLmRpc3BsYXlJRCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lLmgKaW5kZXggM2NjMjQ1YmYwZWJlLi5mNDVlYTk3NzU2OTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgogICogQ29weXJp
Z2h0IChDKSAyMDEyLCBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKQEAgLTI1LDEyICsyNSwxMCBAQAogI2luY2x1ZGUgIkRpc2FibGVkQWRhcHRhdGlvbnMuaCIK
ICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2luY2x1ZGUgIkhvc3RXaW5kb3cuaCIKLSNp
bmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbkRpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogT0JKQ19DTEFTUyBOU1ZpZXc7CkBAIC00MiwxNSAr
NDAsNiBAQCBjbGFzcyBHUFU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNlIFNo
YXBlRGV0ZWN0aW9uIHsKLWNsYXNzIEJhcmNvZGVEZXRlY3RvcjsKLXN0cnVjdCBCYXJjb2RlRGV0
ZWN0b3JPcHRpb25zOwotZW51bSBjbGFzcyBCYXJjb2RlRm9ybWF0IDogdWludDhfdDsKLWNsYXNz
IEZhY2VEZXRlY3RvcjsKLXN0cnVjdCBGYWNlRGV0ZWN0b3JPcHRpb25zOwotY2xhc3MgVGV4dERl
dGVjdG9yOwotfQotCiBlbnVtIGNsYXNzIFRleHREaXJlY3Rpb24gOiBib29sOwogCiBjbGFzcyBD
aHJvbWVDbGllbnQ7CkBAIC0xMTUsMTEgKzEwNCw2IEBAIHB1YmxpYzoKIAogICAgIFJlZlB0cjxQ
QUw6OldlYkdQVTo6R1BVPiBjcmVhdGVHUFVGb3JXZWJHUFUoKSBjb25zdDsKIAotICAgIFJlZlB0
cjxTaGFwZURldGVjdGlvbjo6QmFyY29kZURldGVjdG9yPiBjcmVhdGVCYXJjb2RlRGV0ZWN0b3Io
Y29uc3QgU2hhcGVEZXRlY3Rpb246OkJhcmNvZGVEZXRlY3Rvck9wdGlvbnMmKSBjb25zdDsKLSAg
ICB2b2lkIGdldEJhcmNvZGVEZXRlY3RvclN1cHBvcnRlZEZvcm1hdHMoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChWZWN0b3I8U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVGb3JtYXQ+JiYpPiYmKSBjb25z
dDsKLSAgICBSZWZQdHI8U2hhcGVEZXRlY3Rpb246OkZhY2VEZXRlY3Rvcj4gY3JlYXRlRmFjZURl
dGVjdG9yKGNvbnN0IFNoYXBlRGV0ZWN0aW9uOjpGYWNlRGV0ZWN0b3JPcHRpb25zJikgY29uc3Q7
Ci0gICAgUmVmUHRyPFNoYXBlRGV0ZWN0aW9uOjpUZXh0RGV0ZWN0b3I+IGNyZWF0ZVRleHREZXRl
Y3RvcigpIGNvbnN0OwotCiAgICAgUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5
SUQsIHN0ZDo6b3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDFlOWQ2NjBiMjM0OS4uYjE1MzYxMDkzMTlkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTIzLDkgKzIzLDYgQEAKIAogI2luY2x1ZGUg
IkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBdXRvcGxheUV2ZW50LmgiCi0jaW5jbHVkZSAi
QmFyY29kZURldGVjdG9ySW50ZXJmYWNlLmgiCi0jaW5jbHVkZSAiQmFyY29kZURldGVjdG9yT3B0
aW9uc0ludGVyZmFjZS5oIgotI2luY2x1ZGUgIkJhcmNvZGVGb3JtYXRJbnRlcmZhY2UuaCIKICNp
bmNsdWRlICJDb250YWN0SW5mby5oIgogI2luY2x1ZGUgIkN1cnNvci5oIgogI2luY2x1ZGUgIkRh
dGFiYXNlRGV0YWlscy5oIgpAQCAtMzMsOCArMzAsNiBAQAogI2luY2x1ZGUgIkRpc2FibGVkQWRh
cHRhdGlvbnMuaCIKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCIKICNpbmNsdWRl
ICJEb2N1bWVudFN0b3JhZ2VBY2Nlc3MuaCIKLSNpbmNsdWRlICJGYWNlRGV0ZWN0b3JJbnRlcmZh
Y2UuaCIKLSNpbmNsdWRlICJGYWNlRGV0ZWN0b3JPcHRpb25zSW50ZXJmYWNlLmgiCiAjaW5jbHVk
ZSAiRm9jdXNEaXJlY3Rpb24uaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUg
IkdyYXBoaWNzQ29udGV4dC5oIgpAQCAtNTQsNyArNDksNiBAQAogI2luY2x1ZGUgIlNjcm9sbFR5
cGVzLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKICNpbmNsdWRlICJTZWFy
Y2hQb3B1cE1lbnUuaCIKLSNpbmNsdWRlICJUZXh0RGV0ZWN0b3JJbnRlcmZhY2UuaCIKICNpbmNs
dWRlICJXZWJDb3JlS2V5Ym9hcmRVSU1vZGUuaCIKICNpbmNsdWRlICJXb3JrZXJDbGllbnQuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4KQEAgLTY1LDcgKzU5LDYg
QEAKICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9TZWNvbmRz
Lmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lm
IEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAjaW5jbHVkZSAiTWVkaWFQbGF5YmFj
a1RhcmdldENvbnRleHQuaCIKQEAgLTM3NywxMSArMzcwLDYgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCBSZWZQdHI8UEFMOjpXZWJHUFU6OkdQVT4gY3JlYXRlR1BVRm9yV2ViR1BVKCkgY29uc3Qg
eyByZXR1cm4gbnVsbHB0cjsgfQogCi0gICAgdmlydHVhbCBSZWZQdHI8U2hhcGVEZXRlY3Rpb246
OkJhcmNvZGVEZXRlY3Rvcj4gY3JlYXRlQmFyY29kZURldGVjdG9yKGNvbnN0IFNoYXBlRGV0ZWN0
aW9uOjpCYXJjb2RlRGV0ZWN0b3JPcHRpb25zJikgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQot
ICAgIHZpcnR1YWwgdm9pZCBnZXRCYXJjb2RlRGV0ZWN0b3JTdXBwb3J0ZWRGb3JtYXRzKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0PiYm
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikgY29uc3QgeyBjb21wbGV0aW9uSGFuZGxlcih7IH0pOyB9
Ci0gICAgdmlydHVhbCBSZWZQdHI8U2hhcGVEZXRlY3Rpb246OkZhY2VEZXRlY3Rvcj4gY3JlYXRl
RmFjZURldGVjdG9yKGNvbnN0IFNoYXBlRGV0ZWN0aW9uOjpGYWNlRGV0ZWN0b3JPcHRpb25zJikg
Y29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQotICAgIHZpcnR1YWwgUmVmUHRyPFNoYXBlRGV0ZWN0
aW9uOjpUZXh0RGV0ZWN0b3I+IGNyZWF0ZVRleHREZXRlY3RvcigpIGNvbnN0IHsgcmV0dXJuIG51
bGxwdHI7IH0KLQogICAgIC8vIFBhc3MgbnVsbHB0ciBhcyB0aGUgR3JhcGhpY3NMYXllciB0byBk
ZXRhdGNoIHRoZSByb290IGxheWVyLgogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhp
Y3NMYXllcihMb2NhbEZyYW1lJiwgR3JhcGhpY3NMYXllciopID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgYXR0YWNoVmlld092ZXJsYXlHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5ZXIqKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdC9D
TWFrZUxpc3RzLnR4dAppbmRleCA2MDc5MjQ1YzY3YjAuLjE1ZTRkY2Q5MTAyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtl
TGlzdHMudHh0CkBAIC05LDcgKzksNiBAQCBzZXQoV2ViS2l0X1BSSVZBVEVfSU5DTFVERV9ESVJF
Q1RPUklFUwogICAgICIke1dlYktpdF9ERVJJVkVEX1NPVVJDRVNfRElSfS9pbmNsdWRlIgogICAg
ICIke1dFQktJVF9ESVJ9IgogICAgICIke1dFQktJVF9ESVJ9L0dQVVByb2Nlc3MiCi0gICAgIiR7
V0VCS0lUX0RJUn0vR1BVUHJvY2Vzcy9TaGFwZURldGVjdGlvbiIKICAgICAiJHtXRUJLSVRfRElS
fS9HUFVQcm9jZXNzL2dyYXBoaWNzIgogICAgICIke1dFQktJVF9ESVJ9L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVIgogICAgICIke1dFQktJVF9ESVJ9L0dQVVByb2Nlc3MvbWVkaWEiCkBAIC04
Niw3ICs4NSw2IEBAIHNldChXZWJLaXRfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAg
IiR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vzcy9HYW1lcGFkIgogICAgICIke1dFQktJVF9ESVJ9L1dl
YlByb2Nlc3MvR2VvbG9jYXRpb24iCiAgICAgIiR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vzcy9HUFUi
Ci0gICAgIiR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vzcy9HUFUvU2hhcGVEZXRlY3Rpb24iCiAgICAg
IiR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MiCiAgICAgIiR7V0VCS0lUX0RJ
Un0vV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVIgogICAgICIke1dFQktJVF9ESVJ9L1dl
YlByb2Nlc3MvR1BVL21lZGlhIgpAQCAtMTMyLDEwICsxMzAsNiBAQCBzZXQoV2ViS2l0X01FU1NB
R0VTX0lOX0ZJTEVTCiAgICAgR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzCiAg
ICAgR1BVUHJvY2Vzcy9HUFVQcm9jZXNzCiAKLSAgICBHUFVQcm9jZXNzL1NoYXBlRGV0ZWN0aW9u
L1JlbW90ZUJhcmNvZGVEZXRlY3RvcgotICAgIEdQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVt
b3RlRmFjZURldGVjdG9yCi0gICAgR1BVUHJvY2Vzcy9TaGFwZURldGVjdGlvbi9SZW1vdGVUZXh0
RGV0ZWN0b3IKLQogICAgIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlRGlzcGxheUxpc3RSZWNv
cmRlcgogICAgIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlR3JhcGhpY3NDb250ZXh0R0wKICAg
ICBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBiYmRkY2IyMjQ4YWMu
LjliN2ZlOGExZGY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdApAQCAtMzQsOSArMzQsNiBAQCAkKFBST0pFQ1RfRElSKS9EZXJpdmVkU291cmNl
cy5tYWtlCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBhcmFt
ZXRlcnMuc2VyaWFsaXphdGlvbi5pbgotJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9TaGFwZURl
dGVjdGlvbi9SZW1vdGVCYXJjb2RlRGV0ZWN0b3IubWVzc2FnZXMuaW4KLSQoUFJPSkVDVF9ESVIp
L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlRmFjZURldGVjdG9yLm1lc3NhZ2VzLmlu
Ci0kKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZVRleHREZXRl
Y3Rvci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9ncmFwaGljcy9Jbmxp
bmVQYXRoRGF0YS5zZXJpYWxpemF0aW9uLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9E
SVIpL0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlR3JhcGhpY3NDb250ZXh0Lm1lc3NhZ2VzLmlu
CkBAIC0xMDksOCArMTA2LDggQEAgJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy93ZWJydGMvUmVt
b3RlTWVkaWFSZWNvcmRlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy93
ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9E
SVIpL0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyTWFuYWdlci5tZXNzYWdlcy5pbgotJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9PU1hfUHJpdmF0ZS5tb2R1bGVtYXAKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaU9TX1ByaXZh
dGUubW9kdWxlbWFwCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL09TWF9Qcml2YXRlLm1vZHVsZW1h
cAogJChQUk9KRUNUX0RJUikvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2Vy
Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2Nv
bHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5Lm1lc3NhZ2Vz
LmluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApp
bmRleCA1MTQyMjA3OWJiMjkuLmNmZjJhNDJjMGM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xNTYsOCArMTU2LDYgQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdC9SZW1vdGVBdWRpb1NvdXJjZVBy
b3ZpZGVyTWFuYWdlck1lc3MKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXJNZXNzYWdlcy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0L1JlbW90ZUF1ZGlvVHJhY2tQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQvUmVtb3RlQXVkaW9UcmFja1Byb3h5TWVzc2FnZXMuaAotJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdC9SZW1vdGVCYXJjb2RlRGV0ZWN0b3JNZXNzYWdl
UmVjZWl2ZXIuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
L1JlbW90ZUJhcmNvZGVEZXRlY3Rvck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQvUmVtb3RlQmluZEdyb3VwTGF5b3V0TWVzc2FnZVJlY2VpdmVy
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdC9SZW1vdGVC
aW5kR3JvdXBMYXlvdXRNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0L1JlbW90ZUJpbmRHcm91cE1lc3NhZ2VSZWNlaXZlci5jcHAKQEAgLTE5NCw4
ICsxOTIsNiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0L1Jl
bW90ZURpc3BsYXlMaXN0UmVjb3JkZXJNZXNzYWdlUmVjZQogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYktpdC9SZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVyTWVzc2FnZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdC9SZW1vdGVFeHRl
cm5hbFRleHR1cmVNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0L1JlbW90ZUV4dGVybmFsVGV4dHVyZU1lc3NhZ2VzLmgKLSQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQvUmVtb3RlRmFjZURldGVjdG9y
TWVzc2FnZVJlY2VpdmVyLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdC9SZW1vdGVGYWNlRGV0ZWN0b3JNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0L1JlbW90ZUdQVU1lc3NhZ2VSZWNlaXZlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQvUmVtb3RlR1BVTWVzc2Fn
ZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdC9SZW1vdGVH
UFVQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKQEAgLTI4OCw4ICsyODQsNiBAQCAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0L1JlbW90ZVN1cmZhY2VNZXNzYWdlUmVj
ZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0L1Jl
bW90ZVN1cmZhY2VNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0L1JlbW90ZVN3YXBDaGFpbk1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQvUmVtb3RlU3dhcENoYWluTWVzc2FnZXMu
aAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdC9SZW1vdGVUZXh0
RGV0ZWN0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0L1JlbW90ZVRleHREZXRlY3Rvck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQvUmVtb3RlVGV4dFRyYWNrUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0L1JlbW90ZVRleHRUcmFja1Byb3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYktpdC9SZW1vdGVUZXh0dXJlTWVzc2FnZVJlY2VpdmVyLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dl
YktpdC9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDU5YThmYjc4OGUyYS4uNDMwNmEwYzliZjg0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yNjAsOSArMjYwLDYgQEAgTUVTU0FH
RV9SRUNFSVZFUlMgPSBcCiAJV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdVcGRhdGVEaXNwYXRjaGVy
IFwKIAlXZWJQcm9jZXNzL1hSL1BsYXRmb3JtWFJTeXN0ZW1Qcm94eSBcCiAJR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzIFwKLQlHUFVQcm9jZXNzL1NoYXBlRGV0ZWN0aW9uL1Jl
bW90ZUJhcmNvZGVEZXRlY3RvciBcCi0JR1BVUHJvY2Vzcy9TaGFwZURldGVjdGlvbi9SZW1vdGVG
YWNlRGV0ZWN0b3IgXAotCUdQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlVGV4dERldGVj
dG9yIFwKIAlHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIgXAog
CUdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZCBcCiAJR1BVUHJvY2Vz
cy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlQmFyY29kZURldGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9TaGFwZURldGVjdGlvbi9SZW1vdGVCYXJjb2Rl
RGV0ZWN0b3IuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMmZkNjg5ODJkODcu
LjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rp
b24vUmVtb3RlQmFyY29kZURldGVjdG9yLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUmVtb3RlQmFy
Y29kZURldGVjdG9yLmgiCi0KLSNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCi0KLSNpbmNsdWRlICJB
cmd1bWVudENvZGVycy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQmFyY29kZURldGVjdG9ySW50ZXJm
YWNlLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1SZW1vdGVCYXJjb2RlRGV0ZWN0b3I6OlJl
bW90ZUJhcmNvZGVEZXRlY3RvcihSZWY8V2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVE
ZXRlY3Rvcj4mJiBiYXJjb2RlRGV0ZWN0b3IsIFNoYXBlRGV0ZWN0aW9uOjpPYmplY3RIZWFwJiBv
YmplY3RIZWFwLCBTaGFwZURldGVjdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikKLSAgICA6IG1f
YmFja2luZyhXVEZNb3ZlKGJhcmNvZGVEZXRlY3RvcikpCi0gICAgLCBtX29iamVjdEhlYXAob2Jq
ZWN0SGVhcCkKLSAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotewotfQotCi1SZW1vdGVC
YXJjb2RlRGV0ZWN0b3I6On5SZW1vdGVCYXJjb2RlRGV0ZWN0b3IoKSA9IGRlZmF1bHQ7Ci0KLXZv
aWQgUmVtb3RlQmFyY29kZURldGVjdG9yOjpkZXRlY3QoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChW
ZWN0b3I8V2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkRldGVjdGVkQmFyY29kZT4mJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCi17Ci0gICAgbV9iYWNraW5nLT5kZXRlY3QoV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVO
QUJMRShHUFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9T
aGFwZURldGVjdGlvbi9SZW1vdGVCYXJjb2RlRGV0ZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9TaGFwZURldGVjdGlvbi9SZW1vdGVCYXJjb2RlRGV0ZWN0b3IuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYjAyYjA0NGFiMzVkLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZUJhcmNvZGVEZXRlY3Rv
ci5oCisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAyMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotCi0jaW5jbHVkZSAiQ29ubmVjdGlvbi5o
IgotI2luY2x1ZGUgIlNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllci5oIgotI2luY2x1ZGUgIlN0cmVh
bU1lc3NhZ2VSZWNlaXZlci5oIgotI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgot
I2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlOjpTaGFwZURldGVjdGlvbiB7Ci1jbGFzcyBCYXJjb2RlRGV0ZWN0b3I7Ci1lbnVt
IGNsYXNzIEJhcmNvZGVGb3JtYXQgOiB1aW50OF90Owotc3RydWN0IERldGVjdGVkQmFyY29kZTsK
LX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLW5hbWVzcGFjZSBTaGFwZURldGVjdGlvbiB7Ci1j
bGFzcyBPYmplY3RIZWFwOwotfQotCi1jbGFzcyBSZW1vdGVCYXJjb2RlRGV0ZWN0b3IgOiBwdWJs
aWMgSVBDOjpTdHJlYW1NZXNzYWdlUmVjZWl2ZXIgewotcHVibGljOgotICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIHN0YXRpYyBSZWY8UmVtb3RlQmFyY29kZURldGVj
dG9yPiBjcmVhdGUoUmVmPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRGV0ZWN0b3I+
JiYgYmFyY29kZURldGVjdG9yLCBTaGFwZURldGVjdGlvbjo6T2JqZWN0SGVhcCYgb2JqZWN0SGVh
cCwgU2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCi0gICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBSZW1vdGVCYXJjb2RlRGV0ZWN0b3IoV1RGTW92ZShiYXJjb2Rl
RGV0ZWN0b3IpLCBvYmplY3RIZWFwLCBpZGVudGlmaWVyKSk7Ci0gICAgfQotCi0gICAgdmlydHVh
bCB+UmVtb3RlQmFyY29kZURldGVjdG9yKCk7Ci0KLXByaXZhdGU6Ci0gICAgUmVtb3RlQmFyY29k
ZURldGVjdG9yKFJlZjxXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZURldGVjdG9yPiYm
LCBTaGFwZURldGVjdGlvbjo6T2JqZWN0SGVhcCYsIFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllcik7
Ci0KLSAgICBSZW1vdGVCYXJjb2RlRGV0ZWN0b3IoY29uc3QgUmVtb3RlQmFyY29kZURldGVjdG9y
JikgPSBkZWxldGU7Ci0gICAgUmVtb3RlQmFyY29kZURldGVjdG9yKFJlbW90ZUJhcmNvZGVEZXRl
Y3RvciYmKSA9IGRlbGV0ZTsKLSAgICBSZW1vdGVCYXJjb2RlRGV0ZWN0b3ImIG9wZXJhdG9yPShj
b25zdCBSZW1vdGVCYXJjb2RlRGV0ZWN0b3ImKSA9IGRlbGV0ZTsKLSAgICBSZW1vdGVCYXJjb2Rl
RGV0ZWN0b3ImIG9wZXJhdG9yPShSZW1vdGVCYXJjb2RlRGV0ZWN0b3ImJikgPSBkZWxldGU7Ci0K
LSAgICBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZURldGVjdG9yJiBiYWNraW5nKCkg
eyByZXR1cm4gbV9iYWNraW5nOyB9Ci0KLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdl
KElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwotCi0g
ICAgdm9pZCBkZXRlY3QoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2ViQ29yZTo6U2hh
cGVEZXRlY3Rpb246OkRldGVjdGVkQmFyY29kZT4mJik+JiYpOwotCi0gICAgUmVmPFdlYkNvcmU6
OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRGV0ZWN0b3I+IG1fYmFja2luZzsKLSAgICBTaGFwZURl
dGVjdGlvbjo6T2JqZWN0SGVhcCYgbV9vYmplY3RIZWFwOwotICAgIFNoYXBlRGV0ZWN0aW9uSWRl
bnRpZmllciBtX2lkZW50aWZpZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2Vu
ZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9TaGFwZURldGVjdGlvbi9SZW1vdGVCYXJjb2RlRGV0ZWN0b3IubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlQmFyY29kZURl
dGVjdG9yLm1lc3NhZ2VzLmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjNiYjAy
OTUxZGYuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVE
ZXRlY3Rpb24vUmVtb3RlQmFyY29kZURldGVjdG9yLm1lc3NhZ2VzLmluCisrKyAvZGV2L251bGwK
QEAgLTEsMzAgKzAsMCBAQAotLyogQ29weXJpZ2h0IChDKSAyMDIzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0g
KiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0gKiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCi0KLW1l
c3NhZ2VzIC0+IFJlbW90ZUJhcmNvZGVEZXRlY3RvciBOb3RSZWZDb3VudGVkIFN0cmVhbSB7Ci0g
ICAgdm9pZCBEZXRlY3QoKSAtPiAoVmVjdG9yPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpEZXRl
Y3RlZEJhcmNvZGU+IGRldGVjdGVkQmFyY29kZXMpCi19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZUZhY2VEZXRlY3Rv
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlRmFj
ZURldGVjdG9yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzVlYmUzOWUyMjc1
Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL1NoYXBlRGV0ZWN0
aW9uL1JlbW90ZUZhY2VEZXRlY3Rvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDIzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlJlbW90ZUZhY2VE
ZXRlY3Rvci5oIgotCi0jaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotCi0jaW5jbHVkZSAiQXJndW1l
bnRDb2RlcnMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0ZhY2VEZXRlY3RvckludGVyZmFjZS5oPgot
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKLQotUmVtb3RlRmFjZURldGVjdG9yOjpSZW1vdGVGYWNlRGV0
ZWN0b3IoUmVmPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpGYWNlRGV0ZWN0b3I+JiYgZmFjZURl
dGVjdG9yLCBTaGFwZURldGVjdGlvbjo6T2JqZWN0SGVhcCYgb2JqZWN0SGVhcCwgU2hhcGVEZXRl
Y3Rpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCi0gICAgOiBtX2JhY2tpbmcoV1RGTW92ZShmYWNl
RGV0ZWN0b3IpKQotICAgICwgbV9vYmplY3RIZWFwKG9iamVjdEhlYXApCi0gICAgLCBtX2lkZW50
aWZpZXIoaWRlbnRpZmllcikKLXsKLX0KLQotUmVtb3RlRmFjZURldGVjdG9yOjp+UmVtb3RlRmFj
ZURldGVjdG9yKCkgPSBkZWZhdWx0OwotCi12b2lkIFJlbW90ZUZhY2VEZXRlY3Rvcjo6ZGV0ZWN0
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpE
ZXRlY3RlZEZhY2U+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIG1fYmFja2luZy0+
ZGV0ZWN0KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlRmFjZURldGVjdG9yLmgg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlRmFjZURldGVj
dG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwNzg0NTdlZDAxOS4uMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9TaGFwZURldGVjdGlvbi9SZW1v
dGVGYWNlRGV0ZWN0b3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLQotI2luY2x1ZGUg
IkNvbm5lY3Rpb24uaCIKLSNpbmNsdWRlICJTaGFwZURldGVjdGlvbklkZW50aWZpZXIuaCIKLSNp
bmNsdWRlICJTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuaCIKLSNpbmNsdWRlIDx3dGYvQ29tcGxldGlv
bkhhbmRsZXIuaD4KLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgotCi1uYW1lc3BhY2UgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb24gewotc3RydWN0IERldGVjdGVk
RmFjZTsKLWNsYXNzIEZhY2VEZXRlY3RvcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLW5h
bWVzcGFjZSBTaGFwZURldGVjdGlvbiB7Ci1jbGFzcyBPYmplY3RIZWFwOwotfQotCi1jbGFzcyBS
ZW1vdGVGYWNlRGV0ZWN0b3IgOiBwdWJsaWMgSVBDOjpTdHJlYW1NZXNzYWdlUmVjZWl2ZXIgewot
cHVibGljOgotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIHN0YXRp
YyBSZWY8UmVtb3RlRmFjZURldGVjdG9yPiBjcmVhdGUoUmVmPFdlYkNvcmU6OlNoYXBlRGV0ZWN0
aW9uOjpGYWNlRGV0ZWN0b3I+JiYgZmFjZURldGVjdG9yLCBTaGFwZURldGVjdGlvbjo6T2JqZWN0
SGVhcCYgb2JqZWN0SGVhcCwgU2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCi0g
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSZW1vdGVGYWNlRGV0ZWN0b3IoV1RG
TW92ZShmYWNlRGV0ZWN0b3IpLCBvYmplY3RIZWFwLCBpZGVudGlmaWVyKSk7Ci0gICAgfQotCi0g
ICAgdmlydHVhbCB+UmVtb3RlRmFjZURldGVjdG9yKCk7Ci0KLXByaXZhdGU6Ci0gICAgUmVtb3Rl
RmFjZURldGVjdG9yKFJlZjxXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6RmFjZURldGVjdG9yPiYm
LCBTaGFwZURldGVjdGlvbjo6T2JqZWN0SGVhcCYsIFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllcik7
Ci0KLSAgICBSZW1vdGVGYWNlRGV0ZWN0b3IoY29uc3QgUmVtb3RlRmFjZURldGVjdG9yJikgPSBk
ZWxldGU7Ci0gICAgUmVtb3RlRmFjZURldGVjdG9yKFJlbW90ZUZhY2VEZXRlY3RvciYmKSA9IGRl
bGV0ZTsKLSAgICBSZW1vdGVGYWNlRGV0ZWN0b3ImIG9wZXJhdG9yPShjb25zdCBSZW1vdGVGYWNl
RGV0ZWN0b3ImKSA9IGRlbGV0ZTsKLSAgICBSZW1vdGVGYWNlRGV0ZWN0b3ImIG9wZXJhdG9yPShS
ZW1vdGVGYWNlRGV0ZWN0b3ImJikgPSBkZWxldGU7Ci0KLSAgICBXZWJDb3JlOjpTaGFwZURldGVj
dGlvbjo6RmFjZURldGVjdG9yJiBiYWNraW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9Ci0KLSAg
ICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwotCi0gICAgdm9pZCBkZXRlY3QoQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChWZWN0b3I8V2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkRldGVjdGVkRmFjZT4m
Jik+JiYpOwotCi0gICAgUmVmPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpGYWNlRGV0ZWN0b3I+
IG1fYmFja2luZzsKLSAgICBTaGFwZURldGVjdGlvbjo6T2JqZWN0SGVhcCYgbV9vYmplY3RIZWFw
OwotICAgIFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9TaGFwZURldGVjdGlvbi9SZW1vdGVGYWNl
RGV0ZWN0b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRl
Y3Rpb24vUmVtb3RlRmFjZURldGVjdG9yLm1lc3NhZ2VzLmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA1YzdhNGNmZmJjNTcuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlRmFjZURldGVjdG9yLm1lc3NhZ2VzLmlu
CisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLyogQ29weXJpZ2h0IChDKSAyMDIzIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQot
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpCi0KLW1lc3NhZ2VzIC0+IFJlbW90ZUZhY2VEZXRlY3RvciBOb3RSZWZDb3VudGVk
IFN0cmVhbSB7Ci0gICAgdm9pZCBEZXRlY3QoKSAtPiAoVmVjdG9yPFdlYkNvcmU6OlNoYXBlRGV0
ZWN0aW9uOjpEZXRlY3RlZEZhY2U+IGRldGVjdGVkRmFjZXMpCi19Ci0KLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZVRleHRE
ZXRlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVt
b3RlVGV4dERldGVjdG9yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTU3NTY0
MGMwMzNhLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL1NoYXBl
RGV0ZWN0aW9uL1JlbW90ZVRleHREZXRlY3Rvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1MiAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgot
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlJlbW90
ZVRleHREZXRlY3Rvci5oIgotCi0jaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotCi0jaW5jbHVkZSAi
QXJndW1lbnRDb2RlcnMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1RleHREZXRlY3RvckludGVyZmFj
ZS5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotUmVtb3RlVGV4dERldGVjdG9yOjpSZW1vdGVU
ZXh0RGV0ZWN0b3IoUmVmPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpUZXh0RGV0ZWN0b3I+JiYg
dGV4dERldGVjdG9yLCBTaGFwZURldGVjdGlvbjo6T2JqZWN0SGVhcCYgb2JqZWN0SGVhcCwgU2hh
cGVEZXRlY3Rpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCi0gICAgOiBtX2JhY2tpbmcoV1RGTW92
ZSh0ZXh0RGV0ZWN0b3IpKQotICAgICwgbV9vYmplY3RIZWFwKG9iamVjdEhlYXApCi0gICAgLCBt
X2lkZW50aWZpZXIoaWRlbnRpZmllcikKLXsKLX0KLQotUmVtb3RlVGV4dERldGVjdG9yOjp+UmVt
b3RlVGV4dERldGVjdG9yKCkgPSBkZWZhdWx0OwotCi12b2lkIFJlbW90ZVRleHREZXRlY3Rvcjo6
ZGV0ZWN0KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFdlYkNvcmU6OlNoYXBlRGV0ZWN0
aW9uOjpEZXRlY3RlZFRleHQ+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIG1fYmFj
a2luZy0+ZGV0ZWN0KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLX0KLQotfSAvLyBuYW1l
c3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlVGV4dERldGVj
dG9yLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlVGV4
dERldGVjdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyN2Y0OGYxNjM4Yi4u
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9TaGFwZURldGVjdGlv
bi9SZW1vdGVUZXh0RGV0ZWN0b3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLQotI2lu
Y2x1ZGUgIkNvbm5lY3Rpb24uaCIKLSNpbmNsdWRlICJTaGFwZURldGVjdGlvbklkZW50aWZpZXIu
aCIKLSNpbmNsdWRlICJTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuaCIKLSNpbmNsdWRlIDx3dGYvQ29t
cGxldGlvbkhhbmRsZXIuaD4KLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb24gewotc3RydWN0IERl
dGVjdGVkVGV4dDsKLWNsYXNzIFRleHREZXRlY3RvcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7
Ci0KLW5hbWVzcGFjZSBTaGFwZURldGVjdGlvbiB7Ci1jbGFzcyBPYmplY3RIZWFwOwotfQotCi1j
bGFzcyBSZW1vdGVUZXh0RGV0ZWN0b3IgOiBwdWJsaWMgSVBDOjpTdHJlYW1NZXNzYWdlUmVjZWl2
ZXIgewotcHVibGljOgotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAg
IHN0YXRpYyBSZWY8UmVtb3RlVGV4dERldGVjdG9yPiBjcmVhdGUoUmVmPFdlYkNvcmU6OlNoYXBl
RGV0ZWN0aW9uOjpUZXh0RGV0ZWN0b3I+JiYgdGV4dERldGVjdG9yLCBTaGFwZURldGVjdGlvbjo6
T2JqZWN0SGVhcCYgb2JqZWN0SGVhcCwgU2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyIGlkZW50aWZp
ZXIpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSZW1vdGVUZXh0RGV0ZWN0
b3IoV1RGTW92ZSh0ZXh0RGV0ZWN0b3IpLCBvYmplY3RIZWFwLCBpZGVudGlmaWVyKSk7Ci0gICAg
fQotCi0gICAgdmlydHVhbCB+UmVtb3RlVGV4dERldGVjdG9yKCk7Ci0KLXByaXZhdGU6Ci0gICAg
UmVtb3RlVGV4dERldGVjdG9yKFJlZjxXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6VGV4dERldGVj
dG9yPiYmLCBTaGFwZURldGVjdGlvbjo6T2JqZWN0SGVhcCYsIFNoYXBlRGV0ZWN0aW9uSWRlbnRp
Zmllcik7Ci0KLSAgICBSZW1vdGVUZXh0RGV0ZWN0b3IoY29uc3QgUmVtb3RlVGV4dERldGVjdG9y
JikgPSBkZWxldGU7Ci0gICAgUmVtb3RlVGV4dERldGVjdG9yKFJlbW90ZVRleHREZXRlY3RvciYm
KSA9IGRlbGV0ZTsKLSAgICBSZW1vdGVUZXh0RGV0ZWN0b3ImIG9wZXJhdG9yPShjb25zdCBSZW1v
dGVUZXh0RGV0ZWN0b3ImKSA9IGRlbGV0ZTsKLSAgICBSZW1vdGVUZXh0RGV0ZWN0b3ImIG9wZXJh
dG9yPShSZW1vdGVUZXh0RGV0ZWN0b3ImJikgPSBkZWxldGU7Ci0KLSAgICBXZWJDb3JlOjpTaGFw
ZURldGVjdGlvbjo6VGV4dERldGVjdG9yJiBiYWNraW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9
Ci0KLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29u
bmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwotCi0gICAgdm9pZCBkZXRlY3QoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkRldGVjdGVk
VGV4dD4mJik+JiYpOwotCi0gICAgUmVmPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpUZXh0RGV0
ZWN0b3I+IG1fYmFja2luZzsKLSAgICBTaGFwZURldGVjdGlvbjo6T2JqZWN0SGVhcCYgbV9vYmpl
Y3RIZWFwOwotICAgIFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci19Owot
Ci19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9TaGFwZURldGVjdGlvbi9SZW1v
dGVUZXh0RGV0ZWN0b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hh
cGVEZXRlY3Rpb24vUmVtb3RlVGV4dERldGVjdG9yLm1lc3NhZ2VzLmluCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmYzZiMGE0N2Y3NjAuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlVGV4dERldGVjdG9yLm1lc3Nh
Z2VzLmluCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLyogQ29weXJpZ2h0IChDKSAy
MDIzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSAqIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
LSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZiBFTkFC
TEUoR1BVX1BST0NFU1MpCi0KLW1lc3NhZ2VzIC0+IFJlbW90ZVRleHREZXRlY3RvciBOb3RSZWZD
b3VudGVkIFN0cmVhbSB7Ci0gICAgdm9pZCBEZXRlY3QoKSAtPiAoVmVjdG9yPFdlYkNvcmU6OlNo
YXBlRGV0ZWN0aW9uOjpEZXRlY3RlZFRleHQ+IGRldGVjdGVkVGV4dCkKLX0KLQotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vU2hhcGVE
ZXRlY3Rpb25PYmplY3RIZWFwLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9TaGFwZURl
dGVjdGlvbi9TaGFwZURldGVjdGlvbk9iamVjdEhlYXAuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA2N2UyNWVhNGM3NmQuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvU2hhcGVEZXRlY3Rpb24vU2hhcGVEZXRlY3Rpb25PYmplY3RIZWFwLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
Ci0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
LSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29u
ZmlnLmgiCi0jaW5jbHVkZSAiU2hhcGVEZXRlY3Rpb25PYmplY3RIZWFwLmgiCi0KLSNpZiBFTkFC
TEUoR1BVX1BST0NFU1MpCi0KLSNpbmNsdWRlICJSZW1vdGVCYXJjb2RlRGV0ZWN0b3IuaCIKLSNp
bmNsdWRlICJSZW1vdGVGYWNlRGV0ZWN0b3IuaCIKLSNpbmNsdWRlICJSZW1vdGVUZXh0RGV0ZWN0
b3IuaCIKLQotbmFtZXNwYWNlIFdlYktpdDo6U2hhcGVEZXRlY3Rpb24gewotCi1PYmplY3RIZWFw
OjpPYmplY3RIZWFwKCkgPSBkZWZhdWx0OwotCi1PYmplY3RIZWFwOjp+T2JqZWN0SGVhcCgpID0g
ZGVmYXVsdDsKLQotdm9pZCBPYmplY3RIZWFwOjphZGRPYmplY3QoU2hhcGVEZXRlY3Rpb25JZGVu
dGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZUJhcmNvZGVEZXRlY3RvciYgYmFyY29kZURldGVjdG9y
KQotewotICAgIGF1dG8gcmVzdWx0ID0gbV9iYXJjb2RlRGV0ZWN0b3JzLmFkZChpZGVudGlmaWVy
LCBiYXJjb2RlRGV0ZWN0b3IpOwotICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQuaXNO
ZXdFbnRyeSk7Ci19Ci0KLXZvaWQgT2JqZWN0SGVhcDo6YWRkT2JqZWN0KFNoYXBlRGV0ZWN0aW9u
SWRlbnRpZmllciBpZGVudGlmaWVyLCBSZW1vdGVGYWNlRGV0ZWN0b3ImIGZhY2VEZXRlY3RvcikK
LXsKLSAgICBhdXRvIHJlc3VsdCA9IG1fZmFjZURldGVjdG9ycy5hZGQoaWRlbnRpZmllciwgZmFj
ZURldGVjdG9yKTsKLSAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0LmlzTmV3RW50cnkp
OwotfQotCi12b2lkIE9iamVjdEhlYXA6OmFkZE9iamVjdChTaGFwZURldGVjdGlvbklkZW50aWZp
ZXIgaWRlbnRpZmllciwgUmVtb3RlVGV4dERldGVjdG9yJiB0ZXh0RGV0ZWN0b3IpCi17Ci0gICAg
YXV0byByZXN1bHQgPSBtX3RleHREZXRlY3RvcnMuYWRkKGlkZW50aWZpZXIsIHRleHREZXRlY3Rv
cik7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdC5pc05ld0VudHJ5KTsKLX0KLQot
dm9pZCBPYmplY3RIZWFwOjpyZW1vdmVPYmplY3QoU2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyIGlk
ZW50aWZpZXIpCi17Ci0gICAgaW50IGNvdW50ID0gMDsKLSAgICBjb3VudCArPSBtX2JhcmNvZGVE
ZXRlY3RvcnMucmVtb3ZlKGlkZW50aWZpZXIpOwotICAgIGNvdW50ICs9IG1fZmFjZURldGVjdG9y
cy5yZW1vdmUoaWRlbnRpZmllcik7Ci0gICAgY291bnQgKz0gbV90ZXh0RGV0ZWN0b3JzLnJlbW92
ZShpZGVudGlmaWVyKTsKLSAgICBBU1NFUlRfVU5VU0VEKGNvdW50LCBjb3VudCA9PSAxKTsKLX0K
LQotdm9pZCBPYmplY3RIZWFwOjpjbGVhcigpCi17Ci0gICAgbV9iYXJjb2RlRGV0ZWN0b3JzLmNs
ZWFyKCk7Ci0gICAgbV9mYWNlRGV0ZWN0b3JzLmNsZWFyKCk7Ci0gICAgbV90ZXh0RGV0ZWN0b3Jz
LmNsZWFyKCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdDo6U2hhcGVEZXRlY3Rpb24KLQot
I2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9TaGFwZURldGVjdGlvbi9TaGFwZURldGVjdGlvbk9iamVjdEhlYXAuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9TaGFwZURldGVjdGlvbi9TaGFwZURldGVjdGlvbk9iamVj
dEhlYXAuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDRmZjU1MWNhOGQ4Li4wMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL1NoYXBlRGV0ZWN0aW9uL1No
YXBlRGV0ZWN0aW9uT2JqZWN0SGVhcC5oCisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAyMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotCi0j
aW5jbHVkZSAiU2NvcGVkQWN0aXZlTWVzc2FnZVJlY2VpdmVRdWV1ZS5oIgotI2luY2x1ZGUgIlNo
YXBlRGV0ZWN0aW9uSWRlbnRpZmllci5oIgotI2luY2x1ZGUgPGZ1bmN0aW9uYWw+Ci0jaW5jbHVk
ZSA8dmFyaWFudD4KLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KLQotbmFtZXNwYWNlIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uIHsKLWNsYXNzIEJhcmNvZGVE
ZXRlY3RvcjsKLWNsYXNzIEZhY2VEZXRlY3RvcjsKLWNsYXNzIFRleHREZXRlY3RvcjsKLX0KLQot
bmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBSZW1vdGVCYXJjb2RlRGV0ZWN0b3I7Ci1jbGFzcyBS
ZW1vdGVGYWNlRGV0ZWN0b3I7Ci1jbGFzcyBSZW1vdGVUZXh0RGV0ZWN0b3I7Ci19Ci0KLW5hbWVz
cGFjZSBXZWJLaXQ6OlNoYXBlRGV0ZWN0aW9uIHsKLQotY2xhc3MgT2JqZWN0SGVhcCBmaW5hbCA6
IHB1YmxpYyBSZWZDb3VudGVkPE9iamVjdEhlYXA+IHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPE9iamVjdEhlYXA+IGNyZWF0ZSgpCi0gICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBPYmplY3RIZWFwKTsKLSAgICB9Ci0KLSAg
ICB+T2JqZWN0SGVhcCgpOwotCi0gICAgdm9pZCBhZGRPYmplY3QoU2hhcGVEZXRlY3Rpb25JZGVu
dGlmaWVyLCBSZW1vdGVCYXJjb2RlRGV0ZWN0b3ImKTsKLSAgICB2b2lkIGFkZE9iamVjdChTaGFw
ZURldGVjdGlvbklkZW50aWZpZXIsIFJlbW90ZUZhY2VEZXRlY3RvciYpOwotICAgIHZvaWQgYWRk
T2JqZWN0KFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllciwgUmVtb3RlVGV4dERldGVjdG9yJik7Ci0K
LSAgICB2b2lkIHJlbW92ZU9iamVjdChTaGFwZURldGVjdGlvbklkZW50aWZpZXIpOwotCi0gICAg
dm9pZCBjbGVhcigpOwotCi1wcml2YXRlOgotICAgIE9iamVjdEhlYXAoKTsKLQotICAgIEhhc2hN
YXA8U2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyLCBSZWY8UmVtb3RlQmFyY29kZURldGVjdG9yPj4g
bV9iYXJjb2RlRGV0ZWN0b3JzOwotICAgIEhhc2hNYXA8U2hhcGVEZXRlY3Rpb25JZGVudGlmaWVy
LCBSZWY8UmVtb3RlRmFjZURldGVjdG9yPj4gbV9mYWNlRGV0ZWN0b3JzOwotICAgIEhhc2hNYXA8
U2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyLCBSZWY8UmVtb3RlVGV4dERldGVjdG9yPj4gbV90ZXh0
RGV0ZWN0b3JzOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0OjpTaGFwZURldGVjdGlvbgot
Ci0jZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIu
Y3BwCmluZGV4IGNiZDA0YmM2NWU3ZS4uMzQyZjY1OTBlMTNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0
UmVjb3JkZXIuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1Mp
CiAKLSNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSAiSW1h
Z2VCdWZmZXJTaGFyZWFibGVBbGxvY2F0b3IuaCIKICNpbmNsdWRlICJSZW1vdGVEaXNwbGF5TGlz
dFJlY29yZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVJbWFnZUJ1ZmZlci5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmlu
Z0JhY2tlbmQuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJl
bmRlcmluZ0JhY2tlbmQuY3BwCmluZGV4IGUyOTY2NjVhNGY4Zi4uMTMyZjQ5N2VhMDE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90
ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCkBAIC0zNSwyNiArMzUsMTggQEAKICNpbmNsdWRlICJNZXNz
YWdlU2VuZGVySW5saW5lcy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtSW1hZ2VCdWZmZXJTaGFyZWFi
bGVCYWNrZW5kLmgiCiAjaW5jbHVkZSAiUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlm
aWVyLmgiCi0jaW5jbHVkZSAiUmVtb3RlQmFyY29kZURldGVjdG9yLmgiCi0jaW5jbHVkZSAiUmVt
b3RlQmFyY29kZURldGVjdG9yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVEaXNwbGF5TGlz
dFJlY29yZGVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlck1lc3NhZ2Vz
LmgiCi0jaW5jbHVkZSAiUmVtb3RlRmFjZURldGVjdG9yLmgiCi0jaW5jbHVkZSAiUmVtb3RlRmFj
ZURldGVjdG9yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVJbWFnZUJ1ZmZlci5oIgogI2lu
Y2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVh
dGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWVzc2Fn
ZXMuaCIKICNpbmNsdWRlICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHlNZXNzYWdlcy5oIgot
I2luY2x1ZGUgIlJlbW90ZVRleHREZXRlY3Rvci5oIgotI2luY2x1ZGUgIlJlbW90ZVRleHREZXRl
Y3Rvck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiU2hhcGVEZXRlY3Rpb25PYmplY3RIZWFwLmgiCiAj
aW5jbHVkZSAiU3dhcEJ1ZmZlcnNEaXNwbGF5UmVxdWlyZW1lbnQuaCIKICNpbmNsdWRlICJXZWJD
b3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxDYW52YXNFbGVtZW50
Lmg+CiAjaW5jbHVkZSA8d3RmL0NoZWNrZWRBcml0aG1ldGljLmg+Ci0jaW5jbHVkZSA8d3RmL1J1
bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1N5
c3RlbVRyYWNpbmcuaD4KIApAQCAtNjIsMTIgKzU0LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0lP
U3VyZmFjZVBvb2wuaD4KICNlbmRpZgogCi0jaWYgSEFWRShTSEFQRV9ERVRFQ1RJT05fQVBJX0lN
UExFTUVOVEFUSU9OKQotI2ltcG9ydCA8V2ViQ29yZS9CYXJjb2RlRGV0ZWN0b3JJbXBsZW1lbnRh
dGlvbi5oPgotI2ltcG9ydCA8V2ViQ29yZS9GYWNlRGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oPgot
I2ltcG9ydCA8V2ViQ29yZS9UZXh0RGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oPgotI2VuZGlmCi0K
ICNpZiBFTkFCTEUoSVBDX1RFU1RJTkdfQVBJKQogI2RlZmluZSBXRUJfUFJPQ0VTU19URVJNSU5B
VEVfQ09ORElUSU9OICFtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MtPmNvbm5lY3Rpb24oKS5p
Z25vcmVJbnZhbGlkTWVzc2FnZUZvclRlc3RpbmcoKQogI2Vsc2UKQEAgLTExNCw3ICsxMDAsNiBA
QCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kKEdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNvbgogI2lmIEhBVkUoSU9TVVJGQUNFKQogICAgICwgbV9p
b1N1cmZhY2VQb29sKElPU3VyZmFjZVBvb2w6OmNyZWF0ZSgpKQogI2VuZGlmCi0gICAgLCBtX3No
YXBlRGV0ZWN0aW9uT2JqZWN0SGVhcChTaGFwZURldGVjdGlvbjo6T2JqZWN0SGVhcDo6Y3JlYXRl
KCkpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIH0KQEAgLTYxNiw3MSArNjAx
LDYgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpyZWxlYXNlUmVtb3RlR1BVKFdlYkdQ
VUlkZW50aWZpZXIgaWRlbnRpZmllcikKICAgICAgICAgZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2Vz
cygpLmdwdVByb2Nlc3MoKS50cnlFeGl0SWZVbnVzZWRBbmRVbmRlck1lbW9yeVByZXNzdXJlKCk7
CiB9CiAKLXZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Y3JlYXRlUmVtb3RlQmFyY29kZURl
dGVjdG9yKFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBXZWJDb3Jl
OjpTaGFwZURldGVjdGlvbjo6QmFyY29kZURldGVjdG9yT3B0aW9ucyYgYmFyY29kZURldGVjdG9y
T3B0aW9ucykKLXsKLSNpZiBIQVZFKFNIQVBFX0RFVEVDVElPTl9BUElfSU1QTEVNRU5UQVRJT04p
Ci0gICAgYXV0byBpbm5lciA9IFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRGV0ZWN0
b3JJbXBsOjpjcmVhdGUoYmFyY29kZURldGVjdG9yT3B0aW9ucyk7Ci0gICAgYXV0byByZW1vdGVC
YXJjb2RlRGV0ZWN0b3IgPSBSZW1vdGVCYXJjb2RlRGV0ZWN0b3I6OmNyZWF0ZShXVEZNb3ZlKGlu
bmVyKSwgbV9zaGFwZURldGVjdGlvbk9iamVjdEhlYXAsIGlkZW50aWZpZXIpOwotICAgIG1fc2hh
cGVEZXRlY3Rpb25PYmplY3RIZWFwLT5hZGRPYmplY3QoaWRlbnRpZmllciwgcmVtb3RlQmFyY29k
ZURldGVjdG9yKTsKLSAgICBzdHJlYW1Db25uZWN0aW9uKCkuc3RhcnRSZWNlaXZpbmdNZXNzYWdl
cyhyZW1vdGVCYXJjb2RlRGV0ZWN0b3IsIE1lc3NhZ2VzOjpSZW1vdGVCYXJjb2RlRGV0ZWN0b3I6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgaWRlbnRpZmllci50b1VJbnQ2NCgpKTsKLSNlbHNlCi0g
ICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwotICAgIFVOVVNFRF9QQVJBTShiYXJjb2RlRGV0
ZWN0b3JPcHRpb25zKTsKLSNlbmRpZgotfQotCi12b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6
OnJlbGVhc2VSZW1vdGVCYXJjb2RlRGV0ZWN0b3IoU2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyIGlk
ZW50aWZpZXIpCi17Ci0gICAgc3RyZWFtQ29ubmVjdGlvbigpLnN0b3BSZWNlaXZpbmdNZXNzYWdl
cyhNZXNzYWdlczo6UmVtb3RlQmFyY29kZURldGVjdG9yOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCks
IGlkZW50aWZpZXIudG9VSW50NjQoKSk7Ci0gICAgbV9zaGFwZURldGVjdGlvbk9iamVjdEhlYXAt
PnJlbW92ZU9iamVjdChpZGVudGlmaWVyKTsKLX0KLQotdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kOjpnZXRSZW1vdGVCYXJjb2RlRGV0ZWN0b3JTdXBwb3J0ZWRGb3JtYXRzKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoVmVjdG9yPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0
PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSNpZiBIQVZFKFNIQVBFX0RFVEVDVElPTl9B
UElfSU1QTEVNRU5UQVRJT04pCi0gICAgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVE
ZXRlY3RvckltcGw6OmdldFN1cHBvcnRlZEZvcm1hdHMoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cikpOwotI2Vsc2UKLSAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwotI2VuZGlmCi19Ci0KLXZv
aWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Y3JlYXRlUmVtb3RlRmFjZURldGVjdG9yKFNoYXBl
RGV0ZWN0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTaGFwZURldGVj
dGlvbjo6RmFjZURldGVjdG9yT3B0aW9ucyYgZmFjZURldGVjdG9yT3B0aW9ucykKLXsKLSNpZiBI
QVZFKFNIQVBFX0RFVEVDVElPTl9BUElfSU1QTEVNRU5UQVRJT04pCi0gICAgYXV0byBpbm5lciA9
IFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpGYWNlRGV0ZWN0b3JJbXBsOjpjcmVhdGUoZmFjZURl
dGVjdG9yT3B0aW9ucyk7Ci0gICAgYXV0byByZW1vdGVGYWNlRGV0ZWN0b3IgPSBSZW1vdGVGYWNl
RGV0ZWN0b3I6OmNyZWF0ZShXVEZNb3ZlKGlubmVyKSwgbV9zaGFwZURldGVjdGlvbk9iamVjdEhl
YXAsIGlkZW50aWZpZXIpOwotICAgIG1fc2hhcGVEZXRlY3Rpb25PYmplY3RIZWFwLT5hZGRPYmpl
Y3QoaWRlbnRpZmllciwgcmVtb3RlRmFjZURldGVjdG9yKTsKLSAgICBzdHJlYW1Db25uZWN0aW9u
KCkuc3RhcnRSZWNlaXZpbmdNZXNzYWdlcyhyZW1vdGVGYWNlRGV0ZWN0b3IsIE1lc3NhZ2VzOjpS
ZW1vdGVGYWNlRGV0ZWN0b3I6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgaWRlbnRpZmllci50b1VJ
bnQ2NCgpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwotICAgIFVOVVNF
RF9QQVJBTShmYWNlRGV0ZWN0b3JPcHRpb25zKTsKLSNlbmRpZgotfQotCi12b2lkIFJlbW90ZVJl
bmRlcmluZ0JhY2tlbmQ6OnJlbGVhc2VSZW1vdGVGYWNlRGV0ZWN0b3IoU2hhcGVEZXRlY3Rpb25J
ZGVudGlmaWVyIGlkZW50aWZpZXIpCi17Ci0gICAgc3RyZWFtQ29ubmVjdGlvbigpLnN0b3BSZWNl
aXZpbmdNZXNzYWdlcyhNZXNzYWdlczo6UmVtb3RlRmFjZURldGVjdG9yOjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIGlkZW50aWZpZXIudG9VSW50NjQoKSk7Ci0gICAgbV9zaGFwZURldGVjdGlvbk9i
amVjdEhlYXAtPnJlbW92ZU9iamVjdChpZGVudGlmaWVyKTsKLX0KLQotdm9pZCBSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kOjpjcmVhdGVSZW1vdGVUZXh0RGV0ZWN0b3IoU2hhcGVEZXRlY3Rpb25JZGVu
dGlmaWVyIGlkZW50aWZpZXIpCi17Ci0jaWYgSEFWRShTSEFQRV9ERVRFQ1RJT05fQVBJX0lNUExF
TUVOVEFUSU9OKQotICAgIGF1dG8gaW5uZXIgPSBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6VGV4
dERldGVjdG9ySW1wbDo6Y3JlYXRlKCk7Ci0gICAgYXV0byByZW1vdGVUZXh0RGV0ZWN0b3IgPSBS
ZW1vdGVUZXh0RGV0ZWN0b3I6OmNyZWF0ZShXVEZNb3ZlKGlubmVyKSwgbV9zaGFwZURldGVjdGlv
bk9iamVjdEhlYXAsIGlkZW50aWZpZXIpOwotICAgIG1fc2hhcGVEZXRlY3Rpb25PYmplY3RIZWFw
LT5hZGRPYmplY3QoaWRlbnRpZmllciwgcmVtb3RlVGV4dERldGVjdG9yKTsKLSAgICBzdHJlYW1D
b25uZWN0aW9uKCkuc3RhcnRSZWNlaXZpbmdNZXNzYWdlcyhyZW1vdGVUZXh0RGV0ZWN0b3IsIE1l
c3NhZ2VzOjpSZW1vdGVUZXh0RGV0ZWN0b3I6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgaWRlbnRp
Zmllci50b1VJbnQ2NCgpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwot
I2VuZGlmCi19Ci0KLXZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6cmVsZWFzZVJlbW90ZVRl
eHREZXRlY3RvcihTaGFwZURldGVjdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikKLXsKLSAgICBz
dHJlYW1Db25uZWN0aW9uKCkuc3RvcFJlY2VpdmluZ01lc3NhZ2VzKE1lc3NhZ2VzOjpSZW1vdGVU
ZXh0RGV0ZWN0b3I6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgaWRlbnRpZmllci50b1VJbnQ2NCgp
KTsKLSAgICBtX3NoYXBlRGV0ZWN0aW9uT2JqZWN0SGVhcC0+cmVtb3ZlT2JqZWN0KGlkZW50aWZp
ZXIpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0sK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC5oCmluZGV4IDU5ZDNlMDhlODVhNC4uNWU3YTUzYWZmZThiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kLmgKQEAgLTQyLDcgKzQyLDYgQEAKICNpbmNsdWRlICJSZW5kZXJpbmdV
cGRhdGVJRC5oIgogI2luY2x1ZGUgIlNjb3BlZEFjdGl2ZU1lc3NhZ2VSZWNlaXZlUXVldWUuaCIK
ICNpbmNsdWRlICJTY29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0LmgiCi0jaW5jbHVkZSAi
U2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU3RyZWFtQ29ubmVjdGlvbldv
cmtRdWV1ZS5oIgogI2luY2x1ZGUgIlN0cmVhbU1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUg
IlN0cmVhbVNlcnZlckNvbm5lY3Rpb24uaCIKQEAgLTYxLDE0ICs2MCw4IEBAIGNsYXNzIERlc3Rp
bmF0aW9uQ29sb3JTcGFjZTsKIGNsYXNzIEZsb2F0U2l6ZTsKIGNsYXNzIE1lZGlhUGxheWVyOwog
Y2xhc3MgTmF0aXZlSW1hZ2U7Ci1lbnVtIGNsYXNzIFJlbmRlcmluZ01vZGUgOiBib29sOwotCi1u
YW1lc3BhY2UgU2hhcGVEZXRlY3Rpb24gewotc3RydWN0IEJhcmNvZGVEZXRlY3Rvck9wdGlvbnM7
Ci1lbnVtIGNsYXNzIEJhcmNvZGVGb3JtYXQgOiB1aW50OF90Owotc3RydWN0IEZhY2VEZXRlY3Rv
ck9wdGlvbnM7Ci19CiAKK2VudW0gY2xhc3MgUmVuZGVyaW5nTW9kZSA6IGJvb2w7CiB9CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpAQCAtODEsMTAgKzc0LDYgQEAgc3RydWN0IFByZXBhcmVCYWNraW5n
U3RvcmVCdWZmZXJzT3V0cHV0RGF0YTsKIHN0cnVjdCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3Jl
YXRpb25QYXJhbWV0ZXJzOwogZW51bSBjbGFzcyBTd2FwQnVmZmVyc0Rpc3BsYXlSZXF1aXJlbWVu
dCA6IHVpbnQ4X3Q7CiAKLW5hbWVzcGFjZSBTaGFwZURldGVjdGlvbiB7Ci1jbGFzcyBPYmplY3RI
ZWFwOwotfQotCiBjbGFzcyBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kIDogcHJpdmF0ZSBJUEM6Ok1l
c3NhZ2VTZW5kZXIsIHB1YmxpYyBJUEM6OlN0cmVhbU1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxSZW1vdGVSZW5kZXJpbmdCYWNrZW5kPiBjcmVhdGUoR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyYsIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFtZXRl
cnMmJiwgSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpIYW5kbGUmJik7CkBAIC0xNjYsMTQg
KzE1NSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjcmVhdGVSZW1vdGVHUFUoV2ViR1BVSWRlbnRp
ZmllciwgSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpIYW5kbGUmJik7CiAgICAgdm9pZCBy
ZWxlYXNlUmVtb3RlR1BVKFdlYkdQVUlkZW50aWZpZXIpOwogCi0gICAgdm9pZCBjcmVhdGVSZW1v
dGVCYXJjb2RlRGV0ZWN0b3IoU2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyLCBjb25zdCBXZWJDb3Jl
OjpTaGFwZURldGVjdGlvbjo6QmFyY29kZURldGVjdG9yT3B0aW9ucyYpOwotICAgIHZvaWQgcmVs
ZWFzZVJlbW90ZUJhcmNvZGVEZXRlY3RvcihTaGFwZURldGVjdGlvbklkZW50aWZpZXIpOwotICAg
IHZvaWQgZ2V0UmVtb3RlQmFyY29kZURldGVjdG9yU3VwcG9ydGVkRm9ybWF0cyhDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFZlY3RvcjxXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZUZvcm1h
dD4mJik+JiYpOwotICAgIHZvaWQgY3JlYXRlUmVtb3RlRmFjZURldGVjdG9yKFNoYXBlRGV0ZWN0
aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkZhY2VEZXRlY3Rv
ck9wdGlvbnMmKTsKLSAgICB2b2lkIHJlbGVhc2VSZW1vdGVGYWNlRGV0ZWN0b3IoU2hhcGVEZXRl
Y3Rpb25JZGVudGlmaWVyKTsKLSAgICB2b2lkIGNyZWF0ZVJlbW90ZVRleHREZXRlY3RvcihTaGFw
ZURldGVjdGlvbklkZW50aWZpZXIpOwotICAgIHZvaWQgcmVsZWFzZVJlbW90ZVRleHREZXRlY3Rv
cihTaGFwZURldGVjdGlvbklkZW50aWZpZXIpOwotCiAgICAgUmVmPElQQzo6U3RyZWFtQ29ubmVj
dGlvbldvcmtRdWV1ZT4gbV93b3JrUXVldWU7CiAgICAgUmVmPElQQzo6U3RyZWFtU2VydmVyQ29u
bmVjdGlvbj4gbV9zdHJlYW1Db25uZWN0aW9uOwogICAgIFJlbW90ZVJlc291cmNlQ2FjaGUgbV9y
ZW1vdGVSZXNvdXJjZUNhY2hlOwpAQCAtMTkxLDggKzE3Miw2IEBAIHByaXZhdGU6CiAKICAgICB1
c2luZyBSZW1vdGVHUFVNYXAgPSBIYXNoTWFwPFdlYkdQVUlkZW50aWZpZXIsIElQQzo6U2NvcGVk
QWN0aXZlTWVzc2FnZVJlY2VpdmVRdWV1ZTxSZW1vdGVHUFU+PjsKICAgICBSZW1vdGVHUFVNYXAg
bV9yZW1vdGVHUFVNYXA7Ci0KLSAgICBSZWY8U2hhcGVEZXRlY3Rpb246Ok9iamVjdEhlYXA+IG1f
c2hhcGVEZXRlY3Rpb25PYmplY3RIZWFwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLm1lc3NhZ2VzLmluCmluZGV4IDJkNjNjMTlmY2Y3OC4u
ZDRhNGJlZTM1MDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5tZXNzYWdlcy5pbgpA
QCAtNTEsMTQgKzUxLDYgQEAgbWVzc2FnZXMgLT4gUmVtb3RlUmVuZGVyaW5nQmFja2VuZCBOb3RS
ZWZDb3VudGVkIFN0cmVhbSB7CiAKICAgICBDcmVhdGVSZW1vdGVHUFUoV2ViS2l0OjpXZWJHUFVJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6SGFuZGxl
IHNlcnZlckNvbm5lY3Rpb24pIEFsbG93ZWRXaGVuV2FpdGluZ0ZvclN5bmNSZXBseSBOb3RTdHJl
YW1FbmNvZGFibGUKICAgICBSZWxlYXNlUmVtb3RlR1BVKFdlYktpdDo6V2ViR1BVSWRlbnRpZmll
ciBpZGVudGlmaWVyKSBBbGxvd2VkV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkKLQotICAgIENyZWF0
ZVJlbW90ZUJhcmNvZGVEZXRlY3RvcihXZWJLaXQ6OlNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZURldGVjdG9yT3B0aW9u
cyBiYXJjb2RlRGV0ZWN0b3JPcHRpb25zKSBBbGxvd2VkV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkK
LSAgICBSZWxlYXNlUmVtb3RlQmFyY29kZURldGVjdG9yKFdlYktpdDo6U2hhcGVEZXRlY3Rpb25J
ZGVudGlmaWVyIGlkZW50aWZpZXIpIEFsbG93ZWRXaGVuV2FpdGluZ0ZvclN5bmNSZXBseQotICAg
IEdldFJlbW90ZUJhcmNvZGVEZXRlY3RvclN1cHBvcnRlZEZvcm1hdHMoKSAtPiAoVmVjdG9yPFdl
YkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0PiBmb3JtYXRzKSBBc3luYwotICAg
IENyZWF0ZVJlbW90ZUZhY2VEZXRlY3RvcihXZWJLaXQ6OlNoYXBlRGV0ZWN0aW9uSWRlbnRpZmll
ciBpZGVudGlmaWVyLCBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6RmFjZURldGVjdG9yT3B0aW9u
cyBmYWNlRGV0ZWN0b3JPcHRpb25zKSBBbGxvd2VkV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkKLSAg
ICBSZWxlYXNlUmVtb3RlRmFjZURldGVjdG9yKFdlYktpdDo6U2hhcGVEZXRlY3Rpb25JZGVudGlm
aWVyIGlkZW50aWZpZXIpIEFsbG93ZWRXaGVuV2FpdGluZ0ZvclN5bmNSZXBseQotICAgIENyZWF0
ZVJlbW90ZVRleHREZXRlY3RvcihXZWJLaXQ6OlNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllciBpZGVu
dGlmaWVyKSBBbGxvd2VkV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkKLSAgICBSZWxlYXNlUmVtb3Rl
VGV4dERldGVjdG9yKFdlYktpdDo6U2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyIGlkZW50aWZpZXIp
IEFsbG93ZWRXaGVuV2FpdGluZ0ZvclN5bmNSZXBseQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQ
VV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9S
ZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckludGVybmFsVW5pdE1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlckludGVybmFsVW5pdE1hbmFnZXIuY3BwCmluZGV4IDc4YjRmNmFjYTRkZS4u
ZDE5NzFkNDU4ODE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRj
L1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFuYWdlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVBdWRpb01lZGlh
U3RyZWFtVHJhY2tSZW5kZXJlckludGVybmFsVW5pdE1hbmFnZXIuY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2Miw3ICsyNjIsNyBA
QCB2b2lkIFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFu
YWdlcjo6VW5pdDo6Y2FwdHVyZVVuaXRJcwogdm9pZCBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlckludGVybmFsVW5pdE1hbmFnZXI6OlVuaXQ6OmNhcHR1cmVVbml0SGFzU3RvcHBl
ZCgpCiB7CiAgICAgLy8gQ2FwdHVyZSB1bml0IGhhcyBzdG9wcGVkIGFuZCBhdWRpbyB3aWxsIG5v
IGxvbmdlciBiZSByZW5kZXJlZCB0aHJvdWdoIGl0IHNvIHN0YXJ0IHRoZSBsb2NhbCB1bml0Lgot
ICAgIGlmIChtX2lzUGxheWluZyAmJiAhV2ViQ29yZTo6Q29yZUF1ZGlvU2hhcmVkVW5pdDo6dW5p
dCgpLmlzU3VzcGVuZGVkKCkpCisgICAgaWYgKG1faXNQbGF5aW5nICYmICFDb3JlQXVkaW9TaGFy
ZWRVbml0Ojp1bml0KCkuaXNTdXNwZW5kZWQoKSkKICAgICAgICAgbV9sb2NhbFVuaXQtPnN0YXJ0
KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2Fn
ZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDAy
ZDczOWJhY2UyZS4uYTExNTNkZjQxNThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQv
bWVzc2FnZXMucHkKQEAgLTI5LDcgKzI5LDcgQEAgZnJvbSB3ZWJraXQgaW1wb3J0IHBhcnNlcgog
ZnJvbSB3ZWJraXQubW9kZWwgaW1wb3J0IEJVSUxUSU5fQVRUUklCVVRFLCBTWU5DSFJPTk9VU19B
VFRSSUJVVEUsIEFMTE9XRURXSEVOV0FJVElOR0ZPUlNZTkNSRVBMWV9BVFRSSUJVVEUsIEFMTE9X
RURXSEVOV0FJVElOR0ZPUlNZTkNSRVBMWURVUklOR1VOQk9VTkRFRElQQ19BVFRSSUJVVEUsIE1B
SU5USFJFQURDQUxMQkFDS19BVFRSSUJVVEUsIFNUUkVBTV9BVFRSSUJVVEUsIENBTExfV0lUSF9S
RVBMWV9JRF9BVFRSSUJVVEUsIE1lc3NhZ2VSZWNlaXZlciwgTWVzc2FnZQogCiBfbGljZW5zZV9o
ZWFkZXIgPSAiIiIvKgotICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjk5LDcg
KzI5OSw2IEBAIGRlZiBzZXJpYWxpemVkX2lkZW50aWZpZXJzKCk6CiAgICAgICAgICdXZWJLaXQ6
OlJlbmRlcmluZ1VwZGF0ZUlEJywKICAgICAgICAgJ1dlYktpdDo6UmV0cmlldmVSZWNvcmRSZXNw
b25zZUJvZHlDYWxsYmFja0lkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXJJZGVudGlmaWVyJywKLSAgICAgICAgJ1dlYktpdDo6U2hhcGVEZXRlY3Rp
b25JZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6U3RvcmFnZUFyZWFJZGVudGlmaWVyJywK
ICAgICAgICAgJ1dlYktpdDo6U3RvcmFnZUFyZWFJbXBsSWRlbnRpZmllcicsCiAgICAgICAgICdX
ZWJLaXQ6OlN0b3JhZ2VBcmVhTWFwSWRlbnRpZmllcicsCkBAIC03ODgsMTIgKzc4Nyw2IEBAIGRl
ZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXInOiBbJzxXZWJDb3JlL1NlcnZpY2VXb3JrZXJUeXBlcy5o
PiddLAogICAgICAgICAnV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlJzog
Wyc8V2ViQ29yZS9TZXJ2aWNlV29ya2VyVHlwZXMuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlNl
cnZpY2VXb3JrZXJTdGF0ZSc6IFsnPFdlYkNvcmUvU2VydmljZVdvcmtlclR5cGVzLmg+J10sCi0g
ICAgICAgICdXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZURldGVjdG9yT3B0aW9ucyc6
IFsnPFdlYkNvcmUvQmFyY29kZURldGVjdG9yT3B0aW9uc0ludGVyZmFjZS5oPiddLAotICAgICAg
ICAnV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVGb3JtYXQnOiBbJzxXZWJDb3JlL0Jh
cmNvZGVGb3JtYXRJbnRlcmZhY2UuaD4nXSwKLSAgICAgICAgJ1dlYkNvcmU6OlNoYXBlRGV0ZWN0
aW9uOjpEZXRlY3RlZEJhcmNvZGUnOiBbJzxXZWJDb3JlL0RldGVjdGVkQmFyY29kZUludGVyZmFj
ZS5oPiddLAotICAgICAgICAnV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkRldGVjdGVkRmFjZSc6
IFsnPFdlYkNvcmUvRGV0ZWN0ZWRGYWNlSW50ZXJmYWNlLmg+J10sCi0gICAgICAgICdXZWJDb3Jl
OjpTaGFwZURldGVjdGlvbjo6RGV0ZWN0ZWRUZXh0JzogWyc8V2ViQ29yZS9EZXRlY3RlZFRleHRJ
bnRlcmZhY2UuaD4nXSwKLSAgICAgICAgJ1dlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpGYWNlRGV0
ZWN0b3JPcHRpb25zJzogWyc8V2ViQ29yZS9GYWNlRGV0ZWN0b3JPcHRpb25zSW50ZXJmYWNlLmg+
J10sCiAgICAgICAgICdXZWJDb3JlOjpTaGFyZURhdGFXaXRoUGFyc2VkVVJMJzogWyc8V2ViQ29y
ZS9TaGFyZURhdGEuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlNob3VsZENvbnRpbnVlUG9saWN5
Q2hlY2snOiBbJzxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4nXSwKICAgICAgICAgJ1dlYkNv
cmU6OlNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCc6IFsnPFdlYkNvcmUvU2VydmljZVdvcmtlclR5
cGVzLmg+J10sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3Rz
L01lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L3Rlc3RzL01lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5jcHAKaW5kZXggNGQ2OTJj
NzczZjc1Li44NDkzODg0NTI4MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93
ZWJraXQvdGVzdHMvTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL01lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjMgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtNzIsNyArNzIsNiBAQAogI2luY2x1ZGUgIlJlbmRlcmluZ1VwZGF0ZUlELmgiCiAjaW5jbHVk
ZSAiUmV0cmlldmVSZWNvcmRSZXNwb25zZUJvZHlDYWxsYmFja0lkZW50aWZpZXIuaCIKICNpbmNs
dWRlICJTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJJZGVudGlmaWVyLmgiCi0jaW5jbHVkZSAiU2hh
cGVEZXRlY3Rpb25JZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU3RvcmFnZUFyZWFJZGVudGlmaWVy
LmgiCiAjaW5jbHVkZSAiU3RvcmFnZUFyZWFJbXBsSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlN0
b3JhZ2VBcmVhTWFwSWRlbnRpZmllci5oIgpAQCAtNDg4LDcgKzQ4Nyw2IEBAIFZlY3RvcjxBU0NJ
SUxpdGVyYWw+IHNlcmlhbGl6ZWRJZGVudGlmaWVycygpCiAgICAgc3RhdGljX2Fzc2VydChzaXpl
b2YodWludDY0X3QpID09IHNpemVvZihXZWJLaXQ6OlJlbmRlcmluZ1VwZGF0ZUlEKSk7CiAgICAg
c3RhdGljX2Fzc2VydChzaXplb2YodWludDY0X3QpID09IHNpemVvZihXZWJLaXQ6OlJldHJpZXZl
UmVjb3JkUmVzcG9uc2VCb2R5Q2FsbGJhY2tJZGVudGlmaWVyKSk7CiAgICAgc3RhdGljX2Fzc2Vy
dChzaXplb2YodWludDY0X3QpID09IHNpemVvZihXZWJLaXQ6OlNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllcklkZW50aWZpZXIpKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZih1aW50NjRfdCkgPT0g
c2l6ZW9mKFdlYktpdDo6U2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyKSk7CiAgICAgc3RhdGljX2Fz
c2VydChzaXplb2YodWludDY0X3QpID09IHNpemVvZihXZWJLaXQ6OlN0b3JhZ2VBcmVhSWRlbnRp
ZmllcikpOwogICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKHVpbnQ2NF90KSA9PSBzaXplb2YoV2Vi
S2l0OjpTdG9yYWdlQXJlYUltcGxJZGVudGlmaWVyKSk7CiAgICAgc3RhdGljX2Fzc2VydChzaXpl
b2YodWludDY0X3QpID09IHNpemVvZihXZWJLaXQ6OlN0b3JhZ2VBcmVhTWFwSWRlbnRpZmllcikp
OwpAQCAtNTg4LDcgKzU4Niw2IEBAIFZlY3RvcjxBU0NJSUxpdGVyYWw+IHNlcmlhbGl6ZWRJZGVu
dGlmaWVycygpCiAgICAgICAgICJXZWJLaXQ6OlJlbmRlcmluZ1VwZGF0ZUlEIl9zLAogICAgICAg
ICAiV2ViS2l0OjpSZXRyaWV2ZVJlY29yZFJlc3BvbnNlQm9keUNhbGxiYWNrSWRlbnRpZmllciJf
cywKICAgICAgICAgIldlYktpdDo6U2FtcGxlQnVmZmVyRGlzcGxheUxheWVySWRlbnRpZmllciJf
cywKLSAgICAgICAgIldlYktpdDo6U2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyIl9zLAogICAgICAg
ICAiV2ViS2l0OjpTdG9yYWdlQXJlYUlkZW50aWZpZXIiX3MsCiAgICAgICAgICJXZWJLaXQ6OlN0
b3JhZ2VBcmVhSW1wbElkZW50aWZpZXIiX3MsCiAgICAgICAgICJXZWJLaXQ6OlN0b3JhZ2VBcmVh
TWFwSWRlbnRpZmllciJfcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvdGVzdHMvTWVzc2FnZU5hbWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQv
dGVzdHMvTWVzc2FnZU5hbWVzLmNwcAppbmRleCA0YjBmNmMyNGVjNDcuLmI0NWMyYTk3YWY2MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9NZXNzYWdlTmFt
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvTWVzc2FnZU5h
bWVzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL01lc3Nh
Z2VOYW1lcy5oIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9NZXNzYWdlTmFt
ZXMuaAppbmRleCAzMjk2N2U4YTI1YmYuLjhhN2IzNDk0YTZmOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9NZXNzYWdlTmFtZXMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL01lc3NhZ2VOYW1lcy5oCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhDVlBpeGVsQnVmZmVyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdp
dGhDVlBpeGVsQnVmZmVyTWVzc2FnZVJlY2VpdmVyLmNwcAppbmRleCA3MTI4NGYxYTM2Y2YuLmVj
ZmQxNDVjNWNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0
cy9UZXN0V2l0aENWUGl4ZWxCdWZmZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhDVlBpeGVsQnVmZmVyTWVzc2FnZVJl
Y2VpdmVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAy
MyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rl
c3RXaXRoQ1ZQaXhlbEJ1ZmZlck1lc3NhZ2VzLmggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Vi
a2l0L3Rlc3RzL1Rlc3RXaXRoQ1ZQaXhlbEJ1ZmZlck1lc3NhZ2VzLmgKaW5kZXggMDEwMzhiZDNi
OTIzLi5hM2EzNDlmNTk4MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvdGVzdHMvVGVzdFdpdGhDVlBpeGVsQnVmZmVyTWVzc2FnZXMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoQ1ZQaXhlbEJ1ZmZlck1lc3NhZ2VzLmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aElmTWVz
c2FnZU1lc3NhZ2VSZWNlaXZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rl
c3RzL1Rlc3RXaXRoSWZNZXNzYWdlTWVzc2FnZVJlY2VpdmVyLmNwcAppbmRleCAzYzkwODA2MjIw
MWIuLjBlZGZjMDUyZjZjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC90ZXN0cy9UZXN0V2l0aElmTWVzc2FnZU1lc3NhZ2VSZWNlaXZlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aElmTWVzc2FnZU1lc3NhZ2VSZWNl
aXZlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0
V2l0aElmTWVzc2FnZU1lc3NhZ2VzLmggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rl
c3RzL1Rlc3RXaXRoSWZNZXNzYWdlTWVzc2FnZXMuaAppbmRleCBhNjU4NTVjOWQzNmMuLjBhOTYw
MDE4NTU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9U
ZXN0V2l0aElmTWVzc2FnZU1lc3NhZ2VzLmgKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC90ZXN0cy9UZXN0V2l0aElmTWVzc2FnZU1lc3NhZ2VzLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aEltYWdlRGF0YU1lc3NhZ2VSZWNlaXZl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoSW1hZ2VE
YXRhTWVzc2FnZVJlY2VpdmVyLmNwcAppbmRleCAzZTliYWM1NjcwNWQuLjZmNjEwNDQyN2YxMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aElt
YWdlRGF0YU1lc3NhZ2VSZWNlaXZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC90ZXN0cy9UZXN0V2l0aEltYWdlRGF0YU1lc3NhZ2VSZWNlaXZlci5jcHAKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjMgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aEltYWdlRGF0YU1lc3Nh
Z2VzLmggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoSW1hZ2VE
YXRhTWVzc2FnZXMuaAppbmRleCA4YjY0OGJmNTM3MTAuLjkwZTMzMDZiNGFiNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aEltYWdlRGF0YU1l
c3NhZ2VzLmgKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0
aEltYWdlRGF0YU1lc3NhZ2VzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDIxLTIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC90ZXN0cy9UZXN0V2l0aExlZ2FjeVJlY2VpdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhMZWdhY3lSZWNlaXZlck1lc3Nh
Z2VSZWNlaXZlci5jcHAKaW5kZXggNjliMmMzYzZjOWZjLi5iOTI5M2NkNjRkNDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhMZWdhY3lSZWNl
aXZlck1lc3NhZ2VSZWNlaXZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC90ZXN0cy9UZXN0V2l0aExlZ2FjeVJlY2VpdmVyTWVzc2FnZVJlY2VpdmVyLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoTGVnYWN5UmVjZWl2
ZXJNZXNzYWdlcy5oIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0
aExlZ2FjeVJlY2VpdmVyTWVzc2FnZXMuaAppbmRleCBlYzMzNmQ2MDViOTMuLmNlY2YwNmRlODAz
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0
aExlZ2FjeVJlY2VpdmVyTWVzc2FnZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Vi
a2l0L3Rlc3RzL1Rlc3RXaXRoTGVnYWN5UmVjZWl2ZXJNZXNzYWdlcy5oCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhTZW1hcGhvcmVNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFNl
bWFwaG9yZU1lc3NhZ2VSZWNlaXZlci5jcHAKaW5kZXggMmRiZjUxOWIxMjU2Li40OGQ5MDYzYzQ2
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdp
dGhTZW1hcGhvcmVNZXNzYWdlUmVjZWl2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhTZW1hcGhvcmVNZXNzYWdlUmVjZWl2ZXIuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhTZW1hcGhvcmVN
ZXNzYWdlcy5oIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFNl
bWFwaG9yZU1lc3NhZ2VzLmgKaW5kZXggYThkZDM4ZTY4MWEwLi4yMjZjYjFlMTdiM2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhTZW1hcGhv
cmVNZXNzYWdlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVz
dFdpdGhTZW1hcGhvcmVNZXNzYWdlcy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAyMS0yMDIzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93
ZWJraXQvdGVzdHMvVGVzdFdpdGhTdHJlYW1CYXRjaGVkTWVzc2FnZVJlY2VpdmVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhTdHJlYW1CYXRjaGVkTWVz
c2FnZVJlY2VpdmVyLmNwcAppbmRleCBkYjI3OTM2NGY5ZDEuLjY4ZjVjODRjYWIxYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0cmVhbUJh
dGNoZWRNZXNzYWdlUmVjZWl2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvdGVzdHMvVGVzdFdpdGhTdHJlYW1CYXRjaGVkTWVzc2FnZVJlY2VpdmVyLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoU3RyZWFtQmF0Y2hl
ZE1lc3NhZ2VzLmggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRo
U3RyZWFtQmF0Y2hlZE1lc3NhZ2VzLmgKaW5kZXggYjAxMGU0OWUyMzBkLi5jOTFiOWM0MGY5NDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhT
dHJlYW1CYXRjaGVkTWVzc2FnZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0
L3Rlc3RzL1Rlc3RXaXRoU3RyZWFtQmF0Y2hlZE1lc3NhZ2VzLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0cmVhbUJ1ZmZlck1lc3NhZ2VSZWNl
aXZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoU3Ry
ZWFtQnVmZmVyTWVzc2FnZVJlY2VpdmVyLmNwcAppbmRleCBkNjAyZjhmNGM5NDEuLmRlYTMxMGJk
MWQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0
V2l0aFN0cmVhbUJ1ZmZlck1lc3NhZ2VSZWNlaXZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
Y3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0cmVhbUJ1ZmZlck1lc3NhZ2VSZWNlaXZlci5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjMgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0
cmVhbUJ1ZmZlck1lc3NhZ2VzLmggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3Rz
L1Rlc3RXaXRoU3RyZWFtQnVmZmVyTWVzc2FnZXMuaAppbmRleCBmOWFiNzgzMmI5YjkuLjdiYTE2
YTU4YTBjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9U
ZXN0V2l0aFN0cmVhbUJ1ZmZlck1lc3NhZ2VzLmgKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRz
L3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0cmVhbUJ1ZmZlck1lc3NhZ2VzLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0cmVhbU1lc3NhZ2VSZWNl
aXZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoU3Ry
ZWFtTWVzc2FnZVJlY2VpdmVyLmNwcAppbmRleCA1ZDhhNDJjMjZiNTguLjQ5YzI1OWI4NTA2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0
cmVhbU1lc3NhZ2VSZWNlaXZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC90ZXN0cy9UZXN0V2l0aFN0cmVhbU1lc3NhZ2VSZWNlaXZlci5jcHAKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0cmVhbU1lc3NhZ2VzLmggYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoU3RyZWFtTWVzc2FnZXMu
aAppbmRleCA1N2Y1MjE2YTEzOTcuLjMwZDNmNzBjNmFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0cmVhbU1lc3NhZ2VzLmgKKysrIGIv
U291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0cmVhbU1lc3NhZ2Vz
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjMgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN1
cGVyY2xhc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC90ZXN0cy9UZXN0V2l0aFN1cGVyY2xhc3NNZXNzYWdlUmVjZWl2ZXIuY3BwCmluZGV4IDU1ODNk
NmFhYTFhZS4uZTlhZDAxZTViZDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L3Rlc3RzL1Rlc3RXaXRoU3VwZXJjbGFzc01lc3NhZ2VSZWNlaXZlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN1cGVyY2xhc3NNZXNz
YWdlUmVjZWl2ZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAy
MS0yMDIzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVz
dHMvVGVzdFdpdGhTdXBlcmNsYXNzTWVzc2FnZXMuaCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93
ZWJraXQvdGVzdHMvVGVzdFdpdGhTdXBlcmNsYXNzTWVzc2FnZXMuaAppbmRleCA5MTc4YTQ4ZjU3
ZjcuLjc2NjA0MTkzYjI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC90ZXN0cy9UZXN0V2l0aFN1cGVyY2xhc3NNZXNzYWdlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhTdXBlcmNsYXNzTWVzc2FnZXMuaApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRob3V0QXR0cmlidXRl
c01lc3NhZ2VSZWNlaXZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3Rz
L1Rlc3RXaXRob3V0QXR0cmlidXRlc01lc3NhZ2VSZWNlaXZlci5jcHAKaW5kZXggY2E3NDU1Yjk2
YWNiLi43Y2I0OWRkZDM0NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvdGVzdHMvVGVzdFdpdGhvdXRBdHRyaWJ1dGVzTWVzc2FnZVJlY2VpdmVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRob3V0QXR0cmlidXRlc01l
c3NhZ2VSZWNlaXZlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDIxLTIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90
ZXN0cy9UZXN0V2l0aG91dEF0dHJpYnV0ZXNNZXNzYWdlcy5oIGIvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aG91dEF0dHJpYnV0ZXNNZXNzYWdlcy5oCmluZGV4IGNl
ZTViNGRiYWUzMy4uOGZhNTExODZjODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRob3V0QXR0cmlidXRlc01lc3NhZ2VzLmgKKysrIGIvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aG91dEF0dHJpYnV0ZXNNZXNz
YWdlcy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIzIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1NoYXBlRGV0ZWN0aW9uSWRlbnRp
Zmllci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0NjBlOTJjNTZlZi4uMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1NoYXBlRGV0ZWN0aW9uSWRlbnRpZmllci5oCisr
KyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQot
Ci0jaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotCi0jaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZp
ZXIuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWVudW0gU2hhcGVEZXRlY3Rpb25JZGVudGlm
aWVyVHlwZSB7IH07Ci11c2luZyBTaGFwZURldGVjdGlvbklkZW50aWZpZXIgPSBPYmplY3RJZGVu
dGlmaWVyPFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllclR5cGU+OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuc2VyaWFsaXphdGlvbi5pbiBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5zZXJpYWxpemF0aW9uLmluCmluZGV4IGQ4ZmM2MGFkY2Y3Ny4u
M2VhOWQ0MmFjNDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuc2VyaWFsaXphdGlvbi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuc2VyaWFsaXphdGlvbi5pbgpAQCAtNTA0Myw2OCArNTA0Mywz
IEBAIGNsYXNzIFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSB7CiAgICAgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2U6OlBsYXRmb3JtRGF0YT4gZ2V0UGxhdGZvcm1EYXRhVG9T
ZXJpYWxpemUoKTsKICNlbmRpZgogfTsKLQotI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLWhlYWRl
cjogPFdlYkNvcmUvQmFyY29kZURldGVjdG9yT3B0aW9uc0ludGVyZmFjZS5oPgotW0N1c3RvbUhl
YWRlciwgQWRkaXRpb25hbEVuY29kZXI9U3RyZWFtQ29ubmVjdGlvbkVuY29kZXJdIHN0cnVjdCBX
ZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZURldGVjdG9yT3B0aW9ucyB7Ci0gICAgVmVj
dG9yPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0PiBmb3JtYXRzOwotfTsK
LQotaGVhZGVyOiA8V2ViQ29yZS9CYXJjb2RlRm9ybWF0SW50ZXJmYWNlLmg+Ci1bTmVzdGVkLCBB
ZGRpdGlvbmFsRW5jb2Rlcj1TdHJlYW1Db25uZWN0aW9uRW5jb2Rlcl0gZW51bSBjbGFzcyBXZWJD
b3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZUZvcm1hdCA6IHVpbnQ4X3QgewotICAgIEF6dGVj
LAotICAgIENvZGVfMTI4LAotICAgIENvZGVfMzksCi0gICAgQ29kZV85MywKLSAgICBDb2RhYmFy
LAotICAgIERhdGFfbWF0cml4LAotICAgIEVhbl8xMywKLSAgICBFYW5fOCwKLSAgICBJdGYsCi0g
ICAgUGRmNDE3LAotICAgIFFyX2NvZGUsCi0gICAgVW5rbm93biwKLSAgICBVcGNfYSwKLSAgICBV
cGNfZSwKLX07Ci0KLWhlYWRlcjogPFdlYkNvcmUvRGV0ZWN0ZWRCYXJjb2RlSW50ZXJmYWNlLmg+
Ci1bQ3VzdG9tSGVhZGVyLCBBZGRpdGlvbmFsRW5jb2Rlcj1TdHJlYW1Db25uZWN0aW9uRW5jb2Rl
cl0gc3RydWN0IFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpEZXRlY3RlZEJhcmNvZGUgewotICAg
IFdlYkNvcmU6OkZsb2F0UmVjdCBib3VuZGluZ0JveDsKLSAgICBTdHJpbmcgcmF3VmFsdWU7Ci0g
ICAgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVGb3JtYXQgZm9ybWF0OwotICAgIFZl
Y3RvcjxXZWJDb3JlOjpGbG9hdFBvaW50PiBjb3JuZXJQb2ludHM7Ci19OwotCi1oZWFkZXI6IDxX
ZWJDb3JlL0RldGVjdGVkRmFjZUludGVyZmFjZS5oPgotW0N1c3RvbUhlYWRlciwgQWRkaXRpb25h
bEVuY29kZXI9U3RyZWFtQ29ubmVjdGlvbkVuY29kZXJdIHN0cnVjdCBXZWJDb3JlOjpTaGFwZURl
dGVjdGlvbjo6RGV0ZWN0ZWRGYWNlIHsKLSAgICBXZWJDb3JlOjpGbG9hdFJlY3QgYm91bmRpbmdC
b3g7Ci0gICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8V2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246Okxh
bmRtYXJrPj4gbGFuZG1hcmtzOwotfTsKLQotaGVhZGVyOiA8V2ViQ29yZS9EZXRlY3RlZFRleHRJ
bnRlcmZhY2UuaD4KLVtDdXN0b21IZWFkZXIsIEFkZGl0aW9uYWxFbmNvZGVyPVN0cmVhbUNvbm5l
Y3Rpb25FbmNvZGVyXSBzdHJ1Y3QgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkRldGVjdGVkVGV4
dCB7Ci0gICAgV2ViQ29yZTo6RmxvYXRSZWN0IGJvdW5kaW5nQm94OwotICAgIFN0cmluZyByYXdW
YWx1ZTsKLSAgICBWZWN0b3I8V2ViQ29yZTo6RmxvYXRQb2ludD4gY29ybmVyUG9pbnRzOwotfTsK
LQotaGVhZGVyOiA8V2ViQ29yZS9GYWNlRGV0ZWN0b3JPcHRpb25zSW50ZXJmYWNlLmg+Ci1bQ3Vz
dG9tSGVhZGVyLCBBZGRpdGlvbmFsRW5jb2Rlcj1TdHJlYW1Db25uZWN0aW9uRW5jb2Rlcl0gc3Ry
dWN0IFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpGYWNlRGV0ZWN0b3JPcHRpb25zIHsKLSAgICB1
aW50MTZfdCBtYXhEZXRlY3RlZEZhY2VzOwotICAgIGJvb2wgZmFzdE1vZGU7Ci19OwotCi1oZWFk
ZXI6IDxXZWJDb3JlL0xhbmRtYXJrSW50ZXJmYWNlLmg+Ci1bQ3VzdG9tSGVhZGVyLCBOZXN0ZWQs
IEFkZGl0aW9uYWxFbmNvZGVyPVN0cmVhbUNvbm5lY3Rpb25FbmNvZGVyXSBzdHJ1Y3QgV2ViQ29y
ZTo6U2hhcGVEZXRlY3Rpb246OkxhbmRtYXJrIHsKLSAgICBWZWN0b3I8V2ViQ29yZTo6RmxvYXRQ
b2ludD4gbG9jYXRpb25zOwotICAgIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpMYW5kbWFya1R5
cGUgdHlwZTsKLX07Ci0KLWhlYWRlcjogPFdlYkNvcmUvTGFuZG1hcmtUeXBlSW50ZXJmYWNlLmg+
Ci1bQWRkaXRpb25hbEVuY29kZXI9U3RyZWFtQ29ubmVjdGlvbkVuY29kZXJdIGVudW0gY2xhc3Mg
V2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkxhbmRtYXJrVHlwZSA6IHVpbnQ4X3QgewotICAgIE1v
dXRoLAotICAgIEV5ZSwKLSAgICBOb3NlLAotfTsKLSNlbmRpZiAvLyBHUFVfUFJPQ0VTUwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNl
cy50eHQKaW5kZXggMzg4Mjc0OTM3MmMwLi4wM2U1OTViMmIzMDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAt
MjUsMTAgKzI1LDYgQEAgR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAogR1BVUHJvY2Vzcy9HUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzUHJlZmVyZW5jZXMuY3BwCi1HUFVQ
cm9jZXNzL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZUJhcmNvZGVEZXRlY3Rvci5jcHAKLUdQVVByb2Nl
c3MvU2hhcGVEZXRlY3Rpb24vUmVtb3RlRmFjZURldGVjdG9yLmNwcAotR1BVUHJvY2Vzcy9TaGFw
ZURldGVjdGlvbi9SZW1vdGVUZXh0RGV0ZWN0b3IuY3BwCi1HUFVQcm9jZXNzL1NoYXBlRGV0ZWN0
aW9uL1NoYXBlRGV0ZWN0aW9uT2JqZWN0SGVhcC5jcHAKIEdQVVByb2Nlc3MvZ3JhcGhpY3MvSW1h
Z2VCdWZmZXJTaGFyZWFibGVBbGxvY2F0b3IuY3BwCiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90
ZURpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBo
aWNzQ29udGV4dEdMLmNwcApAQCAtNjkxLDkgKzY4Nyw2IEBAIFdlYlByb2Nlc3MvTWVkaWFTdHJl
YW0vVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAogV2ViUHJvY2Vzcy9Nb2Rl
bC9XZWJNb2RlbFBsYXllclByb3ZpZGVyLmNwcAogCiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
Q29ubmVjdGlvbi5jcHAKLVdlYlByb2Nlc3MvR1BVL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZUJhcmNv
ZGVEZXRlY3RvclByb3h5LmNwcAotV2ViUHJvY2Vzcy9HUFUvU2hhcGVEZXRlY3Rpb24vUmVtb3Rl
RmFjZURldGVjdG9yUHJveHkuY3BwCi1XZWJQcm9jZXNzL0dQVS9TaGFwZURldGVjdGlvbi9SZW1v
dGVUZXh0RGV0ZWN0b3JQcm94eS5jcHAKIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9S
ZW1vdGVBZGFwdGVyUHJveHkuY3BwCiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQmluZEdyb3VwTGF5b3V0UHJveHkuY3BwCiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJH
UFUvUmVtb3RlQmluZEdyb3VwUHJveHkuY3BwCkBAIC04NzksNyArODcyLDYgQEAgUmVtb3RlR3Jh
cGhpY3NDb250ZXh0R0xQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKIFBsYXRmb3JtWFJTeXN0ZW1N
ZXNzYWdlUmVjZWl2ZXIuY3BwCiBQbGF0Zm9ybVhSU3lzdGVtUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwCiBSZW1vdGVBZGFwdGVyTWVzc2FnZVJlY2VpdmVyLmNwcAotUmVtb3RlQmFyY29kZURldGVj
dG9yTWVzc2FnZVJlY2VpdmVyLmNwcAogUmVtb3RlQmluZEdyb3VwTWVzc2FnZVJlY2VpdmVyLmNw
cAogUmVtb3RlQmluZEdyb3VwTGF5b3V0TWVzc2FnZVJlY2VpdmVyLmNwcAogUmVtb3RlQnVmZmVy
TWVzc2FnZVJlY2VpdmVyLmNwcApAQCAtODkwLDcgKzg4Miw2IEBAIFJlbW90ZUNvbXB1dGVQYXNz
RW5jb2Rlck1lc3NhZ2VSZWNlaXZlci5jcHAKIFJlbW90ZUNvbXB1dGVQaXBlbGluZU1lc3NhZ2VS
ZWNlaXZlci5jcHAKIFJlbW90ZURldmljZU1lc3NhZ2VSZWNlaXZlci5jcHAKIFJlbW90ZUV4dGVy
bmFsVGV4dHVyZU1lc3NhZ2VSZWNlaXZlci5jcHAKLVJlbW90ZUZhY2VEZXRlY3Rvck1lc3NhZ2VS
ZWNlaXZlci5jcHAKIFJlbW90ZUdQVU1lc3NhZ2VSZWNlaXZlci5jcHAKIFJlbW90ZUdQVVByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcAogUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBNZXNzYWdlUmVj
ZWl2ZXIuY3BwCkBAIC05MDUsNyArODk2LDYgQEAgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwCiBSZW1vdGVSZW5kZXJQaXBlbGluZU1lc3NhZ2VSZWNlaXZlci5jcHAK
IFJlbW90ZVNhbXBsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiBSZW1vdGVTaGFkZXJNb2R1bGVNZXNz
YWdlUmVjZWl2ZXIuY3BwCi1SZW1vdGVUZXh0RGV0ZWN0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwCiBS
ZW1vdGVUZXh0dXJlTWVzc2FnZVJlY2VpdmVyLmNwcAogUmVtb3RlVGV4dHVyZVZpZXdNZXNzYWdl
UmVjZWl2ZXIuY3BwCiBSZW1vdGVXZWJMb2NrUmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAy
MmJmYjM0MjQ4YTIuLjM1MjRmYWY0MzcxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNjE0LDI0ICszNjE0LDYgQEAKIAkJMUM5REQ5
OUMyOEZBMTlBMzAwOTNCREIwIC8qIFdlYkV4dGVuc2lvbkFQSVJ1bnRpbWUuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdl
YkV4dGVuc2lvbkFQSVJ1bnRpbWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzlERDlBNDI4RkExOUEzMDA5M0JEQjAgLyogV2ViRXh0ZW5zaW9uQVBJTmFtZXNwYWNlLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBXZWJFeHRlbnNpb25BUElOYW1lc3BhY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQzlFQkE1QjIwODdFNzRFMDAwNTQ0MjkgLyogTmF0aXZlV2ViTW91c2VFdmVudElP
Uy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IE5hdGl2ZVdlYk1v
dXNlRXZlbnRJT1MubW07IHBhdGggPSBpb3MvTmF0aXZlV2ViTW91c2VFdmVudElPUy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUM5RjRCRkEyOUU1MUQ1MzAwMTU4MTlFIC8qIFJl
bW90ZUJhcmNvZGVEZXRlY3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVCYXJjb2Rl
RGV0ZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQzlGNEJGQjI5RTUx
RDUzMDAxNTgxOUUgLyogUmVtb3RlQmFyY29kZURldGVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
bW90ZUJhcmNvZGVEZXRlY3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQzlG
NEJGQzI5RTUxRDY1MDAxNTgxOUUgLyogUmVtb3RlRmFjZURldGVjdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbW90ZUZhY2VEZXRlY3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTFDOUY0QkZEMjlFNTFENjUwMDE1ODE5RSAvKiBSZW1vdGVGYWNlRGV0ZWN0b3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVtb3RlRmFjZURldGVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTFDOUY0QkZFMjlFNTFENzIwMDE1ODE5RSAvKiBSZW1vdGVUZXh0RGV0ZWN0b3Iu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlVGV4dERldGVjdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUM5RjRCRkYyOUU1MUQ3MjAwMTU4MTlFIC8qIFJlbW90ZVRl
eHREZXRlY3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVUZXh0RGV0ZWN0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUM5RjRDMDAyOUU1MUQ4OTAwMTU4MTlFIC8qIFJlbW90
ZUJhcmNvZGVEZXRlY3Rvci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVCYXJjb2RlRGV0ZWN0b3Iu
bWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDOUY0QzAxMjlFNTFE
OTQwMDE1ODE5RSAvKiBSZW1vdGVGYWNlRGV0ZWN0b3IubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3Rl
RmFjZURldGVjdG9yLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkx
QzlGNEMwMjI5RTUxRDlEMDAxNTgxOUUgLyogUmVtb3RlVGV4dERldGVjdG9yLm1lc3NhZ2VzLmlu
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFJlbW90ZVRleHREZXRlY3Rvci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJMUM5RjRDMEIyOUU1MjAyQjAwMTU4MTlFIC8qIFNoYXBlRGV0ZWN0aW9uSWRl
bnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaGFwZURldGVjdGlvbklkZW50aWZpZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUM5RjRDMEMyOUU1MjQxOTAwMTU4MTlFIC8qIFNo
YXBlRGV0ZWN0aW9uT2JqZWN0SGVhcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFwZURldGVj
dGlvbk9iamVjdEhlYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQzlGNEMw
RDI5RTUyNDE5MDAxNTgxOUUgLyogU2hhcGVEZXRlY3Rpb25PYmplY3RIZWFwLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNoYXBlRGV0ZWN0aW9uT2JqZWN0SGVhcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQkxQzlGNEMyNjI5RTUzODQxMDAxNTgxOUUgLyogUmVtb3RlQmFyY29kZURldGVjdG9y
UHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlQmFyY29kZURldGVjdG9yUHJveHku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQzlGNEMyNzI5RTUzODQxMDAxNTgx
OUUgLyogUmVtb3RlQmFyY29kZURldGVjdG9yUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3Rl
QmFyY29kZURldGVjdG9yUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUM5
RjRDMjgyOUU1Mzg0RDAwMTU4MTlFIC8qIFJlbW90ZUZhY2VEZXRlY3RvclByb3h5LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlbW90ZUZhY2VEZXRlY3RvclByb3h5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMUM5RjRDMjkyOUU1Mzg0RDAwMTU4MTlFIC8qIFJlbW90ZUZhY2VE
ZXRlY3RvclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUZhY2VEZXRlY3RvclByb3h5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDOUY0QzJBMjlFNTM4NTUwMDE1ODE5RSAv
KiBSZW1vdGVUZXh0RGV0ZWN0b3JQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVU
ZXh0RGV0ZWN0b3JQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDOUY0
QzJCMjlFNTM4NTUwMDE1ODE5RSAvKiBSZW1vdGVUZXh0RGV0ZWN0b3JQcm94eS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW1vdGVUZXh0RGV0ZWN0b3JQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQ0E4QjkzNTEyN0M3NzRFMDA1NzZDMkIgLyogV2ViSW5zcGVjdG9yVUlQcm94eU1h
Yy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkluc3BlY3Rv
clVJUHJveHlNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQThCOTQzMTI3
Qzg4MkEwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JVSVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkluc3BlY3RvclVJUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E4Qjk0
NDEyN0M4ODJBMDA1NzZDMkIgLyogV2ViSW5zcGVjdG9yVUlQcm94eU1lc3NhZ2VzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkluc3BlY3RvclVJUHJveHlNZXNzYWdlcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODAzMSw3ICs4MDEzLDYgQEAKIAkJCQkx
QUZERTY1NzE5NTRBNDJCMDBDNDhGRkEgLyogU2Vzc2lvblN0YXRlLmNwcCAqLywKIAkJCQkxQUZE
RTY1ODE5NTRBNDJCMDBDNDhGRkEgLyogU2Vzc2lvblN0YXRlLmggKi8sCiAJCQkJNUMwM0Q1REQy
OEY3NjVGODAwRDA5NkFGIC8qIFNlc3Npb25TdGF0ZS5zZXJpYWxpemF0aW9uLmluICovLAotCQkJ
CTFDOUY0QzBCMjlFNTIwMkIwMDE1ODE5RSAvKiBTaGFwZURldGVjdGlvbklkZW50aWZpZXIuaCAq
LywKIAkJCQkxQTY0MjBFMjEyRENFMkZGMDBDQUFFMkMgLyogU2hhcmVhYmxlQml0bWFwLmNwcCAq
LywKIAkJCQkxQTY0MjBFMzEyRENFMkZGMDBDQUFFMkMgLyogU2hhcmVhYmxlQml0bWFwLmggKi8s
CiAJCQkJODYxQTY0NjEyOEY1QTM3MzAwRTIzQzhGIC8qIFNoYXJlYWJsZUJpdG1hcC5zZXJpYWxp
emF0aW9uLmluICovLApAQCAtODY4MCwzNyArODY2MSw2IEBACiAJCQlwYXRoID0gSW50ZXJmYWNl
czsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07Ci0JCTFDOUY0QkY5MjlFNTFEMzAw
MDE1ODE5RSAvKiBTaGFwZURldGVjdGlvbiAqLyA9IHsKLQkJCWlzYSA9IFBCWEdyb3VwOwotCQkJ
Y2hpbGRyZW4gPSAoCi0JCQkJMUM5RjRCRkEyOUU1MUQ1MzAwMTU4MTlFIC8qIFJlbW90ZUJhcmNv
ZGVEZXRlY3Rvci5jcHAgKi8sCi0JCQkJMUM5RjRCRkIyOUU1MUQ1MzAwMTU4MTlFIC8qIFJlbW90
ZUJhcmNvZGVEZXRlY3Rvci5oICovLAotCQkJCTFDOUY0QzAwMjlFNTFEODkwMDE1ODE5RSAvKiBS
ZW1vdGVCYXJjb2RlRGV0ZWN0b3IubWVzc2FnZXMuaW4gKi8sCi0JCQkJMUM5RjRCRkMyOUU1MUQ2
NTAwMTU4MTlFIC8qIFJlbW90ZUZhY2VEZXRlY3Rvci5jcHAgKi8sCi0JCQkJMUM5RjRCRkQyOUU1
MUQ2NTAwMTU4MTlFIC8qIFJlbW90ZUZhY2VEZXRlY3Rvci5oICovLAotCQkJCTFDOUY0QzAxMjlF
NTFEOTQwMDE1ODE5RSAvKiBSZW1vdGVGYWNlRGV0ZWN0b3IubWVzc2FnZXMuaW4gKi8sCi0JCQkJ
MUM5RjRCRkUyOUU1MUQ3MjAwMTU4MTlFIC8qIFJlbW90ZVRleHREZXRlY3Rvci5jcHAgKi8sCi0J
CQkJMUM5RjRCRkYyOUU1MUQ3MjAwMTU4MTlFIC8qIFJlbW90ZVRleHREZXRlY3Rvci5oICovLAot
CQkJCTFDOUY0QzAyMjlFNTFEOUQwMDE1ODE5RSAvKiBSZW1vdGVUZXh0RGV0ZWN0b3IubWVzc2Fn
ZXMuaW4gKi8sCi0JCQkJMUM5RjRDMEMyOUU1MjQxOTAwMTU4MTlFIC8qIFNoYXBlRGV0ZWN0aW9u
T2JqZWN0SGVhcC5jcHAgKi8sCi0JCQkJMUM5RjRDMEQyOUU1MjQxOTAwMTU4MTlFIC8qIFNoYXBl
RGV0ZWN0aW9uT2JqZWN0SGVhcC5oICovLAotCQkJKTsKLQkJCXBhdGggPSBTaGFwZURldGVjdGlv
bjsKLQkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0JCX07Ci0JCTFDOUY0QzI1MjlFNTM4MTUw
MDE1ODE5RSAvKiBTaGFwZURldGVjdGlvbiAqLyA9IHsKLQkJCWlzYSA9IFBCWEdyb3VwOwotCQkJ
Y2hpbGRyZW4gPSAoCi0JCQkJMUM5RjRDMjYyOUU1Mzg0MTAwMTU4MTlFIC8qIFJlbW90ZUJhcmNv
ZGVEZXRlY3RvclByb3h5LmNwcCAqLywKLQkJCQkxQzlGNEMyNzI5RTUzODQxMDAxNTgxOUUgLyog
UmVtb3RlQmFyY29kZURldGVjdG9yUHJveHkuaCAqLywKLQkJCQkxQzlGNEMyODI5RTUzODREMDAx
NTgxOUUgLyogUmVtb3RlRmFjZURldGVjdG9yUHJveHkuY3BwICovLAotCQkJCTFDOUY0QzI5MjlF
NTM4NEQwMDE1ODE5RSAvKiBSZW1vdGVGYWNlRGV0ZWN0b3JQcm94eS5oICovLAotCQkJCTFDOUY0
QzJBMjlFNTM4NTUwMDE1ODE5RSAvKiBSZW1vdGVUZXh0RGV0ZWN0b3JQcm94eS5jcHAgKi8sCi0J
CQkJMUM5RjRDMkIyOUU1Mzg1NTAwMTU4MTlFIC8qIFJlbW90ZVRleHREZXRlY3RvclByb3h5Lmgg
Ki8sCi0JCQkpOwotCQkJcGF0aCA9IFNoYXBlRGV0ZWN0aW9uOwotCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKLQkJfTsKIAkJMUNCNzQ2MTkyNzQzNkRFMzAwRjE5ODc0IC8qIFdlYkdQVSAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC05NDYwLDcgKzk0MTAs
NiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNTUwNjQwOUMyNDA3MTVBQTAwQUFFMDQ1IC8qIGdy
YXBoaWNzICovLAogCQkJCTA3OTIzMTJGMjM5QjNCMEMwMDk1OThFMiAvKiBtZWRpYSAqLywKLQkJ
CQkxQzlGNEMyNTI5RTUzODE1MDAxNTgxOUUgLyogU2hhcGVEZXRlY3Rpb24gKi8sCiAJCQkJNDE3
MjE5ODgyM0I2MTI2MTAwQUU1Njg2IC8qIHdlYnJ0YyAqLywKIAkJCQkyRDdFNDNDMDIzNzUyQ0Q5
MDBFQTVDQTAgLyogR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwICovLAogCQkJCTJEN0U0M0MzMjM3
NTJDRDkwMEVBNUNBMCAvKiBHUFVQcm9jZXNzQ29ubmVjdGlvbi5oICovLApAQCAtOTQ3OSw3ICs5
NDI4LDYgQEAKIAkJCQkyRDlGQjIwNDIzNzUyMDlEMDA0OUY5MzYgLyogaW9zICovLAogCQkJCTJE
OUZCMjA2MjM3NTIwOUQwMDQ5RjkzNiAvKiBtYWMgKi8sCiAJCQkJMDdDNzVDMTcyMzk5QTNEQjAw
ODhFNjVCIC8qIG1lZGlhICovLAotCQkJCTFDOUY0QkY5MjlFNTFEMzAwMDE1ODE5RSAvKiBTaGFw
ZURldGVjdGlvbiAqLywKIAkJCQk0MTcyMTk4RTIzQjYzM0NBMDBBRTU2ODYgLyogd2VicnRjICov
LAogCQkJCTJEOUZCMjBDMjM3NTIwOUQwMDQ5RjkzNiAvKiBHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcCAqLywKIAkJCQkyRDlGQjIwMDIzNzUyMDlEMDA0OUY5MzYgLyogR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9TaGFwZURldGVjdGlvbi9SZW1vdGVCYXJjb2RlRGV0ZWN0b3JQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZUJhcmNvZGVEZXRl
Y3RvclByb3h5LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQxNjAwZDIxNGE1
Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9TaGFwZURl
dGVjdGlvbi9SZW1vdGVCYXJjb2RlRGV0ZWN0b3JQcm94eS5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw3MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IlJlbW90ZUJhcmNvZGVEZXRlY3RvclByb3h5LmgiCi0KLSNpZiBFTkFCTEUoR1BVX1BST0NFU1Mp
Ci0KLSNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgotI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXJJ
bmxpbmVzLmgiCi0jaW5jbHVkZSAiUmVtb3RlQmFyY29kZURldGVjdG9yTWVzc2FnZXMuaCIKLSNp
bmNsdWRlICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaCIKLSNpbmNsdWRlICJTdHJlYW1D
bGllbnRDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgotCi1uYW1lc3BhY2Ug
V2ViS2l0OjpTaGFwZURldGVjdGlvbiB7Ci0KLVJlZjxSZW1vdGVCYXJjb2RlRGV0ZWN0b3JQcm94
eT4gUmVtb3RlQmFyY29kZURldGVjdG9yUHJveHk6OmNyZWF0ZShSZWY8SVBDOjpTdHJlYW1DbGll
bnRDb25uZWN0aW9uPiYmIHN0cmVhbUNsaWVudENvbm5lY3Rpb24sIFJlbmRlcmluZ0JhY2tlbmRJ
ZGVudGlmaWVyIHJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLCBTaGFwZURldGVjdGlvbklkZW50
aWZpZXIgaWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVE
ZXRlY3Rvck9wdGlvbnMmIGJhcmNvZGVEZXRlY3Rvck9wdGlvbnMpCi17Ci0gICAgc3RyZWFtQ2xp
ZW50Q29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Q3Jl
YXRlUmVtb3RlQmFyY29kZURldGVjdG9yKGlkZW50aWZpZXIsIGJhcmNvZGVEZXRlY3Rvck9wdGlv
bnMpLCByZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciwgU2Vjb25kczo6aW5maW5pdHkoKSk7Ci0g
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVtb3RlQmFyY29kZURldGVjdG9yUHJveHkoV1RGTW92
ZShzdHJlYW1DbGllbnRDb25uZWN0aW9uKSwgcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIsIGlk
ZW50aWZpZXIpKTsKLX0KLQotUmVtb3RlQmFyY29kZURldGVjdG9yUHJveHk6OlJlbW90ZUJhcmNv
ZGVEZXRlY3RvclByb3h5KFJlZjxJUEM6OlN0cmVhbUNsaWVudENvbm5lY3Rpb24+JiYgc3RyZWFt
Q2xpZW50Q29ubmVjdGlvbiwgUmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVyaW5nQmFj
a2VuZElkZW50aWZpZXIsIFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQotICAg
IDogbV9iYWNraW5nKGlkZW50aWZpZXIpCi0gICAgLCBtX3N0cmVhbUNsaWVudENvbm5lY3Rpb24o
V1RGTW92ZShzdHJlYW1DbGllbnRDb25uZWN0aW9uKSkKLSAgICAsIG1fcmVuZGVyaW5nQmFja2Vu
ZElkZW50aWZpZXIocmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIpCi17Ci19Ci0KLVJlbW90ZUJh
cmNvZGVEZXRlY3RvclByb3h5Ojp+UmVtb3RlQmFyY29kZURldGVjdG9yUHJveHkoKQotewotICAg
IG1fc3RyZWFtQ2xpZW50Q29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5n
QmFja2VuZDo6UmVsZWFzZVJlbW90ZUJhcmNvZGVEZXRlY3RvcihtX2JhY2tpbmcpLCBtX3JlbmRl
cmluZ0JhY2tlbmRJZGVudGlmaWVyLCBTZWNvbmRzOjppbmZpbml0eSgpKTsKLX0KLQotdm9pZCBS
ZW1vdGVCYXJjb2RlRGV0ZWN0b3JQcm94eTo6Z2V0U3VwcG9ydGVkRm9ybWF0cyhSZWY8SVBDOjpT
dHJlYW1DbGllbnRDb25uZWN0aW9uPiYmIHN0cmVhbUNsaWVudENvbm5lY3Rpb24sIFJlbmRlcmlu
Z0JhY2tlbmRJZGVudGlmaWVyIHJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFZlY3RvcjxXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZUZvcm1h
dD4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgc3RyZWFtQ2xpZW50Q29ubmVjdGlv
bi0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpH
ZXRSZW1vdGVCYXJjb2RlRGV0ZWN0b3JTdXBwb3J0ZWRGb3JtYXRzKCksIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpLCByZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciwgU2Vjb25kczo6aW5maW5p
dHkoKSk7Ci19Ci0KLXZvaWQgUmVtb3RlQmFyY29kZURldGVjdG9yUHJveHk6OmRldGVjdChDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6RGV0ZWN0
ZWRCYXJjb2RlPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBtX3N0cmVhbUNsaWVu
dENvbm5lY3Rpb24tPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlQmFyY29kZURl
dGVjdG9yOjpEZXRlY3QoKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG1fYmFja2luZywg
U2Vjb25kczo6aW5maW5pdHkoKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdDo6V2ViR1BV
Ci0KLSNlbmRpZiAvLyBIQVZFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9TaGFwZURldGVjdGlvbi9SZW1vdGVCYXJjb2RlRGV0ZWN0b3JQcm94
eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9TaGFwZURldGVjdGlvbi9SZW1vdGVC
YXJjb2RlRGV0ZWN0b3JQcm94eS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YWE2
MDQwMzcyZDIuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L1NoYXBlRGV0ZWN0aW9uL1JlbW90ZUJhcmNvZGVEZXRlY3RvclByb3h5LmgKKysrIC9kZXYvbnVs
bApAQCAtMSw3OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCi0KLSNpbmNs
dWRlICJSZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllci5oIgotI2luY2x1ZGUgIlNoYXBlRGV0ZWN0
aW9uSWRlbnRpZmllci5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQmFyY29kZURldGVjdG9ySW50ZXJm
YWNlLmg+Ci0jaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+Ci0jaW5jbHVkZSA8d3Rm
L1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KLQotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBTdHJlYW1DbGllbnRDb25uZWN0aW9uOwot
fQotCi1uYW1lc3BhY2UgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb24gewotc3RydWN0IEJhcmNvZGVE
ZXRlY3Rvck9wdGlvbnM7Ci1lbnVtIGNsYXNzIEJhcmNvZGVGb3JtYXQgOiB1aW50OF90Owotc3Ry
dWN0IERldGVjdGVkQmFyY29kZTsKLX0KLQotbmFtZXNwYWNlIFdlYktpdDo6U2hhcGVEZXRlY3Rp
b24gewotCi1jbGFzcyBSZW1vdGVCYXJjb2RlRGV0ZWN0b3JQcm94eSA6IHB1YmxpYyBXZWJDb3Jl
OjpTaGFwZURldGVjdGlvbjo6QmFyY29kZURldGVjdG9yIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFJlbW90ZUJhcmNvZGVEZXRlY3RvclBy
b3h5PiBjcmVhdGUoUmVmPElQQzo6U3RyZWFtQ2xpZW50Q29ubmVjdGlvbj4mJiwgUmVuZGVyaW5n
QmFja2VuZElkZW50aWZpZXIsIFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29y
ZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVEZXRlY3Rvck9wdGlvbnMmKTsKLQotICAgIHZpcnR1
YWwgflJlbW90ZUJhcmNvZGVEZXRlY3RvclByb3h5KCk7Ci0KLSAgICBzdGF0aWMgdm9pZCBnZXRT
dXBwb3J0ZWRGb3JtYXRzKFJlZjxJUEM6OlN0cmVhbUNsaWVudENvbm5lY3Rpb24+JiYsIFJlbmRl
cmluZ0JhY2tlbmRJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxXZWJD
b3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZUZvcm1hdD4mJik+JiYpOwotCi1wcml2YXRlOgot
ICAgIFJlbW90ZUJhcmNvZGVEZXRlY3RvclByb3h5KFJlZjxJUEM6OlN0cmVhbUNsaWVudENvbm5l
Y3Rpb24+JiYsIFJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLCBTaGFwZURldGVjdGlvbklkZW50
aWZpZXIpOwotCi0gICAgUmVtb3RlQmFyY29kZURldGVjdG9yUHJveHkoY29uc3QgUmVtb3RlQmFy
Y29kZURldGVjdG9yUHJveHkmKSA9IGRlbGV0ZTsKLSAgICBSZW1vdGVCYXJjb2RlRGV0ZWN0b3JQ
cm94eShSZW1vdGVCYXJjb2RlRGV0ZWN0b3JQcm94eSYmKSA9IGRlbGV0ZTsKLSAgICBSZW1vdGVC
YXJjb2RlRGV0ZWN0b3JQcm94eSYgb3BlcmF0b3I9KGNvbnN0IFJlbW90ZUJhcmNvZGVEZXRlY3Rv
clByb3h5JikgPSBkZWxldGU7Ci0gICAgUmVtb3RlQmFyY29kZURldGVjdG9yUHJveHkmIG9wZXJh
dG9yPShSZW1vdGVCYXJjb2RlRGV0ZWN0b3JQcm94eSYmKSA9IGRlbGV0ZTsKLQotICAgIFNoYXBl
RGV0ZWN0aW9uSWRlbnRpZmllciBiYWNraW5nKCkgY29uc3QgeyByZXR1cm4gbV9iYWNraW5nOyB9
Ci0KLSAgICB2b2lkIGRldGVjdChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxXZWJDb3Jl
OjpTaGFwZURldGVjdGlvbjo6RGV0ZWN0ZWRCYXJjb2RlPiYmKT4mJikgZmluYWw7Ci0KLSAgICBT
aGFwZURldGVjdGlvbklkZW50aWZpZXIgbV9iYWNraW5nOwotICAgIFJlZjxJUEM6OlN0cmVhbUNs
aWVudENvbm5lY3Rpb24+IG1fc3RyZWFtQ2xpZW50Q29ubmVjdGlvbjsKLSAgICBSZW5kZXJpbmdC
YWNrZW5kSWRlbnRpZmllciBtX3JlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyOwotfTsKLQotfSAv
LyBuYW1lc3BhY2UgV2ViS2l0OjpTaGFwZURldGVjdGlvbgotCi0jZW5kaWYgLy8gRU5BQkxFKEdQ
VV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9TaGFw
ZURldGVjdGlvbi9SZW1vdGVGYWNlRGV0ZWN0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL1NoYXBlRGV0ZWN0aW9uL1JlbW90ZUZhY2VEZXRlY3RvclByb3h5LmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRlMjg0NTc2YzcxLi4wMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9TaGFwZURldGVjdGlvbi9SZW1vdGVG
YWNlRGV0ZWN0b3JQcm94eS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDIzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlJlbW90ZUZhY2VEZXRlY3Rv
clByb3h5LmgiCi0KLSNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCi0KLSNpbmNsdWRlICJBcmd1bWVu
dENvZGVycy5oIgotI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXJJbmxpbmVzLmgiCi0jaW5jbHVkZSAi
UmVtb3RlRmFjZURldGVjdG9yTWVzc2FnZXMuaCIKLSNpbmNsdWRlICJSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkuaCIKLSNpbmNsdWRlICJTdHJlYW1DbGllbnRDb25uZWN0aW9uLmgiCi0jaW5j
bHVkZSAiV2ViUHJvY2Vzcy5oIgotCi1uYW1lc3BhY2UgV2ViS2l0OjpTaGFwZURldGVjdGlvbiB7
Ci0KLVJlZjxSZW1vdGVGYWNlRGV0ZWN0b3JQcm94eT4gUmVtb3RlRmFjZURldGVjdG9yUHJveHk6
OmNyZWF0ZShSZWY8SVBDOjpTdHJlYW1DbGllbnRDb25uZWN0aW9uPiYmIHN0cmVhbUNsaWVudENv
bm5lY3Rpb24sIFJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyIHJlbmRlcmluZ0JhY2tlbmRJZGVu
dGlmaWVyLCBTaGFwZURldGVjdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgV2ViQ29y
ZTo6U2hhcGVEZXRlY3Rpb246OkZhY2VEZXRlY3Rvck9wdGlvbnMmIGZhY2VEZXRlY3Rvck9wdGlv
bnMpCi17Ci0gICAgc3RyZWFtQ2xpZW50Q29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3Rl
UmVuZGVyaW5nQmFja2VuZDo6Q3JlYXRlUmVtb3RlRmFjZURldGVjdG9yKGlkZW50aWZpZXIsIGZh
Y2VEZXRlY3Rvck9wdGlvbnMpLCByZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciwgU2Vjb25kczo6
aW5maW5pdHkoKSk7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVtb3RlRmFjZURldGVjdG9y
UHJveHkoV1RGTW92ZShzdHJlYW1DbGllbnRDb25uZWN0aW9uKSwgcmVuZGVyaW5nQmFja2VuZElk
ZW50aWZpZXIsIGlkZW50aWZpZXIpKTsKLX0KLQotUmVtb3RlRmFjZURldGVjdG9yUHJveHk6OlJl
bW90ZUZhY2VEZXRlY3RvclByb3h5KFJlZjxJUEM6OlN0cmVhbUNsaWVudENvbm5lY3Rpb24+JiYg
c3RyZWFtQ2xpZW50Q29ubmVjdGlvbiwgUmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVy
aW5nQmFja2VuZElkZW50aWZpZXIsIFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllciBpZGVudGlmaWVy
KQotICAgIDogbV9iYWNraW5nKGlkZW50aWZpZXIpCi0gICAgLCBtX3N0cmVhbUNsaWVudENvbm5l
Y3Rpb24oV1RGTW92ZShzdHJlYW1DbGllbnRDb25uZWN0aW9uKSkKLSAgICAsIG1fcmVuZGVyaW5n
QmFja2VuZElkZW50aWZpZXIocmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIpCi17Ci19Ci0KLVJl
bW90ZUZhY2VEZXRlY3RvclByb3h5Ojp+UmVtb3RlRmFjZURldGVjdG9yUHJveHkoKQotewotICAg
IG1fc3RyZWFtQ2xpZW50Q29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5n
QmFja2VuZDo6UmVsZWFzZVJlbW90ZUZhY2VEZXRlY3RvcihtX2JhY2tpbmcpLCBtX3JlbmRlcmlu
Z0JhY2tlbmRJZGVudGlmaWVyLCBTZWNvbmRzOjppbmZpbml0eSgpKTsKLX0KLQotdm9pZCBSZW1v
dGVGYWNlRGV0ZWN0b3JQcm94eTo6ZGV0ZWN0KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9y
PFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpEZXRlY3RlZEZhY2U+JiYpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQotewotICAgIG1fc3RyZWFtQ2xpZW50Q29ubmVjdGlvbi0+c2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpSZW1vdGVGYWNlRGV0ZWN0b3I6OkRldGVjdCgpLCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSwgbV9iYWNraW5nLCBTZWNvbmRzOjppbmZpbml0eSgpKTsKLX0KLQotfSAv
LyBuYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUKLQotI2VuZGlmIC8vIEhBVkUoR1BVX1BST0NFU1Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL1NoYXBlRGV0ZWN0aW9u
L1JlbW90ZUZhY2VEZXRlY3RvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L1NoYXBlRGV0ZWN0aW9uL1JlbW90ZUZhY2VEZXRlY3RvclByb3h5LmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQ0YjE3MjlmYjE2ZS4uMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvU2hhcGVEZXRlY3Rpb24vUmVtb3RlRmFjZURldGVjdG9yUHJv
eHkuaAorKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShHUFVf
UFJPQ0VTUykKLQotI2luY2x1ZGUgIlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLmgiCi0jaW5j
bHVkZSAiU2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9GYWNl
RGV0ZWN0b3JJbnRlcmZhY2UuaD4KLSNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4K
LSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgotCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIFN0cmVhbUNsaWVu
dENvbm5lY3Rpb247Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlOjpTaGFwZURldGVjdGlvbiB7Ci1z
dHJ1Y3QgRGV0ZWN0ZWRGYWNlOwotc3RydWN0IEZhY2VEZXRlY3Rvck9wdGlvbnM7Ci19Ci0KLW5h
bWVzcGFjZSBXZWJLaXQ6OlNoYXBlRGV0ZWN0aW9uIHsKLQotY2xhc3MgUmVtb3RlRmFjZURldGVj
dG9yUHJveHkgOiBwdWJsaWMgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkZhY2VEZXRlY3RvciB7
Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxS
ZW1vdGVGYWNlRGV0ZWN0b3JQcm94eT4gY3JlYXRlKFJlZjxJUEM6OlN0cmVhbUNsaWVudENvbm5l
Y3Rpb24+JiYsIFJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLCBTaGFwZURldGVjdGlvbklkZW50
aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpGYWNlRGV0ZWN0b3JPcHRpb25z
Jik7Ci0KLSAgICB2aXJ0dWFsIH5SZW1vdGVGYWNlRGV0ZWN0b3JQcm94eSgpOwotCi1wcml2YXRl
OgotICAgIFJlbW90ZUZhY2VEZXRlY3RvclByb3h5KFJlZjxJUEM6OlN0cmVhbUNsaWVudENvbm5l
Y3Rpb24+JiYsIFJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLCBTaGFwZURldGVjdGlvbklkZW50
aWZpZXIpOwotCi0gICAgUmVtb3RlRmFjZURldGVjdG9yUHJveHkoY29uc3QgUmVtb3RlRmFjZURl
dGVjdG9yUHJveHkmKSA9IGRlbGV0ZTsKLSAgICBSZW1vdGVGYWNlRGV0ZWN0b3JQcm94eShSZW1v
dGVGYWNlRGV0ZWN0b3JQcm94eSYmKSA9IGRlbGV0ZTsKLSAgICBSZW1vdGVGYWNlRGV0ZWN0b3JQ
cm94eSYgb3BlcmF0b3I9KGNvbnN0IFJlbW90ZUZhY2VEZXRlY3RvclByb3h5JikgPSBkZWxldGU7
Ci0gICAgUmVtb3RlRmFjZURldGVjdG9yUHJveHkmIG9wZXJhdG9yPShSZW1vdGVGYWNlRGV0ZWN0
b3JQcm94eSYmKSA9IGRlbGV0ZTsKLQotICAgIFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllciBiYWNr
aW5nKCkgY29uc3QgeyByZXR1cm4gbV9iYWNraW5nOyB9Ci0KLSAgICB2b2lkIGRldGVjdChDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6RGV0ZWN0
ZWRGYWNlPiYmKT4mJikgZmluYWw7Ci0KLSAgICBTaGFwZURldGVjdGlvbklkZW50aWZpZXIgbV9i
YWNraW5nOwotICAgIFJlZjxJUEM6OlN0cmVhbUNsaWVudENvbm5lY3Rpb24+IG1fc3RyZWFtQ2xp
ZW50Q29ubmVjdGlvbjsKLSAgICBSZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciBtX3JlbmRlcmlu
Z0JhY2tlbmRJZGVudGlmaWVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0OjpTaGFwZURl
dGVjdGlvbgotCi0jZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9TaGFwZURldGVjdGlvbi9SZW1vdGVUZXh0RGV0ZWN0
b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL1NoYXBlRGV0ZWN0aW9u
L1JlbW90ZVRleHREZXRlY3RvclByb3h5LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMmFmODFhOGM3N2VmLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9TaGFwZURldGVjdGlvbi9SZW1vdGVUZXh0RGV0ZWN0b3JQcm94eS5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIzIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5o
IgotI2luY2x1ZGUgIlJlbW90ZVRleHREZXRlY3RvclByb3h5LmgiCi0KLSNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpCi0KLSNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgotI2luY2x1ZGUgIk1lc3Nh
Z2VTZW5kZXJJbmxpbmVzLmgiCi0jaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5
LmgiCi0jaW5jbHVkZSAiUmVtb3RlVGV4dERldGVjdG9yTWVzc2FnZXMuaCIKLSNpbmNsdWRlICJT
dHJlYW1DbGllbnRDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgotCi1uYW1l
c3BhY2UgV2ViS2l0OjpTaGFwZURldGVjdGlvbiB7Ci0KLVJlZjxSZW1vdGVUZXh0RGV0ZWN0b3JQ
cm94eT4gUmVtb3RlVGV4dERldGVjdG9yUHJveHk6OmNyZWF0ZShSZWY8SVBDOjpTdHJlYW1DbGll
bnRDb25uZWN0aW9uPiYmIHN0cmVhbUNsaWVudENvbm5lY3Rpb24sIFJlbmRlcmluZ0JhY2tlbmRJ
ZGVudGlmaWVyIHJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLCBTaGFwZURldGVjdGlvbklkZW50
aWZpZXIgaWRlbnRpZmllcikKLXsKLSAgICBzdHJlYW1DbGllbnRDb25uZWN0aW9uLT5zZW5kKE1l
c3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpDcmVhdGVSZW1vdGVUZXh0RGV0ZWN0b3Io
aWRlbnRpZmllciksIHJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLCBTZWNvbmRzOjppbmZpbml0
eSgpKTsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSZW1vdGVUZXh0RGV0ZWN0b3JQcm94eShX
VEZNb3ZlKHN0cmVhbUNsaWVudENvbm5lY3Rpb24pLCByZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmll
ciwgaWRlbnRpZmllcikpOwotfQotCi1SZW1vdGVUZXh0RGV0ZWN0b3JQcm94eTo6UmVtb3RlVGV4
dERldGVjdG9yUHJveHkoUmVmPElQQzo6U3RyZWFtQ2xpZW50Q29ubmVjdGlvbj4mJiBzdHJlYW1D
bGllbnRDb25uZWN0aW9uLCBSZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciByZW5kZXJpbmdCYWNr
ZW5kSWRlbnRpZmllciwgU2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCi0gICAg
OiBtX2JhY2tpbmcoaWRlbnRpZmllcikKLSAgICAsIG1fc3RyZWFtQ2xpZW50Q29ubmVjdGlvbihX
VEZNb3ZlKHN0cmVhbUNsaWVudENvbm5lY3Rpb24pKQotICAgICwgbV9yZW5kZXJpbmdCYWNrZW5k
SWRlbnRpZmllcihyZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcikKLXsKLX0KLQotUmVtb3RlVGV4
dERldGVjdG9yUHJveHk6On5SZW1vdGVUZXh0RGV0ZWN0b3JQcm94eSgpCi17Ci0gICAgbV9zdHJl
YW1DbGllbnRDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
OjpSZWxlYXNlUmVtb3RlVGV4dERldGVjdG9yKG1fYmFja2luZyksIG1fcmVuZGVyaW5nQmFja2Vu
ZElkZW50aWZpZXIsIFNlY29uZHM6OmluZmluaXR5KCkpOwotfQotCi12b2lkIFJlbW90ZVRleHRE
ZXRlY3RvclByb3h5OjpkZXRlY3QoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2ViQ29y
ZTo6U2hhcGVEZXRlY3Rpb246OkRldGVjdGVkVGV4dD4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
Ci17Ci0gICAgbV9zdHJlYW1DbGllbnRDb25uZWN0aW9uLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVz
c2FnZXM6OlJlbW90ZVRleHREZXRlY3Rvcjo6RGV0ZWN0KCksIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpLCBtX2JhY2tpbmcsIFNlY29uZHM6OmluZmluaXR5KCkpOwotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJLaXQ6OldlYkdQVQotCi0jZW5kaWYgLy8gSEFWRShHUFVfUFJPQ0VTUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvU2hhcGVEZXRlY3Rpb24vUmVtb3Rl
VGV4dERldGVjdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvU2hhcGVE
ZXRlY3Rpb24vUmVtb3RlVGV4dERldGVjdG9yUHJveHkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMWJmMmMyMTAwZWJlLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9TaGFwZURldGVjdGlvbi9SZW1vdGVUZXh0RGV0ZWN0b3JQcm94eS5oCisr
KyAvZGV2L251bGwKQEAgLTEsNzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKEdQVV9QUk9DRVNT
KQotCi0jaW5jbHVkZSAiUmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIuaCIKLSNpbmNsdWRlICJT
aGFwZURldGVjdGlvbklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1RleHREZXRlY3Rv
ckludGVyZmFjZS5oPgotI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgotI2luY2x1
ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0
Zi9XZWFrUHRyLmg+Ci0KLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgU3RyZWFtQ2xpZW50Q29ubmVj
dGlvbjsKLX0KLQotbmFtZXNwYWNlIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uIHsKLXN0cnVjdCBE
ZXRlY3RlZFRleHQ7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQ6OlNoYXBlRGV0ZWN0aW9uIHsKLQot
Y2xhc3MgUmVtb3RlVGV4dERldGVjdG9yUHJveHkgOiBwdWJsaWMgV2ViQ29yZTo6U2hhcGVEZXRl
Y3Rpb246OlRleHREZXRlY3RvciB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJs
aWM6Ci0gICAgc3RhdGljIFJlZjxSZW1vdGVUZXh0RGV0ZWN0b3JQcm94eT4gY3JlYXRlKFJlZjxJ
UEM6OlN0cmVhbUNsaWVudENvbm5lY3Rpb24+JiYsIFJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVy
LCBTaGFwZURldGVjdGlvbklkZW50aWZpZXIpOwotCi0gICAgdmlydHVhbCB+UmVtb3RlVGV4dERl
dGVjdG9yUHJveHkoKTsKLQotcHJpdmF0ZToKLSAgICBSZW1vdGVUZXh0RGV0ZWN0b3JQcm94eShS
ZWY8SVBDOjpTdHJlYW1DbGllbnRDb25uZWN0aW9uPiYmLCBSZW5kZXJpbmdCYWNrZW5kSWRlbnRp
ZmllciwgU2hhcGVEZXRlY3Rpb25JZGVudGlmaWVyKTsKLQotICAgIFJlbW90ZVRleHREZXRlY3Rv
clByb3h5KGNvbnN0IFJlbW90ZVRleHREZXRlY3RvclByb3h5JikgPSBkZWxldGU7Ci0gICAgUmVt
b3RlVGV4dERldGVjdG9yUHJveHkoUmVtb3RlVGV4dERldGVjdG9yUHJveHkmJikgPSBkZWxldGU7
Ci0gICAgUmVtb3RlVGV4dERldGVjdG9yUHJveHkmIG9wZXJhdG9yPShjb25zdCBSZW1vdGVUZXh0
RGV0ZWN0b3JQcm94eSYpID0gZGVsZXRlOwotICAgIFJlbW90ZVRleHREZXRlY3RvclByb3h5JiBv
cGVyYXRvcj0oUmVtb3RlVGV4dERldGVjdG9yUHJveHkmJikgPSBkZWxldGU7Ci0KLSAgICBTaGFw
ZURldGVjdGlvbklkZW50aWZpZXIgYmFja2luZygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2luZzsg
fQotCi0gICAgdm9pZCBkZXRlY3QoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2ViQ29y
ZTo6U2hhcGVEZXRlY3Rpb246OkRldGVjdGVkVGV4dD4mJik+JiYpIGZpbmFsOwotCi0gICAgU2hh
cGVEZXRlY3Rpb25JZGVudGlmaWVyIG1fYmFja2luZzsKLSAgICBSZWY8SVBDOjpTdHJlYW1DbGll
bnRDb25uZWN0aW9uPiBtX3N0cmVhbUNsaWVudENvbm5lY3Rpb247Ci0gICAgUmVuZGVyaW5nQmFj
a2VuZElkZW50aWZpZXIgbV9yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcjsKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYktpdDo6U2hhcGVEZXRlY3Rpb24KLQotI2VuZGlmIC8vIEVOQUJMRShHUFVf
UFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhp
Y3MvUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHkuY3BwCmluZGV4
IDlkMGNiNTU4ZjU4YS4uMjEzMjc2ODA1M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlR3JhcGhpY3ND
b250ZXh0R0xQcm94eS5jcHAKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJHUFVQcm9jZXNz
Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlJlbW90ZUdyYXBoaWNzQ29udGV4dEdMTWVzc2FnZXMu
aCIKICNpbmNsdWRlICJSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5TWVzc2FnZXMuaCIKLSNp
bmNsdWRlICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVW
aWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2lu
Y2x1ZGUgPFdlYkNvcmUvQml0bWFwSW1hZ2UuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgK
aW5kZXggNTQyMWMyNDY2NDQ2Li45MWRkNTNlNDY5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMC0yMDIzIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKIAotICAgIFdlYkNvcmU6
OkxheWVySG9zdGluZ0NvbnRleHRJRCBob3N0aW5nQ29udGV4dElEKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9ob3N0aW5nQ29udGV4dElEOyB9CisgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIGhv
c3RpbmdDb250ZXh0SUQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hvc3RpbmdDb250ZXh0SUQ7
IH0KIAogICAgIHVzaW5nIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpDbGllbnQ6OndlYWtQdHJGYWN0
b3J5OwogICAgIHVzaW5nIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpDbGllbnQ6OldlYWtWYWx1ZVR5
cGU7CkBAIC05Myw3ICs5Myw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3BhdXNlZCB7IGZhbHNl
IH07CiAKICAgICBTaGFyZWRWaWRlb0ZyYW1lV3JpdGVyIG1fc2hhcmVkVmlkZW9GcmFtZVdyaXRl
cjsKLSAgICBXZWJDb3JlOjpMYXllckhvc3RpbmdDb250ZXh0SUQgbV9ob3N0aW5nQ29udGV4dElE
IHsgMCB9OworICAgIExheWVySG9zdGluZ0NvbnRleHRJRCBtX2hvc3RpbmdDb250ZXh0SUQgeyAw
IH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVj
dG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5j
cHAKaW5kZXggODY1NzBiZWM5NTg3Li44OTAwNGE0MDA4MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9s
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3Bl
Y3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDIwLTIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvSlNDSW5saW5lcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRXhjZXB0
aW9uRGV0YWlscy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNw
YXRjaGVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9KU0RPTUdsb2JhbE9iamVjdC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA1MmYxZWQzMTNiMGQuLjZiZjcyYTY2ZjYzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQxLDEyICs0MSw5IEBACiAjaW5jbHVkZSAiTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUGFnZUJhbm5lci5oIgogI2luY2x1
ZGUgIlBsdWdpblZpZXcuaCIKLSNpbmNsdWRlICJSZW1vdGVCYXJjb2RlRGV0ZWN0b3JQcm94eS5o
IgotI2luY2x1ZGUgIlJlbW90ZUZhY2VEZXRlY3RvclByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3Rl
R1BVUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgiCiAjaW5jbHVk
ZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgiCi0jaW5jbHVkZSAiUmVtb3RlVGV4dERl
dGVjdG9yUHJveHkuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXJSZWZlcmVuY2UuaCIKICNpbmNs
dWRlICJVc2VyRGF0YS5oIgogI2luY2x1ZGUgIldlYkNvbG9yQ2hvb3Nlci5oIgpAQCAtMTA1LDEy
ICsxMDIsNiBAQAogI2ltcG9ydCA8cGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNyZWF0
ZUltcGwuaD4KICNlbmRpZgogCi0jaWYgSEFWRShTSEFQRV9ERVRFQ1RJT05fQVBJX0lNUExFTUVO
VEFUSU9OKQotI2ltcG9ydCA8V2ViQ29yZS9CYXJjb2RlRGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5o
PgotI2ltcG9ydCA8V2ViQ29yZS9GYWNlRGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oPgotI2ltcG9y
dCA8V2ViQ29yZS9UZXh0RGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oPgotI2VuZGlmCi0KICNpZiBF
TkFCTEUoQVBQTEVfUEFZX0FNU19VSSkKICNpbmNsdWRlIDxXZWJDb3JlL0FwcGxlUGF5QU1TVUlS
ZXF1ZXN0Lmg+CiAjZW5kaWYKQEAgLTk5Nyw1NCArOTg4LDYgQEAgUmVmUHRyPFBBTDo6V2ViR1BV
OjpHUFU+IFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlR1BVRm9yV2ViR1BVKCkgY29uc3QKICNlbmRp
ZgogfQogCi1SZWZQdHI8V2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVEZXRlY3Rvcj4g
V2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVCYXJjb2RlRGV0ZWN0b3IoY29uc3QgV2ViQ29yZTo6U2hh
cGVEZXRlY3Rpb246OkJhcmNvZGVEZXRlY3Rvck9wdGlvbnMmIGJhcmNvZGVEZXRlY3Rvck9wdGlv
bnMpIGNvbnN0Ci17Ci0jaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotICAgIGF1dG8mIHJlbW90ZVJl
bmRlcmluZ0JhY2tlbmRQcm94eSA9IG1fcGFnZS5lbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
UHJveHkoKTsKLSAgICByZXR1cm4gU2hhcGVEZXRlY3Rpb246OlJlbW90ZUJhcmNvZGVEZXRlY3Rv
clByb3h5OjpjcmVhdGUocmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LnN0cmVhbUNvbm5lY3Rp
b24oKSwgcmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LnJlbmRlcmluZ0JhY2tlbmRJZGVudGlm
aWVyKCksIFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwgYmFyY29kZURldGVj
dG9yT3B0aW9ucyk7Ci0jZWxpZiBIQVZFKFNIQVBFX0RFVEVDVElPTl9BUElfSU1QTEVNRU5UQVRJ
T04pCi0gICAgcmV0dXJuIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRGV0ZWN0b3JJ
bXBsOjpjcmVhdGUoYmFyY29kZURldGVjdG9yT3B0aW9ucyk7Ci0jZWxzZQotICAgIHJldHVybiBu
dWxscHRyOwotI2VuZGlmCi19Ci0KLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpnZXRCYXJjb2RlRGV0
ZWN0b3JTdXBwb3J0ZWRGb3JtYXRzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFdlYkNv
cmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikgY29uc3QKLXsKLSNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCi0gICAgYXV0byYgcmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFByb3h5ID0gbV9wYWdlLmVuc3VyZVJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQ
cm94eSgpOwotICAgIFNoYXBlRGV0ZWN0aW9uOjpSZW1vdGVCYXJjb2RlRGV0ZWN0b3JQcm94eTo6
Z2V0U3VwcG9ydGVkRm9ybWF0cyhyZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuc3RyZWFtQ29u
bmVjdGlvbigpLCByZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkucmVuZGVyaW5nQmFja2VuZElk
ZW50aWZpZXIoKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotI2VsaWYgSEFWRShTSEFQ
RV9ERVRFQ1RJT05fQVBJX0lNUExFTUVOVEFUSU9OKQotICAgIFdlYkNvcmU6OlNoYXBlRGV0ZWN0
aW9uOjpCYXJjb2RlRGV0ZWN0b3JJbXBsOjpnZXRTdXBwb3J0ZWRGb3JtYXRzKFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpKTsKLSNlbHNlCi0gICAgY29tcGxldGlvbkhhbmRsZXIoeyB9KTsKLSNl
bmRpZgotfQotCi1SZWZQdHI8V2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkZhY2VEZXRlY3Rvcj4g
V2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVGYWNlRGV0ZWN0b3IoY29uc3QgV2ViQ29yZTo6U2hhcGVE
ZXRlY3Rpb246OkZhY2VEZXRlY3Rvck9wdGlvbnMmIGZhY2VEZXRlY3Rvck9wdGlvbnMpIGNvbnN0
Ci17Ci0jaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotICAgIGF1dG8mIHJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRQcm94eSA9IG1fcGFnZS5lbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkoKTsK
LSAgICByZXR1cm4gU2hhcGVEZXRlY3Rpb246OlJlbW90ZUZhY2VEZXRlY3RvclByb3h5OjpjcmVh
dGUocmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LnN0cmVhbUNvbm5lY3Rpb24oKSwgcmVtb3Rl
UmVuZGVyaW5nQmFja2VuZFByb3h5LnJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyKCksIFNoYXBl
RGV0ZWN0aW9uSWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwgZmFjZURldGVjdG9yT3B0aW9ucyk7Ci0j
ZWxpZiBIQVZFKFNIQVBFX0RFVEVDVElPTl9BUElfSU1QTEVNRU5UQVRJT04pCi0gICAgcmV0dXJu
IFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpGYWNlRGV0ZWN0b3JJbXBsOjpjcmVhdGUoZmFjZURl
dGVjdG9yT3B0aW9ucyk7Ci0jZWxzZQotICAgIHJldHVybiBudWxscHRyOwotI2VuZGlmCi19Ci0K
LVJlZlB0cjxXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6VGV4dERldGVjdG9yPiBXZWJDaHJvbWVD
bGllbnQ6OmNyZWF0ZVRleHREZXRlY3RvcigpIGNvbnN0Ci17Ci0jaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKQotICAgIGF1dG8mIHJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSA9IG1fcGFnZS5lbnN1
cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkoKTsKLSAgICByZXR1cm4gU2hhcGVEZXRlY3Rp
b246OlJlbW90ZVRleHREZXRlY3RvclByb3h5OjpjcmVhdGUocmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZFByb3h5LnN0cmVhbUNvbm5lY3Rpb24oKSwgcmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LnJl
bmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyKCksIFNoYXBlRGV0ZWN0aW9uSWRlbnRpZmllcjo6Z2Vu
ZXJhdGUoKSk7Ci0jZWxpZiBIQVZFKFNIQVBFX0RFVEVDVElPTl9BUElfSU1QTEVNRU5UQVRJT04p
Ci0gICAgcmV0dXJuIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpUZXh0RGV0ZWN0b3JJbXBsOjpj
cmVhdGUoKTsKLSNlbHNlCi0gICAgcmV0dXJuIG51bGxwdHI7Ci0jZW5kaWYKLX0KLQogdm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OmF0dGFjaFJvb3RHcmFwaGljc0xheWVyKExvY2FsRnJhbWUmIGZyYW1l
LCBHcmFwaGljc0xheWVyKiBsYXllcikKIHsKICAgICBpZiAobGF5ZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKaW5kZXggZDhlM2QyNzYxZjY5Li4wYjA3MzU4NjFhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMjMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENv
cnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
QEAgLTI1OSwxMSArMjU5LDYgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxQQUw6OldlYkdQVTo6
R1BVPiBjcmVhdGVHUFVGb3JXZWJHUFUoKSBjb25zdCBmaW5hbDsKIAotICAgIFJlZlB0cjxXZWJD
b3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZURldGVjdG9yPiBjcmVhdGVCYXJjb2RlRGV0ZWN0
b3IoY29uc3QgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVEZXRlY3Rvck9wdGlvbnMm
KSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIGdldEJhcmNvZGVEZXRlY3RvclN1cHBvcnRlZEZvcm1h
dHMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246
OkJhcmNvZGVGb3JtYXQ+JiYpPiYmKSBjb25zdCBmaW5hbDsKLSAgICBSZWZQdHI8V2ViQ29yZTo6
U2hhcGVEZXRlY3Rpb246OkZhY2VEZXRlY3Rvcj4gY3JlYXRlRmFjZURldGVjdG9yKGNvbnN0IFdl
YkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpGYWNlRGV0ZWN0b3JPcHRpb25zJikgY29uc3QgZmluYWw7
Ci0gICAgUmVmUHRyPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpUZXh0RGV0ZWN0b3I+IGNyZWF0
ZVRleHREZXRlY3RvcigpIGNvbnN0IGZpbmFsOwotCiAgICAgQ29tcG9zaXRpbmdUcmlnZ2VyRmxh
Z3MgYWxsb3dlZENvbXBvc2l0aW5nVHJpZ2dlcnMoKSBjb25zdCBmaW5hbAogICAgIHsKICAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PENvbXBvc2l0aW5nVHJpZ2dlckZsYWdzPigKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9HcmFw
aGljc0xheWVyQ0FSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
UmVtb3RlTGF5ZXJUcmVlL0dyYXBoaWNzTGF5ZXJDQVJlbW90ZS5jcHAKaW5kZXggZDAzNWUxNGM2
ZDYwLi40MmE3ZWRmYmY5NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9HcmFwaGljc0xheWVyQ0FSZW1vdGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9HcmFwaGljc0xh
eWVyQ0FSZW1vdGUuY3BwCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1DQUxh
eWVyUmVtb3RlSG9zdC5oIgogI2luY2x1ZGUgIlJlbW90ZUxheWVyVHJlZUNvbnRleHQuaCIKICNp
bmNsdWRlICJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaCIKLSNpbmNs
dWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0xheWVyQ29udGVu
dHNEaXNwbGF5RGVsZWdhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxWaWRlb0VsZW1lbnQu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL01vZGVsLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGIxMTYy
ZmEyMWY2MS4uYWYxN2RlNWUyOWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMTAgTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0yNTUsMTEg
KzI1NSw2IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8UEFMOjpXZWJHUFU6OkdQVT4gY3JlYXRl
R1BVRm9yV2ViR1BVKCkgY29uc3QgZmluYWw7CiAKLSAgICBSZWZQdHI8V2ViQ29yZTo6U2hhcGVE
ZXRlY3Rpb246OkJhcmNvZGVEZXRlY3Rvcj4gY3JlYXRlQmFyY29kZURldGVjdG9yKGNvbnN0IFdl
YkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRGV0ZWN0b3JPcHRpb25zJikgY29uc3QgZmlu
YWw7Ci0gICAgdm9pZCBnZXRCYXJjb2RlRGV0ZWN0b3JTdXBwb3J0ZWRGb3JtYXRzKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoVmVjdG9yPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9y
bWF0PiYmKT4mJikgY29uc3QgZmluYWw7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OlNoYXBlRGV0ZWN0
aW9uOjpGYWNlRGV0ZWN0b3I+IGNyZWF0ZUZhY2VEZXRlY3Rvcihjb25zdCBXZWJDb3JlOjpTaGFw
ZURldGVjdGlvbjo6RmFjZURldGVjdG9yT3B0aW9ucyYpIGNvbnN0IGZpbmFsOwotICAgIFJlZlB0
cjxXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6VGV4dERldGVjdG9yPiBjcmVhdGVUZXh0RGV0ZWN0
b3IoKSBjb25zdCBmaW5hbDsKLQogICAgIHZvaWQgcmVxdWVzdENvb2tpZUNvbnNlbnQoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpDb29raWVDb25zZW50RGVjaXNpb25SZXN1bHQpPiYm
KSBmaW5hbDsKIAogICAgIHZvaWQgY2xhc3NpZnlNb2RhbENvbnRhaW5lckNvbnRyb2xzKFZlY3Rv
cjxTdHJpbmc+JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFdlYkNvcmU6Ok1vZGFs
Q29udGFpbmVyQ29udHJvbFR5cGU+JiYpPiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRl
eCA1ZmRiNGMwOTZmMTcuLmE3Mjk2ZmVlODk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMTAgTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBA
IC05NywxMiArOTcsNiBAQAogI2ltcG9ydCA8cGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQ
VUNyZWF0ZUltcGwuaD4KICNlbmRpZgogCi0jaWYgSEFWRShTSEFQRV9ERVRFQ1RJT05fQVBJX0lN
UExFTUVOVEFUSU9OKQotI2ltcG9ydCA8V2ViQ29yZS9CYXJjb2RlRGV0ZWN0b3JJbXBsZW1lbnRh
dGlvbi5oPgotI2ltcG9ydCA8V2ViQ29yZS9GYWNlRGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oPgot
I2ltcG9ydCA8V2ViQ29yZS9UZXh0RGV0ZWN0b3JJbXBsZW1lbnRhdGlvbi5oPgotI2VuZGlmCi0K
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoR0VPTE9DQVRJT04pCiAjaW1wb3J0
IDxXZWJDb3JlL0dlb2xvY2F0aW9uLmg+CiAjZW5kaWYKQEAgLTExNzEsNDIgKzExNjUsNiBAQCBS
ZWZQdHI8UEFMOjpXZWJHUFU6OkdQVT4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHUFVGb3JXZWJH
UFUoKSBjb25zdAogI2VuZGlmCiB9CiAKLVJlZlB0cjxXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6
QmFyY29kZURldGVjdG9yPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZUJhcmNvZGVEZXRlY3Rvcihj
b25zdCBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6QmFyY29kZURldGVjdG9yT3B0aW9ucyYgYmFy
Y29kZURldGVjdG9yT3B0aW9ucykgY29uc3QKLXsKLSNpZiBIQVZFKFNIQVBFX0RFVEVDVElPTl9B
UElfSU1QTEVNRU5UQVRJT04pCi0gICAgcmV0dXJuIFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpC
YXJjb2RlRGV0ZWN0b3JJbXBsOjpjcmVhdGUoYmFyY29kZURldGVjdG9yT3B0aW9ucyk7Ci0jZWxz
ZQotICAgIHJldHVybiBudWxscHRyOwotI2VuZGlmCi19Ci0KLXZvaWQgV2ViQ2hyb21lQ2xpZW50
OjpnZXRCYXJjb2RlRGV0ZWN0b3JTdXBwb3J0ZWRGb3JtYXRzKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoVmVjdG9yPFdlYkNvcmU6OlNoYXBlRGV0ZWN0aW9uOjpCYXJjb2RlRm9ybWF0PiYmKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikgY29uc3QKLXsKLSNpZiBIQVZFKFNIQVBFX0RFVEVDVElPTl9BUElf
SU1QTEVNRU5UQVRJT04pCi0gICAgV2ViQ29yZTo6U2hhcGVEZXRlY3Rpb246OkJhcmNvZGVEZXRl
Y3RvckltcGw6OmdldFN1cHBvcnRlZEZvcm1hdHMoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OwotI2Vsc2UKLSAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwotI2VuZGlmCi19Ci0KLVJlZlB0
cjxXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6RmFjZURldGVjdG9yPiBXZWJDaHJvbWVDbGllbnQ6
OmNyZWF0ZUZhY2VEZXRlY3Rvcihjb25zdCBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6RmFjZURl
dGVjdG9yT3B0aW9ucyYgZmFjZURldGVjdG9yT3B0aW9ucykgY29uc3QKLXsKLSNpZiBIQVZFKFNI
QVBFX0RFVEVDVElPTl9BUElfSU1QTEVNRU5UQVRJT04pCi0gICAgcmV0dXJuIFdlYkNvcmU6OlNo
YXBlRGV0ZWN0aW9uOjpGYWNlRGV0ZWN0b3JJbXBsOjpjcmVhdGUoZmFjZURldGVjdG9yT3B0aW9u
cyk7Ci0jZWxzZQotICAgIHJldHVybiBudWxscHRyOwotI2VuZGlmCi19Ci0KLVJlZlB0cjxXZWJD
b3JlOjpTaGFwZURldGVjdGlvbjo6VGV4dERldGVjdG9yPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0
ZVRleHREZXRlY3RvcigpIGNvbnN0Ci17Ci0jaWYgSEFWRShTSEFQRV9ERVRFQ1RJT05fQVBJX0lN
UExFTUVOVEFUSU9OKQotICAgIHJldHVybiBXZWJDb3JlOjpTaGFwZURldGVjdGlvbjo6VGV4dERl
dGVjdG9ySW1wbDo6Y3JlYXRlKCk7Ci0jZWxzZQotICAgIHJldHVybiBudWxscHRyOwotI2VuZGlm
Ci19Ci0KIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0Q29va2llQ29uc2VudChDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCk+JiYgY29tcGxldGlv
bikKIHsKICAgICBjb21wbGV0aW9uKENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdDo6Tm90U3Vw
cG9ydGVkKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>