<?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>172360</bug_id>
          
          <creation_ts>2017-05-19 08:40:21 -0700</creation_ts>
          <short_desc>Remove AVAudioCaptureSource</short_desc>
          <delta_ts>2017-05-23 16:10:47 -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>Media</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1310610</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-05-19 08:40:21 -0700</bug_when>
    <thetext>It is no longer needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310613</commentid>
    <comment_count>1</comment_count>
      <attachid>310661</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-05-19 08:42:17 -0700</bug_when>
    <thetext>Created attachment 310661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310686</commentid>
    <comment_count>2</comment_count>
      <attachid>310661</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-19 11:40:41 -0700</bug_when>
    <thetext>Comment on attachment 310661
Patch

Rejecting attachment 310661 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 310661, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/Source/WebKit/mac/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.webkit.org/results/3777917</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311582</commentid>
    <comment_count>3</comment_count>
      <attachid>310923</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-05-22 14:41:47 -0700</bug_when>
    <thetext>Created attachment 310923
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311616</commentid>
    <comment_count>4</comment_count>
      <attachid>310923</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-22 15:19:54 -0700</bug_when>
    <thetext>Comment on attachment 310923
Patch for landing

Clearing flags on attachment: 310923

Committed r217251: &lt;http://trac.webkit.org/changeset/217251&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311617</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-22 15:19:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312108</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-05-23 16:10:01 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312109</commentid>
    <comment_count>7</comment_count>
      <attachid>311070</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-05-23 16:10:01 -0700</bug_when>
    <thetext>Created attachment 311070
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310661</attachid>
            <date>2017-05-19 08:42:17 -0700</date>
            <delta_ts>2017-05-22 14:41:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172360-20170519084214.patch</filename>
            <type>text/plain</type>
            <size>35886</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTYzNDA5MDc0NjY3NDJk
Zjc5NWRmZjZiNTM0Y2VkODE3MDZmYzI3MC4uYWY5MzJiMDQ0ZjBiZDgwODFhZjlkNzFkYzUxNjRh
MzM2NGE2NjJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE3LTA1LTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgQVZBdWRpb0Nh
cHR1cmVTb3VyY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3MjM2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIGNoYW5nZSBvZiBiZWhhdmlvciwgdGhpcyBjbGFzcyBpcyBubyBsb25nZXIgdXNlZCBi
eSBkZWZhdWx0IGFzIGl0IGRvZXMgbm90IHN1cHBvcnQgZWNobyBjYW5jZWxsYXRpb24uCisKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWVkaWFDYXB0
dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdz
Ojp1c2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnNldFVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZSk6IERlbGV0ZWQuCisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9BVkF1ZGlvQ2FwdHVyZVNvdXJjZS5oOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9BVkF1ZGlvQ2FwdHVyZVNvdXJjZS5tbTogUmVtb3ZlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2Vy
Lm1tOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWM6OmRlZmF1bHRBdWRpb0ZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6ZGVmYXVsdEF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIp
OgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6c2V0VXNl
QVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oOgorCiAyMDE3LTA1
LTE4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGlnbiBN
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciB3aXRoIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCAzMzZmZTFiODI2YjEwMDIyZTJiZWYwYWIzZGNlMjQ2NTkx
Y2ZmZmRlLi44YjI5NTBhY2Q0MzZiZmNlOTg2M2I3Y2RiNjI5YzE5NGExMjU4NWFhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDUtMTkgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBBVkF1ZGlvQ2FwdHVyZVNvdXJjZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMzYwCisK
KyAgICAgICAgUmVtb3ZpbmcgdGhlIGhhbmRsaW5nIG9mIEFWQXVkaW8vQ29yZUF1ZGlvIGNhcHR1
cmUgc291cmNlIGR5bmFtaWMgc3dpdGNoLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgor
ICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIHVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZV0pOiBEZWxldGVkLgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmU6XSk6IERl
bGV0ZWQuCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2Vz
Q2hhbmdlZDpdKToKKwogMjAxNy0wNS0xNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdt
YWlsLmNvbT4KIAogICAgICAgICBbSlNDXVtERkddW0RPTUpJVF0gRXh0ZW5kIENoZWNrRE9NIHRv
IENoZWNrU3ViQ2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3ZDI3NTQ4ZjBlZTJkYTAzMjQ2OWM4ZTU2MTQz
MTZhYzRiZmUxODFjLi4xOTc2ZDNiYjcxNmM4YTk0ZTk4ZDdhNDA3NGEyMDg5ODA5YWU1MmRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTctMDUtMTkgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBBVkF1ZGlvQ2FwdHVyZVNvdXJjZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMzYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zpbmcg
dGhlIGhhbmRsaW5nIG9mIEFWQXVkaW8vQ29yZUF1ZGlvIGNhcHR1cmUgc291cmNlIGR5bmFtaWMg
c3dpdGNoLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChX
S1ByZWZlcmVuY2VzU2V0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdLUHJlZmVyZW5jZXNHZXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUpOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlclByb3h5OjpzeW5jV2l0aFdlYkNvcmVQcmVmcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVm
ZXJlbmNlcyk6CisKIDIwMTctMDUtMTggIENsYXVkaW8gU2FhdmVkcmEgIDxjc2FhdmVkcmFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbV1BFXSBVbnJldmlld2VkIGJ1aWxkIGZpeApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDFjNjhk
ODQ5MjZlZDUxOTM0OGRlM2M1NDA0ZjhmYzU1NmM0ZjJiOGUuLjI5ZjQ1YzdmMDU2YjJhN2JmNjlj
NjVjZjA0ZjQ3ZjY2ZTc5YzQ3MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxLDggKzcxLDYgQEAKIAkJMDcwMzM0RDcxNDU5
RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDcwMzM0RDYxNDU5RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3MDMz
NEQ5MTQ1QTAwNkYwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzM0RDgxNDVBMDA2RjAwOEQ4RDQ1IC8qIFRy
YWNrQmFzZS5jcHAgKi87IH07CiAJCTA3MDMzNEU5MTQ1QTFGMzYwMDhEOEQ0NSAvKiBKU1RyYWNr
Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA3MDMzNEU4MTQ1QTFGMzUwMDhEOEQ0NSAvKiBKU1RyYWNrQ3VzdG9tLmNwcCAqLzsgfTsKLQkJ
MDcwMzYzRTAxODFBMUNEQzAwQzA3NEE1IC8qIEFWQXVkaW9DYXB0dXJlU291cmNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzAzNjNEODE4MUExQ0RD
MDBDMDc0QTUgLyogQVZBdWRpb0NhcHR1cmVTb3VyY2UuaCAqLzsgfTsKLQkJMDcwMzYzRTExODFB
MUNEQzAwQzA3NEE1IC8qIEFWQXVkaW9DYXB0dXJlU291cmNlLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzYzRDkxODFBMUNEQzAwQzA3NEE1IC8q
IEFWQXVkaW9DYXB0dXJlU291cmNlLm1tICovOyB9OwogCQkwNzAzNjNFMjE4MUExQ0RDMDBDMDc0
QTUgLyogQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzYzREExODFBMUNEQzAwQzA3NEE1IC8qIEFWQ2FwdHVy
ZURldmljZU1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwNzAzNjNFMzE4MUExQ0RDMDBDMDc0QTUgLyogQVZDYXB0dXJlRGV2aWNlTWFu
YWdlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3
MDM2M0RCMTgxQTFDREMwMEMwNzRBNSAvKiBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tICovOyB9
OwogCQkwNzAzNjNFNDE4MUExQ0RDMDBDMDc0QTUgLyogQVZNZWRpYUNhcHR1cmVTb3VyY2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDM2M0RDMTgx
QTFDREMwMEMwNzRBNSAvKiBBVk1lZGlhQ2FwdHVyZVNvdXJjZS5oICovOyB9OwpAQCAtNzQxMCw4
ICs3NDA4LDYgQEAKIAkJMDcwMzM0RDYxNDU5RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFja0Jhc2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMDcwMzM0RDgxNDVBMDA2RjAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFja0Jhc2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzAzMzRFODE0NUExRjM1MDA4RDhENDUgLyog
SlNUcmFja0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1RyYWNrQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDcwMzYzRDgx
ODFBMUNEQzAwQzA3NEE1IC8qIEFWQXVkaW9DYXB0dXJlU291cmNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFWQXVkaW9DYXB0dXJlU291cmNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTA3MDM2M0Q5MTgxQTFDREMwMEMwNzRBNSAvKiBBVkF1ZGlvQ2FwdHVy
ZVNvdXJjZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFWQXVk
aW9DYXB0dXJlU291cmNlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzAzNjNE
QTE4MUExQ0RDMDBDMDc0QTUgLyogQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3MDM2M0RCMTgxQTFDREMwMEMwNzRBNSAvKiBBVkNhcHR1
cmVEZXZpY2VNYW5hZ2VyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDcwMzYzREMxODFBMUNEQzAwQzA3NEE1IC8qIEFWTWVkaWFDYXB0dXJlU291cmNlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFWTWVkaWFDYXB0dXJlU291cmNlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjE4Myw4ICsxNjE3OSw2IEBACiAJCQljaGls
ZHJlbiA9ICgKIAkJCQkwNzZFQzEzMjFFNDRGMkNCMDBFNUQ4MTMgLyogQXVkaW9UcmFja1ByaXZh
dGVNZWRpYVN0cmVhbUNvY29hLmNwcCAqLywKIAkJCQkwN0MwNDZDNjFFNDI1MTJGMDA3MjAxRTcg
LyogQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hLmggKi8sCi0JCQkJMDcwMzYzRDgx
ODFBMUNEQzAwQzA3NEE1IC8qIEFWQXVkaW9DYXB0dXJlU291cmNlLmggKi8sCi0JCQkJMDcwMzYz
RDkxODFBMUNEQzAwQzA3NEE1IC8qIEFWQXVkaW9DYXB0dXJlU291cmNlLm1tICovLAogCQkJCTA3
MDM2M0RBMTgxQTFDREMwMEMwNzRBNSAvKiBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmggKi8sCiAJ
CQkJMDcwMzYzREIxODFBMUNEQzAwQzA3NEE1IC8qIEFWQ2FwdHVyZURldmljZU1hbmFnZXIubW0g
Ki8sCiAJCQkJMDcwMzYzREMxODFBMUNEQzAwQzA3NEE1IC8qIEFWTWVkaWFDYXB0dXJlU291cmNl
LmggKi8sCkBAIC0yNjQ4Myw3ICsyNjQ3Nyw2IEBACiAJCQkJQzlENDY3MDUxRTYwQzQ2NTAwODE5
NUZCIC8qIEF1dG9wbGF5RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ1ODMwRDRFMTY3OUI0
RjgwMEFDRjhDMyAvKiBBdXRvc2Nyb2xsQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThDRkYwNEUwQTE1NEYwOTAwMEE0MjM0IC8qIEF1dG9UYWJsZUxheW91dC5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMDcwMzYzRTAxODFBMUNEQzAwQzA3NEE1IC8qIEFWQXVkaW9DYXB0dXJlU291cmNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzAzNjNFMjE4MUExQ0RDMDBDMDc0QTUgLyogQVZDYXB0
dXJlRGV2aWNlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdGMEI5N0MxQUM1REI0NjAw
RTUzNUQ5IC8qIEFWRm91bmRhdGlvblNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdGMEI5N0Ex
QUM1REIzMzAwRTUzNUQ5IC8qIEFWS2l0U1BJLmggaW4gSGVhZGVycyAqLywKQEAgLTMwNTg1LDcg
KzMwNTc4LDYgQEAKIAkJCQk3QzFFOTcyNzFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0
b25FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ1ODMwRDREMTY3OUI0RjgwMEFDRjhD
MyAvKiBBdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOENGRjA1
MDBBMTU0RjA5MDAwQTQyMzQgLyogQXV0b1RhYmxlTGF5b3V0LmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTA3MDM2M0UxMTgxQTFDREMwMEMwNzRBNSAvKiBBVkF1ZGlvQ2FwdHVyZVNvdXJjZS5tbSBp
biBTb3VyY2VzICovLAogCQkJCTA3MDM2M0UzMTgxQTFDREMwMEMwNzRBNSAvKiBBVkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcxOTQyN0YxRDA4OEYyMTAwMkFB
NTFEIC8qIEFWRm91bmRhdGlvbk1JTUVUeXBlQ2FjaGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkw
NzAzNjNFNTE4MUExQ0RDMDBDMDc0QTUgLyogQVZNZWRpYUNhcHR1cmVTb3VyY2UubW0gaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggMGVhZjUyNmViOTllNjBhY2E3
YWE5ZWJiNzU5ZmYwNDE1NjlmYmFhNy4uM2I0MTM0NGJlZGY0YzllYThmYWU3ZGVkMDY5OWIzNzQz
ZTg3OWZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTk4LDcgKzk4LDYgQEAgYm9v
bCBTZXR0aW5nczo6Z01vY2tTY3JvbGxBbmltYXRvckVuYWJsZWQgPSBmYWxzZTsKICNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQogYm9vbCBTZXR0aW5nczo6Z01vY2tDYXB0dXJlRGV2aWNlc0VuYWJs
ZWQgPSBmYWxzZTsKIGJvb2wgU2V0dGluZ3M6OmdNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNv
bm5lY3Rpb24gPSB0cnVlOwotYm9vbCBTZXR0aW5nczo6Z1VzZUFWRm91bmRhdGlvbkF1ZGlvQ2Fw
dHVyZSA9IGZhbHNlOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShXSU4pCkBAIC02MjAsMTkgKzYx
OSw2IEBAIHZvaWQgU2V0dGluZ3M6OnNldE1lZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVj
dGlvbihib29sIG1lZGlhQ2FwdHVyZVJlcXVpcmVzCiB7CiAgICAgZ01lZGlhQ2FwdHVyZVJlcXVp
cmVzU2VjdXJlQ29ubmVjdGlvbiA9IG1lZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlv
bjsKIH0KLQotYm9vbCBTZXR0aW5nczo6dXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKCkKLXsK
LSAgICByZXR1cm4gZ1VzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZTsKLX0KLQotdm9pZCBTZXR0
aW5nczo6c2V0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKGJvb2wgdXNlQVZGb3VuZGF0aW9u
QXVkaW9DYXB0dXJlKQotewotICAgIGdVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUgPSB1c2VB
VkZvdW5kYXRpb25BdWRpb0NhcHR1cmU7Ci0jaWYgVVNFKEFWRk9VTkRBVElPTikKLSAgICBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpzaW5nbGV0b24oKS5zZXRVc2VBVkZvdW5kYXRpb25B
dWRpb0NhcHR1cmUodXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKTsKLSNlbmRpZgotfQogI2Vu
ZGlmCiAKIHZvaWQgU2V0dGluZ3M6OnNldFNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJs
ZWQoYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDU5NDhkYmUxOTMyYTBl
M2QyMmNmZGUyYjZlZjE5NTliMDQwNTkzMDIuLmQxOTZkYzJjOTY3M2Y1N2RiMGRlZDllMzYwNTE5
ZDE2OGFhYjlhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTMxMCw5ICszMTAsNiBAQCBw
dWJsaWM6CiAKICAgICBib29sIG1lZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbigp
IGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldE1lZGlhQ2FwdHVyZVJl
cXVpcmVzU2VjdXJlQ29ubmVjdGlvbihib29sKTsKLQotICAgIHN0YXRpYyBib29sIHVzZUFWRm91
bmRhdGlvbkF1ZGlvQ2FwdHVyZSgpOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNl
dFVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZShib29sKTsKICNlbmRpZgogCiAjaWYgRU5BQkxF
KEFQUExFX1BBWSkKQEAgLTQxOCw3ICs0MTUsNiBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX21l
ZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgc3RhdGljIGJvb2wgZ01v
Y2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgZ01lZGlhQ2FwdHVyZVJl
cXVpcmVzU2VjdXJlQ29ubmVjdGlvbjsKLSAgICBzdGF0aWMgYm9vbCBnVXNlQVZGb3VuZGF0aW9u
QXVkaW9DYXB0dXJlOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQXVkaW9DYXB0dXJl
U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZBdWRp
b0NhcHR1cmVTb3VyY2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzk4OGMxZTI5
YTQzZjU1ODRiNGJiNWQwNzZjZjlkMTBhMmNjNGNhNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvQVZBdWRpb0NhcHR1cmVTb3VyY2UuaAorKysgL2Rldi9udWxsCkBAIC0xLDc3ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
Zm5kZWYgQVZBdWRpb0NhcHR1cmVTb3VyY2VfaAotI2RlZmluZSBBVkF1ZGlvQ2FwdHVyZVNvdXJj
ZV9oCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoQVZGT1VOREFUSU9OKQotCi0j
aW5jbHVkZSAiQVZNZWRpYUNhcHR1cmVTb3VyY2UuaCIKLSNpbmNsdWRlICJDQUF1ZGlvU3RyZWFt
RGVzY3JpcHRpb24uaCIKLSNpbmNsdWRlIDx3dGYvTG9jay5oPgotCi10eXBlZGVmIHN0cnVjdCBB
dWRpb0J1ZmZlckxpc3QgQXVkaW9CdWZmZXJMaXN0OwotdHlwZWRlZiBzdHJ1Y3QgQXVkaW9TdHJl
YW1CYXNpY0Rlc2NyaXB0aW9uIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbjsKLXR5cGVkZWYg
Y29uc3Qgc3RydWN0IG9wYXF1ZUNNRm9ybWF0RGVzY3JpcHRpb24gKkNNRm9ybWF0RGVzY3JpcHRp
b25SZWY7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViQXVkaW9CdWZmZXJMaXN0
OwotY2xhc3MgV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakM7Ci0KLWNsYXNzIEFWQXVkaW9D
YXB0dXJlU291cmNlIDogcHVibGljIEFWTWVkaWFDYXB0dXJlU291cmNlIHsKLXB1YmxpYzoKLQot
ICAgIHN0YXRpYyBDYXB0dXJlU291cmNlT3JFcnJvciBjcmVhdGUoQVZDYXB0dXJlRGV2aWNlKiwg
Y29uc3QgQXRvbWljU3RyaW5nJiwgY29uc3QgTWVkaWFDb25zdHJhaW50cyopOwotCi0gICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIEF1ZGlvQ2FwdHVyZUZhY3RvcnkmIGZhY3RvcnkoKTsKLQotcHJp
dmF0ZToKLSAgICBBVkF1ZGlvQ2FwdHVyZVNvdXJjZShBVkNhcHR1cmVEZXZpY2UqLCBjb25zdCBB
dG9taWNTdHJpbmcmKTsKLSAgICB2aXJ0dWFsIH5BVkF1ZGlvQ2FwdHVyZVNvdXJjZSgpOwotCi0g
ICAgdm9pZCBpbml0aWFsaXplQ2FwYWJpbGl0aWVzKFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmls
aXRpZXMmKSBvdmVycmlkZTsKLSAgICB2b2lkIGluaXRpYWxpemVTdXBwb3J0ZWRDb25zdHJhaW50
cyhSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMmKSBvdmVycmlkZTsKLQot
ICAgIHZvaWQgY2FwdHVyZU91dHB1dERpZE91dHB1dFNhbXBsZUJ1ZmZlckZyb21Db25uZWN0aW9u
KEFWQ2FwdHVyZU91dHB1dCosIENNU2FtcGxlQnVmZmVyUmVmLCBBVkNhcHR1cmVDb25uZWN0aW9u
Kikgb3ZlcnJpZGU7Ci0gICAgCi0gICAgdm9pZCBzZXR1cENhcHR1cmVTZXNzaW9uKCkgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCBzaHV0ZG93bkNhcHR1cmVTZXNzaW9uKCkgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCB1cGRhdGVTZXR0aW5ncyhSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MmKSBvdmVycmlkZTsK
LSAgICBBdWRpb1NvdXJjZVByb3ZpZGVyKiBhdWRpb1NvdXJjZVByb3ZpZGVyKCkgb3ZlcnJpZGU7
Ci0KLSAgICBSZXRhaW5QdHI8QVZDYXB0dXJlQ29ubmVjdGlvbj4gbV9hdWRpb0Nvbm5lY3Rpb247
Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkF1ZGlvQnVmZmVyTGlzdD4gbV9saXN0OwotCi0gICAg
UmVmUHRyPFdlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDPiBtX2F1ZGlvU291cmNlUHJvdmlk
ZXI7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbj4gbV9pbnB1
dERlc2NyaXB0aW9uOwotICAgIExvY2sgbV9sb2NrOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2VuZGlmIC8vIEFWVmlk
ZW9DYXB0dXJlU291cmNlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9BVkF1ZGlvQ2FwdHVyZVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkF1ZGlvQ2FwdHVyZVNvdXJjZS5tbQpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYWViMjRmZDkxNjQ4M2IyN2VlYTk0MzAzYjdhZmE2NzdjNjFm
N2MzYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZBdWRpb0NhcHR1cmVTb3VyY2Uu
bW0KKysrIC9kZXYvbnVsbApAQCAtMSwyMjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMy0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0
ICJBVkF1ZGlvQ2FwdHVyZVNvdXJjZS5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYg
VVNFKEFWRk9VTkRBVElPTikKLQotI2ltcG9ydCAiQXVkaW9TYW1wbGVCdWZmZXJMaXN0LmgiCi0j
aW1wb3J0ICJDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKLSNpbXBvcnQgIkNhcHR1cmVEZXZp
Y2UuaCIKLSNpbXBvcnQgIkxvZ2dpbmcuaCIKLSNpbXBvcnQgIk1lZGlhQ29uc3RyYWludHMuaCIK
LSNpbXBvcnQgIk1lZGlhU2FtcGxlQVZGT2JqQy5oIgotI2ltcG9ydCAiUmVhbHRpbWVNZWRpYVNv
dXJjZVNldHRpbmdzLmgiCi0jaW1wb3J0ICJTb2Z0TGlua2luZy5oIgotI2ltcG9ydCAiV2ViQXVk
aW9Tb3VyY2VQcm92aWRlckFWRk9iakMuaCIKLSNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkNhcHR1
cmVJbnB1dC5oPgotI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQ2FwdHVyZU91dHB1dC5oPgotI2lt
cG9ydCA8QVZGb3VuZGF0aW9uL0FWQ2FwdHVyZVNlc3Npb24uaD4KLSNpbXBvcnQgPENvcmVBdWRp
by9Db3JlQXVkaW9UeXBlcy5oPgotI2ltcG9ydCA8d3RmL0hhc2hTZXQuaD4KLSNpbXBvcnQgPHd0
Zi9OZXZlckRlc3Ryb3llZC5oPgotCi0jaW1wb3J0ICJDb3JlTWVkaWFTb2Z0TGluay5oIgotCi10
eXBlZGVmIEFWQ2FwdHVyZUF1ZGlvQ2hhbm5lbCBBVkNhcHR1cmVBdWRpb0NoYW5uZWxUeXBlOwot
dHlwZWRlZiBBVkNhcHR1cmVBdWRpb0RhdGFPdXRwdXQgQVZDYXB0dXJlQXVkaW9EYXRhT3V0cHV0
VHlwZTsKLXR5cGVkZWYgQVZDYXB0dXJlQ29ubmVjdGlvbiBBVkNhcHR1cmVDb25uZWN0aW9uVHlw
ZTsKLXR5cGVkZWYgQVZDYXB0dXJlRGV2aWNlIEFWQ2FwdHVyZURldmljZVR5cGVkZWY7Ci10eXBl
ZGVmIEFWQ2FwdHVyZURldmljZUlucHV0IEFWQ2FwdHVyZURldmljZUlucHV0VHlwZTsKLXR5cGVk
ZWYgQVZDYXB0dXJlT3V0cHV0IEFWQ2FwdHVyZU91dHB1dFR5cGU7Ci0KLVNPRlRfTElOS19GUkFN
RVdPUktfT1BUSU9OQUwoQVZGb3VuZGF0aW9uKQotCi1TT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0
aW9uLCBBVkNhcHR1cmVBdWRpb0NoYW5uZWwpCi1TT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0aW9u
LCBBVkNhcHR1cmVBdWRpb0RhdGFPdXRwdXQpCi1TT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0aW9u
LCBBVkNhcHR1cmVDb25uZWN0aW9uKQotU09GVF9MSU5LX0NMQVNTKEFWRm91bmRhdGlvbiwgQVZD
YXB0dXJlRGV2aWNlKQotU09GVF9MSU5LX0NMQVNTKEFWRm91bmRhdGlvbiwgQVZDYXB0dXJlRGV2
aWNlSW5wdXQpCi1TT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVPdXRwdXQp
Ci0KLSNkZWZpbmUgQVZDYXB0dXJlQXVkaW9DaGFubmVsIGdldEFWQ2FwdHVyZUF1ZGlvQ2hhbm5l
bENsYXNzKCkKLSNkZWZpbmUgQVZDYXB0dXJlQXVkaW9EYXRhT3V0cHV0IGdldEFWQ2FwdHVyZUF1
ZGlvRGF0YU91dHB1dENsYXNzKCkKLSNkZWZpbmUgQVZDYXB0dXJlQ29ubmVjdGlvbiBnZXRBVkNh
cHR1cmVDb25uZWN0aW9uQ2xhc3MoKQotI2RlZmluZSBBVkNhcHR1cmVEZXZpY2UgZ2V0QVZDYXB0
dXJlRGV2aWNlQ2xhc3MoKQotI2RlZmluZSBBVkNhcHR1cmVEZXZpY2VGb3JtYXQgZ2V0QVZDYXB0
dXJlRGV2aWNlRm9ybWF0Q2xhc3MoKQotI2RlZmluZSBBVkNhcHR1cmVEZXZpY2VJbnB1dCBnZXRB
VkNhcHR1cmVEZXZpY2VJbnB1dENsYXNzKCkKLSNkZWZpbmUgQVZDYXB0dXJlT3V0cHV0IGdldEFW
Q2FwdHVyZU91dHB1dENsYXNzKCkKLSNkZWZpbmUgQVZGcmFtZVJhdGVSYW5nZSBnZXRBVkZyYW1l
UmF0ZVJhbmdlQ2xhc3MoKQotCi1TT0ZUX0xJTktfUE9JTlRFUihBVkZvdW5kYXRpb24sIEFWTWVk
aWFUeXBlQXVkaW8sIE5TU3RyaW5nICopCi0KLSNkZWZpbmUgQVZNZWRpYVR5cGVBdWRpbyBnZXRB
Vk1lZGlhVHlwZUF1ZGlvKCkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBBVkF1ZGlv
Q2FwdHVyZVNvdXJjZUZhY3RvcnkgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZTo6QXVkaW9D
YXB0dXJlRmFjdG9yeQotI2lmIFBMQVRGT1JNKElPUykKLSAgICAsIHB1YmxpYyBSZWFsdGltZU1l
ZGlhU291cmNlOjpTaW5nbGVTb3VyY2VGYWN0b3J5PEFWQXVkaW9DYXB0dXJlU291cmNlPgotI2Vu
ZGlmCi17Ci1wdWJsaWM6Ci0gICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgY3JlYXRlQXVkaW9DYXB0
dXJlU291cmNlKGNvbnN0IFN0cmluZyYgZGV2aWNlSUQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMq
IGNvbnN0cmFpbnRzKSBmaW5hbCB7Ci0gICAgICAgIEFWQ2FwdHVyZURldmljZVR5cGVkZWYgKmRl
dmljZSA9IFtnZXRBVkNhcHR1cmVEZXZpY2VDbGFzcygpIGRldmljZVdpdGhVbmlxdWVJRDpkZXZp
Y2VJRF07Ci0gICAgICAgIHJldHVybiBkZXZpY2UgPyBBVkF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3Jl
YXRlKGRldmljZSwgZW1wdHlTdHJpbmcoKSwgY29uc3RyYWludHMpIDogQ2FwdHVyZVNvdXJjZU9y
RXJyb3IoKTsKLSAgICB9Ci19OwotCi1DYXB0dXJlU291cmNlT3JFcnJvciBBVkF1ZGlvQ2FwdHVy
ZVNvdXJjZTo6Y3JlYXRlKEFWQ2FwdHVyZURldmljZVR5cGVkZWYqIGRldmljZSwgY29uc3QgQXRv
bWljU3RyaW5nJiBpZCwgY29uc3QgTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCi17Ci0g
ICAgYXV0byBzb3VyY2UgPSBhZG9wdFJlZigqbmV3IEFWQXVkaW9DYXB0dXJlU291cmNlKGRldmlj
ZSwgaWQpKTsKLSAgICBpZiAoY29uc3RyYWludHMpIHsKLSAgICAgICAgYXV0byByZXN1bHQgPSBz
b3VyY2UtPmFwcGx5Q29uc3RyYWludHMoKmNvbnN0cmFpbnRzKTsKLSAgICAgICAgaWYgKHJlc3Vs
dCkKLSAgICAgICAgICAgIHJldHVybiBTdHJpbmcocmVzdWx0LnZhbHVlKCkuZmlyc3QpOwotICAg
IH0KLQotICAgIHJldHVybiBDYXB0dXJlU291cmNlT3JFcnJvcihXVEZNb3ZlKHNvdXJjZSkpOwot
fQotCi1zdGF0aWMgQVZBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5JiBhdkF1ZGlvQ2FwdHVyZVNv
dXJjZUZhY3RvcnkoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBVkF1ZGlvQ2FwdHVy
ZVNvdXJjZUZhY3Rvcnk+IGZhY3Rvcnk7Ci0gICAgcmV0dXJuIGZhY3RvcnkuZ2V0KCk7Ci19Ci0K
LVJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvQ2FwdHVyZUZhY3RvcnkmIEFWQXVkaW9DYXB0dXJl
U291cmNlOjpmYWN0b3J5KCkKLXsKLSAgICByZXR1cm4gYXZBdWRpb0NhcHR1cmVTb3VyY2VGYWN0
b3J5KCk7Ci19Ci0KLUFWQXVkaW9DYXB0dXJlU291cmNlOjpBVkF1ZGlvQ2FwdHVyZVNvdXJjZShB
VkNhcHR1cmVEZXZpY2VUeXBlZGVmKiBkZXZpY2UsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQpCi0g
ICAgOiBBVk1lZGlhQ2FwdHVyZVNvdXJjZShkZXZpY2UsIGlkLCBUeXBlOjpBdWRpbykKLXsKLX0K
LQotQVZBdWRpb0NhcHR1cmVTb3VyY2U6On5BVkF1ZGlvQ2FwdHVyZVNvdXJjZSgpCi17Ci0jaWYg
UExBVEZPUk0oSU9TKQotICAgIGF2QXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeSgpLnVuc2V0QWN0
aXZlU291cmNlKCp0aGlzKTsKLSNlbmRpZgotICAgIHNodXRkb3duQ2FwdHVyZVNlc3Npb24oKTsK
LX0KLQotdm9pZCBBVkF1ZGlvQ2FwdHVyZVNvdXJjZTo6aW5pdGlhbGl6ZUNhcGFiaWxpdGllcyhS
ZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzJiBjYXBhYmlsaXRpZXMpCi17Ci0gICAgLy8g
RklYTUU6IGZpbmlzaCB0aGlzIGltcGxlbWVudGF0aW9uIC0gaHR0cHM6Ly93ZWJraXQub3JnL2Iv
MTIyNDMwCi0gICAgY2FwYWJpbGl0aWVzLnNldFZvbHVtZShDYXBhYmlsaXR5VmFsdWVPclJhbmdl
KDAuMCwgMS4wKSk7Ci19Ci0KLXZvaWQgQVZBdWRpb0NhcHR1cmVTb3VyY2U6OmluaXRpYWxpemVT
dXBwb3J0ZWRDb25zdHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWlu
dHMmIHN1cHBvcnRlZENvbnN0cmFpbnRzKQotewotICAgIHN1cHBvcnRlZENvbnN0cmFpbnRzLnNl
dFN1cHBvcnRzVm9sdW1lKHRydWUpOwotfQotCi12b2lkIEFWQXVkaW9DYXB0dXJlU291cmNlOjp1
cGRhdGVTZXR0aW5ncyhSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MmIHNldHRpbmdzKQotewot
ICAgIC8vIEZJWE1FOiBzdXBwb3J0IHZvbHVtZQotCi0gICAgc2V0dGluZ3Muc2V0RGV2aWNlSWQo
aWQoKSk7Ci19Ci0KLXZvaWQgQVZBdWRpb0NhcHR1cmVTb3VyY2U6OnNldHVwQ2FwdHVyZVNlc3Np
b24oKQotewotI2lmIFBMQVRGT1JNKElPUykKLSAgICBhdkF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rv
cnkoKS5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOwotI2VuZGlmCi0KLSAgICBSZXRhaW5QdHI8QVZD
YXB0dXJlRGV2aWNlSW5wdXRUeXBlPiBhdWRpb0luID0gYWRvcHROUyhbYWxsb2NBVkNhcHR1cmVE
ZXZpY2VJbnB1dEluc3RhbmNlKCkgaW5pdFdpdGhEZXZpY2U6ZGV2aWNlKCkgZXJyb3I6bmlsXSk7
Ci0KLSAgICBpZiAoIVtzZXNzaW9uKCkgY2FuQWRkSW5wdXQ6YXVkaW9Jbi5nZXQoKV0pIHsKLSAg
ICAgICAgTE9HKE1lZGlhLCAiQVZWaWRlb0NhcHR1cmVTb3VyY2U6OnNldHVwQ2FwdHVyZVNlc3Np
b24oJXApLCB1bmFibGUgdG8gYWRkIGF1ZGlvIGlucHV0IGRldmljZSIsIHRoaXMpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotICAgIFtzZXNzaW9uKCkgYWRkSW5wdXQ6YXVkaW9Jbi5nZXQoKV07
Ci0KLSAgICBSZXRhaW5QdHI8QVZDYXB0dXJlQXVkaW9EYXRhT3V0cHV0VHlwZT4gYXVkaW9PdXRw
dXQgPSBhZG9wdE5TKFthbGxvY0FWQ2FwdHVyZUF1ZGlvRGF0YU91dHB1dEluc3RhbmNlKCkgaW5p
dF0pOwotICAgIHNldEF1ZGlvU2FtcGxlQnVmZmVyRGVsZWdhdGUoYXVkaW9PdXRwdXQuZ2V0KCkp
OwotCi0gICAgaWYgKCFbc2Vzc2lvbigpIGNhbkFkZE91dHB1dDphdWRpb091dHB1dC5nZXQoKV0p
IHsKLSAgICAgICAgTE9HKE1lZGlhLCAiQVZWaWRlb0NhcHR1cmVTb3VyY2U6OnNldHVwQ2FwdHVy
ZVNlc3Npb24oJXApLCB1bmFibGUgdG8gYWRkIGF1ZGlvIHNhbXBsZSBidWZmZXIgb3V0cHV0IGRl
bGVnYXRlIiwgdGhpcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgW3Nlc3Npb24oKSBh
ZGRPdXRwdXQ6YXVkaW9PdXRwdXQuZ2V0KCldOwotICAgIG1fYXVkaW9Db25uZWN0aW9uID0gW2F1
ZGlvT3V0cHV0LmdldCgpIGNvbm5lY3Rpb25XaXRoTWVkaWFUeXBlOkFWTWVkaWFUeXBlQXVkaW9d
OwotfQotCi12b2lkIEFWQXVkaW9DYXB0dXJlU291cmNlOjpzaHV0ZG93bkNhcHR1cmVTZXNzaW9u
KCkKLXsKLSAgICB7Ci0gICAgICAgIExvY2tIb2xkZXIgbG9jayhtX2xvY2spOwotCi0gICAgICAg
IG1fYXVkaW9Db25uZWN0aW9uID0gbnVsbHB0cjsKLSAgICAgICAgbV9pbnB1dERlc2NyaXB0aW9u
ID0gbnVsbHB0cjsKLQotICAgICAgICBpZiAobV9hdWRpb1NvdXJjZVByb3ZpZGVyKQotICAgICAg
ICAgICAgbV9hdWRpb1NvdXJjZVByb3ZpZGVyLT51bnByZXBhcmUoKTsKLSAgICB9Ci0KLSAgICAv
LyBEb24ndCBob2xkIHRoZSBsb2NrIHdoZW4gZGVzdHJveWluZyB0aGUgYXVkaW8gcHJvdmlkZXIs
IGl0IHdpbGwgY2FsbCBiYWNrIGludG8gdGhpcyBvYmplY3QKLSAgICAvLyB0byByZW1vdmUgaXRz
ZWxmIGFzIGFuIG9ic2VydmVyLgotICAgIG1fYXVkaW9Tb3VyY2VQcm92aWRlciA9IG51bGxwdHI7
Ci19Ci0KLXZvaWQgQVZBdWRpb0NhcHR1cmVTb3VyY2U6OmNhcHR1cmVPdXRwdXREaWRPdXRwdXRT
YW1wbGVCdWZmZXJGcm9tQ29ubmVjdGlvbihBVkNhcHR1cmVPdXRwdXRUeXBlKiwgQ01TYW1wbGVC
dWZmZXJSZWYgc2FtcGxlQnVmZmVyLCBBVkNhcHR1cmVDb25uZWN0aW9uVHlwZSopCi17Ci0gICAg
aWYgKG11dGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYgZm9ybWF0RGVzY3JpcHRpb24gPSBDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9u
KHNhbXBsZUJ1ZmZlcik7Ci0gICAgaWYgKCFmb3JtYXREZXNjcmlwdGlvbikKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgc3RkOjp1bmlxdWVfbG9jazxMb2NrPiBsb2NrKG1fbG9jaywgc3RkOjp0cnlf
dG9fbG9jayk7Ci0gICAgaWYgKCFsb2NrLm93bnNfbG9jaygpKSB7Ci0gICAgICAgIC8vIEZhaWxl
ZCB0byBhY3F1aXJlIHRoZSBsb2NrLCBqdXN0IHJldHVybiBpbnN0ZWFkIG9mIGJsb2NraW5nLgot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2Ny
aXB0aW9uKiBzdHJlYW1EZXNjcmlwdGlvbiA9IENNQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkdldFN0
cmVhbUJhc2ljRGVzY3JpcHRpb24oZm9ybWF0RGVzY3JpcHRpb24pOwotICAgIGlmICghbV9pbnB1
dERlc2NyaXB0aW9uIHx8ICptX2lucHV0RGVzY3JpcHRpb24gIT0gKnN0cmVhbURlc2NyaXB0aW9u
KSB7Ci0gICAgICAgIG1faW5wdXREZXNjcmlwdGlvbiA9IHN0ZDo6bWFrZV91bmlxdWU8Q0FBdWRp
b1N0cmVhbURlc2NyaXB0aW9uPigqc3RyZWFtRGVzY3JpcHRpb24pOwotCi0gICAgICAgIGlmICht
X2F1ZGlvU291cmNlUHJvdmlkZXIpCi0gICAgICAgICAgICBtX2F1ZGlvU291cmNlUHJvdmlkZXIt
PnByZXBhcmUoc3RyZWFtRGVzY3JpcHRpb24pOwotICAgIH0KLQotICAgIG1fbGlzdCA9IHN0ZDo6
bWFrZV91bmlxdWU8V2ViQXVkaW9CdWZmZXJMaXN0PigqbV9pbnB1dERlc2NyaXB0aW9uLCBzYW1w
bGVCdWZmZXIpOwotICAgIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZSh0b01lZGlhVGltZShDTVNhbXBs
ZUJ1ZmZlckdldFByZXNlbnRhdGlvblRpbWVTdGFtcChzYW1wbGVCdWZmZXIpKSwgKm1fbGlzdCwg
Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uKCpzdHJlYW1EZXNjcmlwdGlvbiksIENNU2FtcGxlQnVm
ZmVyR2V0TnVtU2FtcGxlcyhzYW1wbGVCdWZmZXIpKTsKLX0KLQotQXVkaW9Tb3VyY2VQcm92aWRl
ciogQVZBdWRpb0NhcHR1cmVTb3VyY2U6OmF1ZGlvU291cmNlUHJvdmlkZXIoKQotewotICAgIGlm
ICghbV9hdWRpb1NvdXJjZVByb3ZpZGVyKQotICAgICAgICBtX2F1ZGlvU291cmNlUHJvdmlkZXIg
PSBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQzo6Y3JlYXRlKCp0aGlzKTsKLQotICAgIHJl
dHVybiBtX2F1ZGlvU291cmNlUHJvdmlkZXIuZ2V0KCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURl
dmljZU1hbmFnZXIuaAppbmRleCAwY2IxNzIyNDRiYTU4OGEwYjY3MDM0ZDRhYjZjNzUyNDAyZjU3
ZjAwLi4yZDVlY2Q3ZTUwNTU3MGZjMDIxMDljOWI4ZjBmMmY4NWQ5MWEzMWJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNl
TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9B
VkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKQEAgLTQ1LDggKzQ1LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgQVZDYXB0dXJlRGV2aWNlTWFuYWdlciBmaW5hbCA6IHB1YmxpYyBDYXB0dXJl
RGV2aWNlTWFuYWdlciB7CiAgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVzdHJveWVkPEFWQ2FwdHVy
ZURldmljZU1hbmFnZXI+OwogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lk
IHNldFVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZShib29sKTsKLQogICAgIFZlY3RvcjxDYXB0
dXJlRGV2aWNlPiYgY2FwdHVyZURldmljZXMoKSBmaW5hbDsKIAogICAgIHN0YXRpYyBBVkNhcHR1
cmVEZXZpY2VNYW5hZ2VyJiBzaW5nbGV0b24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFn
ZXIubW0KaW5kZXggZmQ3NTllYWE4ZGVlOGVhNzIwM2YyMDZmZTNkM2FhM2EzNzM3NmM1NC4uMTRj
OTU1M2ZkMjdmNmNjOTZmMjQyMjAyMzVmNTZiODZlNzk4ZjEwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVy
ZURldmljZU1hbmFnZXIubW0KQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pICYmIFVTRShBVkZPVU5EQVRJT04pCiAKLSNpbXBvcnQgIkFWQXVkaW9DYXB0dXJlU291
cmNlLmgiCiAjaW1wb3J0ICJBVk1lZGlhQ2FwdHVyZVNvdXJjZS5oIgogI2ltcG9ydCAiQVZWaWRl
b0NhcHR1cmVTb3VyY2UuaCIKICNpbXBvcnQgIkF1ZGlvU291cmNlUHJvdmlkZXIuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcAppbmRleCBkN2Q3Mzg5YWRk
YzI0YWVlYjdkNWQwNjhhN2QyMjVkYTU4ZDQyMjJhLi4wM2ZlYmIyZDBlMzQzZDA1NzhmMTMwYjZj
YTZmNzljZjE3ZjVlOWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJNYWMuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICNp
bmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgiCiAKLSNpbmNsdWRlICJBVkF1
ZGlvQ2FwdHVyZVNvdXJjZS5oIgogI2luY2x1ZGUgIkFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmlj
ZU1hbmFnZXIuaCIKICNpbmNsdWRlICJBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgiCiAjaW5jbHVk
ZSAiQVZWaWRlb0NhcHR1cmVTb3VyY2UuaCIKQEAgLTQ1LDExICs0NCw2IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpzZXRVc2VB
VkZvdW5kYXRpb25BdWRpb0NhcHR1cmUoYm9vbCBlbmFibGVkKQotewotICAgIG1fdXNlQVZGb3Vu
ZGF0aW9uQXVkaW9DYXB0dXJlID0gZW5hYmxlZDsKLX0KLQogUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlck1hYyYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6c2luZ2xldG9uKCkKIHsKICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwpAQCAtNzcsNyArNzEsNyBAQCBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyTWFjOjp+UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYygpCiAKIFJlYWx0
aW1lTWVkaWFTb3VyY2U6OkF1ZGlvQ2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWM6OmRlZmF1bHRBdWRpb0ZhY3RvcnkoKQogewotICAgIHJldHVybiBtX3VzZUFWRm91
bmRhdGlvbkF1ZGlvQ2FwdHVyZSA/IEFWQXVkaW9DYXB0dXJlU291cmNlOjpmYWN0b3J5KCkgOiBD
b3JlQXVkaW9DYXB0dXJlU291cmNlOjpmYWN0b3J5KCk7CisgICAgcmV0dXJuIENvcmVBdWRpb0Nh
cHR1cmVTb3VyY2U6OmZhY3RvcnkoKTsKIH0KIAogUmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW9D
YXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6ZGVmYXVsdFZpZGVv
RmFjdG9yeSgpCkBAIC04Nyw4ICs4MSw2IEBAIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVvQ2Fw
dHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmRlZmF1bHRWCiAKIENh
cHR1cmVEZXZpY2VNYW5hZ2VyJiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpkZWZhdWx0
QXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpCiB7Ci0gICAgaWYgKG1fdXNlQVZGb3VuZGF0aW9u
QXVkaW9DYXB0dXJlKQotICAgICAgICByZXR1cm4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2lu
Z2xldG9uKCk7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHJldHVybiBDb3JlQXVkaW9DYXB0dXJl
RGV2aWNlTWFuYWdlcjo6c2luZ2xldG9uKCk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJN
YWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyTWFjLmgKaW5kZXggODViYmZlNDQ1ZTE0ZjA2MmYwYTlmNTFlZWE2MzQy
N2Q5ZjY1ODQ1OC4uYTUxZDBlNGE5YmJhMWRhYWU1Mjc2MGVhY2NkMDMxOTBmYWNjYzkwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCkBAIC00NCw3ICs0NCw2
IEBAIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMgZmluYWwgOiBwdWJsaWMgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlciB7CiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMmIHNpbmdsZXRvbigpOwogCi0gICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBzZXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUoYm9vbCBlbmFi
bGVkKTsKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVzdHJveWVkPFJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWM+OwogICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMo
KTsKQEAgLTU1LDggKzU0LDYgQEAgcHJpdmF0ZToKIAogICAgIENhcHR1cmVEZXZpY2VNYW5hZ2Vy
JiBkZWZhdWx0QXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpIGZpbmFsOwogICAgIENhcHR1cmVE
ZXZpY2VNYW5hZ2VyJiBkZWZhdWx0VmlkZW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpIGZpbmFsOwot
Ci0gICAgYm9vbCBtX3VzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZSB7IGZhbHNlIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA3ZDZkZTFmMzUzNmIyY2JjN2Fm
MjNjYWRiZWYyNTUxZjlmMmZjYTQ4Li5kOWIyN2NhMWFmMjc3ZDc4NTg5MzllZjNlZmJhNmM3ODYz
MDU3MzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKQEAgLTIyOCw3ICsyMjgsNiBAQAogI2RlZmluZSBXZWJLaXRFbmFi
bGVJbmhlcml0VVJJUXVlcnlDb21wb25lbnRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RW5hYmxlSW5o
ZXJpdFVSSVF1ZXJ5Q29tcG9uZW50IgogI2RlZmluZSBXZWJLaXRNZWRpYURhdGFMb2Fkc0F1dG9t
YXRpY2FsbHlQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5
IgogI2RlZmluZSBXZWJLaXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQiCi0jZGVmaW5lIFdlYktpdFVzZUFWRm91
bmRhdGlvbkF1ZGlvQ2FwdHVyZVByZWZlcmVuY2VLZXkgQCJXZWJLaXRVc2VBVkZvdW5kYXRpb25B
dWRpb0NhcHR1cmVFbmFibGVkIgogI2RlZmluZSBXZWJLaXRFbnVtZXJhdGluZ0FsbE5ldHdvcmtJ
bnRlcmZhY2VzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRFbnVtZXJhdGluZ0FsbE5ldHdv
cmtJbnRlcmZhY2VzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SUNFQ2FuZGlkYXRlRmlsdGVyaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRJQ0VDYW5kaWRhdGVGaWx0ZXJpbmdFbmFibGVk
IgogI2RlZmluZSBXZWJLaXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb25QcmVm
ZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggZjhjNTdj
ODEyMmJkYzE2ZDFkYzllNjFhZGIyY2IzOWQzMzRmMGI1MS4uYjgzODVmZTBkNGE2YWQxMzMzZTRj
NjU1Zjc0ZmE5NDJjNjdlMTA1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tCkBAIC02MTksNyArNjE5LDYgQEAgKyAodm9pZClpbml0aWFsaXplCiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5P
XSwgV2ViS2l0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAg
IFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCBXZWJLaXRNZWRpYUNhcHR1cmVSZXF1aXJl
c1NlY3VyZUNvbm5lY3Rpb25QcmVmZXJlbmNlS2V5LAotICAgICAgICBbTlNOdW1iZXIgbnVtYmVy
V2l0aEJvb2w6Tk9dLCBXZWJLaXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmVQcmVmZXJlbmNl
S2V5LAogI2VuZGlmCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCBXZWJL
aXRTaGFkb3dET01FbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJl
cldpdGhCb29sOllFU10sIFdlYktpdEN1c3RvbUVsZW1lbnRzRW5hYmxlZFByZWZlcmVuY2VLZXks
CkBAIC0yODgzLDE2ICsyODgyLDYgQEAgLSAodm9pZClzZXRNb2NrQ2FwdHVyZURldmljZXNFbmFi
bGVkOihCT09MKWZsYWcKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktp
dE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAoQk9PTCl1
c2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUKLXsKLSAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1
ZUZvcktleTpXZWJLaXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmVQcmVmZXJlbmNlS2V5XTsK
LX0KLQotLSAodm9pZClzZXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmU6KEJPT0wpZmxhZwot
ewotICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0VXNlQVZGb3VuZGF0
aW9uQXVkaW9DYXB0dXJlUHJlZmVyZW5jZUtleV07Ci19Ci0KIC0gKEJPT0wpZW51bWVyYXRpbmdB
bGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1
ZUZvcktleTpXZWJLaXRFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5hYmxlZFByZWZl
cmVuY2VLZXldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmgKaW5kZXggODIzZmMzNmUwNTBhYmM0ZDEwN2QwZTVhZmFmZWM5OTg5ZGY2MWMy
MC4uZjEwZmIwMGZkNjBjMzE2NjczMTUwMDFlZjBkMDkwODg3ZDUzYTdkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC01MTQs
OSArNTE0LDYgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFu
Z2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtICh2b2lkKXNldE1lZGlhQ2FwdHVyZVJlcXVpcmVz
U2VjdXJlQ29ubmVjdGlvbjooQk9PTClmbGFnOwogLSAoQk9PTCltZWRpYUNhcHR1cmVSZXF1aXJl
c1NlY3VyZUNvbm5lY3Rpb247CiAKLS0gKHZvaWQpc2V0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0
dXJlOihCT09MKWZsYWc7Ci0tIChCT09MKXVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZTsKLQog
LSAodm9pZClzZXRTaGFkb3dET01FbmFibGVkOihCT09MKWZsYWc7CiAtIChCT09MKXNoYWRvd0RP
TUVuYWJsZWQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA3YzFlMDU3
YzM3ZTNlMWM3YWYwZWU0N2I0NWU1NmY4ZmNmNTZiNmNjLi5hMTIwODUyYmQ5OGZlMWNmZTY1MmU0
NGNhNTlhMTRlNDFjY2EyMDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBA
IC0yOTc4LDcgKzI5NzgsNiBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZl
cmVuY2VzICopcHJlZmVyZW5jZXMKICAgICBzZXR0aW5ncy5zZXRNb2NrQ2FwdHVyZURldmljZXNF
bmFibGVkKFtwcmVmZXJlbmNlcyBtb2NrQ2FwdHVyZURldmljZXNFbmFibGVkXSk7CiAgICAgc2V0
dGluZ3Muc2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKFtwcmVmZXJlbmNl
cyBtZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb25dKTsKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1lZGlhU3RyZWFtRW5hYmxlZChbcHJl
ZmVyZW5jZXMgbWVkaWFTdHJlYW1FbmFibGVkXSk7Ci0gICAgc2V0dGluZ3Muc2V0VXNlQVZGb3Vu
ZGF0aW9uQXVkaW9DYXB0dXJlKFtwcmVmZXJlbmNlcyB1c2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1
cmVdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldE1l
ZGlhRGV2aWNlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIG1lZGlhRGV2aWNlc0VuYWJsZWRdKTsKICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaAppbmRleCA2ZDg3NmU3ZDIyODcwMzI5OTRhMDU2Y2Q4MjY4ZDk5MjQ1MzBjODY0Li5l
YjdmY2IxNjMzZmE5MDU4NTVlZDFhNzcwODNiOWIwZjlhOGY1Y2ZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTI0OSw3ICsy
NDksNiBAQAogICAgIG1hY3JvKEhUVFBFcXVpdkVuYWJsZWQsIGh0dHBFcXVpdkVuYWJsZWQsIEJv
b2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAogICAgIG1hY3JvKE1vY2tDYXB0dXJlRGV2aWNlc0Vu
YWJsZWQsIG1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwg
IiIpIFwKICAgICBtYWNybyhNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24sIG1l
ZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbiwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIs
ICIiKSBcCi0gICAgbWFjcm8oVXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlLCB1c2VBVkZvdW5k
YXRpb25BdWRpb0NhcHR1cmUsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKICAgICBtYWNy
byhFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5hYmxlZCwgZW51bWVyYXRpbmdBbGxO
ZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKICAg
ICBtYWNybyhXZWJSVENMZWdhY3lBUElFbmFibGVkLCB3ZWJSVENMZWdhY3lBUElFbmFibGVkLCBC
b29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKICAgICBtYWNybyhJQ0VDYW5kaWRhdGVGaWx0ZXJp
bmdFbmFibGVkLCBpY2VDYW5kaWRhdGVGaWx0ZXJpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVl
LCAiIiwgIiIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmNwcAppbmRleCBlYWQ3NmJhODQ2MWQ2ZDQyNDEzZGFjOGRhNWI4ZWFjMWY4ZGE1NjEy
Li42NjAxMWQ1ZGUxZDI4ZGU3NTdlYWM5YTIwNzI4MjZiMDU1OGJiYzgwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0xNjExLDE2
ICsxNjExLDYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1
cmVDb25uZWN0aW9uKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmUKICAgICByZXR1cm4gdG9JbXBsKHBy
ZWZlcmVuY2VzUmVmKS0+bWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKCk7CiB9
CiAKLXZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZShXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCi17Ci0gICAgdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c2V0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKGVuYWJsZWQp
OwotfQotCi1ib29sIFdLUHJlZmVyZW5jZXNHZXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKLXsKLSAgICByZXR1cm4gdG9JbXBsKHBy
ZWZlcmVuY2VzUmVmKS0+dXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKCk7Ci19Ci0KIHZvaWQg
V0tQcmVmZXJlbmNlc1NldEZldGNoQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0RmV0
Y2hBUElFbmFibGVkKGZsYWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAppbmRleCBjZDIzMmI5NjM1N2RlOWEx
MWI2YjE3MDM4ODA2ZWE4ZTE2N2JiZTJkLi4wYjBjOGY3NjQ5M2Q3NmM4YWQ4YzZlZjc3NWU5ZGM2
ODRlY2EyM2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtNDMzLDEwICs0MzMsNiBAQCBXS19FWFBP
UlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0RW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0Vu
YWJsZWQoV0tQcmVmZXJlbgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE1lZGlhQ2Fw
dHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbihXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKIFdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNv
bm5lY3Rpb24oV0tQcmVmZXJlbmNlc1JlZik7CiAKLS8vIERlZmF1bHRzIHRvIGZhbHNlLgotV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZShX
S1ByZWZlcmVuY2VzUmVmLCBib29sKTsKLVdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRV
c2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUoV0tQcmVmZXJlbmNlc1JlZik7Ci0gICAgCiAvLyBE
ZWZhdWx0cyB0byBmYWxzZQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJ
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldEZldGNoQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCmluZGV4IGM2MWFkMWQzM2Q3ZWZkN2VjODk4ZjIz
ZDM4MTdlYzIxY2RiODUzODkuLjU1YzEwZDE1YmY0MjYxMGI0ZjQ5ZjRiZTg3M2E0OGEwNGQ2MDFk
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcApAQCAtMzgyLDExICsz
ODIsNiBAQCB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpzeW5j
V2l0aFdlYkNvcmVQcmVmcygpIGNvbnN0CiAgICAgLy8gdGhpcyBpcyBhIG5vb3AgaWYgdGhlIHBy
ZWZlcmVuY2UgaGFzbid0IGNoYW5nZWQgc2luY2UgdGhlIGxhc3QgdGltZSB0aGlzIHdhcyBjYWxs
ZWQuCiAgICAgYm9vbCBtb2NrRGV2aWNlc0VuYWJsZWQgPSBtX3BhZ2UucHJlZmVyZW5jZXMoKS5t
b2NrQ2FwdHVyZURldmljZXNFbmFibGVkKCk7CiAgICAgV2ViQ29yZTo6TW9ja1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXI6OnNldE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyRW5hYmxlZCht
b2NrRGV2aWNlc0VuYWJsZWQpOwotCi0jaWYgVVNFKEFWRk9VTkRBVElPTikKLSAgICBib29sIHVz
ZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZSA9IG1fcGFnZS5wcmVmZXJlbmNlcygpLnVzZUFWRm91
bmRhdGlvbkF1ZGlvQ2FwdHVyZSgpOwotICAgIFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWM6OnNpbmdsZXRvbigpLnNldFVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZSh1c2VB
VkZvdW5kYXRpb25BdWRpb0NhcHR1cmUpOwotI2VuZGlmCiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDU1OWZlY2VkNTVh
OWMwY2M4YzljNTE5NjNkZGJhODdjNjdlZjczMTAuLmI3NjdjYmU4MjNkYzQzN2M5NTY3NTNkZGI0
ZWYwYTVkNTM4NDM5OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTMyNjEsNyArMzI2MSw2IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKICAgICBzZXR0aW5ncy5zZXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bW9ja0NhcHR1cmVEZXZp
Y2VzRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNT
ZWN1cmVDb25uZWN0aW9uKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6bWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uS2V5KCkpKTsKLSAgICBzZXR0
aW5ncy5zZXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp1c2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmVLZXkoKSkp
OwogI2VuZGlmCiAKICAgICBzZXR0aW5ncy5zZXRTaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9u
Q29weShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnNob3VsZENv
bnZlcnRQb3NpdGlvblN0eWxlT25Db3B5S2V5KCkpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310923</attachid>
            <date>2017-05-22 14:41:47 -0700</date>
            <delta_ts>2017-05-23 16:09:59 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-172360-20170522144146.patch</filename>
            <type>text/plain</type>
            <size>35984</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTMyNDc5ODc5OWE5OWU3
OTA1ZWVjZTRkNjhlMzdjMmUzZjVkY2JiNy4uYzM4MDEyMjNmNjJiZGIxZGYyOWIyNTdhZjM4MTVj
YzFlNmE2N2ViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE3LTA1LTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgQVZBdWRpb0Nh
cHR1cmVTb3VyY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3MjM2MAorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAg
Tm8gY2hhbmdlIG9mIGJlaGF2aW9yLCB0aGlzIGNsYXNzIGlzIG5vIGxvbmdlciB1c2VkIGJ5IGRl
ZmF1bHQgYXMgaXQgZG9lcyBub3Qgc3VwcG9ydCBlY2hvIGNhbmNlbGxhdGlvbi4KKworICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRNZWRpYUNhcHR1cmVS
ZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnVz
ZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6c2V0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0FWQXVkaW9DYXB0dXJlU291cmNlLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0FWQXVkaW9DYXB0dXJlU291cmNlLm1tOiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmg6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIubW06
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck1hYzo6ZGVmYXVsdEF1ZGlvRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyTWFjOjpkZWZhdWx0QXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpzZXRVc2VBVkZv
dW5kYXRpb25BdWRpb0NhcHR1cmUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmg6CisKIDIwMTctMDUtMjEg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIG1hdGNoTWVkaWEo
J3ByaW50JykuYWRkTGlzdGVuZXIoKSBmaXJlcyBpbiBXSzEgYnV0IG5ldmVyIGluIFdLMiB3aGVu
IHByaW50aW5nIChicmVha3MgcHJpbnRpbmcgR29vZ2xlIG1hcHMsIFF1aWNrTG9va3MpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggMzQxNzQwZDA5NTc5NTY3Yzg5ZDAyZjBjNDJiMWVmZWJlZjY5YmEzZi4u
MzRlOWUyNWE2YWQwMmI5Nzg4YWQyYjQwNTNlYmNlODhhN2IwYmYxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTA1LTIyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgQVZBdWRpb0NhcHR1cmVTb3VyY2UKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjM2MAorCisgICAgICAg
IFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAgUmVtb3ZpbmcgdGhlIGhhbmRsaW5n
IG9mIEFWQXVkaW8vQ29yZUF1ZGlvIGNhcHR1cmUgc291cmNlIGR5bmFtaWMgc3dpdGNoLgorCisg
ICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0
aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHVzZUFWRm91bmRhdGlvbkF1ZGlv
Q2FwdHVyZV0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRVc2VBVkZv
dW5kYXRpb25BdWRpb0NhcHR1cmU6XSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAg
ICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxNy0wNS0xOCAgU2Ft
IFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtXZWJJRExdIFJlbW92ZSB0aGUg
bmVlZCBmb3IgdGhlIGdlbmVyYXRvciB0byBrbm93IGFib3V0IG5hdGl2ZSB0eXBlIG1hcHBpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBmNTliOGU0MjRlOGI1MDM5YTUxZWM5NzUxNjU4YTgwYjhjYjllYTA3Li5l
NWVmNjFjZmVlOTdkYzU3NzUyOTBmOGZmMjkwMjJkOWM0NjQwNDgxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMTctMDUtMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBBVkF1ZGlvQ2FwdHVyZVNvdXJjZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMzYwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAgICBSZW1vdmluZyB0aGUgaGFuZGxpbmcgb2YgQVZB
dWRpby9Db3JlQXVkaW8gY2FwdHVyZSBzb3VyY2UgZHluYW1pYyBzd2l0Y2guCisKKyAgICAgICAg
KiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRVc2VB
VkZvdW5kYXRpb25BdWRpb0NhcHR1cmUpOiBEZWxldGVkLgorICAgICAgICAoV0tQcmVmZXJlbmNl
c0dldFVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN5bmNXaXRo
V2ViQ29yZVByZWZzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKwogMjAxNy0w
NS0yMCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgLVdyZXR1cm4tdHlwZSB3YXJuaW5nIHRyaWdnZXJlZCBieSBXS05vdGlmaWNhdGlvbi5jcHA6
NzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBiYzI1YjY4YTViYWYwMzgyNzA5MTA5NmEyMWViNDBlNjY3NzYyYjBlLi43Y2I4NGQ5
OWUxNTVkMjg1MzQwMWMzZTQyMGQxNDcwZjljYjU0MDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03MSw4ICs3MSw2IEBACiAJ
CTA3MDMzNEQ3MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDMzNEQ2MTQ1OUZGRDUwMDhEOEQ0NSAv
KiBUcmFja0Jhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkwNzAzMzREOTE0NUEwMDZGMDA4RDhENDUgLyogVHJhY2tCYXNlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDMzNEQ4MTQ1QTAwNkYw
MDhEOEQ0NSAvKiBUcmFja0Jhc2UuY3BwICovOyB9OwogCQkwNzAzMzRFOTE0NUExRjM2MDA4RDhE
NDUgLyogSlNUcmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwNzAzMzRFODE0NUExRjM1MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5j
cHAgKi87IH07Ci0JCTA3MDM2M0UwMTgxQTFDREMwMEMwNzRBNSAvKiBBVkF1ZGlvQ2FwdHVyZVNv
dXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcw
MzYzRDgxODFBMUNEQzAwQzA3NEE1IC8qIEFWQXVkaW9DYXB0dXJlU291cmNlLmggKi87IH07Ci0J
CTA3MDM2M0UxMTgxQTFDREMwMEMwNzRBNSAvKiBBVkF1ZGlvQ2FwdHVyZVNvdXJjZS5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDM2M0Q5MTgxQTFD
REMwMEMwNzRBNSAvKiBBVkF1ZGlvQ2FwdHVyZVNvdXJjZS5tbSAqLzsgfTsKIAkJMDcwMzYzRTIx
ODFBMUNEQzAwQzA3NEE1IC8qIEFWQ2FwdHVyZURldmljZU1hbmFnZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDM2M0RBMTgxQTFDREMwMEMwNzRB
NSAvKiBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDcwMzYzRTMxODFBMUNEQzAwQzA3NEE1IC8qIEFWQ2Fw
dHVyZURldmljZU1hbmFnZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzAzNjNEQjE4MUExQ0RDMDBDMDc0QTUgLyogQVZDYXB0dXJlRGV2aWNlTWFu
YWdlci5tbSAqLzsgfTsKIAkJMDcwMzYzRTQxODFBMUNEQzAwQzA3NEE1IC8qIEFWTWVkaWFDYXB0
dXJlU291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzAzNjNEQzE4MUExQ0RDMDBDMDc0QTUgLyogQVZNZWRpYUNhcHR1cmVTb3VyY2UuaCAqLzsg
fTsKQEAgLTc0MTMsOCArNzQxMSw2IEBACiAJCTA3MDMzNEQ2MTQ1OUZGRDUwMDhEOEQ0NSAvKiBU
cmFja0Jhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhY2tCYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3MDMzNEQ4MTQ1QTAwNkYwMDhEOEQ0NSAv
KiBUcmFja0Jhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJh
Y2tCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcwMzM0RTgxNDVBMUYz
NTAwOEQ4RDQ1IC8qIEpTVHJhY2tDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNUcmFja0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTA3MDM2M0Q4MTgxQTFDREMwMEMwNzRBNSAvKiBBVkF1ZGlvQ2FwdHVyZVNvdXJjZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVkF1ZGlvQ2FwdHVyZVNvdXJjZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwNzAzNjNEOTE4MUExQ0RDMDBDMDc0QTUgLyog
QVZBdWRpb0NhcHR1cmVTb3VyY2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBBVkF1ZGlvQ2FwdHVyZVNvdXJjZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMDcwMzYzREExODFBMUNEQzAwQzA3NEE1IC8qIEFWQ2FwdHVyZURldmljZU1hbmFnZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzAzNjNEQjE4MUExQ0RDMDBDMDc0
QTUgLyogQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEFWQ2FwdHVyZURldmljZU1hbmFnZXIubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTA3MDM2M0RDMTgxQTFDREMwMEMwNzRBNSAvKiBBVk1lZGlhQ2FwdHVy
ZVNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVk1lZGlhQ2FwdHVy
ZVNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYxODksOCArMTYxODUs
NiBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMDc2RUMxMzIxRTQ0RjJDQjAwRTVEODEzIC8qIEF1
ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5jcHAgKi8sCiAJCQkJMDdDMDQ2QzYxRTQy
NTEyRjAwNzIwMUU3IC8qIEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5oICovLAot
CQkJCTA3MDM2M0Q4MTgxQTFDREMwMEMwNzRBNSAvKiBBVkF1ZGlvQ2FwdHVyZVNvdXJjZS5oICov
LAotCQkJCTA3MDM2M0Q5MTgxQTFDREMwMEMwNzRBNSAvKiBBVkF1ZGlvQ2FwdHVyZVNvdXJjZS5t
bSAqLywKIAkJCQkwNzAzNjNEQTE4MUExQ0RDMDBDMDc0QTUgLyogQVZDYXB0dXJlRGV2aWNlTWFu
YWdlci5oICovLAogCQkJCTA3MDM2M0RCMTgxQTFDREMwMEMwNzRBNSAvKiBBVkNhcHR1cmVEZXZp
Y2VNYW5hZ2VyLm1tICovLAogCQkJCTA3MDM2M0RDMTgxQTFDREMwMEMwNzRBNSAvKiBBVk1lZGlh
Q2FwdHVyZVNvdXJjZS5oICovLApAQCAtMjY0OTIsNyArMjY0ODYsNiBAQAogCQkJCUM5RDQ2NzA1
MUU2MEM0NjUwMDgxOTVGQiAvKiBBdXRvcGxheUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0
NTgzMEQ0RTE2NzlCNEY4MDBBQ0Y4QzMgLyogQXV0b3Njcm9sbENvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4Q0ZGMDRFMEExNTRGMDkwMDBBNDIzNCAvKiBBdXRvVGFibGVMYXlvdXQu
aCBpbiBIZWFkZXJzICovLAotCQkJCTA3MDM2M0UwMTgxQTFDREMwMEMwNzRBNSAvKiBBVkF1ZGlv
Q2FwdHVyZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwMzYzRTIxODFBMUNEQzAwQzA3
NEE1IC8qIEFWQ2FwdHVyZURldmljZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3RjBC
OTdDMUFDNURCNDYwMEU1MzVEOSAvKiBBVkZvdW5kYXRpb25TUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTA3RjBCOTdBMUFDNURCMzMwMEU1MzVEOSAvKiBBVktpdFNQSS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zMDU5NSw3ICszMDU4OCw2IEBACiAJCQkJN0MxRTk3MjcxQTlGOTgzNDAwN0JGMEZCIC8q
IEF1dG9GaWxsQnV0dG9uRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NTgzMEQ0RDE2
NzlCNEY4MDBBQ0Y4QzMgLyogQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQThDRkYwNTAwQTE1NEYwOTAwMEE0MjM0IC8qIEF1dG9UYWJsZUxheW91dC5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQkwNzAzNjNFMTE4MUExQ0RDMDBDMDc0QTUgLyogQVZBdWRpb0NhcHR1
cmVTb3VyY2UubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzAzNjNFMzE4MUExQ0RDMDBDMDc0QTUg
LyogQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTA3MTk0MjdG
MUQwODhGMjEwMDJBQTUxRCAvKiBBVkZvdW5kYXRpb25NSU1FVHlwZUNhY2hlLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMDcwMzYzRTUxODFBMUNEQzAwQzA3NEE1IC8qIEFWTWVkaWFDYXB0dXJlU291
cmNlLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDBlYWY1
MjZlYjk5ZTYwYWNhN2FhOWViYjc1OWZmMDQxNTY5ZmJhYTcuLjNiNDEzNDRiZWRmNGM5ZWE4ZmFl
N2RlZDA2OTliMzc0M2U4NzlmZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC05OCw3
ICs5OCw2IEBAIGJvb2wgU2V0dGluZ3M6OmdNb2NrU2Nyb2xsQW5pbWF0b3JFbmFibGVkID0gZmFs
c2U7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIGJvb2wgU2V0dGluZ3M6OmdNb2NrQ2FwdHVy
ZURldmljZXNFbmFibGVkID0gZmFsc2U7CiBib29sIFNldHRpbmdzOjpnTWVkaWFDYXB0dXJlUmVx
dWlyZXNTZWN1cmVDb25uZWN0aW9uID0gdHJ1ZTsKLWJvb2wgU2V0dGluZ3M6OmdVc2VBVkZvdW5k
YXRpb25BdWRpb0NhcHR1cmUgPSBmYWxzZTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0lOKQpA
QCAtNjIwLDE5ICs2MTksNiBAQCB2b2lkIFNldHRpbmdzOjpzZXRNZWRpYUNhcHR1cmVSZXF1aXJl
c1NlY3VyZUNvbm5lY3Rpb24oYm9vbCBtZWRpYUNhcHR1cmVSZXF1aXJlcwogewogICAgIGdNZWRp
YUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24gPSBtZWRpYUNhcHR1cmVSZXF1aXJlc1Nl
Y3VyZUNvbm5lY3Rpb247CiB9Ci0KLWJvb2wgU2V0dGluZ3M6OnVzZUFWRm91bmRhdGlvbkF1ZGlv
Q2FwdHVyZSgpCi17Ci0gICAgcmV0dXJuIGdVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmU7Ci19
Ci0KLXZvaWQgU2V0dGluZ3M6OnNldFVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZShib29sIHVz
ZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZSkKLXsKLSAgICBnVXNlQVZGb3VuZGF0aW9uQXVkaW9D
YXB0dXJlID0gdXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlOwotI2lmIFVTRShBVkZPVU5EQVRJ
T04pCi0gICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6c2luZ2xldG9uKCkuc2V0VXNl
QVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKHVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZSk7Ci0j
ZW5kaWYKLX0KICNlbmRpZgogCiB2b2lkIFNldHRpbmdzOjpzZXRTY3JvbGxpbmdQZXJmb3JtYW5j
ZUxvZ2dpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCA1
OTQ4ZGJlMTkzMmEwZTNkMjJjZmRlMmI2ZWYxOTU5YjA0MDU5MzAyLi5kMTk2ZGMyYzk2NzNmNTdk
YjBkZWQ5ZTM2MDUxOWQxNjhhYWI5YWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0zMTAs
OSArMzEwLDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBtZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3Vy
ZUNvbm5lY3Rpb24oKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRN
ZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24oYm9vbCk7Ci0KLSAgICBzdGF0aWMg
Ym9vbCB1c2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUoKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgdm9pZCBzZXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUoYm9vbCk7CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCkBAIC00MTgsNyArNDE1LDYgQEAgcHJpdmF0ZToKICAg
ICBTdHJpbmcgbV9tZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5OwogICAgIHN0
YXRpYyBib29sIGdNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkOwogICAgIHN0YXRpYyBib29sIGdN
ZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb247Ci0gICAgc3RhdGljIGJvb2wgZ1Vz
ZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEFQUExFX1BB
WSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9B
VkF1ZGlvQ2FwdHVyZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0FWQXVkaW9DYXB0dXJlU291cmNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDc5ODhjMWUyOWE0M2Y1NTg0YjRiYjVkMDc2Y2Y5ZDEwYTJjYzRjYTYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0FWQXVkaW9DYXB0dXJlU291cmNlLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw3NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaWZuZGVmIEFWQXVkaW9DYXB0dXJlU291cmNlX2gKLSNkZWZpbmUgQVZBdWRp
b0NhcHR1cmVTb3VyY2VfaAotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNFKEFWRk9V
TkRBVElPTikKLQotI2luY2x1ZGUgIkFWTWVkaWFDYXB0dXJlU291cmNlLmgiCi0jaW5jbHVkZSAi
Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL0xvY2suaD4KLQotdHlw
ZWRlZiBzdHJ1Y3QgQXVkaW9CdWZmZXJMaXN0IEF1ZGlvQnVmZmVyTGlzdDsKLXR5cGVkZWYgc3Ry
dWN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRp
b247Ci10eXBlZGVmIGNvbnN0IHN0cnVjdCBvcGFxdWVDTUZvcm1hdERlc2NyaXB0aW9uICpDTUZv
cm1hdERlc2NyaXB0aW9uUmVmOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdlYkF1
ZGlvQnVmZmVyTGlzdDsKLWNsYXNzIFdlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDOwotCi1j
bGFzcyBBVkF1ZGlvQ2FwdHVyZVNvdXJjZSA6IHB1YmxpYyBBVk1lZGlhQ2FwdHVyZVNvdXJjZSB7
Ci1wdWJsaWM6Ci0KLSAgICBzdGF0aWMgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgY3JlYXRlKEFWQ2Fw
dHVyZURldmljZSosIGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMq
KTsKLQotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBBdWRpb0NhcHR1cmVGYWN0b3J5JiBmYWN0
b3J5KCk7Ci0KLXByaXZhdGU6Ci0gICAgQVZBdWRpb0NhcHR1cmVTb3VyY2UoQVZDYXB0dXJlRGV2
aWNlKiwgY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgdmlydHVhbCB+QVZBdWRpb0NhcHR1cmVT
b3VyY2UoKTsKLQotICAgIHZvaWQgaW5pdGlhbGl6ZUNhcGFiaWxpdGllcyhSZWFsdGltZU1lZGlh
U291cmNlQ2FwYWJpbGl0aWVzJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBpbml0aWFsaXplU3VwcG9y
dGVkQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzJikg
b3ZlcnJpZGU7Ci0KLSAgICB2b2lkIGNhcHR1cmVPdXRwdXREaWRPdXRwdXRTYW1wbGVCdWZmZXJG
cm9tQ29ubmVjdGlvbihBVkNhcHR1cmVPdXRwdXQqLCBDTVNhbXBsZUJ1ZmZlclJlZiwgQVZDYXB0
dXJlQ29ubmVjdGlvbiopIG92ZXJyaWRlOwotICAgIAotICAgIHZvaWQgc2V0dXBDYXB0dXJlU2Vz
c2lvbigpIG92ZXJyaWRlOwotICAgIHZvaWQgc2h1dGRvd25DYXB0dXJlU2Vzc2lvbigpIG92ZXJy
aWRlOwotICAgIHZvaWQgdXBkYXRlU2V0dGluZ3MoUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdz
Jikgb3ZlcnJpZGU7Ci0gICAgQXVkaW9Tb3VyY2VQcm92aWRlciogYXVkaW9Tb3VyY2VQcm92aWRl
cigpIG92ZXJyaWRlOwotCi0gICAgUmV0YWluUHRyPEFWQ2FwdHVyZUNvbm5lY3Rpb24+IG1fYXVk
aW9Db25uZWN0aW9uOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJBdWRpb0J1ZmZlckxpc3Q+IG1f
bGlzdDsKLQotICAgIFJlZlB0cjxXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQz4gbV9hdWRp
b1NvdXJjZVByb3ZpZGVyOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxDQUF1ZGlvU3RyZWFtRGVzY3Jp
cHRpb24+IG1faW5wdXREZXNjcmlwdGlvbjsKLSAgICBMb2NrIG1fbG9jazsKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNl
bmRpZiAvLyBBVlZpZGVvQ2FwdHVyZVNvdXJjZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZBdWRpb0NhcHR1cmVTb3VyY2UubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZBdWRpb0NhcHR1cmVTb3VyY2Uu
bW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlYjI0ZmQ5MTY0ODNiMjdlZWE5NDMw
M2I3YWZhNjc3YzYxZjdjM2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQXVkaW9D
YXB0dXJlU291cmNlLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMjI1ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTMtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZp
Zy5oIgotI2ltcG9ydCAiQVZBdWRpb0NhcHR1cmVTb3VyY2UuaCIKLQotI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pICYmIFVTRShBVkZPVU5EQVRJT04pCi0KLSNpbXBvcnQgIkF1ZGlvU2FtcGxlQnVm
ZmVyTGlzdC5oIgotI2ltcG9ydCAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCi0jaW1wb3J0
ICJDYXB0dXJlRGV2aWNlLmgiCi0jaW1wb3J0ICJMb2dnaW5nLmgiCi0jaW1wb3J0ICJNZWRpYUNv
bnN0cmFpbnRzLmgiCi0jaW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKLSNpbXBvcnQgIlJl
YWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5ncy5oIgotI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKLSNp
bXBvcnQgIldlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLmgiCi0jaW1wb3J0IDxBVkZvdW5k
YXRpb24vQVZDYXB0dXJlSW5wdXQuaD4KLSNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkNhcHR1cmVP
dXRwdXQuaD4KLSNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkNhcHR1cmVTZXNzaW9uLmg+Ci0jaW1w
b3J0IDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4KLSNpbXBvcnQgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KLQotI2ltcG9ydCAiQ29yZU1lZGlhU29m
dExpbmsuaCIKLQotdHlwZWRlZiBBVkNhcHR1cmVBdWRpb0NoYW5uZWwgQVZDYXB0dXJlQXVkaW9D
aGFubmVsVHlwZTsKLXR5cGVkZWYgQVZDYXB0dXJlQXVkaW9EYXRhT3V0cHV0IEFWQ2FwdHVyZUF1
ZGlvRGF0YU91dHB1dFR5cGU7Ci10eXBlZGVmIEFWQ2FwdHVyZUNvbm5lY3Rpb24gQVZDYXB0dXJl
Q29ubmVjdGlvblR5cGU7Ci10eXBlZGVmIEFWQ2FwdHVyZURldmljZSBBVkNhcHR1cmVEZXZpY2VU
eXBlZGVmOwotdHlwZWRlZiBBVkNhcHR1cmVEZXZpY2VJbnB1dCBBVkNhcHR1cmVEZXZpY2VJbnB1
dFR5cGU7Ci10eXBlZGVmIEFWQ2FwdHVyZU91dHB1dCBBVkNhcHR1cmVPdXRwdXRUeXBlOwotCi1T
T0ZUX0xJTktfRlJBTUVXT1JLX09QVElPTkFMKEFWRm91bmRhdGlvbikKLQotU09GVF9MSU5LX0NM
QVNTKEFWRm91bmRhdGlvbiwgQVZDYXB0dXJlQXVkaW9DaGFubmVsKQotU09GVF9MSU5LX0NMQVNT
KEFWRm91bmRhdGlvbiwgQVZDYXB0dXJlQXVkaW9EYXRhT3V0cHV0KQotU09GVF9MSU5LX0NMQVNT
KEFWRm91bmRhdGlvbiwgQVZDYXB0dXJlQ29ubmVjdGlvbikKLVNPRlRfTElOS19DTEFTUyhBVkZv
dW5kYXRpb24sIEFWQ2FwdHVyZURldmljZSkKLVNPRlRfTElOS19DTEFTUyhBVkZvdW5kYXRpb24s
IEFWQ2FwdHVyZURldmljZUlucHV0KQotU09GVF9MSU5LX0NMQVNTKEFWRm91bmRhdGlvbiwgQVZD
YXB0dXJlT3V0cHV0KQotCi0jZGVmaW5lIEFWQ2FwdHVyZUF1ZGlvQ2hhbm5lbCBnZXRBVkNhcHR1
cmVBdWRpb0NoYW5uZWxDbGFzcygpCi0jZGVmaW5lIEFWQ2FwdHVyZUF1ZGlvRGF0YU91dHB1dCBn
ZXRBVkNhcHR1cmVBdWRpb0RhdGFPdXRwdXRDbGFzcygpCi0jZGVmaW5lIEFWQ2FwdHVyZUNvbm5l
Y3Rpb24gZ2V0QVZDYXB0dXJlQ29ubmVjdGlvbkNsYXNzKCkKLSNkZWZpbmUgQVZDYXB0dXJlRGV2
aWNlIGdldEFWQ2FwdHVyZURldmljZUNsYXNzKCkKLSNkZWZpbmUgQVZDYXB0dXJlRGV2aWNlRm9y
bWF0IGdldEFWQ2FwdHVyZURldmljZUZvcm1hdENsYXNzKCkKLSNkZWZpbmUgQVZDYXB0dXJlRGV2
aWNlSW5wdXQgZ2V0QVZDYXB0dXJlRGV2aWNlSW5wdXRDbGFzcygpCi0jZGVmaW5lIEFWQ2FwdHVy
ZU91dHB1dCBnZXRBVkNhcHR1cmVPdXRwdXRDbGFzcygpCi0jZGVmaW5lIEFWRnJhbWVSYXRlUmFu
Z2UgZ2V0QVZGcmFtZVJhdGVSYW5nZUNsYXNzKCkKLQotU09GVF9MSU5LX1BPSU5URVIoQVZGb3Vu
ZGF0aW9uLCBBVk1lZGlhVHlwZUF1ZGlvLCBOU1N0cmluZyAqKQotCi0jZGVmaW5lIEFWTWVkaWFU
eXBlQXVkaW8gZ2V0QVZNZWRpYVR5cGVBdWRpbygpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgQVZBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5IDogcHVibGljIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OkF1ZGlvQ2FwdHVyZUZhY3RvcnkKLSNpZiBQTEFURk9STShJT1MpCi0gICAgLCBwdWJs
aWMgUmVhbHRpbWVNZWRpYVNvdXJjZTo6U2luZ2xlU291cmNlRmFjdG9yeTxBVkF1ZGlvQ2FwdHVy
ZVNvdXJjZT4KLSNlbmRpZgotewotcHVibGljOgotICAgIENhcHR1cmVTb3VyY2VPckVycm9yIGNy
ZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBTdHJpbmcmIGRldmljZUlELCBjb25zdCBNZWRp
YUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykgZmluYWwgewotICAgICAgICBBVkNhcHR1cmVEZXZp
Y2VUeXBlZGVmICpkZXZpY2UgPSBbZ2V0QVZDYXB0dXJlRGV2aWNlQ2xhc3MoKSBkZXZpY2VXaXRo
VW5pcXVlSUQ6ZGV2aWNlSURdOwotICAgICAgICByZXR1cm4gZGV2aWNlID8gQVZBdWRpb0NhcHR1
cmVTb3VyY2U6OmNyZWF0ZShkZXZpY2UsIGVtcHR5U3RyaW5nKCksIGNvbnN0cmFpbnRzKSA6IENh
cHR1cmVTb3VyY2VPckVycm9yKCk7Ci0gICAgfQotfTsKLQotQ2FwdHVyZVNvdXJjZU9yRXJyb3Ig
QVZBdWRpb0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShBVkNhcHR1cmVEZXZpY2VUeXBlZGVmKiBkZXZp
Y2UsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGNvbnN0
cmFpbnRzKQotewotICAgIGF1dG8gc291cmNlID0gYWRvcHRSZWYoKm5ldyBBVkF1ZGlvQ2FwdHVy
ZVNvdXJjZShkZXZpY2UsIGlkKSk7Ci0gICAgaWYgKGNvbnN0cmFpbnRzKSB7Ci0gICAgICAgIGF1
dG8gcmVzdWx0ID0gc291cmNlLT5hcHBseUNvbnN0cmFpbnRzKCpjb25zdHJhaW50cyk7Ci0gICAg
ICAgIGlmIChyZXN1bHQpCi0gICAgICAgICAgICByZXR1cm4gU3RyaW5nKHJlc3VsdC52YWx1ZSgp
LmZpcnN0KTsKLSAgICB9Ci0KLSAgICByZXR1cm4gQ2FwdHVyZVNvdXJjZU9yRXJyb3IoV1RGTW92
ZShzb3VyY2UpKTsKLX0KLQotc3RhdGljIEFWQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeSYgYXZB
dWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5KCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
QVZBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5PiBmYWN0b3J5OwotICAgIHJldHVybiBmYWN0b3J5
LmdldCgpOwotfQotCi1SZWFsdGltZU1lZGlhU291cmNlOjpBdWRpb0NhcHR1cmVGYWN0b3J5JiBB
VkF1ZGlvQ2FwdHVyZVNvdXJjZTo6ZmFjdG9yeSgpCi17Ci0gICAgcmV0dXJuIGF2QXVkaW9DYXB0
dXJlU291cmNlRmFjdG9yeSgpOwotfQotCi1BVkF1ZGlvQ2FwdHVyZVNvdXJjZTo6QVZBdWRpb0Nh
cHR1cmVTb3VyY2UoQVZDYXB0dXJlRGV2aWNlVHlwZWRlZiogZGV2aWNlLCBjb25zdCBBdG9taWNT
dHJpbmcmIGlkKQotICAgIDogQVZNZWRpYUNhcHR1cmVTb3VyY2UoZGV2aWNlLCBpZCwgVHlwZTo6
QXVkaW8pCi17Ci19Ci0KLUFWQXVkaW9DYXB0dXJlU291cmNlOjp+QVZBdWRpb0NhcHR1cmVTb3Vy
Y2UoKQotewotI2lmIFBMQVRGT1JNKElPUykKLSAgICBhdkF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rv
cnkoKS51bnNldEFjdGl2ZVNvdXJjZSgqdGhpcyk7Ci0jZW5kaWYKLSAgICBzaHV0ZG93bkNhcHR1
cmVTZXNzaW9uKCk7Ci19Ci0KLXZvaWQgQVZBdWRpb0NhcHR1cmVTb3VyY2U6OmluaXRpYWxpemVD
YXBhYmlsaXRpZXMoUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcyYgY2FwYWJpbGl0aWVz
KQotewotICAgIC8vIEZJWE1FOiBmaW5pc2ggdGhpcyBpbXBsZW1lbnRhdGlvbiAtIGh0dHBzOi8v
d2Via2l0Lm9yZy9iLzEyMjQzMAotICAgIGNhcGFiaWxpdGllcy5zZXRWb2x1bWUoQ2FwYWJpbGl0
eVZhbHVlT3JSYW5nZSgwLjAsIDEuMCkpOwotfQotCi12b2lkIEFWQXVkaW9DYXB0dXJlU291cmNl
Ojppbml0aWFsaXplU3VwcG9ydGVkQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBv
cnRlZENvbnN0cmFpbnRzJiBzdXBwb3J0ZWRDb25zdHJhaW50cykKLXsKLSAgICBzdXBwb3J0ZWRD
b25zdHJhaW50cy5zZXRTdXBwb3J0c1ZvbHVtZSh0cnVlKTsKLX0KLQotdm9pZCBBVkF1ZGlvQ2Fw
dHVyZVNvdXJjZTo6dXBkYXRlU2V0dGluZ3MoUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzJiBz
ZXR0aW5ncykKLXsKLSAgICAvLyBGSVhNRTogc3VwcG9ydCB2b2x1bWUKLQotICAgIHNldHRpbmdz
LnNldERldmljZUlkKGlkKCkpOwotfQotCi12b2lkIEFWQXVkaW9DYXB0dXJlU291cmNlOjpzZXR1
cENhcHR1cmVTZXNzaW9uKCkKLXsKLSNpZiBQTEFURk9STShJT1MpCi0gICAgYXZBdWRpb0NhcHR1
cmVTb3VyY2VGYWN0b3J5KCkuc2V0QWN0aXZlU291cmNlKCp0aGlzKTsKLSNlbmRpZgotCi0gICAg
UmV0YWluUHRyPEFWQ2FwdHVyZURldmljZUlucHV0VHlwZT4gYXVkaW9JbiA9IGFkb3B0TlMoW2Fs
bG9jQVZDYXB0dXJlRGV2aWNlSW5wdXRJbnN0YW5jZSgpIGluaXRXaXRoRGV2aWNlOmRldmljZSgp
IGVycm9yOm5pbF0pOwotCi0gICAgaWYgKCFbc2Vzc2lvbigpIGNhbkFkZElucHV0OmF1ZGlvSW4u
Z2V0KCldKSB7Ci0gICAgICAgIExPRyhNZWRpYSwgIkFWVmlkZW9DYXB0dXJlU291cmNlOjpzZXR1
cENhcHR1cmVTZXNzaW9uKCVwKSwgdW5hYmxlIHRvIGFkZCBhdWRpbyBpbnB1dCBkZXZpY2UiLCB0
aGlzKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBbc2Vzc2lvbigpIGFkZElucHV0OmF1
ZGlvSW4uZ2V0KCldOwotCi0gICAgUmV0YWluUHRyPEFWQ2FwdHVyZUF1ZGlvRGF0YU91dHB1dFR5
cGU+IGF1ZGlvT3V0cHV0ID0gYWRvcHROUyhbYWxsb2NBVkNhcHR1cmVBdWRpb0RhdGFPdXRwdXRJ
bnN0YW5jZSgpIGluaXRdKTsKLSAgICBzZXRBdWRpb1NhbXBsZUJ1ZmZlckRlbGVnYXRlKGF1ZGlv
T3V0cHV0LmdldCgpKTsKLQotICAgIGlmICghW3Nlc3Npb24oKSBjYW5BZGRPdXRwdXQ6YXVkaW9P
dXRwdXQuZ2V0KCldKSB7Ci0gICAgICAgIExPRyhNZWRpYSwgIkFWVmlkZW9DYXB0dXJlU291cmNl
OjpzZXR1cENhcHR1cmVTZXNzaW9uKCVwKSwgdW5hYmxlIHRvIGFkZCBhdWRpbyBzYW1wbGUgYnVm
ZmVyIG91dHB1dCBkZWxlZ2F0ZSIsIHRoaXMpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAg
IFtzZXNzaW9uKCkgYWRkT3V0cHV0OmF1ZGlvT3V0cHV0LmdldCgpXTsKLSAgICBtX2F1ZGlvQ29u
bmVjdGlvbiA9IFthdWRpb091dHB1dC5nZXQoKSBjb25uZWN0aW9uV2l0aE1lZGlhVHlwZTpBVk1l
ZGlhVHlwZUF1ZGlvXTsKLX0KLQotdm9pZCBBVkF1ZGlvQ2FwdHVyZVNvdXJjZTo6c2h1dGRvd25D
YXB0dXJlU2Vzc2lvbigpCi17Ci0gICAgewotICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV9sb2Nr
KTsKLQotICAgICAgICBtX2F1ZGlvQ29ubmVjdGlvbiA9IG51bGxwdHI7Ci0gICAgICAgIG1faW5w
dXREZXNjcmlwdGlvbiA9IG51bGxwdHI7Ci0KLSAgICAgICAgaWYgKG1fYXVkaW9Tb3VyY2VQcm92
aWRlcikKLSAgICAgICAgICAgIG1fYXVkaW9Tb3VyY2VQcm92aWRlci0+dW5wcmVwYXJlKCk7Ci0g
ICAgfQotCi0gICAgLy8gRG9uJ3QgaG9sZCB0aGUgbG9jayB3aGVuIGRlc3Ryb3lpbmcgdGhlIGF1
ZGlvIHByb3ZpZGVyLCBpdCB3aWxsIGNhbGwgYmFjayBpbnRvIHRoaXMgb2JqZWN0Ci0gICAgLy8g
dG8gcmVtb3ZlIGl0c2VsZiBhcyBhbiBvYnNlcnZlci4KLSAgICBtX2F1ZGlvU291cmNlUHJvdmlk
ZXIgPSBudWxscHRyOwotfQotCi12b2lkIEFWQXVkaW9DYXB0dXJlU291cmNlOjpjYXB0dXJlT3V0
cHV0RGlkT3V0cHV0U2FtcGxlQnVmZmVyRnJvbUNvbm5lY3Rpb24oQVZDYXB0dXJlT3V0cHV0VHlw
ZSosIENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1ZmZlciwgQVZDYXB0dXJlQ29ubmVjdGlvblR5
cGUqKQotewotICAgIGlmIChtdXRlZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBDTUZvcm1h
dERlc2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uID0gQ01TYW1wbGVCdWZmZXJHZXRGb3Jt
YXREZXNjcmlwdGlvbihzYW1wbGVCdWZmZXIpOwotICAgIGlmICghZm9ybWF0RGVzY3JpcHRpb24p
Ci0gICAgICAgIHJldHVybjsKLQotICAgIHN0ZDo6dW5pcXVlX2xvY2s8TG9jaz4gbG9jayhtX2xv
Y2ssIHN0ZDo6dHJ5X3RvX2xvY2spOwotICAgIGlmICghbG9jay5vd25zX2xvY2soKSkgewotICAg
ICAgICAvLyBGYWlsZWQgdG8gYWNxdWlyZSB0aGUgbG9jaywganVzdCByZXR1cm4gaW5zdGVhZCBv
ZiBibG9ja2luZy4KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNvbnN0IEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiogc3RyZWFtRGVzY3JpcHRpb24gPSBDTUF1ZGlvRm9ybWF0RGVz
Y3JpcHRpb25HZXRTdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKGZvcm1hdERlc2NyaXB0aW9uKTsKLSAg
ICBpZiAoIW1faW5wdXREZXNjcmlwdGlvbiB8fCAqbV9pbnB1dERlc2NyaXB0aW9uICE9ICpzdHJl
YW1EZXNjcmlwdGlvbikgewotICAgICAgICBtX2lucHV0RGVzY3JpcHRpb24gPSBzdGQ6Om1ha2Vf
dW5pcXVlPENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbj4oKnN0cmVhbURlc2NyaXB0aW9uKTsKLQot
ICAgICAgICBpZiAobV9hdWRpb1NvdXJjZVByb3ZpZGVyKQotICAgICAgICAgICAgbV9hdWRpb1Nv
dXJjZVByb3ZpZGVyLT5wcmVwYXJlKHN0cmVhbURlc2NyaXB0aW9uKTsKLSAgICB9Ci0KLSAgICBt
X2xpc3QgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYkF1ZGlvQnVmZmVyTGlzdD4oKm1faW5wdXREZXNj
cmlwdGlvbiwgc2FtcGxlQnVmZmVyKTsKLSAgICBhdWRpb1NhbXBsZXNBdmFpbGFibGUodG9NZWRp
YVRpbWUoQ01TYW1wbGVCdWZmZXJHZXRQcmVzZW50YXRpb25UaW1lU3RhbXAoc2FtcGxlQnVmZmVy
KSksICptX2xpc3QsIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbigqc3RyZWFtRGVzY3JpcHRpb24p
LCBDTVNhbXBsZUJ1ZmZlckdldE51bVNhbXBsZXMoc2FtcGxlQnVmZmVyKSk7Ci19Ci0KLUF1ZGlv
U291cmNlUHJvdmlkZXIqIEFWQXVkaW9DYXB0dXJlU291cmNlOjphdWRpb1NvdXJjZVByb3ZpZGVy
KCkKLXsKLSAgICBpZiAoIW1fYXVkaW9Tb3VyY2VQcm92aWRlcikKLSAgICAgICAgbV9hdWRpb1Nv
dXJjZVByb3ZpZGVyID0gV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakM6OmNyZWF0ZSgqdGhp
cyk7Ci0KLSAgICByZXR1cm4gbV9hdWRpb1NvdXJjZVByb3ZpZGVyLmdldCgpOwotfQotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVy
ZURldmljZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKaW5kZXggMGNiMTcyMjQ0YmE1ODhhMGI2NzAzNGQ0
YWI2Yzc1MjQwMmY1N2YwMC4uMmQ1ZWNkN2U1MDU1NzBmYzAyMTA5YzliOGYwZjJmODVkOTFhMzFi
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FW
Q2FwdHVyZURldmljZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oCkBAIC00NSw4ICs0NSw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFWQ2FwdHVyZURldmljZU1hbmFnZXIgZmluYWwgOiBw
dWJsaWMgQ2FwdHVyZURldmljZU1hbmFnZXIgewogICAgIGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ry
b3llZDxBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyPjsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgdm9pZCBzZXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUoYm9vbCk7Ci0KICAg
ICBWZWN0b3I8Q2FwdHVyZURldmljZT4mIGNhcHR1cmVEZXZpY2VzKCkgZmluYWw7CiAKICAgICBz
dGF0aWMgQVZDYXB0dXJlRGV2aWNlTWFuYWdlciYgc2luZ2xldG9uKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFu
YWdlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1
cmVEZXZpY2VNYW5hZ2VyLm1tCmluZGV4IGZkNzU5ZWFhOGRlZThlYTcyMDNmMjA2ZmUzZDNhYTNh
MzczNzZjNTQuLjE0Yzk1NTNmZDI3ZjZjYzk2ZjI0MjIwMjM1ZjU2Yjg2ZTc5OGYxMDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCi0jaW1wb3J0ICJBVkF1
ZGlvQ2FwdHVyZVNvdXJjZS5oIgogI2ltcG9ydCAiQVZNZWRpYUNhcHR1cmVTb3VyY2UuaCIKICNp
bXBvcnQgIkFWVmlkZW9DYXB0dXJlU291cmNlLmgiCiAjaW1wb3J0ICJBdWRpb1NvdXJjZVByb3Zp
ZGVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAKaW5k
ZXggZDdkNzM4OWFkZGMyNGFlZWI3ZDVkMDY4YTdkMjI1ZGE1OGQ0MjIyYS4uMDNmZWJiMmQwZTM0
M2QwNTc4ZjEzMGI2Y2E2Zjc5Y2YxN2Y1ZTlmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyTWFjLmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIgogCi0j
aW5jbHVkZSAiQVZBdWRpb0NhcHR1cmVTb3VyY2UuaCIKICNpbmNsdWRlICJBVkF1ZGlvU2Vzc2lv
bkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5oIgogI2luY2x1ZGUgIkFWVmlkZW9DYXB0dXJlU291cmNlLmgiCkBAIC00NSwxMSArNDQsNiBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck1hYzo6c2V0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKGJvb2wgZW5hYmxlZCkKLXsKLSAg
ICBtX3VzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZSA9IGVuYWJsZWQ7Ci19Ci0KIFJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OnNpbmds
ZXRvbigpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKQEAgLTc3LDcgKzcxLDcgQEAg
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6flJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJN
YWMoKQogCiBSZWFsdGltZU1lZGlhU291cmNlOjpBdWRpb0NhcHR1cmVGYWN0b3J5JiBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTWFjOjpkZWZhdWx0QXVkaW9GYWN0b3J5KCkKIHsKLSAgICByZXR1
cm4gbV91c2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUgPyBBVkF1ZGlvQ2FwdHVyZVNvdXJjZTo6
ZmFjdG9yeSgpIDogQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6ZmFjdG9yeSgpOworICAgIHJldHVy
biBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpmYWN0b3J5KCk7CiB9CiAKIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlZpZGVvQ2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6
OmRlZmF1bHRWaWRlb0ZhY3RvcnkoKQpAQCAtODcsOCArODEsNiBAQCBSZWFsdGltZU1lZGlhU291
cmNlOjpWaWRlb0NhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpk
ZWZhdWx0VgogCiBDYXB0dXJlRGV2aWNlTWFuYWdlciYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck1hYzo6ZGVmYXVsdEF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIoKQogewotICAgIGlmIChtX3Vz
ZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZSkKLSAgICAgICAgcmV0dXJuIEFWQ2FwdHVyZURldmlj
ZU1hbmFnZXI6OnNpbmdsZXRvbigpOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICByZXR1cm4gQ29y
ZUF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpOwogI2Vsc2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCmluZGV4IDg1YmJmZTQ0NWUxNGYwNjJm
MGE5ZjUxZWVhNjM0MjdkOWY2NTg0NTguLmE1MWQwZTRhOWJiYTFkYWFlNTI3NjBlYWNjZDAzMTkw
ZmFjY2M5MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaApA
QCAtNDQsNyArNDQsNiBAQCBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjIGZpbmFs
IDogcHVibGljIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIgewogcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjJiBzaW5nbGV0b24o
KTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0
dXJlKGJvb2wgZW5hYmxlZCk7CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ry
b3llZDxSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjPjsKICAgICBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyTWFjKCk7CkBAIC01NSw4ICs1NCw2IEBAIHByaXZhdGU6CiAKICAgICBDYXB0dXJl
RGV2aWNlTWFuYWdlciYgZGVmYXVsdEF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIoKSBmaW5hbDsK
ICAgICBDYXB0dXJlRGV2aWNlTWFuYWdlciYgZGVmYXVsdFZpZGVvQ2FwdHVyZURldmljZU1hbmFn
ZXIoKSBmaW5hbDsKLQotICAgIGJvb2wgbV91c2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUgeyBm
YWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggN2Q2ZGUx
ZjM1MzZiMmNiYzdhZjIzY2FkYmVmMjU1MWY5ZjJmY2E0OC4uZDliMjdjYTFhZjI3N2Q3ODU4OTM5
ZWYzZWZiYTZjNzg2MzA1NzMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yMjgsNyArMjI4LDYgQEAKICNkZWZp
bmUgV2ViS2l0RW5hYmxlSW5oZXJpdFVSSVF1ZXJ5Q29tcG9uZW50UHJlZmVyZW5jZUtleSBAIldl
YktpdEVuYWJsZUluaGVyaXRVUklRdWVyeUNvbXBvbmVudCIKICNkZWZpbmUgV2ViS2l0TWVkaWFE
YXRhTG9hZHNBdXRvbWF0aWNhbGx5UHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhRGF0YUxvYWRz
QXV0b21hdGljYWxseSIKICNkZWZpbmUgV2ViS2l0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZFBy
ZWZlcmVuY2VLZXkgQCJXZWJLaXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkIgotI2RlZmluZSBX
ZWJLaXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmVQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNl
QVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0RW51bWVyYXRp
bmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RW51bWVy
YXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdElDRUNhbmRp
ZGF0ZUZpbHRlcmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0SUNFQ2FuZGlkYXRlRmls
dGVyaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVD
b25uZWN0aW9uUHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJl
Q29ubmVjdGlvbiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
CmluZGV4IGY4YzU3YzgxMjJiZGMxNmQxZGM5ZTYxYWRiMmNiMzlkMzM0ZjBiNTEuLmI4Mzg1ZmUw
ZDRhNmFkMTMzM2U0YzY1NWY3NGZhOTQyYzY3ZTEwNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNjE5LDcgKzYxOSw2IEBAIHB1YmxpYzoKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
Tk9dLCBXZWJLaXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAg
ICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sIFdlYktpdE1lZGlhQ2FwdHVyZVJlcXVp
cmVzU2VjdXJlQ29ubmVjdGlvblByZWZlcmVuY2VLZXksCi0gICAgICAgIFtOU051bWJlciBudW1i
ZXJXaXRoQm9vbDpOT10sIFdlYktpdFVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZVByZWZlcmVu
Y2VLZXksCiAjZW5kaWYKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sIFdl
YktpdFNoYWRvd0RPTUVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6WUVTXSwgV2ViS2l0Q3VzdG9tRWxlbWVudHNFbmFibGVkUHJlZmVyZW5jZUtl
eSwKQEAgLTI4ODMsMTYgKzI4ODIsNiBAQCBzdGF0aWMgTlNTdHJpbmcgKmNsYXNzSUJDcmVhdG9y
SUQgPSBuaWw7CiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRNb2Nr
Q2FwdHVyZURldmljZXNFbmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKLS0gKEJPT0wpdXNlQVZG
b3VuZGF0aW9uQXVkaW9DYXB0dXJlCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JL
ZXk6V2ViS2l0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlUHJlZmVyZW5jZUtleV07Ci19Ci0K
LS0gKHZvaWQpc2V0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlOihCT09MKWZsYWcKLXsKLSAg
ICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFVzZUFWRm91bmRhdGlvbkF1
ZGlvQ2FwdHVyZVByZWZlcmVuY2VLZXldOwotfQotCiAtIChCT09MKWVudW1lcmF0aW5nQWxsTmV0
d29ya0ludGVyZmFjZXNFbmFibGVkCiB7CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JL
ZXk6V2ViS2l0RW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWRQcmVmZXJlbmNl
S2V5XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJp
dmF0ZS5oCmluZGV4IDgyM2ZjMzZlMDUwYWJjNGQxMDdkMGU1YWZhZmVjOTk4OWRmNjFjMjAuLmYx
MGZiMDBmZDYwYzMxNjY3MzE1MDAxZWYwZDA5MDg4N2Q1M2E3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtNTE0LDkgKzUx
NCw2IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZElu
dGVybmFsTm90aWZpY2F0aW9uOwogLSAodm9pZClzZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3Vy
ZUNvbm5lY3Rpb246KEJPT0wpZmxhZzsKIC0gKEJPT0wpbWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1
cmVDb25uZWN0aW9uOwogCi0tICh2b2lkKXNldFVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZToo
Qk9PTClmbGFnOwotLSAoQk9PTCl1c2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmU7Ci0KIC0gKHZv
aWQpc2V0U2hhZG93RE9NRW5hYmxlZDooQk9PTClmbGFnOwogLSAoQk9PTClzaGFkb3dET01FbmFi
bGVkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggN2MxZTA1N2MzN2Uz
ZTFjN2FmMGVlNDdiNDVlNTZmOGZjZjU2YjZjYy4uYTEyMDg1MmJkOThmZTFjZmU2NTJlNDRjYTU5
YTE0ZTQxY2NhMjAwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjk3
OCw3ICsyOTc4LDYgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVp
cmsoKQogICAgIHNldHRpbmdzLnNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQoW3ByZWZlcmVu
Y2VzIG1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRNZWRpYUNh
cHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24oW3ByZWZlcmVuY2VzIG1lZGlhQ2FwdHVyZVJl
cXVpcmVzU2VjdXJlQ29ubmVjdGlvbl0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFTdHJlYW1FbmFibGVkKFtwcmVmZXJlbmNlcyBtZWRpYVN0
cmVhbUVuYWJsZWRdKTsKLSAgICBzZXR0aW5ncy5zZXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1
cmUoW3ByZWZlcmVuY2VzIHVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZV0pOwogICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TWVkaWFEZXZpY2VzRW5hYmxl
ZChbcHJlZmVyZW5jZXMgbWVkaWFEZXZpY2VzRW5hYmxlZF0pOwogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCmluZGV4IGM4
NGVjOTgyZGZiODE3NzdkZDEzYWE2ZGM3M2Y1YTExZjdiYzIwZDQuLjNkZjNlN2QwOTY2YTQ5OWY0
MjA4NGI3OWVmNGMwMzRkMWVlYzEzYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaApAQCAtMjQ5LDcgKzI0OSw2IEBACiAgICAgbWFj
cm8oSFRUUEVxdWl2RW5hYmxlZCwgaHR0cEVxdWl2RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwg
IiIsICIiKSBcCiAgICAgbWFjcm8oTW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCwgbW9ja0NhcHR1
cmVEZXZpY2VzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAogICAgIG1hY3Jv
KE1lZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbiwgbWVkaWFDYXB0dXJlUmVxdWly
ZXNTZWN1cmVDb25uZWN0aW9uLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKLSAgICBtYWNy
byhVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUsIHVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVy
ZSwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAogICAgIG1hY3JvKEVudW1lcmF0aW5nQWxs
TmV0d29ya0ludGVyZmFjZXNFbmFibGVkLCBlbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2Vz
RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAogICAgIG1hY3JvKFdlYlJUQ0xl
Z2FjeUFQSUVuYWJsZWQsIHdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUs
ICIiLCAiIikgXAogICAgIG1hY3JvKElDRUNhbmRpZGF0ZUZpbHRlcmluZ0VuYWJsZWQsIGljZUNh
bmRpZGF0ZUZpbHRlcmluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4
IGVhZDc2YmE4NDYxZDZkNDI0MTNkYWM4ZGE1YjhlYWMxZjhkYTU2MTIuLjY2MDExZDVkZTFkMjhk
ZTc1N2VhYzlhMjA3MjgyNmIwNTU4YmJjODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTE2MTEsMTYgKzE2MTEsNiBAQCBib29s
IFdLUHJlZmVyZW5jZXNHZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24oV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZQogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5t
ZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24oKTsKIH0KIAotdm9pZCBXS1ByZWZl
cmVuY2VzU2V0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKLXsKLSAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRVc2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUoZW5hYmxlZCk7Ci19Ci0KLWJvb2wgV0tQ
cmVmZXJlbmNlc0dldFVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZShXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmKQotewotICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT51
c2VBVkZvdW5kYXRpb25BdWRpb0NhcHR1cmUoKTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0
RmV0Y2hBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxh
ZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRGZXRjaEFQSUVuYWJsZWQoZmxh
Zyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IGNkMjMyYjk2MzU3ZGU5YTExYjZiMTcwMzg4MDZlYThl
MTY3YmJlMmQuLjBiMGM4Zjc2NDkzZDc2YzhhZDhjNmVmNzc1ZTlkYzY4NGVjYTIzYmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
UmVmUHJpdmF0ZS5oCkBAIC00MzMsMTAgKzQzMyw2IEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5hYmxlZChXS1ByZWZlcmVu
CiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1
cmVDb25uZWN0aW9uKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpOwogV0tfRVhQT1JUIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldE1lZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbihXS1ByZWZl
cmVuY2VzUmVmKTsKIAotLy8gRGVmYXVsdHMgdG8gZmFsc2UuCi1XS19FWFBPUlQgdm9pZCBXS1By
ZWZlcmVuY2VzU2V0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKFdLUHJlZmVyZW5jZXNSZWYs
IGJvb2wpOwotV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZUFWRm91bmRhdGlvbkF1
ZGlvQ2FwdHVyZShXS1ByZWZlcmVuY2VzUmVmKTsKLSAgICAKIC8vIERlZmF1bHRzIHRvIGZhbHNl
CiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0RmV0Y2hBUElFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0RmV0
Y2hBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eS5jcHAKaW5kZXggOTE5OTM2M2NhY2FiYjdlZGQ0NDMwNDBiMTg0OWUyYmJlZDAwNmYy
Zi4uMzVhNTZiMzAwOTA2Zjg1ODE4Mjk5YThhOWNkZmJlYWI5OGNhMDk0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCkBAIC0yODcsMTEgKzI4Nyw2IEBAIHZvaWQgVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN5bmNXaXRoV2ViQ29yZVByZWZz
KCkgY29uc3QKICAgICAvLyB0aGlzIGlzIGEgbm9vcCBpZiB0aGUgcHJlZmVyZW5jZSBoYXNuJ3Qg
Y2hhbmdlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHRoaXMgd2FzIGNhbGxlZC4KICAgICBib29sIG1v
Y2tEZXZpY2VzRW5hYmxlZCA9IG1fcGFnZS5wcmVmZXJlbmNlcygpLm1vY2tDYXB0dXJlRGV2aWNl
c0VuYWJsZWQoKTsKICAgICBXZWJDb3JlOjpNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6
c2V0TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJFbmFibGVkKG1vY2tEZXZpY2VzRW5hYmxl
ZCk7Ci0KLSNpZiBVU0UoQVZGT1VOREFUSU9OKQotICAgIGJvb2wgdXNlQVZGb3VuZGF0aW9uQXVk
aW9DYXB0dXJlID0gbV9wYWdlLnByZWZlcmVuY2VzKCkudXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0
dXJlKCk7Ci0gICAgV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6c2luZ2xl
dG9uKCkuc2V0VXNlQVZGb3VuZGF0aW9uQXVkaW9DYXB0dXJlKHVzZUFWRm91bmRhdGlvbkF1ZGlv
Q2FwdHVyZSk7Ci0jZW5kaWYKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMDViZDk5OTk0YmJkNWJhZGMxYzdkZDMzY2Nj
NjZiM2Q3ZjNhZWM3Yy4uN2NlMDQyYzJjNTljMmQ2OWQyYjM3NmU0NTgxODc4NTQ1ODE5NzIwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
MzI2MSw3ICszMjYxLDYgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAg
IHNldHRpbmdzLnNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojptb2NrQ2FwdHVyZURldmljZXNFbmFibGVkS2V5KCkp
KTsKICAgICBzZXR0aW5ncy5zZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24o
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjptZWRpYUNhcHR1cmVS
ZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb25LZXkoKSkpOwotICAgIHNldHRpbmdzLnNldFVzZUFWRm91
bmRhdGlvbkF1ZGlvQ2FwdHVyZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OnVzZUFWRm91bmRhdGlvbkF1ZGlvQ2FwdHVyZUtleSgpKSk7CiAjZW5kaWYKIAogICAg
IHNldHRpbmdzLnNldFNob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KHN0b3JlLmdldEJv
b2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c2hvdWxkQ29udmVydFBvc2l0aW9uU3R5
bGVPbkNvcHlLZXkoKSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311070</attachid>
            <date>2017-05-23 16:10:01 -0700</date>
            <delta_ts>2017-05-23 16:10:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172360-20170523161001.patch</filename>
            <type>text/plain</type>
            <size>2731</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE3MzZiNjVkOGJlYWFl
YzdmODUxZGFmYTVmOWZjNjc3NmRhYTNkZS4uNGU5MjlmYTE1Njg5MzMxNjNlMTY0YzM3ZDhjZWYw
MjVlZGE2YTdhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA1LTE4ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBBVkF1
ZGlvQ2FwdHVyZVNvdXJjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcyMzYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKwor
ICAgICAgICBNYW51YWwgdGVzdGluZy4KKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVB
dWRpb1NoYXJlZFVuaXQ6OnNldHVwQXVkaW9Vbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVB
dWRpb1NoYXJlZFVuaXQ6OmRlZmF1bHRPdXRwdXREZXZpY2UpOgorCiAyMDE3LTA1LTIzICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dlYklETF0gUmVtb3ZlIHNvbWUg
dW5uZWNlc3Nhcnkgc3BlY2lhbGl6YXRpb24gZm9yIGVudW0gdHlwZXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291
cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVk
aW9DYXB0dXJlU291cmNlLmNwcAppbmRleCA2NzI4Y2IxNDJkMjM4MWY0YTU3MDg0NDAyZTU4ZTI5
ZWU0NTA3NjFmLi5hOTA0MzdhYjJmYWY4ZDE4OTkwNzc5Mjk1M2E1Mjk5NGQzNWEyMjRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwCkBAIC00Nyw2ICs0Nyw4IEBACiAjaW5j
bHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSAiQ29yZU1lZGlhU29mdExpbmsu
aCIKIAorI2luY2x1ZGUgPENvcmVBdWRpby9BdWRpb0hhcmR3YXJlUHJpdi5oPgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5IDogcHVi
bGljIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvQ2FwdHVyZUZhY3RvcnkKQEAgLTE0Myw3ICsx
NDUsNiBAQCBwcml2YXRlOgogICAgIExvY2sgbV9wZW5kaW5nU291cmNlUXVldWVMb2NrOwogICAg
IExvY2sgbV9pbnRlcm5hbFN0YXRlTG9jazsKIAotICAgIGludDMyX3QgbV9zdXNwZW5kQ291bnQg
eyAwIH07CiAgICAgaW50MzJfdCBtX3Byb2R1Y2luZ0NvdW50IHsgMCB9OwogCiAgICAgbXV0YWJs
ZSBzdGQ6OnVuaXF1ZV9wdHI8UmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcz4gbV9jYXBh
YmlsaXRpZXM7CkBAIC0yOTMsNiArMjk0LDEyIEBAIE9TU3RhdHVzIENvcmVBdWRpb1NoYXJlZFVu
aXQ6OnNldHVwQXVkaW9Vbml0KCkKICAgICB9CiAgICAgbV9pb1VuaXRJbml0aWFsaXplZCA9IHRy
dWU7CiAKKyNpZiBQTEFURk9STShNQUMpCisgICAgdWludDMyX3Qgb3V0cHV0RGV2aWNlOworICAg
IGlmICghZGVmYXVsdE91dHB1dERldmljZSgmb3V0cHV0RGV2aWNlKSkKKyAgICAgICAgQXVkaW9E
ZXZpY2VEdWNrKG91dHB1dERldmljZSwgMS4wLCBudWxscHRyLCAwKTsKKyNlbmRpZgorCiAgICAg
cmV0dXJuIGVycjsKIH0KIApAQCAtNjExLDYgKzYxOCwyMCBAQCBPU1N0YXR1cyBDb3JlQXVkaW9T
aGFyZWRVbml0OjpkZWZhdWx0SW5wdXREZXZpY2UodWludDMyX3QqIGRldmljZUlEKQogICAgIHJl
dHVybiBlcnI7CiB9CiAKK09TU3RhdHVzIENvcmVBdWRpb1NoYXJlZFVuaXQ6OmRlZmF1bHRPdXRw
dXREZXZpY2UodWludDMyX3QqIGRldmljZUlEKQoreworICAgIE9TRXJyIGVyciA9IC0xOworCisg
ICAgQXVkaW9PYmplY3RQcm9wZXJ0eUFkZHJlc3MgYWRkcmVzcyA9IHsga0F1ZGlvSGFyZHdhcmVQ
cm9wZXJ0eURlZmF1bHRPdXRwdXREZXZpY2UsIGtBdWRpb09iamVjdFByb3BlcnR5U2NvcGVHbG9i
YWwsIGtBdWRpb09iamVjdFByb3BlcnR5RWxlbWVudE1hc3RlciB9OworCisgICAgaWYgKEF1ZGlv
T2JqZWN0SGFzUHJvcGVydHkoa0F1ZGlvT2JqZWN0U3lzdGVtT2JqZWN0LCAmYWRkcmVzcykpIHsK
KyAgICAgICAgVUludDMyIHByb3BlcnR5U2l6ZSA9IHNpemVvZihBdWRpb0RldmljZUlEKTsKKyAg
ICAgICAgZXJyID0gQXVkaW9PYmplY3RHZXRQcm9wZXJ0eURhdGEoa0F1ZGlvT2JqZWN0U3lzdGVt
T2JqZWN0LCAmYWRkcmVzcywgMCwgbnVsbHB0ciwgJnByb3BlcnR5U2l6ZSwgZGV2aWNlSUQpOwor
ICAgIH0KKworICAgIHJldHVybiBlcnI7Cit9CisKIENhcHR1cmVTb3VyY2VPckVycm9yIENvcmVB
dWRpb0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShjb25zdCBTdHJpbmcmIGRldmljZUlELCBjb25zdCBN
ZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKIHsKICAgICBTdHJpbmcgbGFiZWw7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>