<?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>223247</bug_id>
          
          <creation_ts>2021-03-16 03:33:19 -0700</creation_ts>
          <short_desc>Align device orientation delegate to getUserMedia/geolocation delegates</short_desc>
          <delta_ts>2021-03-17 06:31:14 -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>WebKit2</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739888</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-16 03:33:19 -0700</bug_when>
    <thetext>Align device orientation delegate to getUserMedia/geolocation delegates</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739889</commentid>
    <comment_count>1</comment_count>
      <attachid>423314</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-16 03:38:08 -0700</bug_when>
    <thetext>Created attachment 423314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739960</commentid>
    <comment_count>2</comment_count>
      <attachid>423337</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-16 08:59:21 -0700</bug_when>
    <thetext>Created attachment 423337
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739962</commentid>
    <comment_count>3</comment_count>
      <attachid>423337</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-16 09:05:11 -0700</bug_when>
    <thetext>Comment on attachment 423337
Patch

r=me once the bots are satisfied</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739970</commentid>
    <comment_count>4</comment_count>
      <attachid>423337</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-16 09:22:55 -0700</bug_when>
    <thetext>Comment on attachment 423337
Patch

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

&gt; Source/WebKit/ChangeLog:8
&gt; +        Refactor code to move device orientation prompt implementation with other prompts in MediaPermissionUtilities.

Well, then *Media*PermissionUtilities does not seem like a great name for it.

&gt; Source/WebKit/ChangeLog:11
&gt; +        Update the decision handler to taker grant, deny or prompt parameter.

typo: taker

&gt; Source/WebKit/UIProcess/API/C/WKPageUIClient.h:136
&gt; +typedef bool (*WKPageShouldAllowDeviceOrientationAndMotionAccessCallback)(WKPageRef page, WKSecurityOriginRef securityOrigin, WKFrameInfoRef frame, const void *clientInfo);

Is it really OK to modify the existing callback type like that? Wouldn&apos;t it break clients using the old prototype? I thought we were adding new delegates whenever the prototype changes.

&gt; Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:226
&gt; +- (void)_webView:(WKWebView *)webView requestDeviceOrientationAndMotionPermissionForOrigin:(WKSecurityOrigin*)origin initiatedByFrame:(WKFrameInfo *)frame decisionHandler:(void (^)(_WKPermissionDecision decision))decisionHandler WK_API_AVAILABLE(ios(WK_IOS_TBA));

Same, seems risky to just rename the existing SPI. I feel we should deprecate the old one and add a new one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740506</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-17 01:07:56 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebKit/ChangeLog:11
&gt; &gt; +        Update the decision handler to taker grant, deny or prompt parameter.
&gt; 
&gt; typo: taker

OK

&gt; &gt; Source/WebKit/UIProcess/API/C/WKPageUIClient.h:136
&gt; &gt; +typedef bool (*WKPageShouldAllowDeviceOrientationAndMotionAccessCallback)(WKPageRef page, WKSecurityOriginRef securityOrigin, WKFrameInfoRef frame, const void *clientInfo);
&gt; 
&gt; Is it really OK to modify the existing callback type like that? Wouldn&apos;t it
&gt; break clients using the old prototype? I thought we were adding new
&gt; delegates whenever the prototype changes.

I think there is no other user right now except WebKit Tools.

&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:226
&gt; &gt; +- (void)_webView:(WKWebView *)webView requestDeviceOrientationAndMotionPermissionForOrigin:(WKSecurityOrigin*)origin initiatedByFrame:(WKFrameInfo *)frame decisionHandler:(void (^)(_WKPermissionDecision decision))decisionHandler WK_API_AVAILABLE(ios(WK_IOS_TBA));
&gt; 
&gt; Same, seems risky to just rename the existing SPI. I feel we should
&gt; deprecate the old one and add a new one.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740514</commentid>
    <comment_count>6</comment_count>
      <attachid>423449</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-17 01:10:50 -0700</bug_when>
    <thetext>Created attachment 423449
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740685</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-17 06:30:30 -0700</bug_when>
    <thetext>Committed r274558: &lt;https://commits.webkit.org/r274558&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423449.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740686</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-17 06:31:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/75523911&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423314</attachid>
            <date>2021-03-16 03:38:08 -0700</date>
            <delta_ts>2021-03-16 08:59:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223247-20210316113806.patch</filename>
            <type>text/plain</type>
            <size>34098</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUxYTcwYTMxYTcyYmEyYTU3
YWZhYzk2MzE1MWI2MmU0OTFlMzFjMmUuLjMzOWM2MjI2ZjA3YWMwNGU1ODViYjdiMzY4OTZjYmE2
MDY4MDg3MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDMtMTYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFsaWduIGRldmljZSBvcmllbnRh
dGlvbiBkZWxlZ2F0ZSB0byBnZXRVc2VyTWVkaWEvZ2VvbG9jYXRpb24gZGVsZWdhdGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyNDcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvciBjb2Rl
IHRvIG1vdmUgZGV2aWNlIG9yaWVudGF0aW9uIHByb21wdCBpbXBsZW1lbnRhdGlvbiB3aXRoIG90
aGVyIHByb21wdHMgaW4gTWVkaWFQZXJtaXNzaW9uVXRpbGl0aWVzLgorICAgICAgICBVcGRhdGUg
Y29kZSB0byB1c2UgdG9wIGxldmVsIG9yaWdpbiBmb3IgcHJvbXB0LgorICAgICAgICBVcGRhdGUg
ZGVsZWdhdGUgdG8gcHJvdmlkZSBib3RoIHRvcCBsZXZlbCBvcmlnaW4gYW5kIGluaXRpYXRpbmcg
aWZyYW1lIGFzIHBhcmFtZXRlcnMuCisgICAgICAgIFVwZGF0ZSB0aGUgZGVjaXNpb24gaGFuZGxl
ciB0byB0YWtlciBncmFudCwgZGVueSBvciBwcm9tcHQgcGFyYW1ldGVyLgorCisgICAgICAgIENv
dmVyZWQgYnkgQVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5j
cHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlVUlDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9NZWRpYVBlcm1pc3Npb25VdGlsaXRpZXMubW06CisgICAgICAgIChXZWJLaXQ6OmFsZXJ0
TWVzc2FnZVRleHQpOgorICAgICAgICAoV2ViS2l0OjphbGxvd0J1dHRvblRleHQpOgorICAgICAg
ICAoV2ViS2l0Ojpkb05vdEFsbG93QnV0dG9uVGV4dCk6CisgICAgICAgIChXZWJLaXQ6OmFsZXJ0
Rm9yUGVybWlzc2lvbik6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktp
dDo6VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRl
OjpVSUNsaWVudDo6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcyk6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oOiBS
ZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxl
cnQubW06IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL01lZGlhUGVybWlzc2lvblV0aWxp
dGllcy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJEZXZpY2VPcmllbnRh
dGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJE
ZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXI6OnNob3VsZEFsbG93QWNj
ZXNzKToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAy
MS0wMy0xNiAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbU09V
UF0gRml4IFNPVVAzIGRlYnVnIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlLmNwcAppbmRleCAzMzYwMDc2OTE1MTQ3ZGNmYjlkMGE5ZGVjN2MyODAzODQ0N2U3ODU0Li5i
MDk5ZTU5NDA1ZjZmNGY4NWM5OTExNzI2Yzg2ODM2YmU1MzkzYzk2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTE5MzMsNyArMTkzMyw3IEBAIHZvaWQgV0tQ
YWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VVSUNsaWVu
dEJhc2UqIHdrQ2xpZW50CiAgICAgICAgICAgICBpZiAoIW1fY2xpZW50LnNob3VsZEFsbG93RGV2
aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3MpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNv
bXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKIAotICAgICAgICAgICAgYXV0byBvcmlnaW4gPSBBUEk6
OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoZnJhbWVJbmZvLnNlY3VyaXR5T3JpZ2luLnNlY3VyaXR5
T3JpZ2luKCkpOworICAgICAgICAgICAgYXV0byBvcmlnaW4gPSBBUEk6OlNlY3VyaXR5T3JpZ2lu
OjpjcmVhdGUoU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcocGFnZS5wYWdlTG9hZFN0
YXRlKCkuYWN0aXZlVVJMKCkpLmdldCgpKTsKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KG1fY2xpZW50LnNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3ModG9B
UEkoJnBhZ2UpLCB0b0FQSShvcmlnaW4ucHRyKCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8p
KTsKICAgICAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCBlZWJhN2E5YzEyOGRiYmZi
ODA3MWJkMDBlNzdiYzA3MTkwYzA3ZmVmLi5lNjY1OGU1M2NjM2ExMDU2NzA1ZmJkYWE4NzFiOGRl
NGIzMTBkMDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTIyMCwxMSArMjIwLDEwIEBAIHN0cnVjdCBV
SUVkZ2VJbnNldHM7CiAKIC8qISBAYWJzdHJhY3QgQWxsb3dzIHlvdXIgYXBwIHRvIGRldGVybWlu
ZSB3aGV0aGVyIG9yIG5vdCB0aGUgZ2l2ZW4gc2VjdXJpdHkgb3JpZ2luIHNob3VsZCBoYXZlIGFj
Y2VzcyB0byB0aGUgZGV2aWNlJ3Mgb3JpZW50YXRpb24gYW5kIG1vdGlvbi4KICBAcGFyYW0gc2Vj
dXJpdHlPcmlnaW4gVGhlIHNlY3VyaXR5IG9yaWdpbiB3aGljaCByZXF1ZXN0ZWQgYWNjZXNzIHRv
IHRoZSBkZXZpY2UncyBvcmllbnRhdGlvbiBhbmQgbW90aW9uLgotIEBwYXJhbSBkZWNpc2lvbkhh
bmRsZXIgVGhlIGRlY2lzaW9uIGhhbmRsZXIgdG8gY2FsbCBvbmNlIHRoZSBhcHAgaGFzIG1hZGUg
aXRzIGRlY2lzaW9uLiBQYXNzIFlFUyB0byBhbGxvdyB0aGUgb3JpZ2luIGFjY2VzcywgTk8gb3Ro
ZXJ3aXNlLgotCi0gSWYgeW91IGRvIG5vdCBpbXBsZW1lbnQgdGhpcyBtZXRob2QsIGFjY2VzcyB0
byB0aGUgZGV2aWNlJ3Mgb3JpZW50YXRpb24gYW5kIG1vdGlvbiB3aWxsIGJlIGdyYW50ZWQuCisg
QHBhcmFtIGZyYW1lIFRoZSBmcmFtZSB0aGF0IGluaXRpYXRlZCB0aGUgcmVxdWVzdC4KKyBAcGFy
YW0gZGVjaXNpb25IYW5kbGVyIFRoZSBkZWNpc2lvbiBoYW5kbGVyIHRvIGNhbGwgb25jZSB0aGUg
YXBwIGhhcyBtYWRlIGl0cyBkZWNpc2lvbi4KICAqLwotLSAodm9pZClfd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyBzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNz
UmVxdWVzdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilyZXF1ZXN0aW5nRnJhbWUgZGVjaXNpb25I
YW5kbGVyOih2b2lkICheKShCT09MKSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShp
b3MoMTMuMCkpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0
RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOihXS1NlY3VyaXR5
T3JpZ2luKilvcmlnaW4gaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBkZWNp
c2lvbkhhbmRsZXI6KHZvaWQgKF4pKF9XS1Blcm1pc3Npb25EZWNpc2lvbiBkZWNpc2lvbikpZGVj
aXNpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKIAogI2Vsc2Ug
Ly8gIVRBUkdFVF9PU19JUEhPTkUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvTWVkaWFQZXJtaXNzaW9uVXRpbGl0aWVzLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvTWVkaWFQZXJtaXNzaW9uVXRpbGl0aWVzLm1tCmluZGV4IDlkMjNkY2VhMzMz
MTExZjJhYzc1Yjk5YTA3ZjFhMzBlMzFmYWZiZWYuLjc5MThkMzAxMDMzMTYxN2JlY2U3N2UyMjcw
YzgyYzhhOWFhNmI1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L01lZGlhUGVybWlzc2lvblV0aWxpdGllcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9NZWRpYVBlcm1pc3Npb25VdGlsaXRpZXMubW0KQEAgLTEzNSw2ICsxMzUsOCBAQCBz
dGF0aWMgTlNTdHJpbmcgKmFsZXJ0TWVzc2FnZVRleHQoTWVkaWFQZXJtaXNzaW9uUmVhc29uIHJl
YXNvbiwgY29uc3QgV2ViQ29yZTo6UwogICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dp
dGhGb3JtYXQ6V0VCX1VJX05TU1RSSU5HKEAiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlvdXIgY2Ft
ZXJhIGFuZCBtaWNyb3Bob25lPyIsIEAiTWVzc2FnZSBmb3IgdXNlciBtZWRpYSBwcm9tcHQiKSwg
dmlzaWJsZU9yaWdpbl07CiAgICAgY2FzZSBNZWRpYVBlcm1pc3Npb25SZWFzb246Ok1pY3JvcGhv
bmU6CiAgICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNT
VFJJTkcoQCJBbGxvdyDigJwlQOKAnSB0byB1c2UgeW91ciBtaWNyb3Bob25lPyIsIEAiTWVzc2Fn
ZSBmb3IgdXNlciBtaWNyb3Bob25lIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZU9yaWdpbl07Cisg
ICAgY2FzZSBNZWRpYVBlcm1pc3Npb25SZWFzb246OkRldmljZU9yaWVudGF0aW9uOgorICAgICAg
ICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX05TU1RSSU5HKEAi4oCc
JUDigJ0gV291bGQgTGlrZSB0byBBY2Nlc3MgTW90aW9uIGFuZCBPcmllbnRhdGlvbiIsIEAiTWVz
c2FnZSBmb3IgcmVxdWVzdGluZyBhY2Nlc3MgdG8gdGhlIGRldmljZSBtb3Rpb24gYW5kIG9yaWVu
dGF0aW9uIiksIHZpc2libGVPcmlnaW5dOwogICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29u
OjpHZW9sb2NhdGlvbjoKICAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0
OldFQl9VSV9OU1NUUklORyhAIkFsbG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIGN1cnJlbnQgbG9j
YXRpb24/IiwgQCJNZXNzYWdlIGZvciBnZW9sb2NhdGlvbiBwcm9tcHQiKSwgdmlzaWJsZURvbWFp
bihvcmlnaW4uaG9zdCldOwogICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpTcGVlY2hS
ZWNvZ25pdGlvbjoKQEAgLTE0OSw2ICsxNTEsOCBAQCBzdGF0aWMgTlNTdHJpbmcgKmFsbG93QnV0
dG9uVGV4dChNZWRpYVBlcm1pc3Npb25SZWFzb24gcmVhc29uKQogICAgIGNhc2UgTWVkaWFQZXJt
aXNzaW9uUmVhc29uOjpDYW1lcmFBbmRNaWNyb3Bob25lOgogICAgIGNhc2UgTWVkaWFQZXJtaXNz
aW9uUmVhc29uOjpNaWNyb3Bob25lOgogICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklOR19LRVko
QCJBbGxvdyIsICJBbGxvdyAodXNlcm1lZGlhKSIsIEAiQWxsb3cgYnV0dG9uIHRpdGxlIGluIHVz
ZXIgbWVkaWEgcHJvbXB0Iik7CisgICAgY2FzZSBNZWRpYVBlcm1pc3Npb25SZWFzb246OkRldmlj
ZU9yaWVudGF0aW9uOgorICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoQCJBbGxvdyIs
ICJBbGxvdyAoZGV2aWNlIG1vdGlvbiBhbmQgb3JpZW50YXRpb24gYWNjZXNzKSIsIEAiQnV0dG9u
IHRpdGxlIGluIERldmljZSBPcmllbnRhdGlvbiBQZXJtaXNzaW9uIEFQSSBwcm9tcHQiKTsKICAg
ICBjYXNlIE1lZGlhUGVybWlzc2lvblJlYXNvbjo6R2VvbG9jYXRpb246CiAgICAgICAgIHJldHVy
biBXRUJfVUlfU1RSSU5HX0tFWShAIkFsbG93IiwgIkFsbG93IChnZW9sb2NhdGlvbikiLCBAIkFs
bG93IGJ1dHRvbiB0aXRsZSBpbiBnZW9sb2NhdGlvbiBwcm9tcHQiKTsKICAgICBjYXNlIE1lZGlh
UGVybWlzc2lvblJlYXNvbjo6U3BlZWNoUmVjb2duaXRpb246CkBAIC0xNjMsNiArMTY3LDggQEAg
c3RhdGljIE5TU3RyaW5nICpkb05vdEFsbG93QnV0dG9uVGV4dChNZWRpYVBlcm1pc3Npb25SZWFz
b24gcmVhc29uKQogICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpDYW1lcmFBbmRNaWNy
b3Bob25lOgogICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpNaWNyb3Bob25lOgogICAg
ICAgICByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoQCJEb27igJl0IEFsbG93IiwgIkRvbuKAmXQg
QWxsb3cgKHVzZXJtZWRpYSkiLCBAIkRpc2FsbG93IGJ1dHRvbiB0aXRsZSBpbiB1c2VyIG1lZGlh
IHByb21wdCIpOworICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpEZXZpY2VPcmllbnRh
dGlvbjoKKyAgICAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKEAiQ2FuY2VsIiwgIkNhbmNl
bCAoZGV2aWNlIG1vdGlvbiBhbmQgb3JpZW50YXRpb24gYWNjZXNzKSIsIEAiQnV0dG9uIHRpdGxl
IGluIERldmljZSBPcmllbnRhdGlvbiBQZXJtaXNzaW9uIEFQSSBwcm9tcHQiKTsKICAgICBjYXNl
IE1lZGlhUGVybWlzc2lvblJlYXNvbjo6R2VvbG9jYXRpb246CiAgICAgICAgIHJldHVybiBXRUJf
VUlfU1RSSU5HX0tFWShAIkRvbuKAmXQgQWxsb3ciLCAiRG9u4oCZdCBBbGxvdyAoZ2VvbG9jYXRp
b24pIiwgQCJEaXNhbGxvdyBidXR0b24gdGl0bGUgaW4gZ2VvbG9jYXRpb24gcHJvbXB0Iik7CiAg
ICAgY2FzZSBNZWRpYVBlcm1pc3Npb25SZWFzb246OlNwZWVjaFJlY29nbml0aW9uOgpAQCAtMTcy
LDYgKzE3OCwxMyBAQCBzdGF0aWMgTlNTdHJpbmcgKmRvTm90QWxsb3dCdXR0b25UZXh0KE1lZGlh
UGVybWlzc2lvblJlYXNvbiByZWFzb24pCiAKIHZvaWQgYWxlcnRGb3JQZXJtaXNzaW9uKFdlYlBh
Z2VQcm94eSYgcGFnZSwgTWVkaWFQZXJtaXNzaW9uUmVhc29uIHJlYXNvbiwgY29uc3QgV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAg
ICBpZiAocmVhc29uID09IE1lZGlhUGVybWlzc2lvblJlYXNvbjo6RGV2aWNlT3JpZW50YXRpb24p
IHsKKyAgICAgICAgaWYgKGF1dG8mIHVzZXJQZXJtaXNzaW9uSGFuZGxlciA9IHBhZ2UuZGV2aWNl
T3JpZW50YXRpb25Vc2VyUGVybWlzc2lvbkhhbmRsZXJGb3JUZXN0aW5nKCkpCisgICAgICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIodXNlclBlcm1pc3Npb25IYW5kbGVyKCkpOworICAg
IH0KKyNlbmRpZgorCiAgICAgYXV0byAqd2ViVmlldyA9IGZyb21XZWJQYWdlUHJveHkocGFnZSk7
CiAgICAgaWYgKCF3ZWJWaWV3KSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAppbmRleCA2NjE5ZmY0
ZWJmNmY3YTIxNGRkMWMzOGE0ZjYyNDc1ZGFlY2FjZmFlLi43MmE0NWE0Yzk3NWUzNmI3ZWVkMDBk
NGM5ZGU4NTQwMzhiMjgzZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5oCkBAIC0yMTIsNyArMjEyLDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCB3ZWJW
aWV3V2lsbENsb3NlTG9jYWxJbnNwZWN0b3IgOiAxOwogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklD
RV9PUklFTlRBVElPTikKLSAgICAgICAgYm9vbCB3ZWJWaWV3U2hvdWxkQWxsb3dEZXZpY2VPcmll
bnRhdGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVlc3RlZEJ5RnJhbWVEZWNpc2lvbkhhbmRsZXIgOiAx
OworICAgICAgICBib29sIHdlYlZpZXdSZXF1ZXN0RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25Q
ZXJtaXNzaW9uRm9yT3JpZ2luRGVjaXNpb25IYW5kbGVyIDogMTsKICNlbmRpZgogICAgICAgICBi
b29sIHdlYlZpZXdEZWNpZGVEYXRhYmFzZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW5DdXJyZW50UXVv
dGFDdXJyZW50T3JpZ2luVXNhZ2VDdXJyZW50RGF0YWJhc2VVc2FnZUV4cGVjdGVkVXNhZ2VEZWNp
c2lvbkhhbmRsZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdEZWNpZGVEYXRhYmFzZVF1b3Rh
Rm9yU2VjdXJpdHlPcmlnaW5EYXRhYmFzZU5hbWVEaXNwbGF5TmFtZUN1cnJlbnRRdW90YUN1cnJl
bnRPcmlnaW5Vc2FnZUN1cnJlbnREYXRhYmFzZVVzYWdlRXhwZWN0ZWRVc2FnZURlY2lzaW9uSGFu
ZGxlciA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURl
bGVnYXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpp
bmRleCBhY2I2ZjM2ZTYxOWU2M2FhMGRkNWExZDU2NGQ5NjI2MDZlNTI2OWRlLi5jOGFiZWQ2MTQ1
YTk4MmE4NjExNzY0OTE0NTdmYWY0OGFhNWZlODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KQEAgLTQzLDcgKzQzLDYgQEAKICNpbXBvcnQgIldLTlNE
aWN0aW9uYXJ5LmgiCiAjaW1wb3J0ICJXS05hdmlnYXRpb25BY3Rpb25JbnRlcm5hbC5oIgogI2lt
cG9ydCAiV0tPcGVuUGFuZWxQYXJhbWV0ZXJzSW50ZXJuYWwuaCIKLSNpbXBvcnQgIldLT3JpZW50
YXRpb25BY2Nlc3NBbGVydC5oIgogI2ltcG9ydCAiV0tTZWN1cml0eU9yaWdpbkludGVybmFsLmgi
CiAjaW1wb3J0ICJXS1N0b3JhZ2VBY2Nlc3NBbGVydC5oIgogI2ltcG9ydCAiV0tVSURlbGVnYXRl
UHJpdmF0ZS5oIgpAQCAtMTQwLDcgKzEzOSw3IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdh
dGUoaWQgPFdLVUlEZWxlZ2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vi
Vmlld1dpbGxDbG9zZUxvY2FsSW5zcGVjdG9yID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3IoX3dlYlZpZXc6d2lsbENsb3NlTG9jYWxJbnNwZWN0b3I6KV07CiAjZW5kaWYK
ICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQotICAgIG1fZGVsZWdhdGVNZXRob2RzLndl
YlZpZXdTaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVk
QnlGcmFtZURlY2lzaW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKF93ZWJWaWV3OnNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nl
c3NSZXF1ZXN0ZWRCeUZyYW1lOmRlY2lzaW9uSGFuZGxlcjopXTsKKyAgICBtX2RlbGVnYXRlTWV0
aG9kcy53ZWJWaWV3UmVxdWVzdERldmljZU9yaWVudGF0aW9uQW5kTW90aW9uUGVybWlzc2lvbkZv
ck9yaWdpbkRlY2lzaW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKF93ZWJWaWV3OnJlcXVlc3REZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvblBlcm1pc3Np
b25Gb3JPcmlnaW46aW5pdGlhdGVkQnlGcmFtZTpkZWNpc2lvbkhhbmRsZXI6KV07CiAjZW5kaWYK
ICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3Vy
aXR5T3JpZ2luQ3VycmVudFF1b3RhQ3VycmVudE9yaWdpblVzYWdlQ3VycmVudERhdGFiYXNlVXNh
Z2VFeHBlY3RlZFVzYWdlRGVjaXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3Jp
Z2luOmN1cnJlbnRRdW90YTpjdXJyZW50T3JpZ2luVXNhZ2U6Y3VycmVudERhdGFiYXNlVXNhZ2U6
ZXhwZWN0ZWRVc2FnZTpkZWNpc2lvbkhhbmRsZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld0RlY2lkZURhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbkRhdGFiYXNlTmFtZURp
c3BsYXlOYW1lQ3VycmVudFF1b3RhQ3VycmVudE9yaWdpblVzYWdlQ3VycmVudERhdGFiYXNlVXNh
Z2VFeHBlY3RlZFVzYWdlRGVjaXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3Jp
Z2luOmRhdGFiYXNlTmFtZTpkaXNwbGF5TmFtZTpjdXJyZW50UXVvdGE6Y3VycmVudE9yaWdpblVz
YWdlOmN1cnJlbnREYXRhYmFzZVVzYWdlOmV4cGVjdGVkVXNhZ2U6ZGVjaXNpb25IYW5kbGVyOild
OwpAQCAtMTA0MiwyNSArMTA0MSwzNSBAQCBib29sIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpydW5P
cGVuUGFuZWwoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5KiB3ZWJGcgogI2lmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzaG91
bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKFdlYktpdDo6V2ViUGFnZVBy
b3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5JiB3ZWJGcmFtZVByb3h5LCBGcmFtZUluZm9EYXRhJiYg
ZnJhbWVJbmZvLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewotICAgIGlmICghbV91aURlbGVnYXRlKQotICAgICAgICByZXR1cm4gY29tcGxldGlv
bkhhbmRsZXIoZmFsc2UpOwotCi0gICAgaWYgKCFtX3VpRGVsZWdhdGUtPm1fZGVsZWdhdGVNZXRo
b2RzLndlYlZpZXdTaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVx
dWVzdGVkQnlGcmFtZURlY2lzaW9uSGFuZGxlcikgewotICAgICAgICBwcmVzZW50T3JpZW50YXRp
b25BY2Nlc3NBbGVydChtX3VpRGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5nZXQoKSwgZnJhbWVJ
bmZvLnNlY3VyaXR5T3JpZ2luLmhvc3QsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAg
ICBhdXRvIHNlY3VyaXR5T3JpZ2luID0gV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZy
b21TdHJpbmcocGFnZS5wYWdlTG9hZFN0YXRlKCkuYWN0aXZlVVJMKCkpOworICAgIGlmICghbV91
aURlbGVnYXRlIHx8ICFtX3VpRGVsZWdhdGUtPm1fZGVsZWdhdGUuZ2V0KCkgfHwgIW1fdWlEZWxl
Z2F0ZS0+bV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1JlcXVlc3REZXZpY2VPcmllbnRhdGlvbkFu
ZE1vdGlvblBlcm1pc3Npb25Gb3JPcmlnaW5EZWNpc2lvbkhhbmRsZXIpIHsKKyAgICAgICAgYWxl
cnRGb3JQZXJtaXNzaW9uKHBhZ2UsIE1lZGlhUGVybWlzc2lvblJlYXNvbjo6RGV2aWNlT3JpZW50
YXRpb24sIHNlY3VyaXR5T3JpZ2luLT5kYXRhKCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVs
ZWdhdGUtPm1fZGVsZWdhdGUuZ2V0KCk7Ci0gICAgaWYgKCFkZWxlZ2F0ZSkKLSAgICAgICAgcmV0
dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKLQotICAgIGF1dG8gY2hlY2tlciA9IENvbXBs
ZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShkZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9y
KF93ZWJWaWV3OnNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1
ZXN0ZWRCeUZyYW1lOmRlY2lzaW9uSGFuZGxlcjopKTsKLSAgICBbKGlkIDxXS1VJRGVsZWdhdGVQ
cml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5n
ZXQoKSBzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVk
QnlGcmFtZTp3cmFwcGVyKEFQSTo6RnJhbWVJbmZvOjpjcmVhdGUoV1RGTW92ZShmcmFtZUluZm8p
LCAmcGFnZSkpIGRlY2lzaW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGNoZWNrZXIgPSBXVEZNb3ZlKGNoZWNrZXIp
XSAoQk9PTCBncmFudGVkKSBtdXRhYmxlIHsKKyAgICBhdXRvIGNoZWNrZXIgPSBDb21wbGV0aW9u
SGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUoZGVsZWdhdGUuZ2V0KCksIEBzZWxlY3Rvcihfd2Vi
VmlldzpyZXF1ZXN0RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2lu
OmluaXRpYXRlZEJ5RnJhbWU6ZGVjaXNpb25IYW5kbGVyOikpOworICAgIGF1dG8gZGVjaXNpb25I
YW5kbGVyID0gbWFrZUJsb2NrUHRyKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpLCBzZWN1cml0eU9yaWdpbiA9IHNlY3VyaXR5T3JpZ2luLT5kYXRhKCksIGNo
ZWNrZXIgPSBXVEZNb3ZlKGNoZWNrZXIpLCBwYWdlID0gbWFrZVdlYWtQdHIocGFnZSldKF9XS1Bl
cm1pc3Npb25EZWNpc2lvbiBkZWNpc2lvbikgbXV0YWJsZSB7CiAgICAgICAgIGlmIChjaGVja2Vy
LT5jb21wbGV0aW9uSGFuZGxlckhhc0JlZW5DYWxsZWQoKSkKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgY2hlY2tlci0+ZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKGdyYW50ZWQpOwotICAgIH0pLmdldCgpXTsKKyAgICAgICAgaWYgKCFw
YWdlKSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgc3dpdGNoIChkZWNpc2lvbikgeworICAgICAg
ICBjYXNlIF9XS1Blcm1pc3Npb25EZWNpc2lvblByb21wdDoKKyAgICAgICAgICAgIGFsZXJ0Rm9y
UGVybWlzc2lvbigqcGFnZSwgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpEZXZpY2VPcmllbnRhdGlv
biwgc2VjdXJpdHlPcmlnaW4sIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIF9XS1Blcm1pc3Npb25EZWNpc2lvbkdyYW50OgorICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBfV0tQZXJtaXNzaW9uRGVjaXNpb25EZW55OgorICAgICAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIoZmFsc2UpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9
KTsKKyAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3Vp
RGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5nZXQoKSByZXF1ZXN0RGV2aWNlT3JpZW50YXRpb25B
bmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOndyYXBwZXIoQVBJOjpTZWN1cml0eU9yaWdpbjo6
Y3JlYXRlKHNlY3VyaXR5T3JpZ2luLmdldCgpKSkgaW5pdGlhdGVkQnlGcmFtZTp3cmFwcGVyKEFQ
STo6RnJhbWVJbmZvOjpjcmVhdGUoV1RGTW92ZShmcmFtZUluZm8pLCAmcGFnZSkpIGRlY2lzaW9u
SGFuZGxlcjpkZWNpc2lvbkhhbmRsZXIuZ2V0KCldOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0MjJjNmJmNzFmNzI3YjMxNWVhYWZm
ZTNmY2U2MmE2NmMxNWM1NTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vz
c0FsZXJ0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3By
YWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQotCi0jaW1wb3J0IDx3
dGYvRm9yd2FyZC5oPgotCi1AY2xhc3MgV0tXZWJWaWV3OwotCi1uYW1lc3BhY2UgV2ViS2l0IHsK
LQotdm9pZCBwcmVzZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydChXS1dlYlZpZXcgKiwgY29uc3Qg
U3RyaW5nJiBob3N0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKLQotfQotCi0j
ZW5kaWYgLy8gRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbQpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRkZGVkZGZlZTU5YTlmNWE5NDc0Y2FmODhjZDUz
Yzg5OGU5YjFjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQu
bW0KKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAi
Y29uZmlnLmgiCi0jaW1wb3J0ICJXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCIKLQotI2lmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCi0KLSNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgi
Ci0jaW1wb3J0ICJXS1dlYlZpZXdQcml2YXRlLmgiCi0jaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIK
LSNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgotI2ltcG9ydCA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi12b2lkIHByZXNlbnRPcmllbnRh
dGlvbkFjY2Vzc0FsZXJ0KFdLV2ViVmlldyAqdmlldywgY29uc3QgU3RyaW5nJiBob3N0LCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIGlm
IChhdXRvJiB1c2VyUGVybWlzc2lvbkhhbmRsZXIgPSB2aWV3Ll9wYWdlLT5kZXZpY2VPcmllbnRh
dGlvblVzZXJQZXJtaXNzaW9uSGFuZGxlckZvclRlc3RpbmcoKSkKLSAgICAgICAgcmV0dXJuIGNv
bXBsZXRpb25IYW5kbGVyKHVzZXJQZXJtaXNzaW9uSGFuZGxlcigpKTsKLQotICAgIE5TU3RyaW5n
ICphbGVydFRleHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkco
QCLigJwlQOKAnSBXb3VsZCBMaWtlIHRvIEFjY2VzcyBNb3Rpb24gYW5kIE9yaWVudGF0aW9uIiwg
QCJNZXNzYWdlIGZvciByZXF1ZXN0aW5nIGFjY2VzcyB0byB0aGUgZGV2aWNlIG1vdGlvbiBhbmQg
b3JpZW50YXRpb24iKSwgKE5TU3RyaW5nICopaG9zdF07Ci0gICAgVUlBbGVydENvbnRyb2xsZXIq
IGFsZXJ0ID0gW1VJQWxlcnRDb250cm9sbGVyIGFsZXJ0Q29udHJvbGxlcldpdGhUaXRsZTphbGVy
dFRleHQgbWVzc2FnZTpuaWwgcHJlZmVycmVkU3R5bGU6VUlBbGVydENvbnRyb2xsZXJTdHlsZUFs
ZXJ0XTsKLQotICAgIGF1dG8gY29tcGxldGlvbkJsb2NrID0gbWFrZUJsb2NrUHRyKFtjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShib29sIHNob3VsZEFsbG93
KSBtdXRhYmxlIHsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc2hvdWxkQWxsb3cpOwotICAg
IH0pOwotCi0gICAgTlNTdHJpbmcgKmNhbmNlbEJ1dHRvblN0cmluZyA9IFdFQl9VSV9TVFJJTkdf
S0VZKEAiQ2FuY2VsIiwgIkNhbmNlbCAoZGV2aWNlIG1vdGlvbiBhbmQgb3JpZW50YXRpb24gYWNj
ZXNzKSIsIEAiQnV0dG9uIHRpdGxlIGluIERldmljZSBPcmllbnRhdGlvbiBQZXJtaXNzaW9uIEFQ
SSBwcm9tcHQiKTsKLSAgICBVSUFsZXJ0QWN0aW9uKiBjYW5jZWxBY3Rpb24gPSBbVUlBbGVydEFj
dGlvbiBhY3Rpb25XaXRoVGl0bGU6Y2FuY2VsQnV0dG9uU3RyaW5nIHN0eWxlOlVJQWxlcnRBY3Rp
b25TdHlsZUNhbmNlbCBoYW5kbGVyOltjb21wbGV0aW9uQmxvY2tdKFVJQWxlcnRBY3Rpb24gKmFj
dGlvbikgewotICAgICAgICBjb21wbGV0aW9uQmxvY2soZmFsc2UpOwotICAgIH1dOwotCi0gICAg
TlNTdHJpbmcgKmFsbG93QnV0dG9uU3RyaW5nID0gV0VCX1VJX1NUUklOR19LRVkoQCJBbGxvdyIs
ICJBbGxvdyAoZGV2aWNlIG1vdGlvbiBhbmQgb3JpZW50YXRpb24gYWNjZXNzKSIsIEAiQnV0dG9u
IHRpdGxlIGluIERldmljZSBPcmllbnRhdGlvbiBQZXJtaXNzaW9uIEFQSSBwcm9tcHQiKTsKLSAg
ICBVSUFsZXJ0QWN0aW9uKiBhbGxvd0FjdGlvbiA9IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldpdGhU
aXRsZTphbGxvd0J1dHRvblN0cmluZyBzdHlsZTpVSUFsZXJ0QWN0aW9uU3R5bGVEZWZhdWx0IGhh
bmRsZXI6W2NvbXBsZXRpb25CbG9ja10oVUlBbGVydEFjdGlvbiAqYWN0aW9uKSB7Ci0gICAgICAg
IGNvbXBsZXRpb25CbG9jayh0cnVlKTsKLSAgICB9XTsKLSAgICBbYWxlcnQgYWRkQWN0aW9uOmNh
bmNlbEFjdGlvbl07Ci0gICAgW2FsZXJ0IGFkZEFjdGlvbjphbGxvd0FjdGlvbl07Ci0KLSAgICBb
W1VJVmlld0NvbnRyb2xsZXIgX3ZpZXdDb250cm9sbGVyRm9yRnVsbFNjcmVlblByZXNlbnRhdGlv
bkZyb21WaWV3OnZpZXddIHByZXNlbnRWaWV3Q29udHJvbGxlcjphbGVydCBhbmltYXRlZDpZRVMg
Y29tcGxldGlvbjpuaWxdOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8v
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9NZWRpYVBlcm1pc3Npb25VdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL01lZGlhUGVybWlzc2lvblV0aWxpdGllcy5oCmluZGV4IDZiMWE0YWQxYmU1N2RkMDhiNjY4
MTFjMGZkZTY1ZWZmYTYzMjg3ZDMuLjVhMzE1MTY5NWNjNGQ4ZTQwMzQ3MDY0ZmNmYWU0NTgxZmQ3
ZmExOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhUGVybWlzc2lv
blV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhUGVybWlzc2lv
blV0aWxpdGllcy5oCkBAIC01Miw2ICs1Miw3IEBAIGVudW0gY2xhc3MgTWVkaWFQZXJtaXNzaW9u
UmVhc29uIHsKICAgICBDYW1lcmEsCiAgICAgQ2FtZXJhQW5kTWljcm9waG9uZSwKICAgICBNaWNy
b3Bob25lLAorICAgIERldmljZU9yaWVudGF0aW9uLAogICAgIEdlb2xvY2F0aW9uLAogICAgIFNw
ZWVjaFJlY29nbml0aW9uCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2ViRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYkRldmljZU9yaWVu
dGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5jcHAKaW5kZXggY2ZmZGQ4ODJmN2NmMjM3
NDE3MzE1ZDQ5MWZmMzgyYjhhNWU5NDk4NS4uYzM5Y2UwNTc0MGFkOTA2Nzk0NzQ0ZGE1OWRlZjdm
OTVhMTIxOTJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2ViRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJEZXZpY2VPcmllbnRhdGlv
bkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuY3BwCkBAIC0zOCw3ICszOCw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNj
ZXNzQ29udHJvbGxlcjo6c2hvdWxkQWxsb3dBY2Nlc3MoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJG
cmFtZVByb3h5JiBmcmFtZSwgRnJhbWVJbmZvRGF0YSYmIGZyYW1lSW5mbywgYm9vbCBtYXlQcm9t
cHQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1p
c3Npb25TdGF0ZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgU2VjdXJpdHlPcmlnaW5E
YXRhIG9yaWdpbkRhdGEgPSBmcmFtZUluZm8uc2VjdXJpdHlPcmlnaW47CisgICAgYXV0byBvcmln
aW5EYXRhID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcocGFnZS5wYWdlTG9hZFN0
YXRlKCkuYWN0aXZlVVJMKCkpLT5kYXRhKCk7CiAgICAgYXV0byBjdXJyZW50UGVybWlzc2lvbiA9
IGNhY2hlZERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbihvcmlnaW5EYXRhKTsKICAgICBpZiAo
Y3VycmVudFBlcm1pc3Npb24gIT0gRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25T
dGF0ZTo6UHJvbXB0IHx8ICFtYXlQcm9tcHQpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFu
ZGxlcihjdXJyZW50UGVybWlzc2lvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyNmE5ZjgzZmIzNDNlMGVjNTA2NDRjNmI4Njk1MjZk
YmQ0ZjVlNTZhLi4yMDQzYjA2YjVhYzZkZTM3NDNhNWM3N2EyODJhMTQ1MmU1YzNlMjQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk1
Myw4ICs5NTMsNiBAQAogCQk0NjFDQ0NBNjIzMTQ4NUFBMDBCNjU5QjkgLyogV2ViUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ2MzIzNjgzMjMxNDgxRUYwMEE0OEZBNyAvKiBXZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5o
ICovOyB9OwogCQk0NjNGRDQ4MDFFQjk0NTk2MDBBMjk4MkMgLyogV0tQcm9jZXNzVGVybWluYXRp
b25SZWFzb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2M0ZENDdGMUVCOTQ1ODQwMEEyOTgyQyAvKiBXS1Byb2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2M0ZE
NDgyMUVCOTRFQzAwMEEyOTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2M0ZENDgxMUVCOTRFQUQw
MEEyOTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAqLzsgfTsKLQkJNDY1N0Q4ODky
MjY2NEEyRDAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1N0Q4ODcyMjY2NEExOTAwNURF
ODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oICovOyB9OwotCQk0NjU3RDg4QTIyNjY0
QTJGMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1N0Q4ODgyMjY2NEExQTAwNURFODIz
IC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbSAqLzsgfTsKIAkJNDY1RjRFMDYyMzBCMkU5
NTAwM0NFREI3IC8qIFN0b3JhZ2VOYW1lc3BhY2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjVGNEUwNTIzMEIyRTdDMDAzQ0VEQjcg
LyogU3RvcmFnZU5hbWVzcGFjZUlkZW50aWZpZXIuaCAqLzsgfTsKIAkJNDY2QkMwM0MxRkEyNjZE
QTAwMkZBOUMxIC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjZCQzAzOTFGQTI2NkM5MDAyRkE5
QzEgLyogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNDY3MUZGMUYy
MzIxN0VGRjAwMUI2NEM3IC8qIFdlYlJlc291cmNlTG9hZE9ic2VydmVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjcxRkYxRDIzMjE3RUZGMDAxQjY0
QzcgLyogV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaCAqLzsgfTsKQEAgLTM4MzEsOCArMzgyOSw2
IEBACiAJCTQ2M0ZENDgxMUVCOTRFQUQwMEEyOTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFz
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvY2Vzc1Rlcm1pbmF0aW9u
UmVhc29uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NTFFQ0U2MjIxNzhBODUw
MDY3RUI5NSAvKiBXZWJQcm9jZXNzQ2FjaGVDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFdlYlByb2Nlc3NDYWNoZUNvY29hLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NjUyNTBFNTFFQ0Y1MkNEMDAyMDI1Q0IgLyogV2ViS2l0MkluaXRp
YWxpemVDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdl
YktpdDJJbml0aWFsaXplQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2
NTdEODg3MjI2NjRBMTkwMDVERTgyMyAvKiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2NTdEODg4MjI2NjRBMUEwMDVERTgyMyAv
KiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ2NUY0RTAyMjMwNzU5RDUwMDNDRURCNyAvKiBTdG9yYWdlQXJlYUlk
ZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RvcmFnZUFyZWFJZGVudGlmaWVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NUY0RTAzMjMwNzYwNEUwMDNDRURCNyAvKiBTdG9y
YWdlQXJlYUltcGxJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VBcmVhSW1wbElk
ZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY1RjRFMDUyMzBCMkU3
QzAwM0NFREI3IC8qIFN0b3JhZ2VOYW1lc3BhY2VJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFN0b3JhZ2VOYW1lc3BhY2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC02OTQ4LDggKzY5NDQsNiBAQAogCQkJCTJFQ0Y2NkNEMjFENkI3N0UwMDlFNUMzRiAvKiBX
S0VkaXRDb21tYW5kLm1tICovLAogCQkJCUUxQUVBMjJEMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1
bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaCAqLywKIAkJCQlFMUFFQTIyRTE0Njg3QkRCMDA4MDQ1
NjkgLyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tICovLAotCQkJCTQ2NTdEODg3MjI2
NjRBMTkwMDVERTgyMyAvKiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCAqLywKLQkJCQk0NjU3
RDg4ODIyNjY0QTFBMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tICovLAog
CQkJCTFBRDAxQkNCMTkwNUQ1NDkwMEM5QzQ1RiAvKiBXS1JlbG9hZEZyYW1lRXJyb3JSZWNvdmVy
eUF0dGVtcHRlci5oICovLAogCQkJCTFBRDAxQkNBMTkwNUQ1NDkwMEM5QzQ1RiAvKiBXS1JlbG9h
ZEZyYW1lRXJyb3JSZWNvdmVyeUF0dGVtcHRlci5tbSAqLywKIAkJCQk1Q0EyNkQ4MDIxN0FCQkI2
MDBGOTdBMzUgLyogV0tTYWZlQnJvd3NpbmdXYXJuaW5nLmggKi8sCkBAIC0xMjY1NSw3ICsxMjY0
OSw2IEBACiAJCQkJNUMyNjk1ODUyMDA0MzIxMjAwNUM0MzlCIC8qIFdLT3BlblBhbmVsUGFyYW1l
dGVyc1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODU3RkU2MTJCODQzRDgwMEVERUIy
RSAvKiBXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMURG
RThGMTJCMzFDQTgwMDVERjczMCAvKiBXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmggaW4gSGVh
ZGVycyAqLywKLQkJCQk0NjU3RDg4OTIyNjY0QTJEMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFj
Y2Vzc0FsZXJ0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Q1OTdENzExMkI1NkRDMDBFQzhDMjMg
LyogV0tQYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg5RDI5QzFBNjc4MzdCMDAzQTVGREUg
LyogV0tQYWdlQ29uZmlndXJhdGlvblJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCOEExRjgx
ODQwMEJCODAwRTlBRTY5IC8qIFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LmggaW4gSGVhZGVycyAq
LywKQEAgLTE0MjIwLDcgKzE0MjEzLDYgQEAKIAkJCQkyRDkzMTE2QTIxMkY2MUI1MDAwNDRCRkUg
LyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNjM3Mjgx
QTMyMUFEQzc0NDAwOUUwREU2IC8qIFdLRG93bmxvYWRQcm9ncmVzcy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTVDRTkxMjBEMjI5M0MyMTkwMDVCRUM3OCAvKiBXS01haW4ubW0gaW4gU291cmNlcyAq
LywKLQkJCQk0NjU3RDg4QTIyNjY0QTJGMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0Fs
ZXJ0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4NENFRTQyNDlBQTI0RDAwOTA5NkY2IC8qIFdL
UERGSFVEVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTVDQTI2RDgzMjE3QUQxQjgwMEY5N0Ez
NSAvKiBXS1NhZmVCcm93c2luZ1dhcm5pbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQkxREIwMTk0
NDIxMUNGMDA1MDA5RkIzRTggLyogV0tTaGFyZVNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2M0Njg5NDUx
ZmRjNGM1YzcxMjlkYTE1OWJlMzllMWY2ZTdkYWJjZC4uNTYyNDM3ZTY3YzliYWZkMGQ2MDY3ZDc1
NmJiYTJkMWU5MWRiMDZiMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGlnbiBkZXZpY2Ugb3JpZW50YXRpb24gZGVs
ZWdhdGUgdG8gZ2V0VXNlck1lZGlhL2dlb2xvY2F0aW9uIGRlbGVnYXRlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjQ3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0RldmljZU9yaWVudGF0aW9uLm1tOgorICAgICAgICAoLVtEZXZpY2VPcmll
bnRhdGlvblBlcm1pc3Npb25VSURlbGVnYXRlIF93ZWJWaWV3OnJlcXVlc3REZXZpY2VPcmllbnRh
dGlvbkFuZE1vdGlvblBlcm1pc3Npb25Gb3JPcmlnaW46aW5pdGlhdGVkQnlGcmFtZTpkZWNpc2lv
bkhhbmRsZXI6XSk6CisgICAgICAgICgtW0RldmljZU9yaWVudGF0aW9uUGVybWlzc2lvblZhbGlk
YXRpb25EZWxlZ2F0ZSBzZXRWYWxpZGF0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bRGV2aWNl
T3JpZW50YXRpb25QZXJtaXNzaW9uVmFsaWRhdGlvbkRlbGVnYXRlIF93ZWJWaWV3OnJlcXVlc3RE
ZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvblBlcm1pc3Npb25Gb3JPcmlnaW46aW5pdGlhdGVkQnlG
cmFtZTpkZWNpc2lvbkhhbmRsZXI6XSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW06CisgICAgICAgICgtW1dlYnNpdGVQb2xpY2ll
c0RldmljZU9yaWVudGF0aW9uVUlEZWxlZ2F0ZSBfd2ViVmlldzpyZXF1ZXN0RGV2aWNlT3JpZW50
YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOmluaXRpYXRlZEJ5RnJhbWU6ZGVjaXNp
b25IYW5kbGVyOl0pOgorCiAyMDIxLTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBBZGQgYSBuZXcgZGVsZWdhdGUgZm9yIGdlb2xvY2F0aW9uIHBlcm1p
c3Npb24KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
RGV2aWNlT3JpZW50YXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL0RldmljZU9yaWVudGF0aW9uLm1tCmluZGV4IGU4Y2VlYzY1NmZjYTFiODAyOGEyNGY2ODQ0
YzEwNWE1ZGY0NDYzMzMuLjRkNTMyYTc3ZjZlZWM4M2JmMmY4ODc3NjAyY2NlNDJlNTNkMzJlMzQg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGV2aWNl
T3JpZW50YXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9EZXZpY2VPcmllbnRhdGlvbi5tbQpAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorI2ltcG9ydCAiSFRU
UFNlcnZlci5oIgogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRlc3RO
YXZpZ2F0aW9uRGVsZWdhdGUuaCIKICNpbXBvcnQgIlRlc3RVUkxTY2hlbWVIYW5kbGVyLmgiCkBA
IC03NSw5ICs3Niw5IEBAIEZ1bmN0aW9uPGJvb2woKT4gX2RlY2lzaW9uSGFuZGxlcjsKICAgICBy
ZXR1cm4gc2VsZjsKIH0KIAotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBz
aG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFt
ZTooV0tGcmFtZUluZm8gKilyZXF1ZXN0aW5nRnJhbWUgZGVjaXNpb25IYW5kbGVyOih2b2lkIChe
KShCT09MKSlkZWNpc2lvbkhhbmRsZXIKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdl
YlZpZXcgcmVxdWVzdERldmljZU9yaWVudGF0aW9uQW5kTW90aW9uUGVybWlzc2lvbkZvck9yaWdp
bjooV0tTZWN1cml0eU9yaWdpbiopb3JpZ2luIGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZv
ICopcmVxdWVzdGluZ0ZyYW1lIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoX1dLUGVybWlzc2lv
bkRlY2lzaW9uKSlkZWNpc2lvbkhhbmRsZXIKIHsKLSAgICBkZWNpc2lvbkhhbmRsZXIoX2RlY2lz
aW9uSGFuZGxlcigpKTsKKyAgICBkZWNpc2lvbkhhbmRsZXIoX2RlY2lzaW9uSGFuZGxlcigpID8g
X1dLUGVybWlzc2lvbkRlY2lzaW9uR3JhbnQgOiBfV0tQZXJtaXNzaW9uRGVjaXNpb25EZW55KTsK
ICAgICBhc2tlZENsaWVudEZvclBlcm1pc3Npb24gPSB0cnVlOwogfQogCkBAIC00MDIsNCArNDAz
LDg4IEBAIFRFU1QoRGV2aWNlT3JpZW50YXRpb24sIFBlcm1pc3Npb25TZWN1cmVDb250ZXh0Q2hl
Y2tEaXNhYmxlZCkKICAgICBydW5QZXJtaXNzaW9uU2VjdXJlQ29udGV4dENoZWNrVGVzdChTaG91
bGRFbmFibGVTZWN1cmVDb250ZXh0Q2hlY2tzOjpObyk7CiB9CiAKK0BpbnRlcmZhY2UgRGV2aWNl
T3JpZW50YXRpb25QZXJtaXNzaW9uVmFsaWRhdGlvbkRlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlE
ZWxlZ2F0ZVByaXZhdGU+CistICh2b2lkKXNldFZhbGlkYXRpb25IYW5kbGVyOihGdW5jdGlvbjx2
b2lkKFdLU2VjdXJpdHlPcmlnaW4qLCBXS0ZyYW1lSW5mbyopPiYmKXZhbGlkYXRpb25IYW5kbGVy
OworQGVuZAorCitAaW1wbGVtZW50YXRpb24gRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uVmFs
aWRhdGlvbkRlbGVnYXRlIHsKK0Z1bmN0aW9uPHZvaWQoV0tTZWN1cml0eU9yaWdpbiosIFdLRnJh
bWVJbmZvKik+IF92YWxpZGF0aW9uSGFuZGxlcjsKK30KKy0gKHZvaWQpc2V0VmFsaWRhdGlvbkhh
bmRsZXI6KEZ1bmN0aW9uPHZvaWQoV0tTZWN1cml0eU9yaWdpbiosIFdLRnJhbWVJbmZvKik+JiYp
dmFsaWRhdGlvbkhhbmRsZXIgeworICAgIF92YWxpZGF0aW9uSGFuZGxlciA9IFdURk1vdmUodmFs
aWRhdGlvbkhhbmRsZXIpOworfQorCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IHJlcXVlc3REZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvblBlcm1pc3Npb25Gb3JPcmlnaW46
KFdLU2VjdXJpdHlPcmlnaW4qKW9yaWdpbiBpbml0aWF0ZWRCeUZyYW1lOihXS0ZyYW1lSW5mbyAq
KWZyYW1lIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoX1dLUGVybWlzc2lvbkRlY2lzaW9uIGRl
Y2lzaW9uKSlkZWNpc2lvbkhhbmRsZXIgeworICAgIGlmIChfdmFsaWRhdGlvbkhhbmRsZXIpCisg
ICAgICAgIF92YWxpZGF0aW9uSGFuZGxlcihvcmlnaW4sIGZyYW1lKTsKKworICAgIGFza2VkQ2xp
ZW50Rm9yUGVybWlzc2lvbiAgPSB0cnVlOworICAgIGRlY2lzaW9uSGFuZGxlcihfV0tQZXJtaXNz
aW9uRGVjaXNpb25HcmFudCk7Cit9CitAZW5kCisKK3N0YXRpYyBjb25zdCBjaGFyKiBtYWluRnJh
bWVUZXh0ID0gUiJET0NET0NET0MoCis8aHRtbD48Ym9keT4KKzxpZnJhbWUgc3JjPSdodHRwczov
LzEyNy4wLjAuMTo5MDkxL2ZyYW1lJyBhbGxvdz0nYWNjZWxlcm9tZXRlcjpodHRwczovLzEyNy4w
LjAuMTo5MDkxO2d5cm9zY29wZTpodHRwczovLzEyNy4wLjAuMTo5MDkxO21hZ25ldG9tZXRlcjpo
dHRwczovLzEyNy4wLjAuMTo5MDkxJz48L2lmcmFtZT4KKzwvYm9keT48L2h0bWw+CispRE9DRE9D
RE9DIjsKK3N0YXRpYyBjb25zdCBjaGFyKiBmcmFtZVRleHQgPSBSIkRPQ0RPQ0RPQygKKzxodG1s
Pjxib2R5PjwvYm9keT48L2h0bWw+CispRE9DRE9DRE9DIjsKKworVEVTVChXZWJLaXQsIERldmlj
ZU9yaWVudGF0aW9uUGVybWlzc2lvbkluSUZyYW1lKQoreworICAgIFRlc3RXZWJLaXRBUEk6OkhU
VFBTZXJ2ZXIgc2VydmVyMSh7CisgICAgICAgIHsgIi8iLCB7IG1haW5GcmFtZVRleHQgfSB9Cisg
ICAgfSwgVGVzdFdlYktpdEFQSTo6SFRUUFNlcnZlcjo6UHJvdG9jb2w6Okh0dHBzLCBudWxscHRy
LCBudWxscHRyLCA5MDkwKTsKKworICAgIFRlc3RXZWJLaXRBUEk6OkhUVFBTZXJ2ZXIgc2VydmVy
Mih7CisgICAgICAgIHsgIi9mcmFtZSIsIHsgZnJhbWVUZXh0IH0gfSwKKyAgICB9LCBUZXN0V2Vi
S2l0QVBJOjpIVFRQU2VydmVyOjpQcm90b2NvbDo6SHR0cHMsIG51bGxwdHIsIG51bGxwdHIsIDkw
OTEpOworCisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVz
dFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAw
KSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8gcGVybWlz
c2lvbkRlbGVnYXRlID0gYWRvcHROUyhbW0RldmljZU9yaWVudGF0aW9uUGVybWlzc2lvblZhbGlk
YXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6
cGVybWlzc2lvbkRlbGVnYXRlLmdldCgpXTsKKworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRl
ID0gYWRvcHROUyhbVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZSBuZXddKTsKKyAgICBbbmF2aWdhdGlv
bkRlbGVnYXRlIHNldERpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTpeKFdLV2ViVmll
dyAqLCBOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICpjaGFsbGVuZ2UsIHZvaWQgKF5jYWxs
YmFjaykoTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5nZURpc3Bvc2l0aW9uLCBOU1VSTENyZWRlbnRp
YWwgKikpIHsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKGNoYWxsZW5nZS5wcm90ZWN0aW9uU3Bh
Y2UuYXV0aGVudGljYXRpb25NZXRob2QsIE5TVVJMQXV0aGVudGljYXRpb25NZXRob2RTZXJ2ZXJU
cnVzdCk7CisgICAgICAgIGNhbGxiYWNrKE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVuZ2VVc2VDcmVk
ZW50aWFsLCBbTlNVUkxDcmVkZW50aWFsIGNyZWRlbnRpYWxGb3JUcnVzdDpjaGFsbGVuZ2UucHJv
dGVjdGlvblNwYWNlLnNlcnZlclRydXN0XSk7CisgICAgfV07CisgICAgX19ibG9jayBib29sIGRp
ZEZpbmlzaE5hdmlnYXRpb24gPSBmYWxzZTsKKyAgICBbbmF2aWdhdGlvbkRlbGVnYXRlIHNldERp
ZEZpbmlzaE5hdmlnYXRpb246XihXS1dlYlZpZXcgKiwgV0tOYXZpZ2F0aW9uICopIHsKKyAgICAg
ICAgZGlkRmluaXNoTmF2aWdhdGlvbiA9IHRydWU7CisgICAgfV07CisgICAgUmV0YWluUHRyPFdL
RnJhbWVJbmZvPiBmcmFtZTsKKyAgICBbbmF2aWdhdGlvbkRlbGVnYXRlIHNldERlY2lkZVBvbGlj
eUZvck5hdmlnYXRpb25BY3Rpb246WyZdKFdLTmF2aWdhdGlvbkFjdGlvbiAqYWN0aW9uLCB2b2lk
ICheZGVjaXNpb25IYW5kbGVyKShXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3kpKSB7CisgICAgICAg
IGlmIChhY3Rpb24udGFyZ2V0RnJhbWUgJiYgIWFjdGlvbi50YXJnZXRGcmFtZS5pc01haW5GcmFt
ZSkKKyAgICAgICAgICAgIGZyYW1lID0gYWN0aW9uLnRhcmdldEZyYW1lOworICAgICAgICBkZWNp
c2lvbkhhbmRsZXIoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5QWxsb3cpOworICAgIH1dOworCisg
ICAgd2ViVmlldy5nZXQoKS5uYXZpZ2F0aW9uRGVsZWdhdGUgPSBuYXZpZ2F0aW9uRGVsZWdhdGUu
Z2V0KCk7CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpzZXJ2ZXIxLnJlcXVlc3QoKV07Cisg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRGaW5pc2hOYXZpZ2F0aW9uKTsKKworICAg
IFtwZXJtaXNzaW9uRGVsZWdhdGUgc2V0VmFsaWRhdGlvbkhhbmRsZXI6WyZ3ZWJWaWV3XShXS1Nl
Y3VyaXR5T3JpZ2luICpvcmlnaW4sIFdLRnJhbWVJbmZvICpmcmFtZSkgeworICAgICAgICBFWFBF
Q1RfV0tfU1RSRVEob3JpZ2luLnByb3RvY29sLCBAImh0dHBzIik7CisgICAgICAgIEVYUEVDVF9X
S19TVFJFUShvcmlnaW4uaG9zdCwgQCIxMjcuMC4wLjEiKTsKKyAgICAgICAgRVhQRUNUX0VRKG9y
aWdpbi5wb3J0LCA5MDkwKTsKKworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoZnJhbWUuc2VjdXJp
dHlPcmlnaW4ucHJvdG9jb2wsIEAiaHR0cHMiKTsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKGZy
YW1lLnNlY3VyaXR5T3JpZ2luLmhvc3QsIEAiMTI3LjAuMC4xIik7CisgICAgICAgIEVYUEVDVF9F
UShmcmFtZS5zZWN1cml0eU9yaWdpbi5wb3J0LCA5MDkxKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNF
KGZyYW1lLmlzTWFpbkZyYW1lKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoZnJhbWUud2ViVmlldyA9
PSB3ZWJWaWV3KTsKKyAgICB9XTsKKworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpA
IkRldmljZU9yaWVudGF0aW9uRXZlbnQucmVxdWVzdFBlcm1pc3Npb24oKSIgaW5GcmFtZTpmcmFt
ZS5nZXQoKSBpbkNvbnRlbnRXb3JsZDpXS0NvbnRlbnRXb3JsZC5wYWdlV29ybGQgY29tcGxldGlv
bkhhbmRsZXI6IFsmXSAoaWQgcmVzdWx0LCBOU0Vycm9yICplcnJvcikgeyB9XTsKKworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmYXNrZWRDbGllbnRGb3JQZXJtaXNzaW9uKTsKKworfQor
CiAjZW5kaWYgLy8gRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikgJiYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
V2Vic2l0ZVBvbGljaWVzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9XZWJzaXRlUG9saWNpZXMubW0KaW5kZXggZjA0MzMyYTIwZjk5ZTFkYWUzMDcyNDZmNGQ2NmJl
NWFhYTJiMzZhYS4uMTc4MGM2MmZkZjEwMWMxNTRlYWY0MmMzZmFiNjY4ZjFmMGVmNTUzYSAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9s
aWNpZXMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJz
aXRlUG9saWNpZXMubW0KQEAgLTE0ODEsMTAgKzE0ODEsMTAgQEAgc3RhdGljIGJvb2wgY2FsbGVk
U2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0RlbGVnYXRlID0gZmFs
c2U7CiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJzaXRlUG9saWNpZXNEZXZpY2VPcmllbnRhdGlvblVJ
RGVsZWdhdGUKIAotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzaG91bGRB
bGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZTooV0tG
cmFtZUluZm8gKilyZXF1ZXN0aW5nRnJhbWUgZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShCT09M
KSlkZWNpc2lvbkhhbmRsZXIKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
cmVxdWVzdERldmljZU9yaWVudGF0aW9uQW5kTW90aW9uUGVybWlzc2lvbkZvck9yaWdpbjooV0tT
ZWN1cml0eU9yaWdpbiopb3JpZ2luIGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZvICopcmVx
dWVzdGluZ0ZyYW1lIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoX1dLUGVybWlzc2lvbkRlY2lz
aW9uKSlkZWNpc2lvbkhhbmRsZXIKIHsKICAgICBjYWxsZWRTaG91bGRBbGxvd0RldmljZU9yaWVu
dGF0aW9uQW5kTW90aW9uQWNjZXNzRGVsZWdhdGUgPSB0cnVlOwotICAgIGRlY2lzaW9uSGFuZGxl
cihZRVMpOworICAgIGRlY2lzaW9uSGFuZGxlcihfV0tQZXJtaXNzaW9uRGVjaXNpb25HcmFudCk7
CiB9CiAKIEBlbmQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423337</attachid>
            <date>2021-03-16 08:59:21 -0700</date>
            <delta_ts>2021-03-17 01:10:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223247-20210316165918.patch</filename>
            <type>text/plain</type>
            <size>53556</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUxYTcwYTMxYTcyYmEyYTU3
YWZhYzk2MzE1MWI2MmU0OTFlMzFjMmUuLjRiMTQ0YzMwMjliZDE4ZWE4ZGYwMzMzZmQwNTE3MGZl
MTNlZjVlNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjEtMDMtMTYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFsaWduIGRldmljZSBvcmllbnRh
dGlvbiBkZWxlZ2F0ZSB0byBnZXRVc2VyTWVkaWEvZ2VvbG9jYXRpb24gZGVsZWdhdGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyNDcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvciBjb2Rl
IHRvIG1vdmUgZGV2aWNlIG9yaWVudGF0aW9uIHByb21wdCBpbXBsZW1lbnRhdGlvbiB3aXRoIG90
aGVyIHByb21wdHMgaW4gTWVkaWFQZXJtaXNzaW9uVXRpbGl0aWVzLgorICAgICAgICBVcGRhdGUg
Y29kZSB0byB1c2UgdG9wIGxldmVsIG9yaWdpbiBmb3IgcHJvbXB0LgorICAgICAgICBVcGRhdGUg
ZGVsZWdhdGUgdG8gcHJvdmlkZSBib3RoIHRvcCBsZXZlbCBvcmlnaW4gYW5kIGluaXRpYXRpbmcg
aWZyYW1lIGFzIHBhcmFtZXRlcnMuCisgICAgICAgIFVwZGF0ZSB0aGUgZGVjaXNpb24gaGFuZGxl
ciB0byB0YWtlciBncmFudCwgZGVueSBvciBwcm9tcHQgcGFyYW1ldGVyLgorCisgICAgICAgIENv
dmVyZWQgYnkgQVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVJ
bmZvUmVmLmNwcDoKKyAgICAgICAgKFdLRnJhbWVJbmZvQ29weVNlY3VyaXR5T3JpZ2luKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tGcmFtZUluZm9SZWYuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VVSUNsaWVudCk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL01lZGlhUGVybWlzc2lvblV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYktp
dDo6YWxlcnRNZXNzYWdlVGV4dCk6CisgICAgICAgIChXZWJLaXQ6OmFsbG93QnV0dG9uVGV4dCk6
CisgICAgICAgIChXZWJLaXQ6OmRvTm90QWxsb3dCdXR0b25UZXh0KToKKyAgICAgICAgKFdlYktp
dDo6YWxlcnRGb3JQZXJtaXNzaW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAg
ICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OlVJ
RGVsZWdhdGU6OlVJQ2xpZW50OjpzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9u
QWNjZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0Fs
ZXJ0Lmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25B
Y2Nlc3NBbGVydC5tbTogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvTWVkaWFQZXJtaXNz
aW9uVXRpbGl0aWVzLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYkRldmlj
ZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlcjo6c2hvdWxk
QWxsb3dBY2Nlc3MpOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorCiAyMDIxLTAzLTE2ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtTT1VQXSBGaXggU09VUDMgZGVidWcgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVJbmZvUmVmLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLRnJhbWVJbmZvUmVmLmNwcAppbmRleCBhZTVmZTEzM2Y0YzczYjRkMTYx
ZDY4NjcxMmRiOTJjNTA5YTFjMzkyLi4wNTZiZjJhMTBjNGVjYzg2ZTdhMDM0NWIwNTU4ODNmZmY0
ZTBmNjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1l
SW5mb1JlZi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZUlu
Zm9SZWYuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBUElGcmFtZUhhbmRsZS5o
IgogI2luY2x1ZGUgIkFQSUZyYW1lSW5mby5oIgorI2luY2x1ZGUgIkFQSVNlY3VyaXR5T3JpZ2lu
LmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CkBA
IC00MSwzICs0Miw5IEBAIFdLRnJhbWVIYW5kbGVSZWYgV0tGcmFtZUluZm9DcmVhdGVGcmFtZUhh
bmRsZVJlZihXS0ZyYW1lSW5mb1JlZiBmcmFtZUluZm9SZWYpCiB7CiAgICAgcmV0dXJuIHRvQVBJ
KCZ0b0ltcGwoZnJhbWVJbmZvUmVmKS0+aGFuZGxlKCkubGVha1JlZigpKTsKIH0KKworV0tTZWN1
cml0eU9yaWdpblJlZiBXS0ZyYW1lSW5mb0NvcHlTZWN1cml0eU9yaWdpbihXS0ZyYW1lSW5mb1Jl
ZiBmcmFtZUluZm9SZWYpCit7CisgICAgYXV0byBvcmlnaW4gPSB0b0ltcGwoZnJhbWVJbmZvUmVm
KS0+c2VjdXJpdHlPcmlnaW4oKTsKKyAgICByZXR1cm4gdG9BUEkoJkFQSTo6U2VjdXJpdHlPcmln
aW46OmNyZWF0ZShvcmlnaW4ucHJvdG9jb2wsIG9yaWdpbi5ob3N0LCBvcmlnaW4ucG9ydCkubGVh
a1JlZigpKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
RnJhbWVJbmZvUmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lSW5m
b1JlZi5oCmluZGV4IDZlNzkxNWMxODJhZGQ3MmJiNWU3NjcwYzE1NmVhY2Y4NDg3YmJiMTQuLjYw
YjkzMDU0Yjc5MGY1YTE4ODM0OGM0MzVlN2Q1Yjc5ZTI2NDk2MjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVJbmZvUmVmLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZUluZm9SZWYuaApAQCAtMzMsOCArMzMsOCBAQCBl
eHRlcm4gIkMiIHsKICNlbmRpZgogCiBXS19FWFBPUlQgV0tUeXBlSUQgV0tGcmFtZUluZm9HZXRU
eXBlSUQoKTsKLQogV0tfRVhQT1JUIFdLRnJhbWVIYW5kbGVSZWYgV0tGcmFtZUluZm9DcmVhdGVG
cmFtZUhhbmRsZVJlZihXS0ZyYW1lSW5mb1JlZiBmcmFtZUluZm8pOworV0tfRVhQT1JUIFdLU2Vj
dXJpdHlPcmlnaW5SZWYgV0tGcmFtZUluZm9Db3B5U2VjdXJpdHlPcmlnaW4oV0tGcmFtZUluZm9S
ZWYgZnJhbWVJbmZvUmVmKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCAzMzYwMDc2OTE1MTQ3ZGNmYjlkMGE5ZGVj
N2MyODAzODQ0N2U3ODU0Li43MmRmZWQ5MGMxYzVjMDIzMjA4ZWE0OTIzOTIxZTBhYTViYTA3ZTUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTE5MjgsMTMg
KzE5MjgsMTQgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYs
IGNvbnN0IFdLUGFnZVVJQ2xpZW50QmFzZSogd2tDbGllbnQKICAgICAgICAgfQogCiAjaWYgRU5B
QkxFKERFVklDRV9PUklFTlRBVElPTikKLSAgICAgICAgdm9pZCBzaG91bGRBbGxvd0RldmljZU9y
aWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKFdlYlBhZ2VQcm94eSYgcGFnZSwgV2ViRnJhbWVQcm94
eSYsIEZyYW1lSW5mb0RhdGEmJiBmcmFtZUluZm8sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsCisgICAgICAgIHZvaWQgc2hvdWxkQWxsb3dE
ZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2VzcyhXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYkZy
YW1lUHJveHkmIGZyYW1lLCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbmZvLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbAogICAgICAgICB7CiAg
ICAgICAgICAgICBpZiAoIW1fY2xpZW50LnNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRN
b3Rpb25BY2Nlc3MpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZh
bHNlKTsKIAotICAgICAgICAgICAgYXV0byBvcmlnaW4gPSBBUEk6OlNlY3VyaXR5T3JpZ2luOjpj
cmVhdGUoZnJhbWVJbmZvLnNlY3VyaXR5T3JpZ2luLnNlY3VyaXR5T3JpZ2luKCkpOwotICAgICAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIobV9jbGllbnQuc2hvdWxkQWxsb3dEZXZpY2VPcmllbnRh
dGlvbkFuZE1vdGlvbkFjY2Vzcyh0b0FQSSgmcGFnZSksIHRvQVBJKG9yaWdpbi5wdHIoKSksIG1f
Y2xpZW50LmJhc2UuY2xpZW50SW5mbykpOworICAgICAgICAgICAgYXV0byBvcmlnaW4gPSBBUEk6
OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmco
cGFnZS5wYWdlTG9hZFN0YXRlKCkuYWN0aXZlVVJMKCkpLmdldCgpKTsKKyAgICAgICAgICAgIGF1
dG8gYXBpRnJhbWVJbmZvID0gQVBJOjpGcmFtZUluZm86OmNyZWF0ZShXVEZNb3ZlKGZyYW1lSW5m
byksICZwYWdlKTsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1fY2xpZW50LnNob3Vs
ZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3ModG9BUEkoJnBhZ2UpLCB0b0FQ
SShvcmlnaW4ucHRyKCkpLCB0b0FQSShhcGlGcmFtZUluZm8ucHRyKCkpLCBtX2NsaWVudC5iYXNl
LmNsaWVudEluZm8pKTsKICAgICAgICAgfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCmluZGV4IDNkMzE1YmU2MTM0OGRkN2QyNDY3
YmFhOTRkZWE0YWU3MTFjMjc4MDMuLmVkOTgwYmUxN2NkZjlmYWVjM2Y3YWYxYmRjN2NmZDY0MGJh
YjhmYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJ
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGll
bnQuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHR5cGVkZWYgdm9pZCAoKldLRGlkTG9zZVBvaW50ZXJM
b2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJCiB0eXBlZGVm
IHZvaWQgKCpXS0hhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlQ2FsbGJhY2spKFdL
UGFnZVJlZiBwYWdlLCBib29sIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLRGlkRXhjZWVkQmFja2dyb3VuZFJlc291
cmNlTGltaXRXaGlsZUluRm9yZWdyb3VuZENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tSZXNv
dXJjZUxpbWl0IGxpbWl0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAo
KldLUGFnZURpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZUNhbGxi
YWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGll
bnRJbmZvKTsKLXR5cGVkZWYgYm9vbCAoKldLUGFnZVNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRp
b25BbmRNb3Rpb25BY2Nlc3NDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU2VjdXJpdHlPcmln
aW5SZWYgc2VjdXJpdHlPcmlnaW4sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiBi
b29sICgqV0tQYWdlU2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0Nh
bGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTZWN1cml0eU9yaWdpblJlZiBzZWN1cml0eU9yaWdp
biwgV0tGcmFtZUluZm9SZWYgZnJhbWUsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogCiB0eXBl
ZGVmIHZvaWQgKCpXS1BhZ2VSdW5XZWJBdXRoZW50aWNhdGlvblBhbmVsQ2FsbGJhY2spKCk7CiB0
eXBlZGVmIHZvaWQgKCpXS1BhZ2VEZWNpZGVQb2xpY3lGb3JTcGVlY2hSZWNvZ25pdGlvblBlcm1p
c3Npb25SZXF1ZXN0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5T3JpZ2luUmVm
IHRvcE9yaWdpbiwgV0tTcGVlY2hSZWNvZ25pdGlvblBlcm1pc3Npb25DYWxsYmFja1JlZiBjYWxs
YmFjayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tV
SURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
VUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCBlZWJhN2E5YzEyOGRiYmZiODA3MWJkMDBlNzdiYzA3
MTkwYzA3ZmVmLi5lNjY1OGU1M2NjM2ExMDU2NzA1ZmJkYWE4NzFiOGRlNGIzMTBkMDg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmgKQEAgLTIyMCwxMSArMjIwLDEwIEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAK
IC8qISBAYWJzdHJhY3QgQWxsb3dzIHlvdXIgYXBwIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5v
dCB0aGUgZ2l2ZW4gc2VjdXJpdHkgb3JpZ2luIHNob3VsZCBoYXZlIGFjY2VzcyB0byB0aGUgZGV2
aWNlJ3Mgb3JpZW50YXRpb24gYW5kIG1vdGlvbi4KICBAcGFyYW0gc2VjdXJpdHlPcmlnaW4gVGhl
IHNlY3VyaXR5IG9yaWdpbiB3aGljaCByZXF1ZXN0ZWQgYWNjZXNzIHRvIHRoZSBkZXZpY2UncyBv
cmllbnRhdGlvbiBhbmQgbW90aW9uLgotIEBwYXJhbSBkZWNpc2lvbkhhbmRsZXIgVGhlIGRlY2lz
aW9uIGhhbmRsZXIgdG8gY2FsbCBvbmNlIHRoZSBhcHAgaGFzIG1hZGUgaXRzIGRlY2lzaW9uLiBQ
YXNzIFlFUyB0byBhbGxvdyB0aGUgb3JpZ2luIGFjY2VzcywgTk8gb3RoZXJ3aXNlLgotCi0gSWYg
eW91IGRvIG5vdCBpbXBsZW1lbnQgdGhpcyBtZXRob2QsIGFjY2VzcyB0byB0aGUgZGV2aWNlJ3Mg
b3JpZW50YXRpb24gYW5kIG1vdGlvbiB3aWxsIGJlIGdyYW50ZWQuCisgQHBhcmFtIGZyYW1lIFRo
ZSBmcmFtZSB0aGF0IGluaXRpYXRlZCB0aGUgcmVxdWVzdC4KKyBAcGFyYW0gZGVjaXNpb25IYW5k
bGVyIFRoZSBkZWNpc2lvbiBoYW5kbGVyIHRvIGNhbGwgb25jZSB0aGUgYXBwIGhhcyBtYWRlIGl0
cyBkZWNpc2lvbi4KICAqLwotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBz
aG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFt
ZTooV0tGcmFtZUluZm8gKilyZXF1ZXN0aW5nRnJhbWUgZGVjaXNpb25IYW5kbGVyOih2b2lkIChe
KShCT09MKSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTMuMCkpOworLSAo
dm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0RGV2aWNlT3JpZW50YXRp
b25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOihXS1NlY3VyaXR5T3JpZ2luKilvcmlnaW4g
aW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBkZWNpc2lvbkhhbmRsZXI6KHZv
aWQgKF4pKF9XS1Blcm1pc3Npb25EZWNpc2lvbiBkZWNpc2lvbikpZGVjaXNpb25IYW5kbGVyIFdL
X0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKIAogI2Vsc2UgLy8gIVRBUkdFVF9PU19J
UEhPTkUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFQ
ZXJtaXNzaW9uVXRpbGl0aWVzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVk
aWFQZXJtaXNzaW9uVXRpbGl0aWVzLm1tCmluZGV4IDlkMjNkY2VhMzMzMTExZjJhYzc1Yjk5YTA3
ZjFhMzBlMzFmYWZiZWYuLjc5MThkMzAxMDMzMTYxN2JlY2U3N2UyMjcwYzgyYzhhOWFhNmI1NjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhUGVybWlzc2lv
blV0aWxpdGllcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRpYVBl
cm1pc3Npb25VdGlsaXRpZXMubW0KQEAgLTEzNSw2ICsxMzUsOCBAQCBzdGF0aWMgTlNTdHJpbmcg
KmFsZXJ0TWVzc2FnZVRleHQoTWVkaWFQZXJtaXNzaW9uUmVhc29uIHJlYXNvbiwgY29uc3QgV2Vi
Q29yZTo6UwogICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJ
X05TU1RSSU5HKEAiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlvdXIgY2FtZXJhIGFuZCBtaWNyb3Bo
b25lPyIsIEAiTWVzc2FnZSBmb3IgdXNlciBtZWRpYSBwcm9tcHQiKSwgdmlzaWJsZU9yaWdpbl07
CiAgICAgY2FzZSBNZWRpYVBlcm1pc3Npb25SZWFzb246Ok1pY3JvcGhvbmU6CiAgICAgICAgIHJl
dHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkcoQCJBbGxvdyDi
gJwlQOKAnSB0byB1c2UgeW91ciBtaWNyb3Bob25lPyIsIEAiTWVzc2FnZSBmb3IgdXNlciBtaWNy
b3Bob25lIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZU9yaWdpbl07CisgICAgY2FzZSBNZWRpYVBl
cm1pc3Npb25SZWFzb246OkRldmljZU9yaWVudGF0aW9uOgorICAgICAgICByZXR1cm4gW05TU3Ry
aW5nIHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX05TU1RSSU5HKEAi4oCcJUDigJ0gV291bGQgTGlr
ZSB0byBBY2Nlc3MgTW90aW9uIGFuZCBPcmllbnRhdGlvbiIsIEAiTWVzc2FnZSBmb3IgcmVxdWVz
dGluZyBhY2Nlc3MgdG8gdGhlIGRldmljZSBtb3Rpb24gYW5kIG9yaWVudGF0aW9uIiksIHZpc2li
bGVPcmlnaW5dOwogICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpHZW9sb2NhdGlvbjoK
ICAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9OU1NUUklO
RyhAIkFsbG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIGN1cnJlbnQgbG9jYXRpb24/IiwgQCJNZXNz
YWdlIGZvciBnZW9sb2NhdGlvbiBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4uaG9zdCld
OwogICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpTcGVlY2hSZWNvZ25pdGlvbjoKQEAg
LTE0OSw2ICsxNTEsOCBAQCBzdGF0aWMgTlNTdHJpbmcgKmFsbG93QnV0dG9uVGV4dChNZWRpYVBl
cm1pc3Npb25SZWFzb24gcmVhc29uKQogICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpD
YW1lcmFBbmRNaWNyb3Bob25lOgogICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpNaWNy
b3Bob25lOgogICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoQCJBbGxvdyIsICJBbGxv
dyAodXNlcm1lZGlhKSIsIEAiQWxsb3cgYnV0dG9uIHRpdGxlIGluIHVzZXIgbWVkaWEgcHJvbXB0
Iik7CisgICAgY2FzZSBNZWRpYVBlcm1pc3Npb25SZWFzb246OkRldmljZU9yaWVudGF0aW9uOgor
ICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoQCJBbGxvdyIsICJBbGxvdyAoZGV2aWNl
IG1vdGlvbiBhbmQgb3JpZW50YXRpb24gYWNjZXNzKSIsIEAiQnV0dG9uIHRpdGxlIGluIERldmlj
ZSBPcmllbnRhdGlvbiBQZXJtaXNzaW9uIEFQSSBwcm9tcHQiKTsKICAgICBjYXNlIE1lZGlhUGVy
bWlzc2lvblJlYXNvbjo6R2VvbG9jYXRpb246CiAgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5H
X0tFWShAIkFsbG93IiwgIkFsbG93IChnZW9sb2NhdGlvbikiLCBAIkFsbG93IGJ1dHRvbiB0aXRs
ZSBpbiBnZW9sb2NhdGlvbiBwcm9tcHQiKTsKICAgICBjYXNlIE1lZGlhUGVybWlzc2lvblJlYXNv
bjo6U3BlZWNoUmVjb2duaXRpb246CkBAIC0xNjMsNiArMTY3LDggQEAgc3RhdGljIE5TU3RyaW5n
ICpkb05vdEFsbG93QnV0dG9uVGV4dChNZWRpYVBlcm1pc3Npb25SZWFzb24gcmVhc29uKQogICAg
IGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpDYW1lcmFBbmRNaWNyb3Bob25lOgogICAgIGNh
c2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpNaWNyb3Bob25lOgogICAgICAgICByZXR1cm4gV0VC
X1VJX1NUUklOR19LRVkoQCJEb27igJl0IEFsbG93IiwgIkRvbuKAmXQgQWxsb3cgKHVzZXJtZWRp
YSkiLCBAIkRpc2FsbG93IGJ1dHRvbiB0aXRsZSBpbiB1c2VyIG1lZGlhIHByb21wdCIpOworICAg
IGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpEZXZpY2VPcmllbnRhdGlvbjoKKyAgICAgICAg
cmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKEAiQ2FuY2VsIiwgIkNhbmNlbCAoZGV2aWNlIG1vdGlv
biBhbmQgb3JpZW50YXRpb24gYWNjZXNzKSIsIEAiQnV0dG9uIHRpdGxlIGluIERldmljZSBPcmll
bnRhdGlvbiBQZXJtaXNzaW9uIEFQSSBwcm9tcHQiKTsKICAgICBjYXNlIE1lZGlhUGVybWlzc2lv
blJlYXNvbjo6R2VvbG9jYXRpb246CiAgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWShA
IkRvbuKAmXQgQWxsb3ciLCAiRG9u4oCZdCBBbGxvdyAoZ2VvbG9jYXRpb24pIiwgQCJEaXNhbGxv
dyBidXR0b24gdGl0bGUgaW4gZ2VvbG9jYXRpb24gcHJvbXB0Iik7CiAgICAgY2FzZSBNZWRpYVBl
cm1pc3Npb25SZWFzb246OlNwZWVjaFJlY29nbml0aW9uOgpAQCAtMTcyLDYgKzE3OCwxMyBAQCBz
dGF0aWMgTlNTdHJpbmcgKmRvTm90QWxsb3dCdXR0b25UZXh0KE1lZGlhUGVybWlzc2lvblJlYXNv
biByZWFzb24pCiAKIHZvaWQgYWxlcnRGb3JQZXJtaXNzaW9uKFdlYlBhZ2VQcm94eSYgcGFnZSwg
TWVkaWFQZXJtaXNzaW9uUmVhc29uIHJlYXNvbiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW5EYXRhJiBvcmlnaW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAocmVhc29uID09
IE1lZGlhUGVybWlzc2lvblJlYXNvbjo6RGV2aWNlT3JpZW50YXRpb24pIHsKKyAgICAgICAgaWYg
KGF1dG8mIHVzZXJQZXJtaXNzaW9uSGFuZGxlciA9IHBhZ2UuZGV2aWNlT3JpZW50YXRpb25Vc2Vy
UGVybWlzc2lvbkhhbmRsZXJGb3JUZXN0aW5nKCkpCisgICAgICAgICAgICByZXR1cm4gY29tcGxl
dGlvbkhhbmRsZXIodXNlclBlcm1pc3Npb25IYW5kbGVyKCkpOworICAgIH0KKyNlbmRpZgorCiAg
ICAgYXV0byAqd2ViVmlldyA9IGZyb21XZWJQYWdlUHJveHkocGFnZSk7CiAgICAgaWYgKCF3ZWJW
aWV3KSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAppbmRleCA2NjE5ZmY0ZWJmNmY3YTIxNGRkMWMz
OGE0ZjYyNDc1ZGFlY2FjZmFlLi43MmE0NWE0Yzk3NWUzNmI3ZWVkMDBkNGM5ZGU4NTQwMzhiMjgz
ZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCkBAIC0y
MTIsNyArMjEyLDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCB3ZWJWaWV3V2lsbENsb3NlTG9j
YWxJbnNwZWN0b3IgOiAxOwogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikK
LSAgICAgICAgYm9vbCB3ZWJWaWV3U2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlv
bkFjY2Vzc1JlcXVlc3RlZEJ5RnJhbWVEZWNpc2lvbkhhbmRsZXIgOiAxOworICAgICAgICBib29s
IHdlYlZpZXdSZXF1ZXN0RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3Jp
Z2luRGVjaXNpb25IYW5kbGVyIDogMTsKICNlbmRpZgogICAgICAgICBib29sIHdlYlZpZXdEZWNp
ZGVEYXRhYmFzZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW5DdXJyZW50UXVvdGFDdXJyZW50T3JpZ2lu
VXNhZ2VDdXJyZW50RGF0YWJhc2VVc2FnZUV4cGVjdGVkVXNhZ2VEZWNpc2lvbkhhbmRsZXIgOiAx
OwogICAgICAgICBib29sIHdlYlZpZXdEZWNpZGVEYXRhYmFzZVF1b3RhRm9yU2VjdXJpdHlPcmln
aW5EYXRhYmFzZU5hbWVEaXNwbGF5TmFtZUN1cnJlbnRRdW90YUN1cnJlbnRPcmlnaW5Vc2FnZUN1
cnJlbnREYXRhYmFzZVVzYWdlRXhwZWN0ZWRVc2FnZURlY2lzaW9uSGFuZGxlciA6IDE7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRleCBhY2I2ZjM2ZTYx
OWU2M2FhMGRkNWExZDU2NGQ5NjI2MDZlNTI2OWRlLi5jOGFiZWQ2MTQ1YTk4MmE4NjExNzY0OTE0
NTdmYWY0OGFhNWZlODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVs
ZWdhdGUubW0KQEAgLTQzLDcgKzQzLDYgQEAKICNpbXBvcnQgIldLTlNEaWN0aW9uYXJ5LmgiCiAj
aW1wb3J0ICJXS05hdmlnYXRpb25BY3Rpb25JbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tPcGVuUGFu
ZWxQYXJhbWV0ZXJzSW50ZXJuYWwuaCIKLSNpbXBvcnQgIldLT3JpZW50YXRpb25BY2Nlc3NBbGVy
dC5oIgogI2ltcG9ydCAiV0tTZWN1cml0eU9yaWdpbkludGVybmFsLmgiCiAjaW1wb3J0ICJXS1N0
b3JhZ2VBY2Nlc3NBbGVydC5oIgogI2ltcG9ydCAiV0tVSURlbGVnYXRlUHJpdmF0ZS5oIgpAQCAt
MTQwLDcgKzEzOSw3IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUoaWQgPFdLVUlEZWxl
Z2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1dpbGxDbG9zZUxv
Y2FsSW5zcGVjdG9yID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dl
YlZpZXc6d2lsbENsb3NlTG9jYWxJbnNwZWN0b3I6KV07CiAjZW5kaWYKICNpZiBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQotICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdTaG91bGRBbGxv
d0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZURlY2lzaW9u
SGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3
OnNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRCeUZy
YW1lOmRlY2lzaW9uSGFuZGxlcjopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UmVx
dWVzdERldmljZU9yaWVudGF0aW9uQW5kTW90aW9uUGVybWlzc2lvbkZvck9yaWdpbkRlY2lzaW9u
SGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3
OnJlcXVlc3REZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvblBlcm1pc3Npb25Gb3JPcmlnaW46aW5p
dGlhdGVkQnlGcmFtZTpkZWNpc2lvbkhhbmRsZXI6KV07CiAjZW5kaWYKICAgICBtX2RlbGVnYXRl
TWV0aG9kcy53ZWJWaWV3RGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luQ3VycmVu
dFF1b3RhQ3VycmVudE9yaWdpblVzYWdlQ3VycmVudERhdGFiYXNlVXNhZ2VFeHBlY3RlZFVzYWdl
RGVjaXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
X3dlYlZpZXc6ZGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luOmN1cnJlbnRRdW90
YTpjdXJyZW50T3JpZ2luVXNhZ2U6Y3VycmVudERhdGFiYXNlVXNhZ2U6ZXhwZWN0ZWRVc2FnZTpk
ZWNpc2lvbkhhbmRsZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RlY2lkZURh
dGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbkRhdGFiYXNlTmFtZURpc3BsYXlOYW1lQ3VycmVu
dFF1b3RhQ3VycmVudE9yaWdpblVzYWdlQ3VycmVudERhdGFiYXNlVXNhZ2VFeHBlY3RlZFVzYWdl
RGVjaXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
X3dlYlZpZXc6ZGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luOmRhdGFiYXNlTmFt
ZTpkaXNwbGF5TmFtZTpjdXJyZW50UXVvdGE6Y3VycmVudE9yaWdpblVzYWdlOmN1cnJlbnREYXRh
YmFzZVVzYWdlOmV4cGVjdGVkVXNhZ2U6ZGVjaXNpb25IYW5kbGVyOildOwpAQCAtMTA0MiwyNSAr
MTA0MSwzNSBAQCBib29sIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpydW5PcGVuUGFuZWwoV2ViUGFn
ZVByb3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5KiB3ZWJGcgogI2lmIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCiB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzaG91bGRBbGxvd0RldmljZU9y
aWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKFdlYktpdDo6V2ViUGFnZVByb3h5JiBwYWdlLCBXZWJG
cmFtZVByb3h5JiB3ZWJGcmFtZVByb3h5LCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbmZvLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGlm
ICghbV91aURlbGVnYXRlKQotICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFsc2Up
OwotCi0gICAgaWYgKCFtX3VpRGVsZWdhdGUtPm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdTaG91
bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZURl
Y2lzaW9uSGFuZGxlcikgewotICAgICAgICBwcmVzZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydCht
X3VpRGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5nZXQoKSwgZnJhbWVJbmZvLnNlY3VyaXR5T3Jp
Z2luLmhvc3QsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICBhdXRvIHNlY3VyaXR5
T3JpZ2luID0gV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcocGFnZS5w
YWdlTG9hZFN0YXRlKCkuYWN0aXZlVVJMKCkpOworICAgIGlmICghbV91aURlbGVnYXRlIHx8ICFt
X3VpRGVsZWdhdGUtPm1fZGVsZWdhdGUuZ2V0KCkgfHwgIW1fdWlEZWxlZ2F0ZS0+bV9kZWxlZ2F0
ZU1ldGhvZHMud2ViVmlld1JlcXVlc3REZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvblBlcm1pc3Np
b25Gb3JPcmlnaW5EZWNpc2lvbkhhbmRsZXIpIHsKKyAgICAgICAgYWxlcnRGb3JQZXJtaXNzaW9u
KHBhZ2UsIE1lZGlhUGVybWlzc2lvblJlYXNvbjo6RGV2aWNlT3JpZW50YXRpb24sIHNlY3VyaXR5
T3JpZ2luLT5kYXRhKCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAogICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUtPm1fZGVsZWdh
dGUuZ2V0KCk7Ci0gICAgaWYgKCFkZWxlZ2F0ZSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25I
YW5kbGVyKGZhbHNlKTsKLQotICAgIGF1dG8gY2hlY2tlciA9IENvbXBsZXRpb25IYW5kbGVyQ2Fs
bENoZWNrZXI6OmNyZWF0ZShkZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9yKF93ZWJWaWV3OnNob3Vs
ZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRCeUZyYW1lOmRl
Y2lzaW9uSGFuZGxlcjopKTsKLSAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0
ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5nZXQoKSBzaG91bGRBbGxv
d0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZTp3cmFwcGVy
KEFQSTo6RnJhbWVJbmZvOjpjcmVhdGUoV1RGTW92ZShmcmFtZUluZm8pLCAmcGFnZSkpIGRlY2lz
aW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlciksIGNoZWNrZXIgPSBXVEZNb3ZlKGNoZWNrZXIpXSAoQk9PTCBncmFudGVk
KSBtdXRhYmxlIHsKKyAgICBhdXRvIGNoZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVj
a2VyOjpjcmVhdGUoZGVsZWdhdGUuZ2V0KCksIEBzZWxlY3Rvcihfd2ViVmlldzpyZXF1ZXN0RGV2
aWNlT3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOmluaXRpYXRlZEJ5RnJh
bWU6ZGVjaXNpb25IYW5kbGVyOikpOworICAgIGF1dG8gZGVjaXNpb25IYW5kbGVyID0gbWFrZUJs
b2NrUHRyKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBz
ZWN1cml0eU9yaWdpbiA9IHNlY3VyaXR5T3JpZ2luLT5kYXRhKCksIGNoZWNrZXIgPSBXVEZNb3Zl
KGNoZWNrZXIpLCBwYWdlID0gbWFrZVdlYWtQdHIocGFnZSldKF9XS1Blcm1pc3Npb25EZWNpc2lv
biBkZWNpc2lvbikgbXV0YWJsZSB7CiAgICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFu
ZGxlckhhc0JlZW5DYWxsZWQoKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2hlY2tl
ci0+ZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KGdyYW50ZWQpOwotICAgIH0pLmdldCgpXTsKKyAgICAgICAgaWYgKCFwYWdlKSB7CisgICAgICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKyAgICAgICAgc3dpdGNoIChkZWNpc2lvbikgeworICAgICAgICBjYXNlIF9XS1Blcm1p
c3Npb25EZWNpc2lvblByb21wdDoKKyAgICAgICAgICAgIGFsZXJ0Rm9yUGVybWlzc2lvbigqcGFn
ZSwgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpEZXZpY2VPcmllbnRhdGlvbiwgc2VjdXJpdHlPcmln
aW4sIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIF9XS1Blcm1pc3Npb25EZWNpc2lvbkdyYW50OgorICAgICAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIodHJ1ZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBfV0tQ
ZXJtaXNzaW9uRGVjaXNpb25EZW55OgorICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZmFs
c2UpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9KTsKKyAgICBbKGlkIDxX
S1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUtPm1fd2Vi
Vmlldy5nZXQoKS5nZXQoKSByZXF1ZXN0RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNz
aW9uRm9yT3JpZ2luOndyYXBwZXIoQVBJOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHNlY3VyaXR5
T3JpZ2luLmdldCgpKSkgaW5pdGlhdGVkQnlGcmFtZTp3cmFwcGVyKEFQSTo6RnJhbWVJbmZvOjpj
cmVhdGUoV1RGTW92ZShmcmFtZUluZm8pLCAmcGFnZSkpIGRlY2lzaW9uSGFuZGxlcjpkZWNpc2lv
bkhhbmRsZXIuZ2V0KCldOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGU0MjJjNmJmNzFmNzI3YjMxNWVhYWZmZTNmY2U2MmE2NmMxNWM1
NTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNp
ZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQotCi0jaW1wb3J0IDx3dGYvRm9yd2FyZC5oPgot
Ci1AY2xhc3MgV0tXZWJWaWV3OwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotdm9pZCBwcmVzZW50
T3JpZW50YXRpb25BY2Nlc3NBbGVydChXS1dlYlZpZXcgKiwgY29uc3QgU3RyaW5nJiBob3N0LCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKLQotfQotCi0jZW5kaWYgLy8gRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbQpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYjRkZGVkZGZlZTU5YTlmNWE5NDc0Y2FmODhjZDUzYzg5OGU5YjFjMy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0KKysrIC9kZXYvbnVs
bApAQCAtMSw2OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1w
b3J0ICJXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCIKLQotI2lmIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCi0KLSNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCi0jaW1wb3J0ICJXS1dl
YlZpZXdQcml2YXRlLmgiCi0jaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKLSNpbXBvcnQgPFdlYkNv
cmUvTG9jYWxpemVkU3RyaW5ncy5oPgotI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi12b2lkIHByZXNlbnRPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0
KFdLV2ViVmlldyAqdmlldywgY29uc3QgU3RyaW5nJiBob3N0LCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIGlmIChhdXRvJiB1c2VyUGVy
bWlzc2lvbkhhbmRsZXIgPSB2aWV3Ll9wYWdlLT5kZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNz
aW9uSGFuZGxlckZvclRlc3RpbmcoKSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVy
KHVzZXJQZXJtaXNzaW9uSGFuZGxlcigpKTsKLQotICAgIE5TU3RyaW5nICphbGVydFRleHQgPSBb
TlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkcoQCLigJwlQOKAnSBXb3Vs
ZCBMaWtlIHRvIEFjY2VzcyBNb3Rpb24gYW5kIE9yaWVudGF0aW9uIiwgQCJNZXNzYWdlIGZvciBy
ZXF1ZXN0aW5nIGFjY2VzcyB0byB0aGUgZGV2aWNlIG1vdGlvbiBhbmQgb3JpZW50YXRpb24iKSwg
KE5TU3RyaW5nICopaG9zdF07Ci0gICAgVUlBbGVydENvbnRyb2xsZXIqIGFsZXJ0ID0gW1VJQWxl
cnRDb250cm9sbGVyIGFsZXJ0Q29udHJvbGxlcldpdGhUaXRsZTphbGVydFRleHQgbWVzc2FnZTpu
aWwgcHJlZmVycmVkU3R5bGU6VUlBbGVydENvbnRyb2xsZXJTdHlsZUFsZXJ0XTsKLQotICAgIGF1
dG8gY29tcGxldGlvbkJsb2NrID0gbWFrZUJsb2NrUHRyKFtjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShib29sIHNob3VsZEFsbG93KSBtdXRhYmxlIHsKLSAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoc2hvdWxkQWxsb3cpOwotICAgIH0pOwotCi0gICAgTlNT
dHJpbmcgKmNhbmNlbEJ1dHRvblN0cmluZyA9IFdFQl9VSV9TVFJJTkdfS0VZKEAiQ2FuY2VsIiwg
IkNhbmNlbCAoZGV2aWNlIG1vdGlvbiBhbmQgb3JpZW50YXRpb24gYWNjZXNzKSIsIEAiQnV0dG9u
IHRpdGxlIGluIERldmljZSBPcmllbnRhdGlvbiBQZXJtaXNzaW9uIEFQSSBwcm9tcHQiKTsKLSAg
ICBVSUFsZXJ0QWN0aW9uKiBjYW5jZWxBY3Rpb24gPSBbVUlBbGVydEFjdGlvbiBhY3Rpb25XaXRo
VGl0bGU6Y2FuY2VsQnV0dG9uU3RyaW5nIHN0eWxlOlVJQWxlcnRBY3Rpb25TdHlsZUNhbmNlbCBo
YW5kbGVyOltjb21wbGV0aW9uQmxvY2tdKFVJQWxlcnRBY3Rpb24gKmFjdGlvbikgewotICAgICAg
ICBjb21wbGV0aW9uQmxvY2soZmFsc2UpOwotICAgIH1dOwotCi0gICAgTlNTdHJpbmcgKmFsbG93
QnV0dG9uU3RyaW5nID0gV0VCX1VJX1NUUklOR19LRVkoQCJBbGxvdyIsICJBbGxvdyAoZGV2aWNl
IG1vdGlvbiBhbmQgb3JpZW50YXRpb24gYWNjZXNzKSIsIEAiQnV0dG9uIHRpdGxlIGluIERldmlj
ZSBPcmllbnRhdGlvbiBQZXJtaXNzaW9uIEFQSSBwcm9tcHQiKTsKLSAgICBVSUFsZXJ0QWN0aW9u
KiBhbGxvd0FjdGlvbiA9IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldpdGhUaXRsZTphbGxvd0J1dHRv
blN0cmluZyBzdHlsZTpVSUFsZXJ0QWN0aW9uU3R5bGVEZWZhdWx0IGhhbmRsZXI6W2NvbXBsZXRp
b25CbG9ja10oVUlBbGVydEFjdGlvbiAqYWN0aW9uKSB7Ci0gICAgICAgIGNvbXBsZXRpb25CbG9j
ayh0cnVlKTsKLSAgICB9XTsKLSAgICBbYWxlcnQgYWRkQWN0aW9uOmNhbmNlbEFjdGlvbl07Ci0g
ICAgW2FsZXJ0IGFkZEFjdGlvbjphbGxvd0FjdGlvbl07Ci0KLSAgICBbW1VJVmlld0NvbnRyb2xs
ZXIgX3ZpZXdDb250cm9sbGVyRm9yRnVsbFNjcmVlblByZXNlbnRhdGlvbkZyb21WaWV3OnZpZXdd
IHByZXNlbnRWaWV3Q29udHJvbGxlcjphbGVydCBhbmltYXRlZDpZRVMgY29tcGxldGlvbjpuaWxd
OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShERVZJQ0Vf
T1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYVBl
cm1pc3Npb25VdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhUGVybWlz
c2lvblV0aWxpdGllcy5oCmluZGV4IDZiMWE0YWQxYmU1N2RkMDhiNjY4MTFjMGZkZTY1ZWZmYTYz
Mjg3ZDMuLjVhMzE1MTY5NWNjNGQ4ZTQwMzQ3MDY0ZmNmYWU0NTgxZmQ3ZmExOTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhUGVybWlzc2lvblV0aWxpdGllcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhUGVybWlzc2lvblV0aWxpdGllcy5oCkBA
IC01Miw2ICs1Miw3IEBAIGVudW0gY2xhc3MgTWVkaWFQZXJtaXNzaW9uUmVhc29uIHsKICAgICBD
YW1lcmEsCiAgICAgQ2FtZXJhQW5kTWljcm9waG9uZSwKICAgICBNaWNyb3Bob25lLAorICAgIERl
dmljZU9yaWVudGF0aW9uLAogICAgIEdlb2xvY2F0aW9uLAogICAgIFNwZWVjaFJlY29nbml0aW9u
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9u
QWNjZXNzQ29udHJvbGxlci5jcHAKaW5kZXggY2ZmZGQ4ODJmN2NmMjM3NDE3MzE1ZDQ5MWZmMzgy
YjhhNWU5NDk4NS4uYzM5Y2UwNTc0MGFkOTA2Nzk0NzQ0ZGE1OWRlZjdmOTVhMTIxOTJiMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2ViRGV2aWNlT3Jp
ZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vz
c0NvbnRyb2xsZXIuY3BwCkBAIC0zOCw3ICszOCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiB2b2lkIFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlcjo6
c2hvdWxkQWxsb3dBY2Nlc3MoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5JiBmcmFt
ZSwgRnJhbWVJbmZvRGF0YSYmIGZyYW1lSW5mbywgYm9vbCBtYXlQcm9tcHQsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZSk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgU2VjdXJpdHlPcmlnaW5EYXRhIG9yaWdpbkRhdGEg
PSBmcmFtZUluZm8uc2VjdXJpdHlPcmlnaW47CisgICAgYXV0byBvcmlnaW5EYXRhID0gU2VjdXJp
dHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcocGFnZS5wYWdlTG9hZFN0YXRlKCkuYWN0aXZlVVJM
KCkpLT5kYXRhKCk7CiAgICAgYXV0byBjdXJyZW50UGVybWlzc2lvbiA9IGNhY2hlZERldmljZU9y
aWVudGF0aW9uUGVybWlzc2lvbihvcmlnaW5EYXRhKTsKICAgICBpZiAoY3VycmVudFBlcm1pc3Np
b24gIT0gRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0IHx8
ICFtYXlQcm9tcHQpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihjdXJyZW50UGVy
bWlzc2lvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCAyNmE5ZjgzZmIzNDNlMGVjNTA2NDRjNmI4Njk1MjZkYmQ0ZjVlNTZhLi4yMDQz
YjA2YjVhYzZkZTM3NDNhNWM3N2EyODJhMTQ1MmU1YzNlMjQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk1Myw4ICs5NTMsNiBAQAog
CQk0NjFDQ0NBNjIzMTQ4NUFBMDBCNjU5QjkgLyogV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MzIzNjgzMjMx
NDgxRUYwMEE0OEZBNyAvKiBXZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5oICovOyB9OwogCQk0NjNG
RDQ4MDFFQjk0NTk2MDBBMjk4MkMgLyogV0tQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2M0ZENDdGMUVCOTQ1
ODQwMEEyOTgyQyAvKiBXS1Byb2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2M0ZENDgyMUVCOTRFQzAwMEEy
OTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2M0ZENDgxMUVCOTRFQUQwMEEyOTgyQyAvKiBQcm9j
ZXNzVGVybWluYXRpb25SZWFzb24uaCAqLzsgfTsKLQkJNDY1N0Q4ODkyMjY2NEEyRDAwNURFODIz
IC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1N0Q4ODcyMjY2NEExOTAwNURFODIzIC8qIFdLT3JpZW50
YXRpb25BY2Nlc3NBbGVydC5oICovOyB9OwotCQk0NjU3RDg4QTIyNjY0QTJGMDA1REU4MjMgLyog
V0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDY1N0Q4ODgyMjY2NEExQTAwNURFODIzIC8qIFdLT3JpZW50YXRp
b25BY2Nlc3NBbGVydC5tbSAqLzsgfTsKIAkJNDY1RjRFMDYyMzBCMkU5NTAwM0NFREI3IC8qIFN0
b3JhZ2VOYW1lc3BhY2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NjVGNEUwNTIzMEIyRTdDMDAzQ0VEQjcgLyogU3RvcmFnZU5hbWVz
cGFjZUlkZW50aWZpZXIuaCAqLzsgfTsKIAkJNDY2QkMwM0MxRkEyNjZEQTAwMkZBOUMxIC8qIFdl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NjZCQzAzOTFGQTI2NkM5MDAyRkE5QzEgLyogV2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNDY3MUZGMUYyMzIxN0VGRjAwMUI2NEM3
IC8qIFdlYlJlc291cmNlTG9hZE9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NjcxRkYxRDIzMjE3RUZGMDAxQjY0QzcgLyogV2ViUmVzb3Vy
Y2VMb2FkT2JzZXJ2ZXIuaCAqLzsgfTsKQEAgLTM4MzEsOCArMzgyOSw2IEBACiAJCTQ2M0ZENDgx
MUVCOTRFQUQwMEEyOTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NTFFQ0U2MjIxNzhBODUwMDY3RUI5NSAvKiBXZWJQ
cm9jZXNzQ2FjaGVDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYlByb2Nlc3NDYWNoZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NjUyNTBFNTFFQ0Y1MkNEMDAyMDI1Q0IgLyogV2ViS2l0MkluaXRpYWxpemVDb2NvYS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYktpdDJJbml0aWFsaXpl
Q29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2NTdEODg3MjI2NjRBMTkw
MDVERTgyMyAvKiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTQ2NTdEODg4MjI2NjRBMUEwMDVERTgyMyAvKiBXS09yaWVudGF0aW9u
QWNjZXNzQWxlcnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBX
S09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ2NUY0RTAyMjMwNzU5RDUwMDNDRURCNyAvKiBTdG9yYWdlQXJlYUlkZW50aWZpZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3RvcmFnZUFyZWFJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ2NUY0RTAzMjMwNzYwNEUwMDNDRURCNyAvKiBTdG9yYWdlQXJlYUltcGxJZGVu
dGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VBcmVhSW1wbElkZW50aWZpZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY1RjRFMDUyMzBCMkU3QzAwM0NFREI3IC8qIFN0
b3JhZ2VOYW1lc3BhY2VJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VOYW1lc3Bh
Y2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02OTQ4LDggKzY5
NDQsNiBAQAogCQkJCTJFQ0Y2NkNEMjFENkI3N0UwMDlFNUMzRiAvKiBXS0VkaXRDb21tYW5kLm1t
ICovLAogCQkJCUUxQUVBMjJEMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vz
c1dhdGNoZXIuaCAqLywKIAkJCQlFMUFFQTIyRTE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5
Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tICovLAotCQkJCTQ2NTdEODg3MjI2NjRBMTkwMDVERTgyMyAv
KiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCAqLywKLQkJCQk0NjU3RDg4ODIyNjY0QTFBMDA1
REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tICovLAogCQkJCTFBRDAxQkNCMTkw
NUQ1NDkwMEM5QzQ1RiAvKiBXS1JlbG9hZEZyYW1lRXJyb3JSZWNvdmVyeUF0dGVtcHRlci5oICov
LAogCQkJCTFBRDAxQkNBMTkwNUQ1NDkwMEM5QzQ1RiAvKiBXS1JlbG9hZEZyYW1lRXJyb3JSZWNv
dmVyeUF0dGVtcHRlci5tbSAqLywKIAkJCQk1Q0EyNkQ4MDIxN0FCQkI2MDBGOTdBMzUgLyogV0tT
YWZlQnJvd3NpbmdXYXJuaW5nLmggKi8sCkBAIC0xMjY1NSw3ICsxMjY0OSw2IEBACiAJCQkJNUMy
Njk1ODUyMDA0MzIxMjAwNUM0MzlCIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVyc1ByaXZhdGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDODU3RkU2MTJCODQzRDgwMEVERUIyRSAvKiBXS09wZW5QYW5l
bFBhcmFtZXRlcnNSZWYuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMURGRThGMTJCMzFDQTgwMDVE
RjczMCAvKiBXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0
NjU3RDg4OTIyNjY0QTJEMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQ0Q1OTdENzExMkI1NkRDMDBFQzhDMjMgLyogV0tQYWdlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3Qzg5RDI5QzFBNjc4MzdCMDAzQTVGREUgLyogV0tQYWdlQ29uZmln
dXJhdGlvblJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCOEExRjgxODQwMEJCODAwRTlBRTY5
IC8qIFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTE0MjIwLDcg
KzE0MjEzLDYgQEAKIAkJCQkyRDkzMTE2QTIxMkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNjM3MjgxQTMyMUFEQzc0NDAwOUUw
REU2IC8qIFdLRG93bmxvYWRQcm9ncmVzcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTVDRTkxMjBE
MjI5M0MyMTkwMDVCRUM3OCAvKiBXS01haW4ubW0gaW4gU291cmNlcyAqLywKLQkJCQk0NjU3RDg4
QTIyNjY0QTJGMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJREY4NENFRTQyNDlBQTI0RDAwOTA5NkY2IC8qIFdLUERGSFVEVmlldy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTVDQTI2RDgzMjE3QUQxQjgwMEY5N0EzNSAvKiBXS1NhZmVCcm93
c2luZ1dhcm5pbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQkxREIwMTk0NDIxMUNGMDA1MDA5RkIz
RTggLyogV0tTaGFyZVNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2M0Njg5NDUxZmRjNGM1YzcxMjlkYTE1
OWJlMzllMWY2ZTdkYWJjZC4uZjNlMDIwMTIxNzIwOGE2ZjE1M2I4MGJjZWU3NTZlN2NlN2I0Y2My
MyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI1IEBACisyMDIxLTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBBbGlnbiBkZXZpY2Ugb3JpZW50YXRpb24gZGVsZWdhdGUgdG8gZ2V0VXNl
ck1lZGlhL2dlb2xvY2F0aW9uIGRlbGVnYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGNvZGUgdG8gcHJpbnQgZnJhbWUgaW5mbyBvcmln
aW4gYW5kIHVwZGF0ZSBhY2NvcmRpbmcgYWRkaXRpb25hbCBmcmFtZSBpbmZvIHBhcmFtZXRlciBn
aXZlbiB0byBzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzLgorICAg
ICAgICBDbGVhciBwZXJtaXNzaW9ucyBpbiBjYXNlIHRlc3QgY29udHJvbGxlciBjaGFuZ2VzIHRo
ZSBkZXZpY2UgbW90aW9uIHBlcm1pc3Npb24gdmFsdWUuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0RldmljZU9yaWVudGF0aW9uLm1tOgorICAgICAgICAoLVtE
ZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb25VSURlbGVnYXRlIF93ZWJWaWV3OnJlcXVlc3REZXZp
Y2VPcmllbnRhdGlvbkFuZE1vdGlvblBlcm1pc3Npb25Gb3JPcmlnaW46aW5pdGlhdGVkQnlGcmFt
ZTpkZWNpc2lvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW0RldmljZU9yaWVudGF0aW9uUGVybWlz
c2lvblZhbGlkYXRpb25EZWxlZ2F0ZSBzZXRWYWxpZGF0aW9uSGFuZGxlcjpdKToKKyAgICAgICAg
KC1bRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uVmFsaWRhdGlvbkRlbGVnYXRlIF93ZWJWaWV3
OnJlcXVlc3REZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvblBlcm1pc3Npb25Gb3JPcmlnaW46aW5p
dGlhdGVkQnlGcmFtZTpkZWNpc2lvbkhhbmRsZXI6XSk6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW06CisgICAgICAgICgtW1dlYnNp
dGVQb2xpY2llc0RldmljZU9yaWVudGF0aW9uVUlEZWxlZ2F0ZSBfd2ViVmlldzpyZXF1ZXN0RGV2
aWNlT3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOmluaXRpYXRlZEJ5RnJh
bWU6ZGVjaXNpb25IYW5kbGVyOl0pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9u
QW5kTW90aW9uQWNjZXNzKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmhhbmRsZURl
dmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdCk6CisgICAgICAgIChXVFI6OlRl
c3RDb250cm9sbGVyOjpzZXRTaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNj
ZXNzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisKIDIw
MjEtMDMtMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBhIG5ldyBkZWxlZ2F0ZSBmb3IgZ2VvbG9jYXRpb24gcGVybWlzc2lvbgpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9EZXZpY2VPcmllbnRhdGlvbi5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGV2aWNlT3JpZW50YXRp
b24ubW0KaW5kZXggZThjZWVjNjU2ZmNhMWI4MDI4YTI0ZjY4NDRjMTA1YTVkZjQ0NjMzMy4uNGQ1
MzJhNzdmNmVlYzgzYmYyZjg4Nzc2MDJjY2U0MmU1M2QzMmUzNCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9EZXZpY2VPcmllbnRhdGlvbi5tbQorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RldmljZU9yaWVudGF0aW9u
Lm1tCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKSAm
JiBQTEFURk9STShJT1NfRkFNSUxZKQogCisjaW1wb3J0ICJIVFRQU2VydmVyLmgiCiAjaW1wb3J0
ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgogI2ltcG9ydCAiVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5o
IgogI2ltcG9ydCAiVGVzdFVSTFNjaGVtZUhhbmRsZXIuaCIKQEAgLTc1LDkgKzc2LDkgQEAgRnVu
Y3Rpb248Ym9vbCgpPiBfZGVjaXNpb25IYW5kbGVyOwogICAgIHJldHVybiBzZWxmOwogfQogCi0t
ICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNob3VsZEFsbG93RGV2aWNlT3Jp
ZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRCeUZyYW1lOihXS0ZyYW1lSW5mbyAqKXJl
cXVlc3RpbmdGcmFtZSBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWRlY2lzaW9uSGFu
ZGxlcgorLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0RGV2aWNl
T3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOihXS1NlY3VyaXR5T3JpZ2lu
KilvcmlnaW4gaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilyZXF1ZXN0aW5nRnJhbWUg
ZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShfV0tQZXJtaXNzaW9uRGVjaXNpb24pKWRlY2lzaW9u
SGFuZGxlcgogewotICAgIGRlY2lzaW9uSGFuZGxlcihfZGVjaXNpb25IYW5kbGVyKCkpOworICAg
IGRlY2lzaW9uSGFuZGxlcihfZGVjaXNpb25IYW5kbGVyKCkgPyBfV0tQZXJtaXNzaW9uRGVjaXNp
b25HcmFudCA6IF9XS1Blcm1pc3Npb25EZWNpc2lvbkRlbnkpOwogICAgIGFza2VkQ2xpZW50Rm9y
UGVybWlzc2lvbiA9IHRydWU7CiB9CiAKQEAgLTQwMiw0ICs0MDMsODggQEAgVEVTVChEZXZpY2VP
cmllbnRhdGlvbiwgUGVybWlzc2lvblNlY3VyZUNvbnRleHRDaGVja0Rpc2FibGVkKQogICAgIHJ1
blBlcm1pc3Npb25TZWN1cmVDb250ZXh0Q2hlY2tUZXN0KFNob3VsZEVuYWJsZVNlY3VyZUNvbnRl
eHRDaGVja3M6Ok5vKTsKIH0KIAorQGludGVyZmFjZSBEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Np
b25WYWxpZGF0aW9uRGVsZWdhdGUgOiBOU09iamVjdCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4KKy0g
KHZvaWQpc2V0VmFsaWRhdGlvbkhhbmRsZXI6KEZ1bmN0aW9uPHZvaWQoV0tTZWN1cml0eU9yaWdp
biosIFdLRnJhbWVJbmZvKik+JiYpdmFsaWRhdGlvbkhhbmRsZXI7CitAZW5kCisKK0BpbXBsZW1l
bnRhdGlvbiBEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb25WYWxpZGF0aW9uRGVsZWdhdGUgewor
RnVuY3Rpb248dm9pZChXS1NlY3VyaXR5T3JpZ2luKiwgV0tGcmFtZUluZm8qKT4gX3ZhbGlkYXRp
b25IYW5kbGVyOworfQorLSAodm9pZClzZXRWYWxpZGF0aW9uSGFuZGxlcjooRnVuY3Rpb248dm9p
ZChXS1NlY3VyaXR5T3JpZ2luKiwgV0tGcmFtZUluZm8qKT4mJil2YWxpZGF0aW9uSGFuZGxlciB7
CisgICAgX3ZhbGlkYXRpb25IYW5kbGVyID0gV1RGTW92ZSh2YWxpZGF0aW9uSGFuZGxlcik7Cit9
CisKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdERldmljZU9y
aWVudGF0aW9uQW5kTW90aW9uUGVybWlzc2lvbkZvck9yaWdpbjooV0tTZWN1cml0eU9yaWdpbiop
b3JpZ2luIGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWUgZGVjaXNpb25IYW5k
bGVyOih2b2lkICheKShfV0tQZXJtaXNzaW9uRGVjaXNpb24gZGVjaXNpb24pKWRlY2lzaW9uSGFu
ZGxlciB7CisgICAgaWYgKF92YWxpZGF0aW9uSGFuZGxlcikKKyAgICAgICAgX3ZhbGlkYXRpb25I
YW5kbGVyKG9yaWdpbiwgZnJhbWUpOworCisgICAgYXNrZWRDbGllbnRGb3JQZXJtaXNzaW9uICA9
IHRydWU7CisgICAgZGVjaXNpb25IYW5kbGVyKF9XS1Blcm1pc3Npb25EZWNpc2lvbkdyYW50KTsK
K30KK0BlbmQKKworc3RhdGljIGNvbnN0IGNoYXIqIG1haW5GcmFtZVRleHQgPSBSIkRPQ0RPQ0RP
QygKKzxodG1sPjxib2R5PgorPGlmcmFtZSBzcmM9J2h0dHBzOi8vMTI3LjAuMC4xOjkwOTEvZnJh
bWUnIGFsbG93PSdhY2NlbGVyb21ldGVyOmh0dHBzOi8vMTI3LjAuMC4xOjkwOTE7Z3lyb3Njb3Bl
Omh0dHBzOi8vMTI3LjAuMC4xOjkwOTE7bWFnbmV0b21ldGVyOmh0dHBzOi8vMTI3LjAuMC4xOjkw
OTEnPjwvaWZyYW1lPgorPC9ib2R5PjwvaHRtbD4KKylET0NET0NET0MiOworc3RhdGljIGNvbnN0
IGNoYXIqIGZyYW1lVGV4dCA9IFIiRE9DRE9DRE9DKAorPGh0bWw+PGJvZHk+PC9ib2R5PjwvaHRt
bD4KKylET0NET0NET0MiOworCitURVNUKFdlYktpdCwgRGV2aWNlT3JpZW50YXRpb25QZXJtaXNz
aW9uSW5JRnJhbWUpCit7CisgICAgVGVzdFdlYktpdEFQSTo6SFRUUFNlcnZlciBzZXJ2ZXIxKHsK
KyAgICAgICAgeyAiLyIsIHsgbWFpbkZyYW1lVGV4dCB9IH0KKyAgICB9LCBUZXN0V2ViS2l0QVBJ
OjpIVFRQU2VydmVyOjpQcm90b2NvbDo6SHR0cHMsIG51bGxwdHIsIG51bGxwdHIsIDkwOTApOwor
CisgICAgVGVzdFdlYktpdEFQSTo6SFRUUFNlcnZlciBzZXJ2ZXIyKHsKKyAgICAgICAgeyAiL2Zy
YW1lIiwgeyBmcmFtZVRleHQgfSB9LAorICAgIH0sIFRlc3RXZWJLaXRBUEk6OkhUVFBTZXJ2ZXI6
OlByb3RvY29sOjpIdHRwcywgbnVsbHB0ciwgbnVsbHB0ciwgOTA5MSk7CisKKyAgICBhdXRvIGNv
bmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dF0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgYXV0byBwZXJtaXNzaW9uRGVsZWdhdGUgPSBhZG9w
dE5TKFtbRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uVmFsaWRhdGlvbkRlbGVnYXRlIGFsbG9j
XSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpwZXJtaXNzaW9uRGVsZWdhdGUu
Z2V0KCldOworCisgICAgYXV0byBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBhZG9wdE5TKFtUZXN0TmF2
aWdhdGlvbkRlbGVnYXRlIG5ld10pOworICAgIFtuYXZpZ2F0aW9uRGVsZWdhdGUgc2V0RGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOl4oV0tXZWJWaWV3ICosIE5TVVJMQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UgKmNoYWxsZW5nZSwgdm9pZCAoXmNhbGxiYWNrKShOU1VSTFNlc3Npb25B
dXRoQ2hhbGxlbmdlRGlzcG9zaXRpb24sIE5TVVJMQ3JlZGVudGlhbCAqKSkgeworICAgICAgICBF
WFBFQ1RfV0tfU1RSRVEoY2hhbGxlbmdlLnByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvbk1l
dGhvZCwgTlNVUkxBdXRoZW50aWNhdGlvbk1ldGhvZFNlcnZlclRydXN0KTsKKyAgICAgICAgY2Fs
bGJhY2soTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5nZVVzZUNyZWRlbnRpYWwsIFtOU1VSTENyZWRl
bnRpYWwgY3JlZGVudGlhbEZvclRydXN0OmNoYWxsZW5nZS5wcm90ZWN0aW9uU3BhY2Uuc2VydmVy
VHJ1c3RdKTsKKyAgICB9XTsKKyAgICBfX2Jsb2NrIGJvb2wgZGlkRmluaXNoTmF2aWdhdGlvbiA9
IGZhbHNlOworICAgIFtuYXZpZ2F0aW9uRGVsZWdhdGUgc2V0RGlkRmluaXNoTmF2aWdhdGlvbjpe
KFdLV2ViVmlldyAqLCBXS05hdmlnYXRpb24gKikgeworICAgICAgICBkaWRGaW5pc2hOYXZpZ2F0
aW9uID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBSZXRhaW5QdHI8V0tGcmFtZUluZm8+IGZyYW1lOwor
ICAgIFtuYXZpZ2F0aW9uRGVsZWdhdGUgc2V0RGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlv
bjpbJl0oV0tOYXZpZ2F0aW9uQWN0aW9uICphY3Rpb24sIHZvaWQgKF5kZWNpc2lvbkhhbmRsZXIp
KFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeSkpIHsKKyAgICAgICAgaWYgKGFjdGlvbi50YXJnZXRG
cmFtZSAmJiAhYWN0aW9uLnRhcmdldEZyYW1lLmlzTWFpbkZyYW1lKQorICAgICAgICAgICAgZnJh
bWUgPSBhY3Rpb24udGFyZ2V0RnJhbWU7CisgICAgICAgIGRlY2lzaW9uSGFuZGxlcihXS05hdmln
YXRpb25BY3Rpb25Qb2xpY3lBbGxvdyk7CisgICAgfV07CisKKyAgICB3ZWJWaWV3LmdldCgpLm5h
dmlnYXRpb25EZWxlZ2F0ZSA9IG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKTsKKworICAgIFt3ZWJW
aWV3IGxvYWRSZXF1ZXN0OnNlcnZlcjEucmVxdWVzdCgpXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmRpZEZpbmlzaE5hdmlnYXRpb24pOworCisgICAgW3Blcm1pc3Npb25EZWxlZ2F0
ZSBzZXRWYWxpZGF0aW9uSGFuZGxlcjpbJndlYlZpZXddKFdLU2VjdXJpdHlPcmlnaW4gKm9yaWdp
biwgV0tGcmFtZUluZm8gKmZyYW1lKSB7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShvcmlnaW4u
cHJvdG9jb2wsIEAiaHR0cHMiKTsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKG9yaWdpbi5ob3N0
LCBAIjEyNy4wLjAuMSIpOworICAgICAgICBFWFBFQ1RfRVEob3JpZ2luLnBvcnQsIDkwOTApOwor
CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShmcmFtZS5zZWN1cml0eU9yaWdpbi5wcm90b2NvbCwg
QCJodHRwcyIpOworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoZnJhbWUuc2VjdXJpdHlPcmlnaW4u
aG9zdCwgQCIxMjcuMC4wLjEiKTsKKyAgICAgICAgRVhQRUNUX0VRKGZyYW1lLnNlY3VyaXR5T3Jp
Z2luLnBvcnQsIDkwOTEpOworICAgICAgICBFWFBFQ1RfRkFMU0UoZnJhbWUuaXNNYWluRnJhbWUp
OworICAgICAgICBFWFBFQ1RfVFJVRShmcmFtZS53ZWJWaWV3ID09IHdlYlZpZXcpOworICAgIH1d
OworCisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAiRGV2aWNlT3JpZW50YXRpb25F
dmVudC5yZXF1ZXN0UGVybWlzc2lvbigpIiBpbkZyYW1lOmZyYW1lLmdldCgpIGluQ29udGVudFdv
cmxkOldLQ29udGVudFdvcmxkLnBhZ2VXb3JsZCBjb21wbGV0aW9uSGFuZGxlcjogWyZdIChpZCBy
ZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7IH1dOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZhc2tlZENsaWVudEZvclBlcm1pc3Npb24pOworCit9CisKICNlbmRpZiAvLyBFTkFCTEUo
REVWSUNFX09SSUVOVEFUSU9OKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0g
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5t
bQppbmRleCBmMDQzMzJhMjBmOTllMWRhZTMwNzI0NmY0ZDY2YmU1YWFhMmIzNmFhLi4xNzgwYzYy
ZmRmMTAxYzE1NGVhZjQyYzNmYWI2NjhmMWYwZWY1NTNhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbQpAQCAt
MTQ4MSwxMCArMTQ4MSwxMCBAQCBzdGF0aWMgYm9vbCBjYWxsZWRTaG91bGRBbGxvd0RldmljZU9y
aWVudGF0aW9uQW5kTW90aW9uQWNjZXNzRGVsZWdhdGUgPSBmYWxzZTsKIAogQGltcGxlbWVudGF0
aW9uIFdlYnNpdGVQb2xpY2llc0RldmljZU9yaWVudGF0aW9uVUlEZWxlZ2F0ZQogCi0tICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRp
b25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRCeUZyYW1lOihXS0ZyYW1lSW5mbyAqKXJlcXVlc3Rp
bmdGcmFtZSBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWRlY2lzaW9uSGFuZGxlcgor
LSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0RGV2aWNlT3JpZW50
YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOihXS1NlY3VyaXR5T3JpZ2luKilvcmln
aW4gaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilyZXF1ZXN0aW5nRnJhbWUgZGVjaXNp
b25IYW5kbGVyOih2b2lkICheKShfV0tQZXJtaXNzaW9uRGVjaXNpb24pKWRlY2lzaW9uSGFuZGxl
cgogewogICAgIGNhbGxlZFNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nl
c3NEZWxlZ2F0ZSA9IHRydWU7Ci0gICAgZGVjaXNpb25IYW5kbGVyKFlFUyk7CisgICAgZGVjaXNp
b25IYW5kbGVyKF9XS1Blcm1pc3Npb25EZWNpc2lvbkdyYW50KTsKIH0KIAogQGVuZApkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBlMzJhMGZkMWJiMzdjNGQx
YTIwNzY2YWU1ZDE2ZWNiNDUyYzEzNDY1Li5mODNlZTQyODg1MTI2ZjlkZDY0NjQxYmEwYTU3M2Yz
ZGIwYjdkNzNiIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApA
QCAtMzE5LDkgKzMxOSw5IEBAIHN0YXRpYyB2b2lkIHByaW50RnJhbWUoV0tQYWdlUmVmIHBhZ2Us
IFdLRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqKQogICAgIFdLUGFnZUVuZFByaW50aW5nKHBh
Z2UpOwogfQogCi1zdGF0aWMgYm9vbCBzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90
aW9uQWNjZXNzKFdLUGFnZVJlZiwgV0tTZWN1cml0eU9yaWdpblJlZiBvcmlnaW4sIGNvbnN0IHZv
aWQqKQorc3RhdGljIGJvb2wgc2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFj
Y2VzcyhXS1BhZ2VSZWYsIFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luLCBXS0ZyYW1lSW5mb1Jl
ZiBmcmFtZSwgY29uc3Qgdm9pZCopCiB7Ci0gICAgcmV0dXJuIFRlc3RDb250cm9sbGVyOjpzaW5n
bGV0b24oKS5oYW5kbGVEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVlc3Qob3Jp
Z2luKTsKKyAgICByZXR1cm4gVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLmhhbmRsZURldmlj
ZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdChvcmlnaW4sIGZyYW1lKTsKIH0KIAog
Ly8gQSBwbGFjZWhvbGRlciB0byB0ZWxsIFdlYktpdCB0aGUgY2xpZW50IGlzIFdlYktpdFRlc3RS
dW5uZXIuCkBAIC0yNDAxLDkgKzI0MDEsMTAgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6aGFuZGxl
Q2hlY2tPZlVzZXJNZWRpYVBlcm1pc3Npb25Gb3JPcmlnaW4oV0tGcmFtZVJlZiBmcmFtZSwKICAg
ICBXS1VzZXJNZWRpYVBlcm1pc3Npb25DaGVja1NldFVzZXJNZWRpYUFjY2Vzc0luZm8oY2hlY2tS
ZXF1ZXN0LCB0b1dLKHNhbHQpLmdldCgpLCBzZXR0aW5nc0Zvck9yaWdpbihvcmlnaW5IYXNoKS5w
ZXJzaXN0ZW50UGVybWlzc2lvbigpKTsKIH0KIAotYm9vbCBUZXN0Q29udHJvbGxlcjo6aGFuZGxl
RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0KFdLU2VjdXJpdHlPcmlnaW5S
ZWYgb3JpZ2luKQorYm9vbCBUZXN0Q29udHJvbGxlcjo6aGFuZGxlRGV2aWNlT3JpZW50YXRpb25B
bmRNb3Rpb25BY2Nlc3NSZXF1ZXN0KFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luLCBXS0ZyYW1l
SW5mb1JlZiBmcmFtZSkKIHsKLSAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5vdXRwdXRUZXh0KG1h
a2VTdHJpbmcoIlJlY2VpdmVkIGRldmljZSBvcmllbnRhdGlvbiAmIG1vdGlvbiBhY2Nlc3MgcmVx
dWVzdCBmb3Igc2VjdXJpdHkgb3JpZ2luIFwiIiwgb3JpZ2luVXNlclZpc2libGVOYW1lKG9yaWdp
biksICJcIi5cbiIpKTsKKyAgICBhdXRvIGZyYW1lT3JpZ2luID0gYWRvcHRXSyhXS0ZyYW1lSW5m
b0NvcHlTZWN1cml0eU9yaWdpbihmcmFtZSkpOworICAgIG1fY3VycmVudEludm9jYXRpb24tPm91
dHB1dFRleHQobWFrZVN0cmluZygiUmVjZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9u
IGFjY2VzcyByZXF1ZXN0IGZvciB0b3AgbGV2ZWwgb3JpZ2luIFwiIiwgb3JpZ2luVXNlclZpc2li
bGVOYW1lKG9yaWdpbiksICJcIiwgd2l0aCBmcmFtZSBvcmlnaW4gXCIiLCBvcmlnaW5Vc2VyVmlz
aWJsZU5hbWUoZnJhbWVPcmlnaW4uZ2V0KCkpLCAiXCIuXG4iKSk7CiAgICAgcmV0dXJuIG1fc2hv
dWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2VzczsKIH0KIApAQCAtMzY3Nyw0
ICszNjc4LDEwIEBAIFdLVVJMUmVmIFRlc3RDb250cm9sbGVyOjpjdXJyZW50VGVzdFVSTCgpIGNv
bnN0CiAgICAgcmV0dXJuIG1fY3VycmVudEludm9jYXRpb24gPyBtX2N1cnJlbnRJbnZvY2F0aW9u
LT51cmwoKSA6IG51bGxwdHI7CiB9CiAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFNob3VsZEFs
bG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3MoYm9vbCB2YWx1ZSkKK3sKKyAgICBt
X3Nob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3MgPSB2YWx1ZTsKKyAg
ICBXS1dlYnNpdGVEYXRhU3RvcmVDbGVhckFsbERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbnMo
d2Vic2l0ZURhdGFTdG9yZSgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKaW5kZXggOGFjNzBhMzYwNGY3MWRlMjZmODdjZmMz
YjY1N2RjZTAyYzMzNmVkMi4uZmE2MGFlODQ1N2NiMTliZjZkN2U0ZmM4MWU1MDljZmQ3ZTdjYjVh
MSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApAQCAtMTUxLDcgKzE1
MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2V0VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RD
b3VudEZvck9yaWdpbihXS1N0cmluZ1JlZiB1c2VyTWVkaWFEb2N1bWVudE9yaWdpblN0cmluZywg
V0tTdHJpbmdSZWYgdG9wTGV2ZWxEb2N1bWVudE9yaWdpblN0cmluZyk7CiAKICAgICAvLyBEZXZp
Y2UgT3JpZW50YXRpb24gLyBNb3Rpb24uCi0gICAgYm9vbCBoYW5kbGVEZXZpY2VPcmllbnRhdGlv
bkFuZE1vdGlvbkFjY2Vzc1JlcXVlc3QoV0tTZWN1cml0eU9yaWdpblJlZik7CisgICAgYm9vbCBo
YW5kbGVEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVlc3QoV0tTZWN1cml0eU9y
aWdpblJlZiwgV0tGcmFtZUluZm9SZWYpOwogCiAgICAgLy8gQ29udGVudCBFeHRlbnNpb25zLgog
ICAgIHZvaWQgY29uZmlndXJlQ29udGVudEV4dGVuc2lvbkZvclRlc3QoY29uc3QgVGVzdEludm9j
YXRpb24mKTsKQEAgLTIwNCw3ICsyMDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJZ25vcmVz
Vmlld3BvcnRTY2FsZUxpbWl0cyhib29sKTsKIAogICAgIHZvaWQgc2V0U2hvdWxkRG93bmxvYWRV
bmRpc3BsYXlhYmxlTUlNRVR5cGVzKGJvb2wgdmFsdWUpIHsgbV9zaG91bGREb3dubG9hZFVuZGlz
cGxheWFibGVNSU1FVHlwZXMgPSB2YWx1ZTsgfQotICAgIHZvaWQgc2V0U2hvdWxkQWxsb3dEZXZp
Y2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcyhib29sIHZhbHVlKSB7IG1fc2hvdWxkQWxsb3dE
ZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2VzcyA9IHZhbHVlOyB9CisgICAgdm9pZCBzZXRT
aG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKGJvb2wpOwogCiAgICAg
dm9pZCBjbGVhclN0YXRpc3RpY3NEYXRhRm9yRG9tYWluKFdLU3RyaW5nUmVmIGRvbWFpbik7CiAg
ICAgYm9vbCBkb2VzU3RhdGlzdGljc0RvbWFpbklERXhpc3RJbkRhdGFiYXNlKHVuc2lnbmVkIGRv
bWFpbklEKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAyODI1OTIyMzA2YjMxZDY1ZDdjYTk2Y2RiMTA1ZWVlY2RjZjhiZWI1
Li44OTI2YjZhZjY2NzBkYTVlMDFkM2QxZmQ1Y2M4ZTZmNWRjNjVmNjNjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMjEtMDMtMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CisgICAgICAgIEFsaWduIGRldmljZSBvcmllbnRhdGlvbiBkZWxlZ2F0ZSB0byBnZXRVc2VyTWVk
aWEvZ2VvbG9jYXRpb24gZGVsZWdhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjMyNDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGZhc3QvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1tb3Rpb24t
cmVxdWVzdC1wZXJtaXNzaW9uLWRlbmllZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9k
ZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW1vdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tZ3JhbnRl
ZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNl
LW9yaWVudGF0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi1kZW5pZWQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRhdGlvbi1yZXF1ZXN0
LXBlcm1pc3Npb24tZ3JhbnRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9k
ZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW1vdGlvbi1hbGxvd2VkLWluLWZpcnN0LXBhcnR5LW9u
bHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9u
L2RldmljZS1tb3Rpb24tdGhpcmQtcGFydHktaWZyYW1lLWFsbG93ZWQtYnktZmVhdHVyZS1wb2xp
Y3ktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9u
L2RldmljZS1vcmllbnRhdGlvbi1hbGxvd2VkLWluLWZpcnN0LXBhcnR5LW9ubHktZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmll
bnRhdGlvbi1wZXJtaXNzaW9uLWdyYW50ZWQtaW4tb3RoZXItaWZyYW1lcy1mcm9tLXNhbWUtb3Jp
Z2luLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2RldmljZS1vcmllbnRhdGlv
bi9kZXZpY2Utb3JpZW50YXRpb24tdGhpcmQtcGFydHktaWZyYW1lLWFsbG93ZWQtYnktZmVhdHVy
ZS1wb2xpY3ktZXhwZWN0ZWQudHh0OgorCiAyMDIxLTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbIG1hY09zIFdrMSBdIGh0dHAvd3B0L2ZpbGVyZWFk
ZXIvZmlsZXJlYWRlci1zdG9wLmh0bWwgaXMgYSBmbGFrZXkgdGV4dCBmYWlsdXJlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLXJl
cXVlc3QtcGVybWlzc2lvbi1kZW5pZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
ZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW1vdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tZGVuaWVk
LWV4cGVjdGVkLnR4dAppbmRleCAxMjc3MTA5Mzk1ZTNkNzQ0MWM3Y2QyODRlOWMwYzA3Mzc1NTc4
YWY4Li5kZmU4MGQ1ZjMwMGZjNWI1Njc3NjY2NTNjOTFhNWUyYzU4YjZmM2U4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLXJlcXVl
c3QtcGVybWlzc2lvbi1kZW5pZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1tb3Rpb24tcmVxdWVzdC1wZXJtaXNzaW9uLWRlbmll
ZC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiBDT05TT0xFIE1FU1NBR0U6IE5vIGRldmlj
ZSBtb3Rpb24gZXZlbnRzIHdpbGwgYmUgZmlyZWQsIHJlYXNvbjogUGVybWlzc2lvbiB0byB1c2Ug
dGhlIEFQSSB3YXMgbm90IHlldCByZXF1ZXN0ZWQuCi1SZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRp
b24gJiBtb3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9yIHNlY3VyaXR5IG9yaWdpbiAiIi4KK1JlY2Vp
dmVkIGRldmljZSBvcmllbnRhdGlvbiAmIG1vdGlvbiBhY2Nlc3MgcmVxdWVzdCBmb3IgdG9wIGxl
dmVsIG9yaWdpbiAiIiwgd2l0aCBmcmFtZSBvcmlnaW4gIiIuCiBDT05TT0xFIE1FU1NBR0U6IE5v
IGRldmljZSBtb3Rpb24gZXZlbnRzIHdpbGwgYmUgZmlyZWQsIHJlYXNvbjogUGVybWlzc2lvbiB0
byB1c2UgdGhlIEFQSSB3YXMgZGVuaWVkLgogQmFzaWMgdGVzdGluZyBmb3IgRGV2aWNlTW90aW9u
RXZlbnQucmVxdWVzdFBlcm1pc3Npb24oKS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW1vdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tZ3Jh
bnRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RldmljZS1vcmllbnRhdGlvbi9k
ZXZpY2UtbW90aW9uLXJlcXVlc3QtcGVybWlzc2lvbi1ncmFudGVkLWV4cGVjdGVkLnR4dAppbmRl
eCAwOTMxM2VlNzJjNTdkYWI1MzU5NmRlOTNiYTI2YzRjMmMwY2YzYzMxLi43MTQ2NzYwM2M5Yzdm
MzZiMGMyMDU2N2Y3MzNlNzEzYjE5MDY2MjU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLXJlcXVlc3QtcGVybWlzc2lvbi1ncmFu
dGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RldmljZS1vcmllbnRhdGlv
bi9kZXZpY2UtbW90aW9uLXJlcXVlc3QtcGVybWlzc2lvbi1ncmFudGVkLWV4cGVjdGVkLnR4dApA
QCAtMSw1ICsxLDUgQEAKIENPTlNPTEUgTUVTU0FHRTogTm8gZGV2aWNlIG1vdGlvbiBldmVudHMg
d2lsbCBiZSBmaXJlZCwgcmVhc29uOiBQZXJtaXNzaW9uIHRvIHVzZSB0aGUgQVBJIHdhcyBub3Qg
eWV0IHJlcXVlc3RlZC4KLVJlY2VpdmVkIGRldmljZSBvcmllbnRhdGlvbiAmIG1vdGlvbiBhY2Nl
c3MgcmVxdWVzdCBmb3Igc2VjdXJpdHkgb3JpZ2luICIiLgorUmVjZWl2ZWQgZGV2aWNlIG9yaWVu
dGF0aW9uICYgbW90aW9uIGFjY2VzcyByZXF1ZXN0IGZvciB0b3AgbGV2ZWwgb3JpZ2luICIiLCB3
aXRoIGZyYW1lIG9yaWdpbiAiIi4KIEJhc2ljIHRlc3RpbmcgZm9yIERldmljZU1vdGlvbkV2ZW50
LnJlcXVlc3RQZXJtaXNzaW9uKCkuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRh
dGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tZGVuaWVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRhdGlvbi1yZXF1ZXN0LXBlcm1p
c3Npb24tZGVuaWVkLWV4cGVjdGVkLnR4dAppbmRleCBlMDg5NDkzMjc5NDA0NmUxY2Q1MDQxMTYz
MDk5OWNmMmQyNzEwZjNhLi41YmRlZDdiNDhmNjc2YmFkODhkNzhmN2Y3M2NmZjhhMjE1Zjc1NmM4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2Ut
b3JpZW50YXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLWRlbmllZC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW9yaWVudGF0aW9uLXJl
cXVlc3QtcGVybWlzc2lvbi1kZW5pZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogQ09O
U09MRSBNRVNTQUdFOiBObyBkZXZpY2Ugb3JpZW50YXRpb24gZXZlbnRzIHdpbGwgYmUgZmlyZWQs
IHJlYXNvbjogUGVybWlzc2lvbiB0byB1c2UgdGhlIEFQSSB3YXMgbm90IHlldCByZXF1ZXN0ZWQu
Ci1SZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9y
IHNlY3VyaXR5IG9yaWdpbiAiIi4KK1JlY2VpdmVkIGRldmljZSBvcmllbnRhdGlvbiAmIG1vdGlv
biBhY2Nlc3MgcmVxdWVzdCBmb3IgdG9wIGxldmVsIG9yaWdpbiAiIiwgd2l0aCBmcmFtZSBvcmln
aW4gIiIuCiBDT05TT0xFIE1FU1NBR0U6IE5vIGRldmljZSBvcmllbnRhdGlvbiBldmVudHMgd2ls
bCBiZSBmaXJlZCwgcmVhc29uOiBQZXJtaXNzaW9uIHRvIHVzZSB0aGUgQVBJIHdhcyBkZW5pZWQu
CiBCYXNpYyB0ZXN0aW5nIGZvciBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LnJlcXVlc3RQZXJtaXNz
aW9uKCkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZGV2aWNlLW9yaWVudGF0aW9u
L2RldmljZS1vcmllbnRhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tZ3JhbnRlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2Utb3JpZW50YXRp
b24tcmVxdWVzdC1wZXJtaXNzaW9uLWdyYW50ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDcyNTQzODFm
OTI1YmRmMTVhNDY5MjlkZjk0MWY0MDYxYzE0Y2I2MmEuLjM0YjQxYjA1MzZkZTRiZWZjYThkOWYy
OTgxMmJhNWFiNzBjMGM4MjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZGV2aWNlLW9y
aWVudGF0aW9uL2RldmljZS1vcmllbnRhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tZ3JhbnRlZC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kZXZpY2Utb3JpZW50YXRpb24vZGV2
aWNlLW9yaWVudGF0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi1ncmFudGVkLWV4cGVjdGVkLnR4dApA
QCAtMSw1ICsxLDUgQEAKIENPTlNPTEUgTUVTU0FHRTogTm8gZGV2aWNlIG9yaWVudGF0aW9uIGV2
ZW50cyB3aWxsIGJlIGZpcmVkLCByZWFzb246IFBlcm1pc3Npb24gdG8gdXNlIHRoZSBBUEkgd2Fz
IG5vdCB5ZXQgcmVxdWVzdGVkLgotUmVjZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9u
IGFjY2VzcyByZXF1ZXN0IGZvciBzZWN1cml0eSBvcmlnaW4gIiIuCitSZWNlaXZlZCBkZXZpY2Ug
b3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9yIHRvcCBsZXZlbCBvcmlnaW4g
IiIsIHdpdGggZnJhbWUgb3JpZ2luICIiLgogQmFzaWMgdGVzdGluZyBmb3IgRGV2aWNlT3JpZW50
YXRpb25FdmVudC5yZXF1ZXN0UGVybWlzc2lvbigpLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RldmljZS1vcmllbnRhdGlv
bi9kZXZpY2UtbW90aW9uLWFsbG93ZWQtaW4tZmlyc3QtcGFydHktb25seS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2UtbW90aW9u
LWFsbG93ZWQtaW4tZmlyc3QtcGFydHktb25seS1leHBlY3RlZC50eHQKaW5kZXggYTM0N2ZmNmI1
YjRhMmIwNjc4OTQ2Yzk4N2I2OGUxYTlmMTY4ZTZiMS4uZjUwNTI2ODE2MzRjNjhhMjJhZWQ4Yzlk
ODYyZjUzMGVjNzBmNTA2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kZXZp
Y2Utb3JpZW50YXRpb24vZGV2aWNlLW1vdGlvbi1hbGxvd2VkLWluLWZpcnN0LXBhcnR5LW9ubHkt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0
aW9uL2RldmljZS1tb3Rpb24tYWxsb3dlZC1pbi1maXJzdC1wYXJ0eS1vbmx5LWV4cGVjdGVkLnR4
dApAQCAtMSw2ICsxLDYgQEAKLVJlY2VpdmVkIGRldmljZSBvcmllbnRhdGlvbiAmIG1vdGlvbiBh
Y2Nlc3MgcmVxdWVzdCBmb3Igc2VjdXJpdHkgb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAi
LgorUmVjZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyByZXF1ZXN0IGZv
ciB0b3AgbGV2ZWwgb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiLCB3aXRoIGZyYW1lIG9y
aWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIi4KIENPTlNPTEUgTUVTU0FHRTogTm8gZGV2aWNl
IG1vdGlvbiBldmVudHMgd2lsbCBiZSBmaXJlZCwgcmVhc29uOiBQZXJtaXNzaW9uIHRvIHVzZSB0
aGUgQVBJIHdhcyBub3QgeWV0IHJlcXVlc3RlZC4KLVJlY2VpdmVkIGRldmljZSBvcmllbnRhdGlv
biAmIG1vdGlvbiBhY2Nlc3MgcmVxdWVzdCBmb3Igc2VjdXJpdHkgb3JpZ2luICJodHRwOi8vbG9j
YWxob3N0OjgwMDAiLgorUmVjZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2Vz
cyByZXF1ZXN0IGZvciB0b3AgbGV2ZWwgb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiLCB3
aXRoIGZyYW1lIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIi4KIFRlc3RzIHRoYXQgZ2l2
aW5nIGRldmljZSBtb3Rpb24gcGVybWlzc2lvbiBpbiB0aGUgbWFpbiBmcmFtZSBkb2VzIG5vdCBn
aXZlIGFjY2VzcyB0byB0aGlyZC1wYXJ0eSBpZnJhbWVzLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RldmljZS1vcmllbnRh
dGlvbi9kZXZpY2UtbW90aW9uLXRoaXJkLXBhcnR5LWlmcmFtZS1hbGxvd2VkLWJ5LWZlYXR1cmUt
cG9saWN5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVu
dGF0aW9uL2RldmljZS1tb3Rpb24tdGhpcmQtcGFydHktaWZyYW1lLWFsbG93ZWQtYnktZmVhdHVy
ZS1wb2xpY3ktZXhwZWN0ZWQudHh0CmluZGV4IDQ1MDgwYjM3NjRjNjAwMWVmM2ZmNGY4MTBmOGJm
MGQ0YTRmMGUxMTYuLmM4ODIyNTQ4ZDI2NzZhNGE2NTIzMzc4MmY2NGExMDhiMmQ3MzdhYWUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2Rldmlj
ZS1tb3Rpb24tdGhpcmQtcGFydHktaWZyYW1lLWFsbG93ZWQtYnktZmVhdHVyZS1wb2xpY3ktZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9u
L2RldmljZS1tb3Rpb24tdGhpcmQtcGFydHktaWZyYW1lLWFsbG93ZWQtYnktZmVhdHVyZS1wb2xp
Y3ktZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogQ09OU09MRSBNRVNTQUdFOiBObyBkZXZp
Y2UgbW90aW9uIGV2ZW50cyB3aWxsIGJlIGZpcmVkLCByZWFzb246IFBlcm1pc3Npb24gdG8gdXNl
IHRoZSBBUEkgd2FzIG5vdCB5ZXQgcmVxdWVzdGVkLgotUmVjZWl2ZWQgZGV2aWNlIG9yaWVudGF0
aW9uICYgbW90aW9uIGFjY2VzcyByZXF1ZXN0IGZvciBzZWN1cml0eSBvcmlnaW4gImh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMCIuCitSZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNj
ZXNzIHJlcXVlc3QgZm9yIHRvcCBsZXZlbCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIs
IHdpdGggZnJhbWUgb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAiLgogVGVzdHMgdGhhdCB0
aGlyZC1wYXJ0eSBpZnJhbWVzIGNhbiByZXF1ZXN0IGFjY2VzcyB0byBkZXZpY2UgbW90aW9uIGV2
ZW50cyBpZiBhbGxvd2VkIGJ5IGZlYXR1cmUgcG9saWN5LgogCiBPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RldmljZS1vcmllbnRh
dGlvbi9kZXZpY2Utb3JpZW50YXRpb24tYWxsb3dlZC1pbi1maXJzdC1wYXJ0eS1vbmx5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2Rldmlj
ZS1vcmllbnRhdGlvbi1hbGxvd2VkLWluLWZpcnN0LXBhcnR5LW9ubHktZXhwZWN0ZWQudHh0Cmlu
ZGV4IGIzMmNkMGM3ZDUyN2IxYmIwMGJiYzJiZjM4OGZlNzVjZDIwODFhOTUuLmZhOGEzOWMxOGVi
NTRiYjc1ZTIzOWFlODVlZTk0NzUxOTM4ZjA2YzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRhdGlvbi1hbGxvd2VkLWlu
LWZpcnN0LXBhcnR5LW9ubHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRhdGlvbi1hbGxvd2VkLWluLWZpcnN0
LXBhcnR5LW9ubHktZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAotUmVjZWl2ZWQgZGV2aWNl
IG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyByZXF1ZXN0IGZvciBzZWN1cml0eSBvcmlnaW4g
Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIuCitSZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBt
b3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9yIHRvcCBsZXZlbCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMCIsIHdpdGggZnJhbWUgb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiLgogQ09O
U09MRSBNRVNTQUdFOiBObyBkZXZpY2Ugb3JpZW50YXRpb24gZXZlbnRzIHdpbGwgYmUgZmlyZWQs
IHJlYXNvbjogUGVybWlzc2lvbiB0byB1c2UgdGhlIEFQSSB3YXMgbm90IHlldCByZXF1ZXN0ZWQu
Ci1SZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9y
IHNlY3VyaXR5IG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIi4KK1JlY2VpdmVkIGRldmlj
ZSBvcmllbnRhdGlvbiAmIG1vdGlvbiBhY2Nlc3MgcmVxdWVzdCBmb3IgdG9wIGxldmVsIG9yaWdp
biAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwgd2l0aCBmcmFtZSBvcmlnaW4gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMCIuCiBUZXN0cyB0aGF0IGdpdmluZyBkZXZpY2Ugb3JpZW50YXRpb24gcGVybWlz
c2lvbiBpbiB0aGUgbWFpbiBmcmFtZSBkb2VzIG5vdCBnaXZlIGFjY2VzcyB0byB0aGlyZC1wYXJ0
eSBpZnJhbWVzLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2Utb3JpZW50YXRpb24t
cGVybWlzc2lvbi1ncmFudGVkLWluLW90aGVyLWlmcmFtZXMtZnJvbS1zYW1lLW9yaWdpbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RldmljZS1vcmllbnRhdGlvbi9kZXZp
Y2Utb3JpZW50YXRpb24tcGVybWlzc2lvbi1ncmFudGVkLWluLW90aGVyLWlmcmFtZXMtZnJvbS1z
YW1lLW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggYjNmNjdkYWYzZDZlM2EzYzUwNjE3OTg5MDUw
ZjZjMTYwYjY4NDk2NS4uZDE2ZjZkNzI0NDI2Yjc0Y2M5MzNlNjY0MTZlMWI2N2VhNjY4ZDdjNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kZXZpY2Utb3JpZW50YXRpb24vZGV2
aWNlLW9yaWVudGF0aW9uLXBlcm1pc3Npb24tZ3JhbnRlZC1pbi1vdGhlci1pZnJhbWVzLWZyb20t
c2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2
aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRhdGlvbi1wZXJtaXNzaW9uLWdyYW50ZWQtaW4t
b3RoZXItaWZyYW1lcy1mcm9tLXNhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUg
QEAKIENPTlNPTEUgTUVTU0FHRTogTm8gZGV2aWNlIG9yaWVudGF0aW9uIGV2ZW50cyB3aWxsIGJl
IGZpcmVkLCByZWFzb246IFBlcm1pc3Npb24gdG8gdXNlIHRoZSBBUEkgd2FzIG5vdCB5ZXQgcmVx
dWVzdGVkLgotUmVjZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyByZXF1
ZXN0IGZvciBzZWN1cml0eSBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuCitSZWNlaXZl
ZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9yIHRvcCBsZXZl
bCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIsIHdpdGggZnJhbWUgb3JpZ2luICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAiLgogVGVzdHMgdGhhdCBnaXZpbmcgZGV2aWNlIG9yaWVudGF0aW9u
IHBlcm1pc3Npb24gdG8gb25lIHRoaXJkLXBhcnR5IGlmcmFtZSBnaXZlcyBpdCB0byBvdGhlciBp
ZnJhbWVzIG9mIHRoZSBzYW1lIG9yaWdpbiB0b28uCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9u
L2RldmljZS1vcmllbnRhdGlvbi10aGlyZC1wYXJ0eS1pZnJhbWUtYWxsb3dlZC1ieS1mZWF0dXJl
LXBvbGljeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RldmljZS1vcmll
bnRhdGlvbi9kZXZpY2Utb3JpZW50YXRpb24tdGhpcmQtcGFydHktaWZyYW1lLWFsbG93ZWQtYnkt
ZmVhdHVyZS1wb2xpY3ktZXhwZWN0ZWQudHh0CmluZGV4IDRjODIzMTVlNzE2Mjg4YmI4YzYwZTJm
ZGE1NDVlNDg1MzViZDc4NjAuLjhmODUxNzA0NjM3OGE4ZjY0M2U1OWM4ZjVkNTAyOTY5YmEwNjA4
ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9u
L2RldmljZS1vcmllbnRhdGlvbi10aGlyZC1wYXJ0eS1pZnJhbWUtYWxsb3dlZC1ieS1mZWF0dXJl
LXBvbGljeS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kZXZpY2Ut
b3JpZW50YXRpb24vZGV2aWNlLW9yaWVudGF0aW9uLXRoaXJkLXBhcnR5LWlmcmFtZS1hbGxvd2Vk
LWJ5LWZlYXR1cmUtcG9saWN5LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIENPTlNPTEUg
TUVTU0FHRTogTm8gZGV2aWNlIG9yaWVudGF0aW9uIGV2ZW50cyB3aWxsIGJlIGZpcmVkLCByZWFz
b246IFBlcm1pc3Npb24gdG8gdXNlIHRoZSBBUEkgd2FzIG5vdCB5ZXQgcmVxdWVzdGVkLgotUmVj
ZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyByZXF1ZXN0IGZvciBzZWN1
cml0eSBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuCitSZWNlaXZlZCBkZXZpY2Ugb3Jp
ZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9yIHRvcCBsZXZlbCBvcmlnaW4gImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMCIsIHdpdGggZnJhbWUgb3JpZ2luICJodHRwOi8vbG9jYWxob3N0
OjgwMDAiLgogVGVzdHMgdGhhdCB0aGlyZC1wYXJ0eSBpZnJhbWVzIGNhbiByZXF1ZXN0IGFjY2Vz
cyB0byBkZXZpY2Ugb3JpZW50YXRpb24gZXZlbnRzIGlmIGFsbG93ZWQgYnkgZmVhdHVyZSBwb2xp
Y3kuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423449</attachid>
            <date>2021-03-17 01:10:50 -0700</date>
            <delta_ts>2021-03-17 06:30:31 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223247-20210317091047.patch</filename>
            <type>text/plain</type>
            <size>54629</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUxYTcwYTMxYTcyYmEyYTU3
YWZhYzk2MzE1MWI2MmU0OTFlMzFjMmUuLjBkNjg1Nzk4MTg1MWM2YzU1YzdjZjI1OTU2OTgyOTJk
YjJjYTVjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjEtMDMtMTYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFsaWduIGRldmljZSBvcmllbnRh
dGlvbiBkZWxlZ2F0ZSB0byBnZXRVc2VyTWVkaWEvZ2VvbG9jYXRpb24gZGVsZWdhdGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyNDcKKworICAg
ICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgUmVmYWN0b3IgY29kZSB0
byBtb3ZlIGRldmljZSBvcmllbnRhdGlvbiBwcm9tcHQgaW1wbGVtZW50YXRpb24gd2l0aCBvdGhl
ciBwcm9tcHRzIGluIE1lZGlhUGVybWlzc2lvblV0aWxpdGllcy4KKyAgICAgICAgVXBkYXRlIGNv
ZGUgdG8gdXNlIHRvcCBsZXZlbCBvcmlnaW4gZm9yIHByb21wdC4KKyAgICAgICAgVXBkYXRlIGRl
bGVnYXRlIHRvIHByb3ZpZGUgYm90aCB0b3AgbGV2ZWwgb3JpZ2luIGFuZCBpbml0aWF0aW5nIGlm
cmFtZSBhcyBwYXJhbWV0ZXJzLgorICAgICAgICBVcGRhdGUgdGhlIGRlY2lzaW9uIGhhbmRsZXIg
dG8gdGFrZSBncmFudCwgZGVueSBvciBwcm9tcHQgcGFyYW1ldGVyLgorCisgICAgICAgIENvdmVy
ZWQgYnkgQVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVJbmZv
UmVmLmNwcDoKKyAgICAgICAgKFdLRnJhbWVJbmZvQ29weVNlY3VyaXR5T3JpZ2luKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tGcmFtZUluZm9SZWYuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VVSUNsaWVudCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL01lZGlhUGVybWlzc2lvblV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYktpdDo6
YWxlcnRNZXNzYWdlVGV4dCk6CisgICAgICAgIChXZWJLaXQ6OmFsbG93QnV0dG9uVGV4dCk6Cisg
ICAgICAgIChXZWJLaXQ6OmRvTm90QWxsb3dCdXR0b25UZXh0KToKKyAgICAgICAgKFdlYktpdDo6
YWxlcnRGb3JQZXJtaXNzaW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0
ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAo
V2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVs
ZWdhdGU6OlVJQ2xpZW50OjpzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNj
ZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0
Lmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nl
c3NBbGVydC5tbTogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvTWVkaWFQZXJtaXNzaW9u
VXRpbGl0aWVzLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYkRldmljZU9y
aWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlcjo6c2hvdWxkQWxs
b3dBY2Nlc3MpOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
CiAyMDIxLTAzLTE2ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtTT1VQXSBGaXggU09VUDMgZGVidWcgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVJbmZvUmVmLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLRnJhbWVJbmZvUmVmLmNwcAppbmRleCBhZTVmZTEzM2Y0YzczYjRkMTYxZDY4
NjcxMmRiOTJjNTA5YTFjMzkyLi4wNTZiZjJhMTBjNGVjYzg2ZTdhMDM0NWIwNTU4ODNmZmY0ZTBm
NjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lSW5m
b1JlZi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZUluZm9S
ZWYuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBUElGcmFtZUhhbmRsZS5oIgog
I2luY2x1ZGUgIkFQSUZyYW1lSW5mby5oIgorI2luY2x1ZGUgIkFQSVNlY3VyaXR5T3JpZ2luLmgi
CiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CkBAIC00
MSwzICs0Miw5IEBAIFdLRnJhbWVIYW5kbGVSZWYgV0tGcmFtZUluZm9DcmVhdGVGcmFtZUhhbmRs
ZVJlZihXS0ZyYW1lSW5mb1JlZiBmcmFtZUluZm9SZWYpCiB7CiAgICAgcmV0dXJuIHRvQVBJKCZ0
b0ltcGwoZnJhbWVJbmZvUmVmKS0+aGFuZGxlKCkubGVha1JlZigpKTsKIH0KKworV0tTZWN1cml0
eU9yaWdpblJlZiBXS0ZyYW1lSW5mb0NvcHlTZWN1cml0eU9yaWdpbihXS0ZyYW1lSW5mb1JlZiBm
cmFtZUluZm9SZWYpCit7CisgICAgYXV0byBvcmlnaW4gPSB0b0ltcGwoZnJhbWVJbmZvUmVmKS0+
c2VjdXJpdHlPcmlnaW4oKTsKKyAgICByZXR1cm4gdG9BUEkoJkFQSTo6U2VjdXJpdHlPcmlnaW46
OmNyZWF0ZShvcmlnaW4ucHJvdG9jb2wsIG9yaWdpbi5ob3N0LCBvcmlnaW4ucG9ydCkubGVha1Jl
ZigpKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLRnJh
bWVJbmZvUmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lSW5mb1Jl
Zi5oCmluZGV4IDZlNzkxNWMxODJhZGQ3MmJiNWU3NjcwYzE1NmVhY2Y4NDg3YmJiMTQuLjYwYjkz
MDU0Yjc5MGY1YTE4ODM0OGM0MzVlN2Q1Yjc5ZTI2NDk2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVJbmZvUmVmLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZUluZm9SZWYuaApAQCAtMzMsOCArMzMsOCBAQCBleHRl
cm4gIkMiIHsKICNlbmRpZgogCiBXS19FWFBPUlQgV0tUeXBlSUQgV0tGcmFtZUluZm9HZXRUeXBl
SUQoKTsKLQogV0tfRVhQT1JUIFdLRnJhbWVIYW5kbGVSZWYgV0tGcmFtZUluZm9DcmVhdGVGcmFt
ZUhhbmRsZVJlZihXS0ZyYW1lSW5mb1JlZiBmcmFtZUluZm8pOworV0tfRVhQT1JUIFdLU2VjdXJp
dHlPcmlnaW5SZWYgV0tGcmFtZUluZm9Db3B5U2VjdXJpdHlPcmlnaW4oV0tGcmFtZUluZm9SZWYg
ZnJhbWVJbmZvUmVmKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCAzMzYwMDc2OTE1MTQ3ZGNmYjlkMGE5ZGVjN2My
ODAzODQ0N2U3ODU0Li43MmRmZWQ5MGMxYzVjMDIzMjA4ZWE0OTIzOTIxZTBhYTViYTA3ZTUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTE5MjgsMTMgKzE5
MjgsMTQgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNv
bnN0IFdLUGFnZVVJQ2xpZW50QmFzZSogd2tDbGllbnQKICAgICAgICAgfQogCiAjaWYgRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKLSAgICAgICAgdm9pZCBzaG91bGRBbGxvd0RldmljZU9yaWVu
dGF0aW9uQW5kTW90aW9uQWNjZXNzKFdlYlBhZ2VQcm94eSYgcGFnZSwgV2ViRnJhbWVQcm94eSYs
IEZyYW1lSW5mb0RhdGEmJiBmcmFtZUluZm8sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsCisgICAgICAgIHZvaWQgc2hvdWxkQWxsb3dEZXZp
Y2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2VzcyhXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYkZyYW1l
UHJveHkmIGZyYW1lLCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbmZvLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbAogICAgICAgICB7CiAgICAg
ICAgICAgICBpZiAoIW1fY2xpZW50LnNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rp
b25BY2Nlc3MpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNl
KTsKIAotICAgICAgICAgICAgYXV0byBvcmlnaW4gPSBBUEk6OlNlY3VyaXR5T3JpZ2luOjpjcmVh
dGUoZnJhbWVJbmZvLnNlY3VyaXR5T3JpZ2luLnNlY3VyaXR5T3JpZ2luKCkpOwotICAgICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIobV9jbGllbnQuc2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlv
bkFuZE1vdGlvbkFjY2Vzcyh0b0FQSSgmcGFnZSksIHRvQVBJKG9yaWdpbi5wdHIoKSksIG1fY2xp
ZW50LmJhc2UuY2xpZW50SW5mbykpOworICAgICAgICAgICAgYXV0byBvcmlnaW4gPSBBUEk6OlNl
Y3VyaXR5T3JpZ2luOjpjcmVhdGUoU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcocGFn
ZS5wYWdlTG9hZFN0YXRlKCkuYWN0aXZlVVJMKCkpLmdldCgpKTsKKyAgICAgICAgICAgIGF1dG8g
YXBpRnJhbWVJbmZvID0gQVBJOjpGcmFtZUluZm86OmNyZWF0ZShXVEZNb3ZlKGZyYW1lSW5mbyks
ICZwYWdlKTsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1fY2xpZW50LnNob3VsZEFs
bG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3ModG9BUEkoJnBhZ2UpLCB0b0FQSShv
cmlnaW4ucHRyKCkpLCB0b0FQSShhcGlGcmFtZUluZm8ucHRyKCkpLCBtX2NsaWVudC5iYXNlLmNs
aWVudEluZm8pKTsKICAgICAgICAgfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCmluZGV4IDNkMzE1YmU2MTM0OGRkN2QyNDY3YmFh
OTRkZWE0YWU3MTFjMjc4MDMuLmVkOTgwYmUxN2NkZjlmYWVjM2Y3YWYxYmRjN2NmZDY0MGJhYjhm
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQu
aApAQCAtMTMzLDcgKzEzMyw3IEBAIHR5cGVkZWYgdm9pZCAoKldLRGlkTG9zZVBvaW50ZXJMb2Nr
Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJCiB0eXBlZGVmIHZv
aWQgKCpXS0hhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlQ2FsbGJhY2spKFdLUGFn
ZVJlZiBwYWdlLCBib29sIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLRGlkRXhjZWVkQmFja2dyb3VuZFJlc291cmNl
TGltaXRXaGlsZUluRm9yZWdyb3VuZENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tSZXNvdXJj
ZUxpbWl0IGxpbWl0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldL
UGFnZURpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZUNhbGxiYWNr
KShXS1BhZ2VSZWYgcGFnZSwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKTsKLXR5cGVkZWYgYm9vbCAoKldLUGFnZVNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25B
bmRNb3Rpb25BY2Nlc3NDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU2VjdXJpdHlPcmlnaW5S
ZWYgc2VjdXJpdHlPcmlnaW4sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiBib29s
ICgqV0tQYWdlU2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NhbGxi
YWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTZWN1cml0eU9yaWdpblJlZiBzZWN1cml0eU9yaWdpbiwg
V0tGcmFtZUluZm9SZWYgZnJhbWUsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogCiB0eXBlZGVm
IHZvaWQgKCpXS1BhZ2VSdW5XZWJBdXRoZW50aWNhdGlvblBhbmVsQ2FsbGJhY2spKCk7CiB0eXBl
ZGVmIHZvaWQgKCpXS1BhZ2VEZWNpZGVQb2xpY3lGb3JTcGVlY2hSZWNvZ25pdGlvblBlcm1pc3Np
b25SZXF1ZXN0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHRv
cE9yaWdpbiwgV0tTcGVlY2hSZWNvZ25pdGlvblBlcm1pc3Npb25DYWxsYmFja1JlZiBjYWxsYmFj
ayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURl
bGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlE
ZWxlZ2F0ZVByaXZhdGUuaAppbmRleCBlZWJhN2E5YzEyOGRiYmZiODA3MWJkMDBlNzdiYzA3MTkw
YzA3ZmVmLi5lNjY1OGU1M2NjM2ExMDU2NzA1ZmJkYWE4NzFiOGRlNGIzMTBkMDg1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQ
cml2YXRlLmgKQEAgLTIyMCwxMSArMjIwLDEwIEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAKIC8q
ISBAYWJzdHJhY3QgQWxsb3dzIHlvdXIgYXBwIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0
aGUgZ2l2ZW4gc2VjdXJpdHkgb3JpZ2luIHNob3VsZCBoYXZlIGFjY2VzcyB0byB0aGUgZGV2aWNl
J3Mgb3JpZW50YXRpb24gYW5kIG1vdGlvbi4KICBAcGFyYW0gc2VjdXJpdHlPcmlnaW4gVGhlIHNl
Y3VyaXR5IG9yaWdpbiB3aGljaCByZXF1ZXN0ZWQgYWNjZXNzIHRvIHRoZSBkZXZpY2UncyBvcmll
bnRhdGlvbiBhbmQgbW90aW9uLgotIEBwYXJhbSBkZWNpc2lvbkhhbmRsZXIgVGhlIGRlY2lzaW9u
IGhhbmRsZXIgdG8gY2FsbCBvbmNlIHRoZSBhcHAgaGFzIG1hZGUgaXRzIGRlY2lzaW9uLiBQYXNz
IFlFUyB0byBhbGxvdyB0aGUgb3JpZ2luIGFjY2VzcywgTk8gb3RoZXJ3aXNlLgotCi0gSWYgeW91
IGRvIG5vdCBpbXBsZW1lbnQgdGhpcyBtZXRob2QsIGFjY2VzcyB0byB0aGUgZGV2aWNlJ3Mgb3Jp
ZW50YXRpb24gYW5kIG1vdGlvbiB3aWxsIGJlIGdyYW50ZWQuCisgQHBhcmFtIGZyYW1lIFRoZSBm
cmFtZSB0aGF0IGluaXRpYXRlZCB0aGUgcmVxdWVzdC4KKyBAcGFyYW0gZGVjaXNpb25IYW5kbGVy
IFRoZSBkZWNpc2lvbiBoYW5kbGVyIHRvIGNhbGwgb25jZSB0aGUgYXBwIGhhcyBtYWRlIGl0cyBk
ZWNpc2lvbi4KICAqLwotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzaG91
bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZToo
V0tGcmFtZUluZm8gKilyZXF1ZXN0aW5nRnJhbWUgZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShC
T09MKSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTMuMCkpOworLSAodm9p
ZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0RGV2aWNlT3JpZW50YXRpb25B
bmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOihXS1NlY3VyaXR5T3JpZ2luKilvcmlnaW4gaW5p
dGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBkZWNpc2lvbkhhbmRsZXI6KHZvaWQg
KF4pKF9XS1Blcm1pc3Npb25EZWNpc2lvbiBkZWNpc2lvbikpZGVjaXNpb25IYW5kbGVyIFdLX0FQ
SV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKIAogI2Vsc2UgLy8gIVRBUkdFVF9PU19JUEhP
TkUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFQZXJt
aXNzaW9uVXRpbGl0aWVzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFQ
ZXJtaXNzaW9uVXRpbGl0aWVzLm1tCmluZGV4IDlkMjNkY2VhMzMzMTExZjJhYzc1Yjk5YTA3ZjFh
MzBlMzFmYWZiZWYuLjc5MThkMzAxMDMzMTYxN2JlY2U3N2UyMjcwYzgyYzhhOWFhNmI1NjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhUGVybWlzc2lvblV0
aWxpdGllcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRpYVBlcm1p
c3Npb25VdGlsaXRpZXMubW0KQEAgLTEzNSw2ICsxMzUsOCBAQCBzdGF0aWMgTlNTdHJpbmcgKmFs
ZXJ0TWVzc2FnZVRleHQoTWVkaWFQZXJtaXNzaW9uUmVhc29uIHJlYXNvbiwgY29uc3QgV2ViQ29y
ZTo6UwogICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX05T
U1RSSU5HKEAiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlvdXIgY2FtZXJhIGFuZCBtaWNyb3Bob25l
PyIsIEAiTWVzc2FnZSBmb3IgdXNlciBtZWRpYSBwcm9tcHQiKSwgdmlzaWJsZU9yaWdpbl07CiAg
ICAgY2FzZSBNZWRpYVBlcm1pc3Npb25SZWFzb246Ok1pY3JvcGhvbmU6CiAgICAgICAgIHJldHVy
biBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkcoQCJBbGxvdyDigJwl
QOKAnSB0byB1c2UgeW91ciBtaWNyb3Bob25lPyIsIEAiTWVzc2FnZSBmb3IgdXNlciBtaWNyb3Bo
b25lIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZU9yaWdpbl07CisgICAgY2FzZSBNZWRpYVBlcm1p
c3Npb25SZWFzb246OkRldmljZU9yaWVudGF0aW9uOgorICAgICAgICByZXR1cm4gW05TU3RyaW5n
IHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX05TU1RSSU5HKEAi4oCcJUDigJ0gV291bGQgTGlrZSB0
byBBY2Nlc3MgTW90aW9uIGFuZCBPcmllbnRhdGlvbiIsIEAiTWVzc2FnZSBmb3IgcmVxdWVzdGlu
ZyBhY2Nlc3MgdG8gdGhlIGRldmljZSBtb3Rpb24gYW5kIG9yaWVudGF0aW9uIiksIHZpc2libGVP
cmlnaW5dOwogICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpHZW9sb2NhdGlvbjoKICAg
ICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9OU1NUUklORyhA
IkFsbG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIGN1cnJlbnQgbG9jYXRpb24/IiwgQCJNZXNzYWdl
IGZvciBnZW9sb2NhdGlvbiBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4uaG9zdCldOwog
ICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpTcGVlY2hSZWNvZ25pdGlvbjoKQEAgLTE0
OSw2ICsxNTEsOCBAQCBzdGF0aWMgTlNTdHJpbmcgKmFsbG93QnV0dG9uVGV4dChNZWRpYVBlcm1p
c3Npb25SZWFzb24gcmVhc29uKQogICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpDYW1l
cmFBbmRNaWNyb3Bob25lOgogICAgIGNhc2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpNaWNyb3Bo
b25lOgogICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoQCJBbGxvdyIsICJBbGxvdyAo
dXNlcm1lZGlhKSIsIEAiQWxsb3cgYnV0dG9uIHRpdGxlIGluIHVzZXIgbWVkaWEgcHJvbXB0Iik7
CisgICAgY2FzZSBNZWRpYVBlcm1pc3Npb25SZWFzb246OkRldmljZU9yaWVudGF0aW9uOgorICAg
ICAgICByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoQCJBbGxvdyIsICJBbGxvdyAoZGV2aWNlIG1v
dGlvbiBhbmQgb3JpZW50YXRpb24gYWNjZXNzKSIsIEAiQnV0dG9uIHRpdGxlIGluIERldmljZSBP
cmllbnRhdGlvbiBQZXJtaXNzaW9uIEFQSSBwcm9tcHQiKTsKICAgICBjYXNlIE1lZGlhUGVybWlz
c2lvblJlYXNvbjo6R2VvbG9jYXRpb246CiAgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HX0tF
WShAIkFsbG93IiwgIkFsbG93IChnZW9sb2NhdGlvbikiLCBAIkFsbG93IGJ1dHRvbiB0aXRsZSBp
biBnZW9sb2NhdGlvbiBwcm9tcHQiKTsKICAgICBjYXNlIE1lZGlhUGVybWlzc2lvblJlYXNvbjo6
U3BlZWNoUmVjb2duaXRpb246CkBAIC0xNjMsNiArMTY3LDggQEAgc3RhdGljIE5TU3RyaW5nICpk
b05vdEFsbG93QnV0dG9uVGV4dChNZWRpYVBlcm1pc3Npb25SZWFzb24gcmVhc29uKQogICAgIGNh
c2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpDYW1lcmFBbmRNaWNyb3Bob25lOgogICAgIGNhc2Ug
TWVkaWFQZXJtaXNzaW9uUmVhc29uOjpNaWNyb3Bob25lOgogICAgICAgICByZXR1cm4gV0VCX1VJ
X1NUUklOR19LRVkoQCJEb27igJl0IEFsbG93IiwgIkRvbuKAmXQgQWxsb3cgKHVzZXJtZWRpYSki
LCBAIkRpc2FsbG93IGJ1dHRvbiB0aXRsZSBpbiB1c2VyIG1lZGlhIHByb21wdCIpOworICAgIGNh
c2UgTWVkaWFQZXJtaXNzaW9uUmVhc29uOjpEZXZpY2VPcmllbnRhdGlvbjoKKyAgICAgICAgcmV0
dXJuIFdFQl9VSV9TVFJJTkdfS0VZKEAiQ2FuY2VsIiwgIkNhbmNlbCAoZGV2aWNlIG1vdGlvbiBh
bmQgb3JpZW50YXRpb24gYWNjZXNzKSIsIEAiQnV0dG9uIHRpdGxlIGluIERldmljZSBPcmllbnRh
dGlvbiBQZXJtaXNzaW9uIEFQSSBwcm9tcHQiKTsKICAgICBjYXNlIE1lZGlhUGVybWlzc2lvblJl
YXNvbjo6R2VvbG9jYXRpb246CiAgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWShAIkRv
buKAmXQgQWxsb3ciLCAiRG9u4oCZdCBBbGxvdyAoZ2VvbG9jYXRpb24pIiwgQCJEaXNhbGxvdyBi
dXR0b24gdGl0bGUgaW4gZ2VvbG9jYXRpb24gcHJvbXB0Iik7CiAgICAgY2FzZSBNZWRpYVBlcm1p
c3Npb25SZWFzb246OlNwZWVjaFJlY29nbml0aW9uOgpAQCAtMTcyLDYgKzE3OCwxMyBAQCBzdGF0
aWMgTlNTdHJpbmcgKmRvTm90QWxsb3dCdXR0b25UZXh0KE1lZGlhUGVybWlzc2lvblJlYXNvbiBy
ZWFzb24pCiAKIHZvaWQgYWxlcnRGb3JQZXJtaXNzaW9uKFdlYlBhZ2VQcm94eSYgcGFnZSwgTWVk
aWFQZXJtaXNzaW9uUmVhc29uIHJlYXNvbiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhJiBvcmlnaW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAocmVhc29uID09IE1l
ZGlhUGVybWlzc2lvblJlYXNvbjo6RGV2aWNlT3JpZW50YXRpb24pIHsKKyAgICAgICAgaWYgKGF1
dG8mIHVzZXJQZXJtaXNzaW9uSGFuZGxlciA9IHBhZ2UuZGV2aWNlT3JpZW50YXRpb25Vc2VyUGVy
bWlzc2lvbkhhbmRsZXJGb3JUZXN0aW5nKCkpCisgICAgICAgICAgICByZXR1cm4gY29tcGxldGlv
bkhhbmRsZXIodXNlclBlcm1pc3Npb25IYW5kbGVyKCkpOworICAgIH0KKyNlbmRpZgorCiAgICAg
YXV0byAqd2ViVmlldyA9IGZyb21XZWJQYWdlUHJveHkocGFnZSk7CiAgICAgaWYgKCF3ZWJWaWV3
KSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAppbmRleCA2NjE5ZmY0ZWJmNmY3YTIxNGRkMWMzOGE0
ZjYyNDc1ZGFlY2FjZmFlLi43MmE0NWE0Yzk3NWUzNmI3ZWVkMDBkNGM5ZGU4NTQwMzhiMjgzZjUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCkBAIC0yMTIs
NyArMjEyLDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCB3ZWJWaWV3V2lsbENsb3NlTG9jYWxJ
bnNwZWN0b3IgOiAxOwogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKLSAg
ICAgICAgYm9vbCB3ZWJWaWV3U2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFj
Y2Vzc1JlcXVlc3RlZEJ5RnJhbWVEZWNpc2lvbkhhbmRsZXIgOiAxOworICAgICAgICBib29sIHdl
YlZpZXdSZXF1ZXN0RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2lu
RGVjaXNpb25IYW5kbGVyIDogMTsKICNlbmRpZgogICAgICAgICBib29sIHdlYlZpZXdEZWNpZGVE
YXRhYmFzZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW5DdXJyZW50UXVvdGFDdXJyZW50T3JpZ2luVXNh
Z2VDdXJyZW50RGF0YWJhc2VVc2FnZUV4cGVjdGVkVXNhZ2VEZWNpc2lvbkhhbmRsZXIgOiAxOwog
ICAgICAgICBib29sIHdlYlZpZXdEZWNpZGVEYXRhYmFzZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW5E
YXRhYmFzZU5hbWVEaXNwbGF5TmFtZUN1cnJlbnRRdW90YUN1cnJlbnRPcmlnaW5Vc2FnZUN1cnJl
bnREYXRhYmFzZVVzYWdlRXhwZWN0ZWRVc2FnZURlY2lzaW9uSGFuZGxlciA6IDE7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRleCBhY2I2ZjM2ZTYxOWU2
M2FhMGRkNWExZDU2NGQ5NjI2MDZlNTI2OWRlLi5jOGFiZWQ2MTQ1YTk4MmE4NjExNzY0OTE0NTdm
YWY0OGFhNWZlODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9V
SURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUubW0KQEAgLTQzLDcgKzQzLDYgQEAKICNpbXBvcnQgIldLTlNEaWN0aW9uYXJ5LmgiCiAjaW1w
b3J0ICJXS05hdmlnYXRpb25BY3Rpb25JbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tPcGVuUGFuZWxQ
YXJhbWV0ZXJzSW50ZXJuYWwuaCIKLSNpbXBvcnQgIldLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5o
IgogI2ltcG9ydCAiV0tTZWN1cml0eU9yaWdpbkludGVybmFsLmgiCiAjaW1wb3J0ICJXS1N0b3Jh
Z2VBY2Nlc3NBbGVydC5oIgogI2ltcG9ydCAiV0tVSURlbGVnYXRlUHJpdmF0ZS5oIgpAQCAtMTQw
LDcgKzEzOSw3IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUoaWQgPFdLVUlEZWxlZ2F0
ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1dpbGxDbG9zZUxvY2Fs
SW5zcGVjdG9yID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZp
ZXc6d2lsbENsb3NlTG9jYWxJbnNwZWN0b3I6KV07CiAjZW5kaWYKICNpZiBFTkFCTEUoREVWSUNF
X09SSUVOVEFUSU9OKQotICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdTaG91bGRBbGxvd0Rl
dmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZURlY2lzaW9uSGFu
ZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnNo
b3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRCeUZyYW1l
OmRlY2lzaW9uSGFuZGxlcjopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UmVxdWVz
dERldmljZU9yaWVudGF0aW9uQW5kTW90aW9uUGVybWlzc2lvbkZvck9yaWdpbkRlY2lzaW9uSGFu
ZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJl
cXVlc3REZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvblBlcm1pc3Npb25Gb3JPcmlnaW46aW5pdGlh
dGVkQnlGcmFtZTpkZWNpc2lvbkhhbmRsZXI6KV07CiAjZW5kaWYKICAgICBtX2RlbGVnYXRlTWV0
aG9kcy53ZWJWaWV3RGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luQ3VycmVudFF1
b3RhQ3VycmVudE9yaWdpblVzYWdlQ3VycmVudERhdGFiYXNlVXNhZ2VFeHBlY3RlZFVzYWdlRGVj
aXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dl
YlZpZXc6ZGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luOmN1cnJlbnRRdW90YTpj
dXJyZW50T3JpZ2luVXNhZ2U6Y3VycmVudERhdGFiYXNlVXNhZ2U6ZXhwZWN0ZWRVc2FnZTpkZWNp
c2lvbkhhbmRsZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RlY2lkZURhdGFi
YXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbkRhdGFiYXNlTmFtZURpc3BsYXlOYW1lQ3VycmVudFF1
b3RhQ3VycmVudE9yaWdpblVzYWdlQ3VycmVudERhdGFiYXNlVXNhZ2VFeHBlY3RlZFVzYWdlRGVj
aXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dl
YlZpZXc6ZGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luOmRhdGFiYXNlTmFtZTpk
aXNwbGF5TmFtZTpjdXJyZW50UXVvdGE6Y3VycmVudE9yaWdpblVzYWdlOmN1cnJlbnREYXRhYmFz
ZVVzYWdlOmV4cGVjdGVkVXNhZ2U6ZGVjaXNpb25IYW5kbGVyOildOwpAQCAtMTA0MiwyNSArMTA0
MSwzNSBAQCBib29sIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpydW5PcGVuUGFuZWwoV2ViUGFnZVBy
b3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5KiB3ZWJGcgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5U
QVRJT04pCiB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzaG91bGRBbGxvd0RldmljZU9yaWVu
dGF0aW9uQW5kTW90aW9uQWNjZXNzKFdlYktpdDo6V2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFt
ZVByb3h5JiB3ZWJGcmFtZVByb3h5LCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbmZvLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGlmICgh
bV91aURlbGVnYXRlKQotICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwot
Ci0gICAgaWYgKCFtX3VpRGVsZWdhdGUtPm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdTaG91bGRB
bGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZURlY2lz
aW9uSGFuZGxlcikgewotICAgICAgICBwcmVzZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydChtX3Vp
RGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5nZXQoKSwgZnJhbWVJbmZvLnNlY3VyaXR5T3JpZ2lu
Lmhvc3QsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICBhdXRvIHNlY3VyaXR5T3Jp
Z2luID0gV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcocGFnZS5wYWdl
TG9hZFN0YXRlKCkuYWN0aXZlVVJMKCkpOworICAgIGlmICghbV91aURlbGVnYXRlIHx8ICFtX3Vp
RGVsZWdhdGUtPm1fZGVsZWdhdGUuZ2V0KCkgfHwgIW1fdWlEZWxlZ2F0ZS0+bV9kZWxlZ2F0ZU1l
dGhvZHMud2ViVmlld1JlcXVlc3REZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvblBlcm1pc3Npb25G
b3JPcmlnaW5EZWNpc2lvbkhhbmRsZXIpIHsKKyAgICAgICAgYWxlcnRGb3JQZXJtaXNzaW9uKHBh
Z2UsIE1lZGlhUGVybWlzc2lvblJlYXNvbjo6RGV2aWNlT3JpZW50YXRpb24sIHNlY3VyaXR5T3Jp
Z2luLT5kYXRhKCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAogICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUtPm1fZGVsZWdhdGUu
Z2V0KCk7Ci0gICAgaWYgKCFkZWxlZ2F0ZSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5k
bGVyKGZhbHNlKTsKLQotICAgIGF1dG8gY2hlY2tlciA9IENvbXBsZXRpb25IYW5kbGVyQ2FsbENo
ZWNrZXI6OmNyZWF0ZShkZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9yKF93ZWJWaWV3OnNob3VsZEFs
bG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRCeUZyYW1lOmRlY2lz
aW9uSGFuZGxlcjopKTsKLSAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBf
d2ViVmlldzptX3VpRGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5nZXQoKSBzaG91bGRBbGxvd0Rl
dmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZTp3cmFwcGVyKEFQ
STo6RnJhbWVJbmZvOjpjcmVhdGUoV1RGTW92ZShmcmFtZUluZm8pLCAmcGFnZSkpIGRlY2lzaW9u
SGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlciksIGNoZWNrZXIgPSBXVEZNb3ZlKGNoZWNrZXIpXSAoQk9PTCBncmFudGVkKSBt
dXRhYmxlIHsKKyAgICBhdXRvIGNoZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2Vy
OjpjcmVhdGUoZGVsZWdhdGUuZ2V0KCksIEBzZWxlY3Rvcihfd2ViVmlldzpyZXF1ZXN0RGV2aWNl
T3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOmluaXRpYXRlZEJ5RnJhbWU6
ZGVjaXNpb25IYW5kbGVyOikpOworICAgIGF1dG8gZGVjaXNpb25IYW5kbGVyID0gbWFrZUJsb2Nr
UHRyKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBzZWN1
cml0eU9yaWdpbiA9IHNlY3VyaXR5T3JpZ2luLT5kYXRhKCksIGNoZWNrZXIgPSBXVEZNb3ZlKGNo
ZWNrZXIpLCBwYWdlID0gbWFrZVdlYWtQdHIocGFnZSldKF9XS1Blcm1pc3Npb25EZWNpc2lvbiBk
ZWNpc2lvbikgbXV0YWJsZSB7CiAgICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFuZGxl
ckhhc0JlZW5DYWxsZWQoKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2hlY2tlci0+
ZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGdy
YW50ZWQpOwotICAgIH0pLmdldCgpXTsKKyAgICAgICAgaWYgKCFwYWdlKSB7CisgICAgICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKyAgICAgICAgc3dpdGNoIChkZWNpc2lvbikgeworICAgICAgICBjYXNlIF9XS1Blcm1pc3Np
b25EZWNpc2lvblByb21wdDoKKyAgICAgICAgICAgIGFsZXJ0Rm9yUGVybWlzc2lvbigqcGFnZSwg
TWVkaWFQZXJtaXNzaW9uUmVhc29uOjpEZXZpY2VPcmllbnRhdGlvbiwgc2VjdXJpdHlPcmlnaW4s
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIF9XS1Blcm1pc3Npb25EZWNpc2lvbkdyYW50OgorICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIodHJ1ZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBfV0tQZXJt
aXNzaW9uRGVjaXNpb25EZW55OgorICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2Up
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9KTsKKyAgICBbKGlkIDxXS1VJ
RGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUtPm1fd2ViVmll
dy5nZXQoKS5nZXQoKSByZXF1ZXN0RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9u
Rm9yT3JpZ2luOndyYXBwZXIoQVBJOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHNlY3VyaXR5T3Jp
Z2luLmdldCgpKSkgaW5pdGlhdGVkQnlGcmFtZTp3cmFwcGVyKEFQSTo6RnJhbWVJbmZvOjpjcmVh
dGUoV1RGTW92ZShmcmFtZUluZm8pLCAmcGFnZSkpIGRlY2lzaW9uSGFuZGxlcjpkZWNpc2lvbkhh
bmRsZXIuZ2V0KCldOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGU0MjJjNmJmNzFmNzI3YjMxNWVhYWZmZTNmY2U2MmE2NmMxNWM1NTQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmgKKysrIC9kZXYv
bnVsbApAQCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBF
TkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQotCi0jaW1wb3J0IDx3dGYvRm9yd2FyZC5oPgotCi1A
Y2xhc3MgV0tXZWJWaWV3OwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotdm9pZCBwcmVzZW50T3Jp
ZW50YXRpb25BY2Nlc3NBbGVydChXS1dlYlZpZXcgKiwgY29uc3QgU3RyaW5nJiBob3N0LCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKLQotfQotCi0jZW5kaWYgLy8gRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjRkZGVkZGZlZTU5YTlmNWE5NDc0Y2FmODhjZDUzYzg5OGU5YjFjMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0KKysrIC9kZXYvbnVsbApA
QCAtMSw2OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0
ICJXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCIKLQotI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5U
QVRJT04pCi0KLSNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCi0jaW1wb3J0ICJXS1dlYlZp
ZXdQcml2YXRlLmgiCi0jaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKLSNpbXBvcnQgPFdlYkNvcmUv
TG9jYWxpemVkU3RyaW5ncy5oPgotI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5h
bWVzcGFjZSBXZWJLaXQgewotCi12b2lkIHByZXNlbnRPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0KFdL
V2ViVmlldyAqdmlldywgY29uc3QgU3RyaW5nJiBob3N0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIGlmIChhdXRvJiB1c2VyUGVybWlz
c2lvbkhhbmRsZXIgPSB2aWV3Ll9wYWdlLT5kZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNzaW9u
SGFuZGxlckZvclRlc3RpbmcoKSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHVz
ZXJQZXJtaXNzaW9uSGFuZGxlcigpKTsKLQotICAgIE5TU3RyaW5nICphbGVydFRleHQgPSBbTlNT
dHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkcoQCLigJwlQOKAnSBXb3VsZCBM
aWtlIHRvIEFjY2VzcyBNb3Rpb24gYW5kIE9yaWVudGF0aW9uIiwgQCJNZXNzYWdlIGZvciByZXF1
ZXN0aW5nIGFjY2VzcyB0byB0aGUgZGV2aWNlIG1vdGlvbiBhbmQgb3JpZW50YXRpb24iKSwgKE5T
U3RyaW5nICopaG9zdF07Ci0gICAgVUlBbGVydENvbnRyb2xsZXIqIGFsZXJ0ID0gW1VJQWxlcnRD
b250cm9sbGVyIGFsZXJ0Q29udHJvbGxlcldpdGhUaXRsZTphbGVydFRleHQgbWVzc2FnZTpuaWwg
cHJlZmVycmVkU3R5bGU6VUlBbGVydENvbnRyb2xsZXJTdHlsZUFsZXJ0XTsKLQotICAgIGF1dG8g
Y29tcGxldGlvbkJsb2NrID0gbWFrZUJsb2NrUHRyKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpXShib29sIHNob3VsZEFsbG93KSBtdXRhYmxlIHsKLSAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoc2hvdWxkQWxsb3cpOwotICAgIH0pOwotCi0gICAgTlNTdHJp
bmcgKmNhbmNlbEJ1dHRvblN0cmluZyA9IFdFQl9VSV9TVFJJTkdfS0VZKEAiQ2FuY2VsIiwgIkNh
bmNlbCAoZGV2aWNlIG1vdGlvbiBhbmQgb3JpZW50YXRpb24gYWNjZXNzKSIsIEAiQnV0dG9uIHRp
dGxlIGluIERldmljZSBPcmllbnRhdGlvbiBQZXJtaXNzaW9uIEFQSSBwcm9tcHQiKTsKLSAgICBV
SUFsZXJ0QWN0aW9uKiBjYW5jZWxBY3Rpb24gPSBbVUlBbGVydEFjdGlvbiBhY3Rpb25XaXRoVGl0
bGU6Y2FuY2VsQnV0dG9uU3RyaW5nIHN0eWxlOlVJQWxlcnRBY3Rpb25TdHlsZUNhbmNlbCBoYW5k
bGVyOltjb21wbGV0aW9uQmxvY2tdKFVJQWxlcnRBY3Rpb24gKmFjdGlvbikgewotICAgICAgICBj
b21wbGV0aW9uQmxvY2soZmFsc2UpOwotICAgIH1dOwotCi0gICAgTlNTdHJpbmcgKmFsbG93QnV0
dG9uU3RyaW5nID0gV0VCX1VJX1NUUklOR19LRVkoQCJBbGxvdyIsICJBbGxvdyAoZGV2aWNlIG1v
dGlvbiBhbmQgb3JpZW50YXRpb24gYWNjZXNzKSIsIEAiQnV0dG9uIHRpdGxlIGluIERldmljZSBP
cmllbnRhdGlvbiBQZXJtaXNzaW9uIEFQSSBwcm9tcHQiKTsKLSAgICBVSUFsZXJ0QWN0aW9uKiBh
bGxvd0FjdGlvbiA9IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldpdGhUaXRsZTphbGxvd0J1dHRvblN0
cmluZyBzdHlsZTpVSUFsZXJ0QWN0aW9uU3R5bGVEZWZhdWx0IGhhbmRsZXI6W2NvbXBsZXRpb25C
bG9ja10oVUlBbGVydEFjdGlvbiAqYWN0aW9uKSB7Ci0gICAgICAgIGNvbXBsZXRpb25CbG9jayh0
cnVlKTsKLSAgICB9XTsKLSAgICBbYWxlcnQgYWRkQWN0aW9uOmNhbmNlbEFjdGlvbl07Ci0gICAg
W2FsZXJ0IGFkZEFjdGlvbjphbGxvd0FjdGlvbl07Ci0KLSAgICBbW1VJVmlld0NvbnRyb2xsZXIg
X3ZpZXdDb250cm9sbGVyRm9yRnVsbFNjcmVlblByZXNlbnRhdGlvbkZyb21WaWV3OnZpZXddIHBy
ZXNlbnRWaWV3Q29udHJvbGxlcjphbGVydCBhbmltYXRlZDpZRVMgY29tcGxldGlvbjpuaWxdOwot
fQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYVBlcm1p
c3Npb25VdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhUGVybWlzc2lv
blV0aWxpdGllcy5oCmluZGV4IDZiMWE0YWQxYmU1N2RkMDhiNjY4MTFjMGZkZTY1ZWZmYTYzMjg3
ZDMuLjVhMzE1MTY5NWNjNGQ4ZTQwMzQ3MDY0ZmNmYWU0NTgxZmQ3ZmExOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhUGVybWlzc2lvblV0aWxpdGllcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhUGVybWlzc2lvblV0aWxpdGllcy5oCkBAIC01
Miw2ICs1Miw3IEBAIGVudW0gY2xhc3MgTWVkaWFQZXJtaXNzaW9uUmVhc29uIHsKICAgICBDYW1l
cmEsCiAgICAgQ2FtZXJhQW5kTWljcm9waG9uZSwKICAgICBNaWNyb3Bob25lLAorICAgIERldmlj
ZU9yaWVudGF0aW9uLAogICAgIEdlb2xvY2F0aW9uLAogICAgIFNwZWVjaFJlY29nbml0aW9uCiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2ViRGV2
aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNj
ZXNzQ29udHJvbGxlci5jcHAKaW5kZXggY2ZmZGQ4ODJmN2NmMjM3NDE3MzE1ZDQ5MWZmMzgyYjhh
NWU5NDk4NS4uYzM5Y2UwNTc0MGFkOTA2Nzk0NzQ0ZGE1OWRlZjdmOTVhMTIxOTJiMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2ViRGV2aWNlT3JpZW50
YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0Nv
bnRyb2xsZXIuY3BwCkBAIC0zOCw3ICszOCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiB2b2lkIFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlcjo6c2hv
dWxkQWxsb3dBY2Nlc3MoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5JiBmcmFtZSwg
RnJhbWVJbmZvRGF0YSYmIGZyYW1lSW5mbywgYm9vbCBtYXlQcm9tcHQsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZSk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgU2VjdXJpdHlPcmlnaW5EYXRhIG9yaWdpbkRhdGEgPSBm
cmFtZUluZm8uc2VjdXJpdHlPcmlnaW47CisgICAgYXV0byBvcmlnaW5EYXRhID0gU2VjdXJpdHlP
cmlnaW46OmNyZWF0ZUZyb21TdHJpbmcocGFnZS5wYWdlTG9hZFN0YXRlKCkuYWN0aXZlVVJMKCkp
LT5kYXRhKCk7CiAgICAgYXV0byBjdXJyZW50UGVybWlzc2lvbiA9IGNhY2hlZERldmljZU9yaWVu
dGF0aW9uUGVybWlzc2lvbihvcmlnaW5EYXRhKTsKICAgICBpZiAoY3VycmVudFBlcm1pc3Npb24g
IT0gRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZTo6UHJvbXB0IHx8ICFt
YXlQcm9tcHQpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihjdXJyZW50UGVybWlz
c2lvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCAyNmE5ZjgzZmIzNDNlMGVjNTA2NDRjNmI4Njk1MjZkYmQ0ZjVlNTZhLi4yMDQzYjA2
YjVhYzZkZTM3NDNhNWM3N2EyODJhMTQ1MmU1YzNlMjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk1Myw4ICs5NTMsNiBAQAogCQk0
NjFDQ0NBNjIzMTQ4NUFBMDBCNjU5QjkgLyogV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MzIzNjgzMjMxNDgx
RUYwMEE0OEZBNyAvKiBXZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5oICovOyB9OwogCQk0NjNGRDQ4
MDFFQjk0NTk2MDBBMjk4MkMgLyogV0tQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2M0ZENDdGMUVCOTQ1ODQw
MEEyOTgyQyAvKiBXS1Byb2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2M0ZENDgyMUVCOTRFQzAwMEEyOTgy
QyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2M0ZENDgxMUVCOTRFQUQwMEEyOTgyQyAvKiBQcm9jZXNz
VGVybWluYXRpb25SZWFzb24uaCAqLzsgfTsKLQkJNDY1N0Q4ODkyMjY2NEEyRDAwNURFODIzIC8q
IFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDY1N0Q4ODcyMjY2NEExOTAwNURFODIzIC8qIFdLT3JpZW50YXRp
b25BY2Nlc3NBbGVydC5oICovOyB9OwotCQk0NjU3RDg4QTIyNjY0QTJGMDA1REU4MjMgLyogV0tP
cmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDY1N0Q4ODgyMjY2NEExQTAwNURFODIzIC8qIFdLT3JpZW50YXRpb25B
Y2Nlc3NBbGVydC5tbSAqLzsgfTsKIAkJNDY1RjRFMDYyMzBCMkU5NTAwM0NFREI3IC8qIFN0b3Jh
Z2VOYW1lc3BhY2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NjVGNEUwNTIzMEIyRTdDMDAzQ0VEQjcgLyogU3RvcmFnZU5hbWVzcGFj
ZUlkZW50aWZpZXIuaCAqLzsgfTsKIAkJNDY2QkMwM0MxRkEyNjZEQTAwMkZBOUMxIC8qIFdlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NjZCQzAzOTFGQTI2NkM5MDAyRkE5QzEgLyogV2ViU1dDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNDY3MUZGMUYyMzIxN0VGRjAwMUI2NEM3IC8q
IFdlYlJlc291cmNlTG9hZE9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NjcxRkYxRDIzMjE3RUZGMDAxQjY0QzcgLyogV2ViUmVzb3VyY2VM
b2FkT2JzZXJ2ZXIuaCAqLzsgfTsKQEAgLTM4MzEsOCArMzgyOSw2IEBACiAJCTQ2M0ZENDgxMUVC
OTRFQUQwMEEyOTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NTFFQ0U2MjIxNzhBODUwMDY3RUI5NSAvKiBXZWJQcm9j
ZXNzQ2FjaGVDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdlYlByb2Nlc3NDYWNoZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NjUyNTBFNTFFQ0Y1MkNEMDAyMDI1Q0IgLyogV2ViS2l0MkluaXRpYWxpemVDb2NvYS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYktpdDJJbml0aWFsaXplQ29j
b2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2NTdEODg3MjI2NjRBMTkwMDVE
RTgyMyAvKiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTQ2NTdEODg4MjI2NjRBMUEwMDVERTgyMyAvKiBXS09yaWVudGF0aW9uQWNj
ZXNzQWxlcnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS09y
aWVudGF0aW9uQWNjZXNzQWxlcnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2
NUY0RTAyMjMwNzU5RDUwMDNDRURCNyAvKiBTdG9yYWdlQXJlYUlkZW50aWZpZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3RvcmFnZUFyZWFJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ2NUY0RTAzMjMwNzYwNEUwMDNDRURCNyAvKiBTdG9yYWdlQXJlYUltcGxJZGVudGlm
aWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VBcmVhSW1wbElkZW50aWZpZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY1RjRFMDUyMzBCMkU3QzAwM0NFREI3IC8qIFN0b3Jh
Z2VOYW1lc3BhY2VJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VOYW1lc3BhY2VJ
ZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02OTQ4LDggKzY5NDQs
NiBAQAogCQkJCTJFQ0Y2NkNEMjFENkI3N0UwMDlFNUMzRiAvKiBXS0VkaXRDb21tYW5kLm1tICov
LAogCQkJCUUxQUVBMjJEMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dh
dGNoZXIuaCAqLywKIAkJCQlFMUFFQTIyRTE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9h
cmRBY2Nlc3NXYXRjaGVyLm1tICovLAotCQkJCTQ2NTdEODg3MjI2NjRBMTkwMDVERTgyMyAvKiBX
S09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCAqLywKLQkJCQk0NjU3RDg4ODIyNjY0QTFBMDA1REU4
MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tICovLAogCQkJCTFBRDAxQkNCMTkwNUQ1
NDkwMEM5QzQ1RiAvKiBXS1JlbG9hZEZyYW1lRXJyb3JSZWNvdmVyeUF0dGVtcHRlci5oICovLAog
CQkJCTFBRDAxQkNBMTkwNUQ1NDkwMEM5QzQ1RiAvKiBXS1JlbG9hZEZyYW1lRXJyb3JSZWNvdmVy
eUF0dGVtcHRlci5tbSAqLywKIAkJCQk1Q0EyNkQ4MDIxN0FCQkI2MDBGOTdBMzUgLyogV0tTYWZl
QnJvd3NpbmdXYXJuaW5nLmggKi8sCkBAIC0xMjY1NSw3ICsxMjY0OSw2IEBACiAJCQkJNUMyNjk1
ODUyMDA0MzIxMjAwNUM0MzlCIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVyc1ByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDODU3RkU2MTJCODQzRDgwMEVERUIyRSAvKiBXS09wZW5QYW5lbFBh
cmFtZXRlcnNSZWYuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMURGRThGMTJCMzFDQTgwMDVERjcz
MCAvKiBXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0NjU3
RDg4OTIyNjY0QTJEMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0Q1OTdENzExMkI1NkRDMDBFQzhDMjMgLyogV0tQYWdlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3Qzg5RDI5QzFBNjc4MzdCMDAzQTVGREUgLyogV0tQYWdlQ29uZmlndXJh
dGlvblJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCOEExRjgxODQwMEJCODAwRTlBRTY5IC8q
IFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTE0MjIwLDcgKzE0
MjEzLDYgQEAKIAkJCQkyRDkzMTE2QTIxMkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNjM3MjgxQTMyMUFEQzc0NDAwOUUwREU2
IC8qIFdLRG93bmxvYWRQcm9ncmVzcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTVDRTkxMjBEMjI5
M0MyMTkwMDVCRUM3OCAvKiBXS01haW4ubW0gaW4gU291cmNlcyAqLywKLQkJCQk0NjU3RDg4QTIy
NjY0QTJGMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJREY4NENFRTQyNDlBQTI0RDAwOTA5NkY2IC8qIFdLUERGSFVEVmlldy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTVDQTI2RDgzMjE3QUQxQjgwMEY5N0EzNSAvKiBXS1NhZmVCcm93c2lu
Z1dhcm5pbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQkxREIwMTk0NDIxMUNGMDA1MDA5RkIzRTgg
LyogV0tTaGFyZVNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2M0Njg5NDUxZmRjNGM1YzcxMjlkYTE1OWJl
MzllMWY2ZTdkYWJjZC4uN2U0YjY0YWNjMTc1MjkwODY3YzBkMmM2OTVkYmIwNjNjMzJmMGUyYSAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI1IEBACisyMDIxLTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
KworICAgICAgICBBbGlnbiBkZXZpY2Ugb3JpZW50YXRpb24gZGVsZWdhdGUgdG8gZ2V0VXNlck1l
ZGlhL2dlb2xvY2F0aW9uIGRlbGVnYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJs
c29uLgorCisgICAgICAgIFVwZGF0ZSBjb2RlIHRvIHByaW50IGZyYW1lIGluZm8gb3JpZ2luIGFu
ZCB1cGRhdGUgYWNjb3JkaW5nIGFkZGl0aW9uYWwgZnJhbWUgaW5mbyBwYXJhbWV0ZXIgZ2l2ZW4g
dG8gc2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcy4KKyAgICAgICAg
Q2xlYXIgcGVybWlzc2lvbnMgaW4gY2FzZSB0ZXN0IGNvbnRyb2xsZXIgY2hhbmdlcyB0aGUgZGV2
aWNlIG1vdGlvbiBwZXJtaXNzaW9uIHZhbHVlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9EZXZpY2VPcmllbnRhdGlvbi5tbToKKyAgICAgICAgKC1bRGV2aWNl
T3JpZW50YXRpb25QZXJtaXNzaW9uVUlEZWxlZ2F0ZSBfd2ViVmlldzpyZXF1ZXN0RGV2aWNlT3Jp
ZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOmluaXRpYXRlZEJ5RnJhbWU6ZGVj
aXNpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb25W
YWxpZGF0aW9uRGVsZWdhdGUgc2V0VmFsaWRhdGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW0Rl
dmljZU9yaWVudGF0aW9uUGVybWlzc2lvblZhbGlkYXRpb25EZWxlZ2F0ZSBfd2ViVmlldzpyZXF1
ZXN0RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOmluaXRpYXRl
ZEJ5RnJhbWU6ZGVjaXNpb25IYW5kbGVyOl0pOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tOgorICAgICAgICAoLVtXZWJzaXRlUG9s
aWNpZXNEZXZpY2VPcmllbnRhdGlvblVJRGVsZWdhdGUgX3dlYlZpZXc6cmVxdWVzdERldmljZU9y
aWVudGF0aW9uQW5kTW90aW9uUGVybWlzc2lvbkZvck9yaWdpbjppbml0aWF0ZWRCeUZyYW1lOmRl
Y2lzaW9uSGFuZGxlcjpdKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdUUjo6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1v
dGlvbkFjY2Vzcyk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpoYW5kbGVEZXZpY2VP
cmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVlc3QpOgorICAgICAgICAoV1RSOjpUZXN0Q29u
dHJvbGxlcjo6c2V0U2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcyk6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorCiAyMDIxLTAz
LTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBu
ZXcgZGVsZWdhdGUgZm9yIGdlb2xvY2F0aW9uIHBlcm1pc3Npb24KZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGV2aWNlT3JpZW50YXRpb24ubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RldmljZU9yaWVudGF0aW9uLm1t
CmluZGV4IGU4Y2VlYzY1NmZjYTFiODAyOGEyNGY2ODQ0YzEwNWE1ZGY0NDYzMzMuLjRkNTMyYTc3
ZjZlZWM4M2JmMmY4ODc3NjAyY2NlNDJlNTNkMzJlMzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGV2aWNlT3JpZW50YXRpb24ubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9EZXZpY2VPcmllbnRhdGlvbi5tbQpA
QCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikgJiYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKIAorI2ltcG9ydCAiSFRUUFNlcnZlci5oIgogI2ltcG9ydCAiUGxh
dGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCIKICNp
bXBvcnQgIlRlc3RVUkxTY2hlbWVIYW5kbGVyLmgiCkBAIC03NSw5ICs3Niw5IEBAIEZ1bmN0aW9u
PGJvb2woKT4gX2RlY2lzaW9uSGFuZGxlcjsKICAgICByZXR1cm4gc2VsZjsKIH0KIAotLSAodm9p
ZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzaG91bGRBbGxvd0RldmljZU9yaWVudGF0
aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilyZXF1ZXN0
aW5nRnJhbWUgZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShCT09MKSlkZWNpc2lvbkhhbmRsZXIK
Ky0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdERldmljZU9yaWVu
dGF0aW9uQW5kTW90aW9uUGVybWlzc2lvbkZvck9yaWdpbjooV0tTZWN1cml0eU9yaWdpbiopb3Jp
Z2luIGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZvICopcmVxdWVzdGluZ0ZyYW1lIGRlY2lz
aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLUGVybWlzc2lvbkRlY2lzaW9uKSlkZWNpc2lvbkhhbmRs
ZXIKIHsKLSAgICBkZWNpc2lvbkhhbmRsZXIoX2RlY2lzaW9uSGFuZGxlcigpKTsKKyAgICBkZWNp
c2lvbkhhbmRsZXIoX2RlY2lzaW9uSGFuZGxlcigpID8gX1dLUGVybWlzc2lvbkRlY2lzaW9uR3Jh
bnQgOiBfV0tQZXJtaXNzaW9uRGVjaXNpb25EZW55KTsKICAgICBhc2tlZENsaWVudEZvclBlcm1p
c3Npb24gPSB0cnVlOwogfQogCkBAIC00MDIsNCArNDAzLDg4IEBAIFRFU1QoRGV2aWNlT3JpZW50
YXRpb24sIFBlcm1pc3Npb25TZWN1cmVDb250ZXh0Q2hlY2tEaXNhYmxlZCkKICAgICBydW5QZXJt
aXNzaW9uU2VjdXJlQ29udGV4dENoZWNrVGVzdChTaG91bGRFbmFibGVTZWN1cmVDb250ZXh0Q2hl
Y2tzOjpObyk7CiB9CiAKK0BpbnRlcmZhY2UgRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uVmFs
aWRhdGlvbkRlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+CistICh2b2lk
KXNldFZhbGlkYXRpb25IYW5kbGVyOihGdW5jdGlvbjx2b2lkKFdLU2VjdXJpdHlPcmlnaW4qLCBX
S0ZyYW1lSW5mbyopPiYmKXZhbGlkYXRpb25IYW5kbGVyOworQGVuZAorCitAaW1wbGVtZW50YXRp
b24gRGV2aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uVmFsaWRhdGlvbkRlbGVnYXRlIHsKK0Z1bmN0
aW9uPHZvaWQoV0tTZWN1cml0eU9yaWdpbiosIFdLRnJhbWVJbmZvKik+IF92YWxpZGF0aW9uSGFu
ZGxlcjsKK30KKy0gKHZvaWQpc2V0VmFsaWRhdGlvbkhhbmRsZXI6KEZ1bmN0aW9uPHZvaWQoV0tT
ZWN1cml0eU9yaWdpbiosIFdLRnJhbWVJbmZvKik+JiYpdmFsaWRhdGlvbkhhbmRsZXIgeworICAg
IF92YWxpZGF0aW9uSGFuZGxlciA9IFdURk1vdmUodmFsaWRhdGlvbkhhbmRsZXIpOworfQorCist
ICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3REZXZpY2VPcmllbnRh
dGlvbkFuZE1vdGlvblBlcm1pc3Npb25Gb3JPcmlnaW46KFdLU2VjdXJpdHlPcmlnaW4qKW9yaWdp
biBpbml0aWF0ZWRCeUZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lIGRlY2lzaW9uSGFuZGxlcjoo
dm9pZCAoXikoX1dLUGVybWlzc2lvbkRlY2lzaW9uIGRlY2lzaW9uKSlkZWNpc2lvbkhhbmRsZXIg
eworICAgIGlmIChfdmFsaWRhdGlvbkhhbmRsZXIpCisgICAgICAgIF92YWxpZGF0aW9uSGFuZGxl
cihvcmlnaW4sIGZyYW1lKTsKKworICAgIGFza2VkQ2xpZW50Rm9yUGVybWlzc2lvbiAgPSB0cnVl
OworICAgIGRlY2lzaW9uSGFuZGxlcihfV0tQZXJtaXNzaW9uRGVjaXNpb25HcmFudCk7Cit9CitA
ZW5kCisKK3N0YXRpYyBjb25zdCBjaGFyKiBtYWluRnJhbWVUZXh0ID0gUiJET0NET0NET0MoCis8
aHRtbD48Ym9keT4KKzxpZnJhbWUgc3JjPSdodHRwczovLzEyNy4wLjAuMTo5MDkxL2ZyYW1lJyBh
bGxvdz0nYWNjZWxlcm9tZXRlcjpodHRwczovLzEyNy4wLjAuMTo5MDkxO2d5cm9zY29wZTpodHRw
czovLzEyNy4wLjAuMTo5MDkxO21hZ25ldG9tZXRlcjpodHRwczovLzEyNy4wLjAuMTo5MDkxJz48
L2lmcmFtZT4KKzwvYm9keT48L2h0bWw+CispRE9DRE9DRE9DIjsKK3N0YXRpYyBjb25zdCBjaGFy
KiBmcmFtZVRleHQgPSBSIkRPQ0RPQ0RPQygKKzxodG1sPjxib2R5PjwvYm9keT48L2h0bWw+Cisp
RE9DRE9DRE9DIjsKKworVEVTVChXZWJLaXQsIERldmljZU9yaWVudGF0aW9uUGVybWlzc2lvbklu
SUZyYW1lKQoreworICAgIFRlc3RXZWJLaXRBUEk6OkhUVFBTZXJ2ZXIgc2VydmVyMSh7CisgICAg
ICAgIHsgIi8iLCB7IG1haW5GcmFtZVRleHQgfSB9CisgICAgfSwgVGVzdFdlYktpdEFQSTo6SFRU
UFNlcnZlcjo6UHJvdG9jb2w6Okh0dHBzLCBudWxscHRyLCBudWxscHRyLCA5MDkwKTsKKworICAg
IFRlc3RXZWJLaXRBUEk6OkhUVFBTZXJ2ZXIgc2VydmVyMih7CisgICAgICAgIHsgIi9mcmFtZSIs
IHsgZnJhbWVUZXh0IH0gfSwKKyAgICB9LCBUZXN0V2ViS2l0QVBJOjpIVFRQU2VydmVyOjpQcm90
b2NvbDo6SHR0cHMsIG51bGxwdHIsIG51bGxwdHIsIDkwOTEpOworCisgICAgYXV0byBjb25maWd1
cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
KyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3Vy
YXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8gcGVybWlzc2lvbkRlbGVnYXRlID0gYWRvcHROUyhb
W0RldmljZU9yaWVudGF0aW9uUGVybWlzc2lvblZhbGlkYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5p
dF0pOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6cGVybWlzc2lvbkRlbGVnYXRlLmdldCgp
XTsKKworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gYWRvcHROUyhbVGVzdE5hdmlnYXRp
b25EZWxlZ2F0ZSBuZXddKTsKKyAgICBbbmF2aWdhdGlvbkRlbGVnYXRlIHNldERpZFJlY2VpdmVB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZTpeKFdLV2ViVmlldyAqLCBOU1VSTEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlICpjaGFsbGVuZ2UsIHZvaWQgKF5jYWxsYmFjaykoTlNVUkxTZXNzaW9uQXV0aENo
YWxsZW5nZURpc3Bvc2l0aW9uLCBOU1VSTENyZWRlbnRpYWwgKikpIHsKKyAgICAgICAgRVhQRUNU
X1dLX1NUUkVRKGNoYWxsZW5nZS5wcm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25NZXRob2Qs
IE5TVVJMQXV0aGVudGljYXRpb25NZXRob2RTZXJ2ZXJUcnVzdCk7CisgICAgICAgIGNhbGxiYWNr
KE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVuZ2VVc2VDcmVkZW50aWFsLCBbTlNVUkxDcmVkZW50aWFs
IGNyZWRlbnRpYWxGb3JUcnVzdDpjaGFsbGVuZ2UucHJvdGVjdGlvblNwYWNlLnNlcnZlclRydXN0
XSk7CisgICAgfV07CisgICAgX19ibG9jayBib29sIGRpZEZpbmlzaE5hdmlnYXRpb24gPSBmYWxz
ZTsKKyAgICBbbmF2aWdhdGlvbkRlbGVnYXRlIHNldERpZEZpbmlzaE5hdmlnYXRpb246XihXS1dl
YlZpZXcgKiwgV0tOYXZpZ2F0aW9uICopIHsKKyAgICAgICAgZGlkRmluaXNoTmF2aWdhdGlvbiA9
IHRydWU7CisgICAgfV07CisgICAgUmV0YWluUHRyPFdLRnJhbWVJbmZvPiBmcmFtZTsKKyAgICBb
bmF2aWdhdGlvbkRlbGVnYXRlIHNldERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246WyZd
KFdLTmF2aWdhdGlvbkFjdGlvbiAqYWN0aW9uLCB2b2lkICheZGVjaXNpb25IYW5kbGVyKShXS05h
dmlnYXRpb25BY3Rpb25Qb2xpY3kpKSB7CisgICAgICAgIGlmIChhY3Rpb24udGFyZ2V0RnJhbWUg
JiYgIWFjdGlvbi50YXJnZXRGcmFtZS5pc01haW5GcmFtZSkKKyAgICAgICAgICAgIGZyYW1lID0g
YWN0aW9uLnRhcmdldEZyYW1lOworICAgICAgICBkZWNpc2lvbkhhbmRsZXIoV0tOYXZpZ2F0aW9u
QWN0aW9uUG9saWN5QWxsb3cpOworICAgIH1dOworCisgICAgd2ViVmlldy5nZXQoKS5uYXZpZ2F0
aW9uRGVsZWdhdGUgPSBuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCk7CisKKyAgICBbd2ViVmlldyBs
b2FkUmVxdWVzdDpzZXJ2ZXIxLnJlcXVlc3QoKV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZkaWRGaW5pc2hOYXZpZ2F0aW9uKTsKKworICAgIFtwZXJtaXNzaW9uRGVsZWdhdGUgc2V0
VmFsaWRhdGlvbkhhbmRsZXI6WyZ3ZWJWaWV3XShXS1NlY3VyaXR5T3JpZ2luICpvcmlnaW4sIFdL
RnJhbWVJbmZvICpmcmFtZSkgeworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEob3JpZ2luLnByb3Rv
Y29sLCBAImh0dHBzIik7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShvcmlnaW4uaG9zdCwgQCIx
MjcuMC4wLjEiKTsKKyAgICAgICAgRVhQRUNUX0VRKG9yaWdpbi5wb3J0LCA5MDkwKTsKKworICAg
ICAgICBFWFBFQ1RfV0tfU1RSRVEoZnJhbWUuc2VjdXJpdHlPcmlnaW4ucHJvdG9jb2wsIEAiaHR0
cHMiKTsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKGZyYW1lLnNlY3VyaXR5T3JpZ2luLmhvc3Qs
IEAiMTI3LjAuMC4xIik7CisgICAgICAgIEVYUEVDVF9FUShmcmFtZS5zZWN1cml0eU9yaWdpbi5w
b3J0LCA5MDkxKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKGZyYW1lLmlzTWFpbkZyYW1lKTsKKyAg
ICAgICAgRVhQRUNUX1RSVUUoZnJhbWUud2ViVmlldyA9PSB3ZWJWaWV3KTsKKyAgICB9XTsKKwor
ICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAIkRldmljZU9yaWVudGF0aW9uRXZlbnQu
cmVxdWVzdFBlcm1pc3Npb24oKSIgaW5GcmFtZTpmcmFtZS5nZXQoKSBpbkNvbnRlbnRXb3JsZDpX
S0NvbnRlbnRXb3JsZC5wYWdlV29ybGQgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQgcmVzdWx0
LCBOU0Vycm9yICplcnJvcikgeyB9XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
YXNrZWRDbGllbnRGb3JQZXJtaXNzaW9uKTsKKworfQorCiAjZW5kaWYgLy8gRU5BQkxFKERFVklD
RV9PUklFTlRBVElPTikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0KaW5k
ZXggZjA0MzMyYTIwZjk5ZTFkYWUzMDcyNDZmNGQ2NmJlNWFhYTJiMzZhYS4uMTc4MGM2MmZkZjEw
MWMxNTRlYWY0MmMzZmFiNjY4ZjFmMGVmNTUzYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0KQEAgLTE0ODEs
MTAgKzE0ODEsMTAgQEAgc3RhdGljIGJvb2wgY2FsbGVkU2hvdWxkQWxsb3dEZXZpY2VPcmllbnRh
dGlvbkFuZE1vdGlvbkFjY2Vzc0RlbGVnYXRlID0gZmFsc2U7CiAKIEBpbXBsZW1lbnRhdGlvbiBX
ZWJzaXRlUG9saWNpZXNEZXZpY2VPcmllbnRhdGlvblVJRGVsZWdhdGUKIAotLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5k
TW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilyZXF1ZXN0aW5nRnJh
bWUgZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShCT09MKSlkZWNpc2lvbkhhbmRsZXIKKy0gKHZv
aWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdERldmljZU9yaWVudGF0aW9u
QW5kTW90aW9uUGVybWlzc2lvbkZvck9yaWdpbjooV0tTZWN1cml0eU9yaWdpbiopb3JpZ2luIGlu
aXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZvICopcmVxdWVzdGluZ0ZyYW1lIGRlY2lzaW9uSGFu
ZGxlcjoodm9pZCAoXikoX1dLUGVybWlzc2lvbkRlY2lzaW9uKSlkZWNpc2lvbkhhbmRsZXIKIHsK
ICAgICBjYWxsZWRTaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzRGVs
ZWdhdGUgPSB0cnVlOwotICAgIGRlY2lzaW9uSGFuZGxlcihZRVMpOworICAgIGRlY2lzaW9uSGFu
ZGxlcihfV0tQZXJtaXNzaW9uRGVjaXNpb25HcmFudCk7CiB9CiAKIEBlbmQKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggZTMyYTBmZDFiYjM3YzRkMWEyMDc2
NmFlNWQxNmVjYjQ1MmMxMzQ2NS4uZjgzZWU0Mjg4NTEyNmY5ZGQ2NDY0MWJhMGE1NzNmM2RiMGI3
ZDczYiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTMx
OSw5ICszMTksOSBAQCBzdGF0aWMgdm9pZCBwcmludEZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS0Zy
YW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKikKICAgICBXS1BhZ2VFbmRQcmludGluZyhwYWdlKTsK
IH0KIAotc3RhdGljIGJvb2wgc2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFj
Y2VzcyhXS1BhZ2VSZWYsIFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luLCBjb25zdCB2b2lkKikK
K3N0YXRpYyBib29sIHNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3Mo
V0tQYWdlUmVmLCBXS1NlY3VyaXR5T3JpZ2luUmVmIG9yaWdpbiwgV0tGcmFtZUluZm9SZWYgZnJh
bWUsIGNvbnN0IHZvaWQqKQogewotICAgIHJldHVybiBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9u
KCkuaGFuZGxlRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0KG9yaWdpbik7
CisgICAgcmV0dXJuIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5oYW5kbGVEZXZpY2VPcmll
bnRhdGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVlc3Qob3JpZ2luLCBmcmFtZSk7CiB9CiAKIC8vIEEg
cGxhY2Vob2xkZXIgdG8gdGVsbCBXZWJLaXQgdGhlIGNsaWVudCBpcyBXZWJLaXRUZXN0UnVubmVy
LgpAQCAtMjQwMSw5ICsyNDAxLDEwIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmhhbmRsZUNoZWNr
T2ZVc2VyTWVkaWFQZXJtaXNzaW9uRm9yT3JpZ2luKFdLRnJhbWVSZWYgZnJhbWUsCiAgICAgV0tV
c2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tTZXRVc2VyTWVkaWFBY2Nlc3NJbmZvKGNoZWNrUmVxdWVz
dCwgdG9XSyhzYWx0KS5nZXQoKSwgc2V0dGluZ3NGb3JPcmlnaW4ob3JpZ2luSGFzaCkucGVyc2lz
dGVudFBlcm1pc3Npb24oKSk7CiB9CiAKLWJvb2wgVGVzdENvbnRyb2xsZXI6OmhhbmRsZURldmlj
ZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdChXS1NlY3VyaXR5T3JpZ2luUmVmIG9y
aWdpbikKK2Jvb2wgVGVzdENvbnRyb2xsZXI6OmhhbmRsZURldmljZU9yaWVudGF0aW9uQW5kTW90
aW9uQWNjZXNzUmVxdWVzdChXS1NlY3VyaXR5T3JpZ2luUmVmIG9yaWdpbiwgV0tGcmFtZUluZm9S
ZWYgZnJhbWUpCiB7Ci0gICAgbV9jdXJyZW50SW52b2NhdGlvbi0+b3V0cHV0VGV4dChtYWtlU3Ry
aW5nKCJSZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVlc3Qg
Zm9yIHNlY3VyaXR5IG9yaWdpbiBcIiIsIG9yaWdpblVzZXJWaXNpYmxlTmFtZShvcmlnaW4pLCAi
XCIuXG4iKSk7CisgICAgYXV0byBmcmFtZU9yaWdpbiA9IGFkb3B0V0soV0tGcmFtZUluZm9Db3B5
U2VjdXJpdHlPcmlnaW4oZnJhbWUpKTsKKyAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5vdXRwdXRU
ZXh0KG1ha2VTdHJpbmcoIlJlY2VpdmVkIGRldmljZSBvcmllbnRhdGlvbiAmIG1vdGlvbiBhY2Nl
c3MgcmVxdWVzdCBmb3IgdG9wIGxldmVsIG9yaWdpbiBcIiIsIG9yaWdpblVzZXJWaXNpYmxlTmFt
ZShvcmlnaW4pLCAiXCIsIHdpdGggZnJhbWUgb3JpZ2luIFwiIiwgb3JpZ2luVXNlclZpc2libGVO
YW1lKGZyYW1lT3JpZ2luLmdldCgpKSwgIlwiLlxuIikpOwogICAgIHJldHVybiBtX3Nob3VsZEFs
bG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3M7CiB9CiAKQEAgLTM2NzcsNCArMzY3
OCwxMCBAQCBXS1VSTFJlZiBUZXN0Q29udHJvbGxlcjo6Y3VycmVudFRlc3RVUkwoKSBjb25zdAog
ICAgIHJldHVybiBtX2N1cnJlbnRJbnZvY2F0aW9uID8gbV9jdXJyZW50SW52b2NhdGlvbi0+dXJs
KCkgOiBudWxscHRyOwogfQogCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTaG91bGRBbGxvd0Rl
dmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKGJvb2wgdmFsdWUpCit7CisgICAgbV9zaG91
bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzID0gdmFsdWU7CisgICAgV0tX
ZWJzaXRlRGF0YVN0b3JlQ2xlYXJBbGxEZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb25zKHdlYnNp
dGVEYXRhU3RvcmUoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IDhhYzcwYTM2MDRmNzFkZTI2Zjg3Y2ZjM2I2NTdk
Y2UwMmMzMzZlZDIuLmZhNjBhZTg0NTdjYjE5YmY2ZDdlNGZjODFlNTA5Y2ZkN2U3Y2I1YTEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKQEAgLTE1MSw3ICsxNTEsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCByZXNldFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Q291bnRG
b3JPcmlnaW4oV0tTdHJpbmdSZWYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW5TdHJpbmcsIFdLU3Ry
aW5nUmVmIHRvcExldmVsRG9jdW1lbnRPcmlnaW5TdHJpbmcpOwogCiAgICAgLy8gRGV2aWNlIE9y
aWVudGF0aW9uIC8gTW90aW9uLgotICAgIGJvb2wgaGFuZGxlRGV2aWNlT3JpZW50YXRpb25BbmRN
b3Rpb25BY2Nlc3NSZXF1ZXN0KFdLU2VjdXJpdHlPcmlnaW5SZWYpOworICAgIGJvb2wgaGFuZGxl
RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0KFdLU2VjdXJpdHlPcmlnaW5S
ZWYsIFdLRnJhbWVJbmZvUmVmKTsKIAogICAgIC8vIENvbnRlbnQgRXh0ZW5zaW9ucy4KICAgICB2
b2lkIGNvbmZpZ3VyZUNvbnRlbnRFeHRlbnNpb25Gb3JUZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9u
Jik7CkBAIC0yMDQsNyArMjA0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SWdub3Jlc1ZpZXdw
b3J0U2NhbGVMaW1pdHMoYm9vbCk7CiAKICAgICB2b2lkIHNldFNob3VsZERvd25sb2FkVW5kaXNw
bGF5YWJsZU1JTUVUeXBlcyhib29sIHZhbHVlKSB7IG1fc2hvdWxkRG93bmxvYWRVbmRpc3BsYXlh
YmxlTUlNRVR5cGVzID0gdmFsdWU7IH0KLSAgICB2b2lkIHNldFNob3VsZEFsbG93RGV2aWNlT3Jp
ZW50YXRpb25BbmRNb3Rpb25BY2Nlc3MoYm9vbCB2YWx1ZSkgeyBtX3Nob3VsZEFsbG93RGV2aWNl
T3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3MgPSB2YWx1ZTsgfQorICAgIHZvaWQgc2V0U2hvdWxk
QWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcyhib29sKTsKIAogICAgIHZvaWQg
Y2xlYXJTdGF0aXN0aWNzRGF0YUZvckRvbWFpbihXS1N0cmluZ1JlZiBkb21haW4pOwogICAgIGJv
b2wgZG9lc1N0YXRpc3RpY3NEb21haW5JREV4aXN0SW5EYXRhYmFzZSh1bnNpZ25lZCBkb21haW5J
RCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMjgyNTkyMjMwNmIzMWQ2NWQ3Y2E5NmNkYjEwNWVlZWNkY2Y4YmViNS4uYTc1
MDVlMTAxMDg1ZWJkMTllZGZlYTNiMWRhYjVmNzYzNGY4ZDdkYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDIxLTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBBbGlnbiBkZXZpY2Ugb3JpZW50YXRpb24gZGVsZWdhdGUgdG8gZ2V0VXNlck1lZGlhL2dl
b2xvY2F0aW9uIGRlbGVnYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIzMjQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgor
CisgICAgICAgICogZmFzdC9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW1vdGlvbi1yZXF1ZXN0
LXBlcm1pc3Npb24tZGVuaWVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RldmljZS1v
cmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLXJlcXVlc3QtcGVybWlzc2lvbi1ncmFudGVkLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2Utb3JpZW50
YXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLWRlbmllZC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW9yaWVudGF0aW9uLXJlcXVlc3QtcGVybWlz
c2lvbi1ncmFudGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2RldmljZS1v
cmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLWFsbG93ZWQtaW4tZmlyc3QtcGFydHktb25seS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNl
LW1vdGlvbi10aGlyZC1wYXJ0eS1pZnJhbWUtYWxsb3dlZC1ieS1mZWF0dXJlLXBvbGljeS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNl
LW9yaWVudGF0aW9uLWFsbG93ZWQtaW4tZmlyc3QtcGFydHktb25seS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW9yaWVudGF0aW9u
LXBlcm1pc3Npb24tZ3JhbnRlZC1pbi1vdGhlci1pZnJhbWVzLWZyb20tc2FtZS1vcmlnaW4tZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2Rldmlj
ZS1vcmllbnRhdGlvbi10aGlyZC1wYXJ0eS1pZnJhbWUtYWxsb3dlZC1ieS1mZWF0dXJlLXBvbGlj
eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vaW9zL2h0dHAvdGVzdHMvZXZlbnRz
L2RldmljZS1vcmllbnRhdGlvbi1tb3Rpb24tc2VjdXJlLWNvbnRleHQtZXhwZWN0ZWQudHh0Ogor
CiAyMDIxLTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbIG1hY09zIFdrMSBdIGh0dHAvd3B0L2ZpbGVyZWFkZXIvZmlsZXJlYWRlci1zdG9wLmh0bWwg
aXMgYSBmbGFrZXkgdGV4dCBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rl
dmljZS1vcmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLXJlcXVlc3QtcGVybWlzc2lvbi1kZW5pZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNl
LW1vdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tZGVuaWVkLWV4cGVjdGVkLnR4dAppbmRleCAxMjc3
MTA5Mzk1ZTNkNzQ0MWM3Y2QyODRlOWMwYzA3Mzc1NTc4YWY4Li5kZmU4MGQ1ZjMwMGZjNWI1Njc3
NjY2NTNjOTFhNWUyYzU4YjZmM2U4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rldmlj
ZS1vcmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLXJlcXVlc3QtcGVybWlzc2lvbi1kZW5pZWQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZGV2aWNlLW9yaWVudGF0aW9uL2Rldmlj
ZS1tb3Rpb24tcmVxdWVzdC1wZXJtaXNzaW9uLWRlbmllZC1leHBlY3RlZC50eHQKQEAgLTEsNSAr
MSw1IEBACiBDT05TT0xFIE1FU1NBR0U6IE5vIGRldmljZSBtb3Rpb24gZXZlbnRzIHdpbGwgYmUg
ZmlyZWQsIHJlYXNvbjogUGVybWlzc2lvbiB0byB1c2UgdGhlIEFQSSB3YXMgbm90IHlldCByZXF1
ZXN0ZWQuCi1SZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVl
c3QgZm9yIHNlY3VyaXR5IG9yaWdpbiAiIi4KK1JlY2VpdmVkIGRldmljZSBvcmllbnRhdGlvbiAm
IG1vdGlvbiBhY2Nlc3MgcmVxdWVzdCBmb3IgdG9wIGxldmVsIG9yaWdpbiAiIiwgd2l0aCBmcmFt
ZSBvcmlnaW4gIiIuCiBDT05TT0xFIE1FU1NBR0U6IE5vIGRldmljZSBtb3Rpb24gZXZlbnRzIHdp
bGwgYmUgZmlyZWQsIHJlYXNvbjogUGVybWlzc2lvbiB0byB1c2UgdGhlIEFQSSB3YXMgZGVuaWVk
LgogQmFzaWMgdGVzdGluZyBmb3IgRGV2aWNlTW90aW9uRXZlbnQucmVxdWVzdFBlcm1pc3Npb24o
KS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kZXZpY2Utb3JpZW50YXRpb24vZGV2
aWNlLW1vdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tZ3JhbnRlZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLXJlcXVlc3QtcGVy
bWlzc2lvbi1ncmFudGVkLWV4cGVjdGVkLnR4dAppbmRleCAwOTMxM2VlNzJjNTdkYWI1MzU5NmRl
OTNiYTI2YzRjMmMwY2YzYzMxLi43MTQ2NzYwM2M5YzdmMzZiMGMyMDU2N2Y3MzNlNzEzYjE5MDY2
MjU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RldmljZS1vcmllbnRhdGlvbi9kZXZp
Y2UtbW90aW9uLXJlcXVlc3QtcGVybWlzc2lvbi1ncmFudGVkLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLXJlcXVlc3Qt
cGVybWlzc2lvbi1ncmFudGVkLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIENPTlNPTEUg
TUVTU0FHRTogTm8gZGV2aWNlIG1vdGlvbiBldmVudHMgd2lsbCBiZSBmaXJlZCwgcmVhc29uOiBQ
ZXJtaXNzaW9uIHRvIHVzZSB0aGUgQVBJIHdhcyBub3QgeWV0IHJlcXVlc3RlZC4KLVJlY2VpdmVk
IGRldmljZSBvcmllbnRhdGlvbiAmIG1vdGlvbiBhY2Nlc3MgcmVxdWVzdCBmb3Igc2VjdXJpdHkg
b3JpZ2luICIiLgorUmVjZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyBy
ZXF1ZXN0IGZvciB0b3AgbGV2ZWwgb3JpZ2luICIiLCB3aXRoIGZyYW1lIG9yaWdpbiAiIi4KIEJh
c2ljIHRlc3RpbmcgZm9yIERldmljZU1vdGlvbkV2ZW50LnJlcXVlc3RQZXJtaXNzaW9uKCkuCiAK
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24t
ZGVuaWVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZGV2aWNlLW9yaWVudGF0aW9u
L2RldmljZS1vcmllbnRhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tZGVuaWVkLWV4cGVjdGVkLnR4
dAppbmRleCBlMDg5NDkzMjc5NDA0NmUxY2Q1MDQxMTYzMDk5OWNmMmQyNzEwZjNhLi41YmRlZDdi
NDhmNjc2YmFkODhkNzhmN2Y3M2NmZjhhMjE1Zjc1NmM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2Utb3JpZW50YXRpb24tcmVxdWVzdC1wZXJt
aXNzaW9uLWRlbmllZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kZXZpY2Ut
b3JpZW50YXRpb24vZGV2aWNlLW9yaWVudGF0aW9uLXJlcXVlc3QtcGVybWlzc2lvbi1kZW5pZWQt
ZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogQ09OU09MRSBNRVNTQUdFOiBObyBkZXZpY2Ug
b3JpZW50YXRpb24gZXZlbnRzIHdpbGwgYmUgZmlyZWQsIHJlYXNvbjogUGVybWlzc2lvbiB0byB1
c2UgdGhlIEFQSSB3YXMgbm90IHlldCByZXF1ZXN0ZWQuCi1SZWNlaXZlZCBkZXZpY2Ugb3JpZW50
YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9yIHNlY3VyaXR5IG9yaWdpbiAiIi4KK1Jl
Y2VpdmVkIGRldmljZSBvcmllbnRhdGlvbiAmIG1vdGlvbiBhY2Nlc3MgcmVxdWVzdCBmb3IgdG9w
IGxldmVsIG9yaWdpbiAiIiwgd2l0aCBmcmFtZSBvcmlnaW4gIiIuCiBDT05TT0xFIE1FU1NBR0U6
IE5vIGRldmljZSBvcmllbnRhdGlvbiBldmVudHMgd2lsbCBiZSBmaXJlZCwgcmVhc29uOiBQZXJt
aXNzaW9uIHRvIHVzZSB0aGUgQVBJIHdhcyBkZW5pZWQuCiBCYXNpYyB0ZXN0aW5nIGZvciBEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LnJlcXVlc3RQZXJtaXNzaW9uKCkuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRhdGlvbi1yZXF1
ZXN0LXBlcm1pc3Npb24tZ3JhbnRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Rl
dmljZS1vcmllbnRhdGlvbi9kZXZpY2Utb3JpZW50YXRpb24tcmVxdWVzdC1wZXJtaXNzaW9uLWdy
YW50ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDcyNTQzODFmOTI1YmRmMTVhNDY5MjlkZjk0MWY0MDYx
YzE0Y2I2MmEuLjM0YjQxYjA1MzZkZTRiZWZjYThkOWYyOTgxMmJhNWFiNzBjMGM4MjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRh
dGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tZ3JhbnRlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW9yaWVudGF0aW9uLXJlcXVlc3Qt
cGVybWlzc2lvbi1ncmFudGVkLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIENPTlNPTEUg
TUVTU0FHRTogTm8gZGV2aWNlIG9yaWVudGF0aW9uIGV2ZW50cyB3aWxsIGJlIGZpcmVkLCByZWFz
b246IFBlcm1pc3Npb24gdG8gdXNlIHRoZSBBUEkgd2FzIG5vdCB5ZXQgcmVxdWVzdGVkLgotUmVj
ZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyByZXF1ZXN0IGZvciBzZWN1
cml0eSBvcmlnaW4gIiIuCitSZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNj
ZXNzIHJlcXVlc3QgZm9yIHRvcCBsZXZlbCBvcmlnaW4gIiIsIHdpdGggZnJhbWUgb3JpZ2luICIi
LgogQmFzaWMgdGVzdGluZyBmb3IgRGV2aWNlT3JpZW50YXRpb25FdmVudC5yZXF1ZXN0UGVybWlz
c2lvbigpLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLWFsbG93ZWQt
aW4tZmlyc3QtcGFydHktb25seS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLWFsbG93ZWQtaW4tZmlyc3QtcGFydHkt
b25seS1leHBlY3RlZC50eHQKaW5kZXggYTM0N2ZmNmI1YjRhMmIwNjc4OTQ2Yzk4N2I2OGUxYTlm
MTY4ZTZiMS4uZjUwNTI2ODE2MzRjNjhhMjJhZWQ4YzlkODYyZjUzMGVjNzBmNTA2NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW1v
dGlvbi1hbGxvd2VkLWluLWZpcnN0LXBhcnR5LW9ubHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1tb3Rpb24tYWxsb3dl
ZC1pbi1maXJzdC1wYXJ0eS1vbmx5LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKLVJlY2Vp
dmVkIGRldmljZSBvcmllbnRhdGlvbiAmIG1vdGlvbiBhY2Nlc3MgcmVxdWVzdCBmb3Igc2VjdXJp
dHkgb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiLgorUmVjZWl2ZWQgZGV2aWNlIG9yaWVu
dGF0aW9uICYgbW90aW9uIGFjY2VzcyByZXF1ZXN0IGZvciB0b3AgbGV2ZWwgb3JpZ2luICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAiLCB3aXRoIGZyYW1lIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4
MDAwIi4KIENPTlNPTEUgTUVTU0FHRTogTm8gZGV2aWNlIG1vdGlvbiBldmVudHMgd2lsbCBiZSBm
aXJlZCwgcmVhc29uOiBQZXJtaXNzaW9uIHRvIHVzZSB0aGUgQVBJIHdhcyBub3QgeWV0IHJlcXVl
c3RlZC4KLVJlY2VpdmVkIGRldmljZSBvcmllbnRhdGlvbiAmIG1vdGlvbiBhY2Nlc3MgcmVxdWVz
dCBmb3Igc2VjdXJpdHkgb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAiLgorUmVjZWl2ZWQg
ZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyByZXF1ZXN0IGZvciB0b3AgbGV2ZWwg
b3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiLCB3aXRoIGZyYW1lIG9yaWdpbiAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwIi4KIFRlc3RzIHRoYXQgZ2l2aW5nIGRldmljZSBtb3Rpb24gcGVybWlz
c2lvbiBpbiB0aGUgbWFpbiBmcmFtZSBkb2VzIG5vdCBnaXZlIGFjY2VzcyB0byB0aGlyZC1wYXJ0
eSBpZnJhbWVzLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2UtbW90aW9uLXRoaXJk
LXBhcnR5LWlmcmFtZS1hbGxvd2VkLWJ5LWZlYXR1cmUtcG9saWN5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1tb3Rpb24tdGhp
cmQtcGFydHktaWZyYW1lLWFsbG93ZWQtYnktZmVhdHVyZS1wb2xpY3ktZXhwZWN0ZWQudHh0Cmlu
ZGV4IDQ1MDgwYjM3NjRjNjAwMWVmM2ZmNGY4MTBmOGJmMGQ0YTRmMGUxMTYuLmM4ODIyNTQ4ZDI2
NzZhNGE2NTIzMzc4MmY2NGExMDhiMmQ3MzdhYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1tb3Rpb24tdGhpcmQtcGFydHktaWZy
YW1lLWFsbG93ZWQtYnktZmVhdHVyZS1wb2xpY3ktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1tb3Rpb24tdGhpcmQtcGFy
dHktaWZyYW1lLWFsbG93ZWQtYnktZmVhdHVyZS1wb2xpY3ktZXhwZWN0ZWQudHh0CkBAIC0xLDUg
KzEsNSBAQAogQ09OU09MRSBNRVNTQUdFOiBObyBkZXZpY2UgbW90aW9uIGV2ZW50cyB3aWxsIGJl
IGZpcmVkLCByZWFzb246IFBlcm1pc3Npb24gdG8gdXNlIHRoZSBBUEkgd2FzIG5vdCB5ZXQgcmVx
dWVzdGVkLgotUmVjZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyByZXF1
ZXN0IGZvciBzZWN1cml0eSBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuCitSZWNlaXZl
ZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9yIHRvcCBsZXZl
bCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIsIHdpdGggZnJhbWUgb3JpZ2luICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAiLgogVGVzdHMgdGhhdCB0aGlyZC1wYXJ0eSBpZnJhbWVzIGNhbiBy
ZXF1ZXN0IGFjY2VzcyB0byBkZXZpY2UgbW90aW9uIGV2ZW50cyBpZiBhbGxvd2VkIGJ5IGZlYXR1
cmUgcG9saWN5LgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2Utb3JpZW50YXRpb24t
YWxsb3dlZC1pbi1maXJzdC1wYXJ0eS1vbmx5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRhdGlvbi1hbGxvd2VkLWlu
LWZpcnN0LXBhcnR5LW9ubHktZXhwZWN0ZWQudHh0CmluZGV4IGIzMmNkMGM3ZDUyN2IxYmIwMGJi
YzJiZjM4OGZlNzVjZDIwODFhOTUuLmZhOGEzOWMxOGViNTRiYjc1ZTIzOWFlODVlZTk0NzUxOTM4
ZjA2YzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0
aW9uL2RldmljZS1vcmllbnRhdGlvbi1hbGxvd2VkLWluLWZpcnN0LXBhcnR5LW9ubHktZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2Rl
dmljZS1vcmllbnRhdGlvbi1hbGxvd2VkLWluLWZpcnN0LXBhcnR5LW9ubHktZXhwZWN0ZWQudHh0
CkBAIC0xLDYgKzEsNiBAQAotUmVjZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90aW9uIGFj
Y2VzcyByZXF1ZXN0IGZvciBzZWN1cml0eSBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIu
CitSZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9y
IHRvcCBsZXZlbCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIsIHdpdGggZnJhbWUgb3Jp
Z2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiLgogQ09OU09MRSBNRVNTQUdFOiBObyBkZXZpY2Ug
b3JpZW50YXRpb24gZXZlbnRzIHdpbGwgYmUgZmlyZWQsIHJlYXNvbjogUGVybWlzc2lvbiB0byB1
c2UgdGhlIEFQSSB3YXMgbm90IHlldCByZXF1ZXN0ZWQuCi1SZWNlaXZlZCBkZXZpY2Ugb3JpZW50
YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9yIHNlY3VyaXR5IG9yaWdpbiAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwIi4KK1JlY2VpdmVkIGRldmljZSBvcmllbnRhdGlvbiAmIG1vdGlvbiBh
Y2Nlc3MgcmVxdWVzdCBmb3IgdG9wIGxldmVsIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAw
Iiwgd2l0aCBmcmFtZSBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuCiBUZXN0cyB0aGF0
IGdpdmluZyBkZXZpY2Ugb3JpZW50YXRpb24gcGVybWlzc2lvbiBpbiB0aGUgbWFpbiBmcmFtZSBk
b2VzIG5vdCBnaXZlIGFjY2VzcyB0byB0aGlyZC1wYXJ0eSBpZnJhbWVzLgogCiBPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Rldmlj
ZS1vcmllbnRhdGlvbi9kZXZpY2Utb3JpZW50YXRpb24tcGVybWlzc2lvbi1ncmFudGVkLWluLW90
aGVyLWlmcmFtZXMtZnJvbS1zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2Utb3JpZW50YXRpb24tcGVybWlzc2lv
bi1ncmFudGVkLWluLW90aGVyLWlmcmFtZXMtZnJvbS1zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQK
aW5kZXggYjNmNjdkYWYzZDZlM2EzYzUwNjE3OTg5MDUwZjZjMTYwYjY4NDk2NS4uZDE2ZjZkNzI0
NDI2Yjc0Y2M5MzNlNjY0MTZlMWI2N2VhNjY4ZDdjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW9yaWVudGF0aW9uLXBlcm1pc3Np
b24tZ3JhbnRlZC1pbi1vdGhlci1pZnJhbWVzLWZyb20tc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1v
cmllbnRhdGlvbi1wZXJtaXNzaW9uLWdyYW50ZWQtaW4tb3RoZXItaWZyYW1lcy1mcm9tLXNhbWUt
b3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIENPTlNPTEUgTUVTU0FHRTogTm8g
ZGV2aWNlIG9yaWVudGF0aW9uIGV2ZW50cyB3aWxsIGJlIGZpcmVkLCByZWFzb246IFBlcm1pc3Np
b24gdG8gdXNlIHRoZSBBUEkgd2FzIG5vdCB5ZXQgcmVxdWVzdGVkLgotUmVjZWl2ZWQgZGV2aWNl
IG9yaWVudGF0aW9uICYgbW90aW9uIGFjY2VzcyByZXF1ZXN0IGZvciBzZWN1cml0eSBvcmlnaW4g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuCitSZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBt
b3Rpb24gYWNjZXNzIHJlcXVlc3QgZm9yIHRvcCBsZXZlbCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMCIsIHdpdGggZnJhbWUgb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAiLgogVGVz
dHMgdGhhdCBnaXZpbmcgZGV2aWNlIG9yaWVudGF0aW9uIHBlcm1pc3Npb24gdG8gb25lIHRoaXJk
LXBhcnR5IGlmcmFtZSBnaXZlcyBpdCB0byBvdGhlciBpZnJhbWVzIG9mIHRoZSBzYW1lIG9yaWdp
biB0b28uCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRhdGlvbi10aGly
ZC1wYXJ0eS1pZnJhbWUtYWxsb3dlZC1ieS1mZWF0dXJlLXBvbGljeS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RldmljZS1vcmllbnRhdGlvbi9kZXZpY2Utb3JpZW50YXRp
b24tdGhpcmQtcGFydHktaWZyYW1lLWFsbG93ZWQtYnktZmVhdHVyZS1wb2xpY3ktZXhwZWN0ZWQu
dHh0CmluZGV4IDRjODIzMTVlNzE2Mjg4YmI4YzYwZTJmZGE1NDVlNDg1MzViZDc4NjAuLjhmODUx
NzA0NjM3OGE4ZjY0M2U1OWM4ZjVkNTAyOTY5YmEwNjA4ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvZGV2aWNlLW9yaWVudGF0aW9uL2RldmljZS1vcmllbnRhdGlvbi10aGly
ZC1wYXJ0eS1pZnJhbWUtYWxsb3dlZC1ieS1mZWF0dXJlLXBvbGljeS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kZXZpY2Utb3JpZW50YXRpb24vZGV2aWNlLW9yaWVu
dGF0aW9uLXRoaXJkLXBhcnR5LWlmcmFtZS1hbGxvd2VkLWJ5LWZlYXR1cmUtcG9saWN5LWV4cGVj
dGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIENPTlNPTEUgTUVTU0FHRTogTm8gZGV2aWNlIG9yaWVu
dGF0aW9uIGV2ZW50cyB3aWxsIGJlIGZpcmVkLCByZWFzb246IFBlcm1pc3Npb24gdG8gdXNlIHRo
ZSBBUEkgd2FzIG5vdCB5ZXQgcmVxdWVzdGVkLgotUmVjZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9u
ICYgbW90aW9uIGFjY2VzcyByZXF1ZXN0IGZvciBzZWN1cml0eSBvcmlnaW4gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMCIuCitSZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNz
IHJlcXVlc3QgZm9yIHRvcCBsZXZlbCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIsIHdp
dGggZnJhbWUgb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAiLgogVGVzdHMgdGhhdCB0aGly
ZC1wYXJ0eSBpZnJhbWVzIGNhbiByZXF1ZXN0IGFjY2VzcyB0byBkZXZpY2Ugb3JpZW50YXRpb24g
ZXZlbnRzIGlmIGFsbG93ZWQgYnkgZmVhdHVyZSBwb2xpY3kuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9odHRwL3Rlc3Rz
L2V2ZW50cy9kZXZpY2Utb3JpZW50YXRpb24tbW90aW9uLXNlY3VyZS1jb250ZXh0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9odHRwL3Rlc3RzL2V2ZW50cy9kZXZpY2Ut
b3JpZW50YXRpb24tbW90aW9uLXNlY3VyZS1jb250ZXh0LWV4cGVjdGVkLnR4dAppbmRleCA0NGZj
MThmODk5ZTMyOTM0NTdkMDhiY2EzZmQ2NmIyYjkwNmNhYzAzLi5lZjc5NjAwNDE0Nzc2YzJlM2E0
NmU0MDVkOTYzMGQ2Mzk0ZjIxNmZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3MvaHR0cC90ZXN0cy9ldmVudHMvZGV2aWNlLW9yaWVudGF0aW9uLW1vdGlvbi1zZWN1cmUtY29u
dGV4dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2h0dHAvdGVz
dHMvZXZlbnRzL2RldmljZS1vcmllbnRhdGlvbi1tb3Rpb24tc2VjdXJlLWNvbnRleHQtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotUmVjZWl2ZWQgZGV2aWNlIG9yaWVudGF0aW9uICYgbW90
aW9uIGFjY2VzcyByZXF1ZXN0IGZvciBzZWN1cml0eSBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMCIuCitSZWNlaXZlZCBkZXZpY2Ugb3JpZW50YXRpb24gJiBtb3Rpb24gYWNjZXNzIHJlcXVl
c3QgZm9yIHRvcCBsZXZlbCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIsIHdpdGggZnJh
bWUgb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiLgogVGVzdHMgdGhhdCB0cnlpbmcgdG8g
c2V0IGFuIGV2ZW50IGxpc3RlbmVyIGZvciBkZXZpY2VvcmllbnRhdGlvbiBhbmQgZGV2aWNlb3Jp
ZW50YXRpb24gZG9lcyBub3QgbG9nIGFuIGVycm9yIGluIHNlY3VyZSBjb250ZXh0cy4KIAogT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>