<?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>42865</bug_id>
          
          <creation_ts>2010-07-22 18:20:33 -0700</creation_ts>
          <short_desc>Implement DeviceMotionEvent</short_desc>
          <delta_ts>2010-10-19 11:36:18 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://dev.w3.org/geo/api/spec-source-orientation.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>42834</dependson>
          <blocked>30335</blocked>
    
    <blocked>43443</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>hans</cc>
    
    <cc>jorlow</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>steveblock</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>255128</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-07-22 18:20:33 -0700</bug_when>
    <thetext>Implement AccelerometerEvents, as defined by the linked spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255440</commentid>
    <comment_count>1</comment_count>
      <attachid>62435</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-07-23 09:51:45 -0700</bug_when>
    <thetext>Created attachment 62435
Patch

I won&apos;t be surprised when this fails to build on some platforms, since the Page constructor has been changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255444</commentid>
    <comment_count>2</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-07-23 09:54:38 -0700</bug_when>
    <thetext>Referencing bug that will help with Page constructor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255967</commentid>
    <comment_count>3</comment_count>
      <attachid>62435</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-26 04:04:45 -0700</bug_when>
    <thetext>Comment on attachment 62435
Patch

LayoutTests/fast/dom/Window/window-properties-device-orientation.html:1
 +  &lt;p&gt;This test dumps all of the properties that are reachable from the window.DeviceOrientationEvent, window.ondeviceorientation, window.AccelerometerEvent and window.onaccelerometer objects, along with their types.&lt;/p&gt;
Might be worth adding a note that these are all guarded by the same enable flag, so are tested together.

LayoutTests/ChangeLog:14
 +          * fast/dom/Window/window-properties.html:
I think you should also add the Accelerometer equivalent of the tests in fast/dom/DeviceOrientation too.

WebCore/WebCore.exp.in:522
 +  __ZN7WebCore4PageC1EPNS_12ChromeClientEPNS_17ContextMenuClientEPNS_12EditorClientEPNS_10DragClientEPNS_15InspectorClientEPNS_18PluginHalterClientEPNS_27GeolocationControllerClientEPNS_23DeviceOrientationClientEPNS_19AccelerometerClientEPNS_27BackForwardControllerClientE
It would be good to wait until my patch to add the OptionalClient parameter lands, to avoid this extra churn.

WebCore/Android.v8bindings.mk:88
 +  	bindings/v8/custom/V8AccelerometerEventCustom.cpp \
I don&apos;t see this file in the patch?

WebCore/dom/AccelerometerController.h:41
 +      AccelerometerController(Page*, AccelerometerClient*);
What is the Page needed for? I don&apos;t think DeviceOrientationController needs the Page either.

WebCore/dom/Event.h:144
 +          virtual bool isAccelerometerEvent() const;
There are lots of places where Acceleromter and DeviceOrientation appear in a pair. It would be good to be consistent with ordering.

WebCore/page/DOMWindow.cpp:1436
 +          frame()-&gt;page()-&gt;deviceOrientationController()-&gt;removeListener(this);
Thanks!

WebCore/dom/AccelerometerClient.h:40
 +      virtual ~AccelerometerClient() {}
I don&apos;t think this should be protected, as it&apos;s likely that we&apos;ll need to hold references to the client via this interface in order to implement mock injection for testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256371</commentid>
    <comment_count>4</comment_count>
      <attachid>62637</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-07-26 19:14:30 -0700</bug_when>
    <thetext>Created attachment 62637
updated patch with new testcases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256372</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-07-26 19:17:00 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 62435 [details])
&gt; LayoutTests/fast/dom/Window/window-properties-device-orientation.html:1
&gt;  +  &lt;p&gt;This test dumps all of the properties that are reachable from the window.DeviceOrientationEvent, window.ondeviceorientation, window.AccelerometerEvent and window.onaccelerometer objects, along with their types.&lt;/p&gt;
&gt; Might be worth adding a note that these are all guarded by the same enable flag, so are tested together.

Done

&gt; 
&gt; LayoutTests/ChangeLog:14
&gt;  +          * fast/dom/Window/window-properties.html:
&gt; I think you should also add the Accelerometer equivalent of the tests in fast/dom/DeviceOrientation too.

Done.

By the way, I think there are errors in the DeviceOrientation ones. Specifically, the existence of the DeviceOrientationEvent property on window - it&apos;s a link to the constructor object, not a function. You can see the differences in the ones I&apos;ve attached for Accelerometer.

&gt; 
&gt; WebCore/WebCore.exp.in:522
&gt;  +  __ZN7WebCore4PageC1EPNS_12ChromeClientEPNS_17ContextMenuClientEPNS_12EditorClientEPNS_10DragClientEPNS_15InspectorClientEPNS_18PluginHalterClientEPNS_27GeolocationControllerClientEPNS_23DeviceOrientationClientEPNS_19AccelerometerClientEPNS_27BackForwardControllerClientE
&gt; It would be good to wait until my patch to add the OptionalClient parameter lands, to avoid this extra churn.

Yes, I will wait.

&gt; 
&gt; WebCore/Android.v8bindings.mk:88
&gt;  +      bindings/v8/custom/V8AccelerometerEventCustom.cpp \
&gt; I don&apos;t see this file in the patch?

Sorry, I forgot. I&apos;ve added one now but have not compiled it to test.

&gt; 
&gt; WebCore/dom/AccelerometerController.h:41
&gt;  +      AccelerometerController(Page*, AccelerometerClient*);
&gt; What is the Page needed for? I don&apos;t think DeviceOrientationController needs the Page either.

Removed. I&apos;ll leave it to you to remove it from DeviceOrientation.

&gt; 
&gt; WebCore/dom/Event.h:144
&gt;  +          virtual bool isAccelerometerEvent() const;
&gt; There are lots of places where Acceleromter and DeviceOrientation appear in a pair. It would be good to be consistent with ordering.

Fixed in a lot of places. I use alpha order.

&gt; 
&gt; WebCore/page/DOMWindow.cpp:1436
&gt;  +          frame()-&gt;page()-&gt;deviceOrientationController()-&gt;removeListener(this);
&gt; Thanks!
&gt; 
&gt; WebCore/dom/AccelerometerClient.h:40
&gt;  +      virtual ~AccelerometerClient() {}
&gt; I don&apos;t think this should be protected, as it&apos;s likely that we&apos;ll need to hold references to the client via this interface in order to implement mock injection for testing.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256439</commentid>
    <comment_count>6</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-27 01:19:56 -0700</bug_when>
    <thetext>&gt; By the way, I think there are errors in the DeviceOrientation ones.
&gt; Specifically, the existence of the DeviceOrientationEvent property on window
&gt; - it&apos;s a link to the constructor object, not a function. You can see the
&gt; differences in the ones I&apos;ve attached for Accelerometer.
Ah yes, the difference is due to the use of JSC vs V8. I guess that JSC should &apos;win&apos; here for the generic expected result, and we should add V8-expected expected results for Chromium and Android. I&apos;ve filed Bug 43025.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256860</commentid>
    <comment_count>7</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-07-27 14:49:54 -0700</bug_when>
    <thetext>The patch still has an extra &quot;class Page;&quot; in AccelerometerController.h that I&apos;ll remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259277</commentid>
    <comment_count>8</comment_count>
      <attachid>63296</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-02 20:31:12 -0700</bug_when>
    <thetext>Created attachment 63296
Updated patch after the Page constructor changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259423</commentid>
    <comment_count>9</comment_count>
      <attachid>63296</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-08-03 06:42:44 -0700</bug_when>
    <thetext>Comment on attachment 63296
Updated patch after the Page constructor changes

LayoutTests/fast/dom/Window/window-properties-device-orientation.html:2
 +    These properties are currently guarded by ENABLE_DEVICE_ORIENTATION.&lt;/p&gt;
Looks like this last sentence isn&apos;t in the expected result.

LayoutTests/platform/gtk/Skipped:1096
 +  fast/dom/Accelerometer/window-property.html
alpha ordering

WebCore/WebCore.gypi:525
 +              &apos;bindings/js/JSAccelerometerEventCustom.cpp&apos;,
alpha ordering

WebCore/WebCore.pro:286
 +      bindings/js/JSAccelerometerEventCustom.cpp \
alpha ordering

WebCore/WebCore.xcodeproj/project.pbxproj: 
 +  				59A86007119DAFA100DEF1EF /* JSDeviceOrientationEvent.h */,
Is this intentional?

WebKitTools/Scripts/build-webkit:102
 +  
This isn&apos;t needed. It was added in http://trac.webkit.org/changeset/64270/trunk/WebKitTools/Scripts/build-webkit

WebCore/dom/AccelerometerController.cpp:29
 +  #if ENABLE(DEVICE_ORIENTATION)
I&apos;m not sure there&apos;s a formal policy for using guards, but my approach has been to use as few as possible to make sure the feature isn&apos;t exposed when it&apos;s not required. I find this keeps things as simple as possible. In particular, there should be no need to guard the contents of these cpp files.

LayoutTests/ChangeLog:27
 +          * fast/dom/Accelerometer/window-property.html: Added.
Could you file a bug to track the fact that this new test won&apos;t pass with V8. CC me and I&apos;ll provide the V8-specific result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259670</commentid>
    <comment_count>10</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-03 13:39:15 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 63296 [details])
&gt; LayoutTests/fast/dom/Window/window-properties-device-orientation.html:2
&gt;  +    These properties are currently guarded by ENABLE_DEVICE_ORIENTATION.&lt;/p&gt;
&gt; Looks like this last sentence isn&apos;t in the expected result.

Added. 

&gt; 
&gt; LayoutTests/platform/gtk/Skipped:1096
&gt;  +  fast/dom/Accelerometer/window-property.html
&gt; alpha ordering

Fixed

&gt; 
&gt; WebCore/WebCore.gypi:525
&gt;  +              &apos;bindings/js/JSAccelerometerEventCustom.cpp&apos;,
&gt; alpha ordering

This is because the file already has case ordering issues. I put the new file at the correct place.

&gt; 
&gt; WebCore/WebCore.pro:286
&gt;  +      bindings/js/JSAccelerometerEventCustom.cpp \
&gt; alpha ordering

Ditto.

&gt; 
&gt; WebCore/WebCore.xcodeproj/project.pbxproj: 
&gt;  +                  59A86007119DAFA100DEF1EF /* JSDeviceOrientationEvent.h */,
&gt; Is this intentional?

Yes. There was a case ordering issue of the device orientation files in the xcode project. You&apos;ll see I&apos;ve moved them slightly. I felt ok changing this file, but didn&apos;t want to muck around too much in the build files of a platform I can&apos;t test.

&gt; 
&gt; WebKitTools/Scripts/build-webkit:102
&gt;  +  
&gt; This isn&apos;t needed. It was added in http://trac.webkit.org/changeset/64270/trunk/WebKitTools/Scripts/build-webkit

I missed this. Removed.

&gt; 
&gt; WebCore/dom/AccelerometerController.cpp:29
&gt;  +  #if ENABLE(DEVICE_ORIENTATION)
&gt; I&apos;m not sure there&apos;s a formal policy for using guards, but my approach has been to use as few as possible to make sure the feature isn&apos;t exposed when it&apos;s not required. I find this keeps things as simple as possible. In particular, there should be no need to guard the contents of these cpp files.
&gt; 

Removed.

&gt; LayoutTests/ChangeLog:27
&gt;  +          * fast/dom/Accelerometer/window-property.html: Added.
&gt; Could you file a bug to track the fact that this new test won&apos;t pass with V8. CC me and I&apos;ll provide the V8-specific result.

Yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259671</commentid>
    <comment_count>11</comment_count>
      <attachid>63374</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-03 13:40:07 -0700</bug_when>
    <thetext>Created attachment 63374
Updated patch

post review patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259933</commentid>
    <comment_count>12</comment_count>
      <attachid>63374</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-08-04 02:06:12 -0700</bug_when>
    <thetext>Comment on attachment 63374
Updated patch


WebCore/Configurations/FeatureDefines.xcconfig:64
 +  ENABLE_DEVICE_ORIENTATION = ENABLE_DEVICE_ORIENTATION;
If you want to change this file, you must also change the corresponding file in JavaScriptCore and WebKit/mac. See the header of this file.

WebCore/bindings/v8/custom/V8AccelerometerEventCustom.cpp:41
 +      INC_STATS(&quot;DOM.DeviceOrientationEvent.x._get&quot;);
Should be AccelerometerEvent

Looks good other than the two minor points above.

It would be good if you could rebase your patch before you upload next time, so that it can build on the EWS bots. It&apos;s easy to introduce a build break with a patch like this that adds new files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259942</commentid>
    <comment_count>13</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-04 02:47:32 -0700</bug_when>
    <thetext>Thanks. I&apos;m actually going to rename AccelerometerEvent to DeviceMotionEvent, after the discussion on the public Geolocation list. I don&apos;t want to land this and then have to change everything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260380</commentid>
    <comment_count>14</comment_count>
      <attachid>63546</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-04 21:37:14 -0700</bug_when>
    <thetext>Created attachment 63546
New patch - Accelerometer is now DeviceMotion

This patch now uses DeviceMotionEvent rather than AccelerometerEvent to reflect the fact that the event encapsulates accelerometer and gyroscopic data. It seems the Geolocation WG have accepted the change, but the specification needs to be updated.

I&apos;ve rebased just now so hopefully it will patch against the current tree. I was only a few hours out of date last time :)

I didn&apos;t mean to change the FeatureDefines in the previous patch. It&apos;s no longer here. The custom v8 implementation is also changed.

The major change other than naming was to move the accessor functions in DeviceMotionData to be inline. They are all one-liners.

Note that there are new results for the window-properties-device-orientation test. Since this is skipped it would only be turned on when there is a client implementation, and in that case you won&apos;t get the empty result. This will need a V8 specific results file too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260382</commentid>
    <comment_count>15</comment_count>
      <attachid>63547</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-04 21:42:05 -0700</bug_when>
    <thetext>Created attachment 63547
Same as last patch without typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260384</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-04 21:45:11 -0700</bug_when>
    <thetext>Attachment 63547 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/dom/DeviceMotionController.cpp:30:  Alphabetical sorting problem.  [build/include_order] [4]
WebCore/dom/DeviceMotionEvent.cpp:27:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebCore/dom/DeviceMotionEvent.cpp:28:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebCore/dom/DeviceMotionData.cpp:36:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 4 in 54 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260390</commentid>
    <comment_count>17</comment_count>
      <attachid>63550</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-04 22:12:59 -0700</bug_when>
    <thetext>Created attachment 63550
Stylebot fixes, plus VS project file was missing a file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260403</commentid>
    <comment_count>18</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-08-04 22:32:35 -0700</bug_when>
    <thetext>Attachment 63550 did not build on qt:
Build output: http://queues.webkit.org/results/3589894</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260406</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-04 22:40:53 -0700</bug_when>
    <thetext>Attachment 63550 did not build on chromium:
Build output: http://queues.webkit.org/results/3608689</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260412</commentid>
    <comment_count>20</comment_count>
      <attachid>63555</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-04 22:59:44 -0700</bug_when>
    <thetext>Created attachment 63555
QT and crlinux build fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260414</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-04 23:03:23 -0700</bug_when>
    <thetext>Attachment 63555 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/bindings/js/JSEventCustom.cpp:43:  &quot;JSDeviceMotionEvent.h&quot; already included at WebCore/bindings/js/JSEventCustom.cpp:38  [build/include] [4]
Total errors found: 1 in 56 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260415</commentid>
    <comment_count>22</comment_count>
      <attachid>63556</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-04 23:06:16 -0700</bug_when>
    <thetext>Created attachment 63556
yet another style fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260979</commentid>
    <comment_count>23</comment_count>
      <attachid>63556</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-08-05 17:26:30 -0700</bug_when>
    <thetext>Comment on attachment 63556
yet another style fix

&gt; +        https://bugs.webkit.org/show_bug.cgi?id=42865
&gt; +        Implement AccelerometerEvent

You mean the DeviceMotion event?

&gt; +        Implement the DeviceMotionEvent interface as defined
&gt; +        in http://dev.w3.org/geo/api/spec-source-orientation.html
&gt; +        This is currently an empty implementation, in that there is
&gt; +        no motion client connected - the platform implementations
&gt; +        will need to do that.
&gt; +
&gt; +        Note also that at this time the specified event is
&gt; +        called Accelerometer, but this will change to DeviceMotion
&gt; +        with the inclusion of gyroscopic results.

I think you should remove this from the Changelog; it will go stale as soon
as the spec changes.



&gt;  			&lt;File
&gt; +				RelativePath=&quot;$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSDeviceMotionEvent.cpp&quot;
&gt; +				&gt;
&gt; +				&lt;FileConfiguration
&gt; +					Name=&quot;Debug|Win32&quot;
&gt; +					ExcludedFromBuild=&quot;true&quot;
&gt; +					&gt;
&gt; +					&lt;Tool
&gt; +						Name=&quot;VCCLCompilerTool&quot;
&gt; +					/&gt;
&gt; +				&lt;/FileConfiguration&gt;
&gt; +				&lt;FileConfiguration
&gt; +					Name=&quot;Release|Win32&quot;
&gt; +					ExcludedFromBuild=&quot;true&quot;
&gt; +					&gt;
&gt; +					&lt;Tool
&gt; +						Name=&quot;VCCLCompilerTool&quot;
&gt; +					/&gt;
&gt; +				&lt;/FileConfiguration&gt;
&gt; +				&lt;FileConfiguration
&gt; +					Name=&quot;Debug_Internal|Win32&quot;
&gt; +					ExcludedFromBuild=&quot;true&quot;
&gt; +					&gt;
&gt; +					&lt;Tool
&gt; +						Name=&quot;VCCLCompilerTool&quot;
&gt; +					/&gt;
&gt; +				&lt;/FileConfiguration&gt;
&gt; +				&lt;FileConfiguration
&gt; +					Name=&quot;Debug_Cairo|Win32&quot;
&gt; +					ExcludedFromBuild=&quot;true&quot;
&gt; +					&gt;
&gt; +					&lt;Tool
&gt; +						Name=&quot;VCCLCompilerTool&quot;
&gt; +					/&gt;
&gt; +				&lt;/FileConfiguration&gt;
&gt; +				&lt;FileConfiguration
&gt; +					Name=&quot;Release_Cairo|Win32&quot;
&gt; +					ExcludedFromBuild=&quot;true&quot;
&gt; +					&gt;
&gt; +					&lt;Tool
&gt; +						Name=&quot;VCCLCompilerTool&quot;
&gt; +					/&gt;
&gt; +				&lt;/FileConfiguration&gt;
&gt; +				&lt;FileConfiguration
&gt; +					Name=&quot;Debug_All|Win32&quot;
&gt; +					ExcludedFromBuild=&quot;true&quot;
&gt; +					&gt;
&gt; +					&lt;Tool
&gt; +						Name=&quot;VCCLCompilerTool&quot;
&gt; +					/&gt;
&gt; +				&lt;/FileConfiguration&gt;

Not sure if you should include all that gubbins.

&gt; +					&lt;FileConfiguration
&gt; +						Name=&quot;Debug|Win32&quot;
&gt; +						ExcludedFromBuild=&quot;true&quot;
&gt; +						&gt;
&gt; +						&lt;Tool
&gt; +							Name=&quot;VCCLCompilerTool&quot;
&gt; +						/&gt;
&gt; +					&lt;/FileConfiguration&gt;
&gt; +					&lt;FileConfiguration
&gt; +						Name=&quot;Release|Win32&quot;
&gt; +						ExcludedFromBuild=&quot;true&quot;
&gt; +						&gt;
&gt; +						&lt;Tool
&gt; +							Name=&quot;VCCLCompilerTool&quot;
&gt; +						/&gt;
&gt; +					&lt;/FileConfiguration&gt;
&gt; +					&lt;FileConfiguration
&gt; +						Name=&quot;Debug_Internal|Win32&quot;
&gt; +						ExcludedFromBuild=&quot;true&quot;
&gt; +						&gt;
&gt; +						&lt;Tool
&gt; +							Name=&quot;VCCLCompilerTool&quot;
&gt; +						/&gt;
&gt; +					&lt;/FileConfiguration&gt;
&gt; +					&lt;FileConfiguration
&gt; +						Name=&quot;Debug_Cairo|Win32&quot;
&gt; +						ExcludedFromBuild=&quot;true&quot;
&gt; +						&gt;
&gt; +						&lt;Tool
&gt; +							Name=&quot;VCCLCompilerTool&quot;
&gt; +						/&gt;
&gt; +					&lt;/FileConfiguration&gt;
&gt; +					&lt;FileConfiguration
&gt; +						Name=&quot;Release_Cairo|Win32&quot;
&gt; +						ExcludedFromBuild=&quot;true&quot;
&gt; +						&gt;
&gt; +						&lt;Tool
&gt; +							Name=&quot;VCCLCompilerTool&quot;
&gt; +						/&gt;
&gt; +					&lt;/FileConfiguration&gt;
&gt; +					&lt;FileConfiguration
&gt; +						Name=&quot;Debug_All|Win32&quot;
&gt; +						ExcludedFromBuild=&quot;true&quot;
&gt; +						&gt;
&gt; +						&lt;Tool
&gt; +							Name=&quot;VCCLCompilerTool&quot;
&gt; +						/&gt;
&gt; +					&lt;/FileConfiguration&gt;

Ditto.

&gt; diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj


&gt;  			isa = PBXProject;
&gt;  			buildConfigurationList = 149C284308902B11008A9EFC /* Build configuration list for PBXProject &quot;WebCore&quot; */;
&gt;  			compatibilityVersion = &quot;Xcode 2.4&quot;;
&gt; +			developmentRegion = English;
&gt;  			hasScannedForEncodings = 1;

Spurious change (but harmless).

&gt; diff --git a/WebCore/dom/DeviceMotionClient.h b/WebCore/dom/DeviceMotionClient.h

&gt; +    virtual DeviceMotionData* currentDeviceMotion() const = 0;

I think this should return a const DeviceMotionData*, or const DeviceMotionData&amp;,
or something refcounted.

&gt; diff --git a/WebCore/dom/EventNames.h b/WebCore/dom/EventNames.h
&gt; index 6620cec..235988a 100644
&gt; --- a/WebCore/dom/EventNames.h
&gt; +++ b/WebCore/dom/EventNames.h
&gt; @@ -50,6 +50,7 @@ namespace WebCore {
&gt;      macro(copy) \
&gt;      macro(cut) \
&gt;      macro(dblclick) \
&gt; +    macro(devicemotion) \

I wonder if this should have a &quot;webkit&quot; prefix, since things are
still in flux.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260999</commentid>
    <comment_count>24</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-05 17:58:20 -0700</bug_when>
    <thetext>I&apos;d like to see why the windows bot can&apos;t apply the patch. I don&apos;t have windows to test why the VS project is conflicting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261032</commentid>
    <comment_count>25</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-05 19:07:34 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; I&apos;d like to see why the windows bot can&apos;t apply the patch. I don&apos;t have windows to test why the VS project is conflicting.

https://webkit-commit-queue.appspot.com/results/3585983

Looks like a problem in the vcproj.  You don&apos;t need windows to see the problem.  Just try

./WebKitTools/Script/webkit-patch apply-attachment 63556 --non-interactive

(The --non-interactive flag causes webkit-patch to pass --force to svn-apply.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261158</commentid>
    <comment_count>26</comment_count>
      <attachid>63556</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-08-06 02:05:05 -0700</bug_when>
    <thetext>Comment on attachment 63556
yet another style fix

LayoutTests/fast/dom/Window/window-properties-device-orientation-expected.txt:31
 +  window.DeviceOrientationEvent.prototype [object DeviceOrientationEventPrototype]
Why have the expected results for DeviceOrientation changed? Was this test failing on Mac? If so, it must be another V8 vs JSC difference. Please update Bug 43443 to reflect this.

WebCore/dom/DeviceMotionEvent.idl:36
 +          readonly attribute [Custom] double zRotationRate;
Presumably these are the rotations about the body x, y and z axes. I wonder if we should use the names of the angles used in DeviceOrientation - betaRate, gammaRate, alphaRate - for consistency? Let&apos;s not hold up this patch on this, but we should discuss on the spec mailing list and possibly rename them.

WebCore/dom/DeviceOrientationController.cpp:41
 +          m_client-&gt;setController(this);
This shouldn&apos;t be changed. Optional features like DeviceOrientation should not be enabled unless a client is provided and we don&apos;t want to have to make the entire implementation robust to not having a client. See Bug 43533.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261167</commentid>
    <comment_count>27</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-06 03:07:03 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (From update of attachment 63556 [details])
&gt; LayoutTests/fast/dom/Window/window-properties-device-orientation-expected.txt:31
&gt;  +  window.DeviceOrientationEvent.prototype [object DeviceOrientationEventPrototype]
&gt; Why have the expected results for DeviceOrientation changed? Was this test failing on Mac? If so, it must be another V8 vs JSC difference. Please update Bug 43443 to reflect this.

I mentioned the reason up above (somewhere). I&apos;ll revert the change though. It&apos;s not a big deal.

&gt; WebCore/dom/DeviceMotionEvent.idl:36
&gt;  +          readonly attribute [Custom] double zRotationRate;
&gt; Presumably these are the rotations about the body x, y and z axes. I wonder if we should use the names of the angles used in DeviceOrientation - betaRate, gammaRate, alphaRate - for consistency? Let&apos;s not hold up this patch on this, but we should discuss on the spec mailing list and possibly rename them.

Yes, I don&apos;t mind either way. I find x, y, z easier because the accelerometer is defined that way. Other people might use pitch, yaw, roll.

&gt; 
&gt; WebCore/dom/DeviceOrientationController.cpp:41
&gt;  +          m_client-&gt;setController(this);
&gt; This shouldn&apos;t be changed. Optional features like DeviceOrientation should not be enabled unless a client is provided and we don&apos;t want to have to make the entire implementation robust to not having a client. See Bug 43533.

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261231</commentid>
    <comment_count>28</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-06 07:06:20 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/dom/DeviceMotion/create-event-expected.txt
	A	LayoutTests/fast/dom/DeviceMotion/create-event.html
	A	LayoutTests/fast/dom/DeviceMotion/optional-event-properties-expected.txt
	A	LayoutTests/fast/dom/DeviceMotion/optional-event-properties.html
	A	LayoutTests/fast/dom/DeviceMotion/script-tests/TEMPLATE.html
	A	LayoutTests/fast/dom/DeviceMotion/script-tests/create-event.js
	A	LayoutTests/fast/dom/DeviceMotion/script-tests/optional-event-properties.js
	A	LayoutTests/fast/dom/DeviceMotion/script-tests/window-property.js
	A	LayoutTests/fast/dom/DeviceMotion/window-property-expected.txt
	A	LayoutTests/fast/dom/DeviceMotion/window-property.html
	M	LayoutTests/fast/dom/Window/window-properties-device-orientation-expected.txt
	M	LayoutTests/fast/dom/Window/window-properties-device-orientation.html
	M	LayoutTests/fast/dom/Window/window-properties.html
	M	LayoutTests/platform/gtk/Skipped
	M	LayoutTests/platform/mac/Skipped
	M	LayoutTests/platform/qt/Skipped
	M	LayoutTests/platform/win/Skipped
	M	WebCore/Android.derived.jscbindings.mk
	M	WebCore/Android.derived.v8bindings.mk
	M	WebCore/Android.jscbindings.mk
	M	WebCore/Android.mk
	M	WebCore/Android.v8bindings.mk
	M	WebCore/CMakeLists.txt
	M	WebCore/ChangeLog
	M	WebCore/DerivedSources.make
	M	WebCore/GNUmakefile.am
	M	WebCore/WebCore.exp.in
	M	WebCore/WebCore.gypi
	M	WebCore/WebCore.pri
	M	WebCore/WebCore.pro
	M	WebCore/WebCore.vcproj/WebCore.vcproj
	M	WebCore/WebCore.xcodeproj/project.pbxproj
	M	WebCore/bindings/generic/RuntimeEnabledFeatures.cpp
	M	WebCore/bindings/generic/RuntimeEnabledFeatures.h
	A	WebCore/bindings/js/JSDeviceMotionEventCustom.cpp
	M	WebCore/bindings/js/JSEventCustom.cpp
	A	WebCore/bindings/v8/custom/V8DeviceMotionEventCustom.cpp
	A	WebCore/dom/DeviceMotionClient.h
	A	WebCore/dom/DeviceMotionController.cpp
	A	WebCore/dom/DeviceMotionController.h
	A	WebCore/dom/DeviceMotionData.cpp
	A	WebCore/dom/DeviceMotionData.h
	A	WebCore/dom/DeviceMotionEvent.cpp
	A	WebCore/dom/DeviceMotionEvent.h
	A	WebCore/dom/DeviceMotionEvent.idl
	M	WebCore/dom/Document.cpp
	M	WebCore/dom/Event.cpp
	M	WebCore/dom/Event.h
	M	WebCore/dom/EventNames.h
	M	WebCore/page/DOMWindow.cpp
	M	WebCore/page/DOMWindow.h
	M	WebCore/page/DOMWindow.idl
	M	WebCore/page/Page.cpp
	M	WebCore/page/Page.h
Committed r64845</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261321</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-06 10:06:48 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/64845 might have broken Qt Windows 32-bit Debug
The following changes are on the blame list:
http://trac.webkit.org/changeset/64845
http://trac.webkit.org/changeset/64846</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261332</commentid>
    <comment_count>30</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-08-06 10:27:17 -0700</bug_when>
    <thetext>&gt; &gt; +    virtual DeviceMotionData* currentDeviceMotion() const = 0;
&gt; 
&gt; I think this should return a const DeviceMotionData*, or const DeviceMotionData&amp;,
&gt; or something refcounted.
I think this is OK as it is - the caller can use a RefPtr to ref count the result if required for long-term use, or use the raw pointer directly if they just need the result at the call site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261333</commentid>
    <comment_count>31</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-08-06 10:28:10 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; &gt; &gt; +    virtual DeviceMotionData* currentDeviceMotion() const = 0;
&gt; &gt; 
&gt; &gt; I think this should return a const DeviceMotionData*, or const DeviceMotionData&amp;,
&gt; &gt; or something refcounted.
&gt; I think this is OK as it is - the caller can use a RefPtr to ref count the result if required for long-term use, or use the raw pointer directly if they just need the result at the call site.

I&apos;m worried about a caller mutating the returned DeviceMotionData.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261392</commentid>
    <comment_count>32</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-08-06 12:35:09 -0700</bug_when>
    <thetext>It seems the QT Windows build bot is out of disk space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261393</commentid>
    <comment_count>33</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-06 12:37:17 -0700</bug_when>
    <thetext>Ossy is your man!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261942</commentid>
    <comment_count>34</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-08 16:20:23 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; It seems the QT Windows build bot is out of disk space.

Sorry about it, I enlarged the ramdisk size of Qt Windows debug bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294796</commentid>
    <comment_count>35</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-15 10:10:56 -0700</bug_when>
    <thetext>Sorry for the (very) late comment.  But I&apos;m wondering if there&apos;s a reason you didn&apos;t implement a mock device like geolocation/device orientation (https://bugs.webkit.org/show_bug.cgi?id=39589) so that more of the plumbing can be exercised.  My (admittedly limited) understanding is that such things are fairly common for APIs like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296307</commentid>
    <comment_count>36</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-10-19 11:36:18 -0700</bug_when>
    <thetext>&gt; Sorry for the (very) late comment.  But I&apos;m wondering if there&apos;s a reason you
&gt; didn&apos;t implement a mock device like geolocation/device orientation
Yes, we should have a mock to test this. My assumption when I reviewed this patch was that the mock would be implemented in a separate patch, as was the case for DeviceOrientation.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62435</attachid>
            <date>2010-07-23 09:51:45 -0700</date>
            <delta_ts>2010-07-26 19:14:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>accel.patch</filename>
            <type>text/plain</type>
            <size>73705</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZjg1YTMyLi5jZDQ5NTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDct
MjMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisK
KyAgICAgICAgQWRkIEFjY2VsZXJvbWV0ZXJFdmVudCBhbmQgb25hY2NlbGVyb21ldGVyIHRlc3Rp
bmcgdG8KKyAgICAgICAgdGhlIGRldmljZS1vcmllbnRhdGlvbiB0ZXN0LCBhbmQgbWFrZSBzdXJl
IHRoZSBhY2NlbGVyb21ldGVyCisgICAgICAgIGludGVyZmFjZSBpcyBub3QgdGVzdGVkIGluIHRo
ZSBnZW5lcmljIHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6CisK
IDIwMTAtMDctMTkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZp
Y2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDYyODAxZWIuLjFkOGIyMjIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZp
Y2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0CkBA
IC0xLDUgKzEsNyBAQAotVGhpcyB0ZXN0IGR1bXBzIGFsbCBvZiB0aGUgcHJvcGVydGllcyB0aGF0
IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQgYW5k
IHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMsIGFsb25nIHdpdGggdGhlaXIgdHlw
ZXMuCitUaGlzIHRlc3QgZHVtcHMgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIHJlYWNo
YWJsZSBmcm9tIHRoZSB3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudCwgd2luZG93Lm9uZGV2
aWNlb3JpZW50YXRpb24sIHdpbmRvdy5BY2NlbGVyb21ldGVyRXZlbnQgYW5kIHdpbmRvdy5vbmFj
Y2VsZXJvbWV0ZXIgb2JqZWN0cywgYWxvbmcgd2l0aCB0aGVpciB0eXBlcy4KIAogd2luZG93LkRl
dmljZU9yaWVudGF0aW9uRXZlbnQgW2Z1bmN0aW9uXQogd2luZG93Lm9uZGV2aWNlb3JpZW50YXRp
b24gW251bGxdCit3aW5kb3cuQWNjZWxlcmF0aW9uRXZlbnQgW2Z1bmN0aW9uXQord2luZG93Lm9u
YWNjZWxlcmF0aW9uIFtudWxsXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9u
Lmh0bWwKaW5kZXggOTdlMDBiYi4uOGYzYzU1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRhdGlvbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Ut
b3JpZW50YXRpb24uaHRtbApAQCAtMSw0ICsxLDQgQEAKLTxwPlRoaXMgdGVzdCBkdW1wcyBhbGwg
b2YgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhY2hhYmxlIGZyb20gdGhlIHdpbmRvdy5EZXZp
Y2VPcmllbnRhdGlvbkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2VvcmllbnRhdGlvbiBvYmplY3Rz
LCBhbG9uZyB3aXRoIHRoZWlyIHR5cGVzLjwvcD4KKzxwPlRoaXMgdGVzdCBkdW1wcyBhbGwgb2Yg
dGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhY2hhYmxlIGZyb20gdGhlIHdpbmRvdy5EZXZpY2VP
cmllbnRhdGlvbkV2ZW50LCB3aW5kb3cub25kZXZpY2VvcmllbnRhdGlvbiwgd2luZG93LkFjY2Vs
ZXJvbWV0ZXJFdmVudCBhbmQgd2luZG93Lm9uYWNjZWxlcm9tZXRlciBvYmplY3RzLCBhbG9uZyB3
aXRoIHRoZWlyIHR5cGVzLjwvcD4KIDxocj4KIDxwcmUgaWQ9InByZSI+PC9wcmU+CiAKQEAgLTkw
LDUgKzkwLDcgQEAgZnVuY3Rpb24gbG9nUHJvcGVydGllcyhvYmplY3QsIG9iamVjdE5hbWUpCiAK
IGxvZ1ZhbHVlKCd3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudCcpOwogbG9nVmFsdWUoJ3dp
bmRvdy5vbmRldmljZW9yaWVudGF0aW9uJyk7Citsb2dWYWx1ZSgnd2luZG93LkFjY2VsZXJvbWV0
ZXJFdmVudCcpOworbG9nVmFsdWUoJ3dpbmRvdy5vbmFjY2VsZXJvbWV0ZXInKTsKIGZsdXNoTG9n
KCk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRv
dy1wcm9wZXJ0aWVzLmh0bWwKaW5kZXggYzEzNWE5Yi4uMTk5MWU5MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKQEAgLTg1LDYg
Kzg1LDggQEAgdmFyIF9fc2tpcF9fID0gewogICAgICJ3aW5kb3cuRmlsZVJlYWRlciIgOiAxLAog
ICAgICJ3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudCIgOiAxLAogICAgICJ3aW5kb3cub25k
ZXZpY2VvcmllbnRhdGlvbiIgOiAxLAorICAgICJ3aW5kb3cuQWNjZWxlcm9tZXRlckV2ZW50IiA6
IDEsCisgICAgIndpbmRvdy5vbmFjY2VsZXJvbWV0ZXIiIDogMSwKICAgICAid2luZG93LndlYmtp
dFBlcmZvcm1hbmNlIiA6IDEsCiAKICAgICAvLyBzaG93TW9kYWxEaWFsb2cgaXMgbm90IGltcGxl
bWVudGVkIG9uIGFsbCBwbGF0Zm9ybXMgaW4gRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5k
ZXJpdmVkLmpzY2JpbmRpbmdzLm1rCmluZGV4IGY2YWFkMGQuLmE0Y2JjOGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5k
cm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCkBAIC05Myw2ICs5Myw3IEBAICQocGF0c3Vic3Qg
JS5oLCUuY3BwLCQoR0VOKSk6ICQoaW50ZXJtZWRpYXRlcykvY3NzLyUuY3BwIDogJChpbnRlcm1l
ZGlhdGVzKS9jc3MvCiAKICMgRE9NCiBHRU4gOj0gXAorICAgICQoaW50ZXJtZWRpYXRlcykvZG9t
L0pTQWNjZWxlcm9tZXRlckV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTQXR0
ci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU0JlZm9yZUxvYWRFdmVudC5oIFwKICAg
ICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU0NEQVRBU2VjdGlvbi5oIFwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuZGVy
aXZlZC52OGJpbmRpbmdzLm1rCmluZGV4IDFlN2ZhMzcuLjFhYTg4ZmYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lk
LmRlcml2ZWQudjhiaW5kaW5ncy5tawpAQCAtNzUsNiArNzUsNyBAQCAkKHBhdHN1YnN0ICUuaCwl
LmNwcCwkKEdFTikpOiAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1l
ZGlhdGVzKQogCiAjIERPTQogR0VOIDo9IFwKKyAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdz
L1Y4QWNjZWxlcm9tZXRlckV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3Mv
VjhBdHRyLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhCZWZvcmVMb2FkRXZl
bnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOENEQVRBU2VjdGlvbi5oIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5k
cm9pZC5qc2NiaW5kaW5ncy5tawppbmRleCAyZWU0Mjc2Li4yYzEwOWNlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmpzY2Jp
bmRpbmdzLm1rCkBAIC01OSw2ICs1OSw3IEBAIEJJTkRJTkdfQ19JTkNMVURFUyA6PSBcCiBMT0NB
TF9TUkNfRklMRVMgKz0gXAogCWJpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAgXAogCWJpbmRp
bmdzL2pzL0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwIFwKKwliaW5kaW5ncy9qcy9KU0FjY2VsZXJv
bWV0ZXJFdmVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTQXR0ckN1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5jcHAgXAogCWJpbmRpbmdzL2pzL0pTQ0RB
VEFTZWN0aW9uQ3VzdG9tLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQubWsgYi9X
ZWJDb3JlL0FuZHJvaWQubWsKaW5kZXggYmFkZDg0ZS4uMGQ3ZTdkNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9BbmRyb2lkLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtOTUsNiArOTUsOSBA
QCBMT0NBTF9TUkNfRklMRVMgOj0gJChMT0NBTF9TUkNfRklMRVMpIFwKIAljc3MvV2ViS2l0Q1NT
TWF0cml4LmNwcCBcCiAJY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBcCiAJXAorCWRv
bS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAgXAorCWRvbS9BY2NlbGVyb21ldGVyRGF0YS5j
cHAgXAorCWRvbS9BY2NlbGVyb21ldGVyRXZlbnQuY3BwIFwKIAlkb20vQWN0aXZlRE9NT2JqZWN0
LmNwcCBcCiAJZG9tL0F0dHIuY3BwIFwKIAlkb20vQXR0cmlidXRlLmNwcCBcCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRp
bmdzLm1rCmluZGV4IGIzNmJlYWIuLjNmMDk3MzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9p
ZC52OGJpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCkBAIC04
NSw2ICs4NSw3IEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJXAogCWJpbmRpbmdzL3Y4L25wcnVu
dGltZS5jcHAgXAogCVwKKwliaW5kaW5ncy92OC9jdXN0b20vVjhBY2NlbGVyb21ldGVyRXZlbnRD
dXN0b20uY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcCBcCiAJ
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAgXAogCWJp
bmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDJj
YzQyZmYuLjgwNzMyOGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTMwLDYgKzEzMCw3IEBAIFNFVChXZWJDb3JlX0lE
TF9GSUxFUwogICAgIGNzcy9XZWJLaXRDU1NNYXRyaXguaWRsCiAgICAgY3NzL1dlYktpdENTU1Ry
YW5zZm9ybVZhbHVlLmlkbAogCisgICAgZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5pZGwKICAgICBk
b20vQXR0ci5pZGwKICAgICBkb20vQmVmb3JlTG9hZEV2ZW50LmlkbAogICAgIGRvbS9DREFUQVNl
Y3Rpb24uaWRsCkBAIC01NjMsNiArNTY0LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGJp
bmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKICAgICBiaW5kaW5ncy9qcy9JREJCaW5kaW5nVXRp
bGl0aWVzLmNwcAogICAgIGJpbmRpbmdzL2pzL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCisgICAg
YmluZGluZ3MvanMvSlNBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
anMvSlNBdHRyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcApAQCAt
NzYxLDYgKzc2Myw5IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvV2ViS2l0Q1NTTWF0
cml4LmNwcAogICAgIGNzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKIAorICAgIGRvbS9B
Y2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAKKyAgICBkb20vQWNjZWxlcm9tZXRlckRhdGEuY3Bw
CisgICAgZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5jcHAKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0
LmNwcAogICAgIGRvbS9BdHRyLmNwcAogICAgIGRvbS9BdHRyaWJ1dGUuY3BwCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGViNGNiNDAuLmFl
MGUyYTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjcgQEAKKzIwMTAtMDctMjMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJ
bXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBBY2Nl
bGVyb21ldGVyRXZlbnQgaW50ZXJmYWNlIGFzIGRlZmluZWQKKyAgICAgICAgaW4gaHR0cDovL2Rl
di53My5vcmcvZ2VvL2FwaS9zcGVjLXNvdXJjZS1vcmllbnRhdGlvbi5odG1sCisgICAgICAgIFRo
aXMgaXMgY3VycmVudGx5IGFuIGVtcHR5IGltcGxlbWVudGF0aW9uLCBpbiB0aGF0IHRoZXJlIGlz
CisgICAgICAgIG5vIGFjY2VsZXJvbWV0ZXIgY2xpZW50IGNvbm5lY3RlZCAtIHRoZSBwbGF0Zm9y
bSBpbXBsZW1lbnRhdGlvbnMKKyAgICAgICAgd2lsbCBuZWVkIHRvIGRvIHRoYXQuCisKKyAgICAg
ICAgKiBBbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5k
ZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoK
KyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIEFuZHJvaWQudjhiaW5kaW5ncy5tazoK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgor
ICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAg
KiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgLSBBZGQgbmV3IGZpbGVzIGZvciBBY2Nl
bGVyb21ldGVyRXZlbnQgYnVpbGQgc3VwcG9ydAorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQWNj
ZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgICAgLSBDdXN0b20gSlMg
YmluZGluZyB0byB0cmFuc2xhdGUgcHJvcGVydHkgYWNjZXNzIHRocm91Z2gKKyAgICAgICAgICAg
IHRvIHRoZSBBY2NlbGVyb21ldGVyRGF0YSBvYmplY3QgdGhhdCB0aGUgRXZlbnQgaG9sZHMKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgICAtIEluY2x1
ZGUgdGhlIGN1c3RvbSBjb2RlIGZvciBBY2NlbGVyb21ldGVyRXZlbnQKKyAgICAgICAgKiBkb20v
QWNjZWxlcm9tZXRlckNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgICAtIFB1cmUgdmlydHVhbCBj
bGllbnQgZm9yIEFjY2VsZXJvbWV0ZXIgYWNjZXNzCisgICAgICAgICogZG9tL0FjY2VsZXJvbWV0
ZXJDb250cm9sbGVyLmNwcDogQWRkZWQuCisgICAgICAgICogZG9tL0FjY2VsZXJvbWV0ZXJDb250
cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAgIC0gQ29udHJvbGxlciBjbGFzcyBmb3IgbWFuYWdp
bmcgZXZlbnQgZGlzcGF0Y2gKKyAgICAgICAgKiBkb20vQWNjZWxlcm9tZXRlckRhdGEuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKiBkb20vQWNjZWxlcm9tZXRlckRhdGEuaDogQWRkZWQuCisgICAgICAg
ICAgLSBSZXByZXNlbnRhdGlvbiBvZiB0aGUgZGF0YSB0aGF0IGNvbWVzIGZyb20gYW4gYWNjZWxl
cm9tZXRlcgorICAgICAgICAgICAgY2xpZW50IHRoYXQgdGhlIGV2ZW50IHdpbGwgdXNlCisgICAg
ICAgICogZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAqIGRvbS9B
Y2NlbGVyb21ldGVyRXZlbnQuaDogQWRkZWQuCisgICAgICAgICogZG9tL0FjY2VsZXJvbWV0ZXJF
dmVudC5pZGw6IEFkZGVkLgorICAgICAgICAgIC0gVGhlIGFjdHVhbCBldmVudCBpbXBsZW1lbnRh
dGlvbgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAgIC0gVXBkYXRlIGNyZWF0ZUV2ZW50IHRvIGFs
bG93ICJhY2NlbGVyb21ldGVyIiBldmVudHMKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAg
ICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAgIC0gaXNBY2NlbGVyb21ldGVyRXZlbnQgdmly
dHVhbCBtZXRob2QKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAgIC0gYWRk
IG5ldyAiYWNjZWxlcm9tZXRlciIgZXZlbnQgdHlwZQorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmNwcDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvRE9NV2lu
ZG93LmlkbDoKKyAgICAgICAgICAtIGFsbG93IGNyZWF0aW9uIG9mICJhY2NlbGVyb21ldGVyIiBl
dmVudHMgYW5kIHBhc3MKKyAgICAgICAgICAgIGl0IHRocm91Z2ggdG8gdGhlIFBhZ2UncyBhY2Nl
bGVyb21ldGVyQ29udHJvbGxlciBvYmplY3QKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAg
ICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAgIC0gYWRkIGEgcmVmZXJlbmNlIHRvIGFuIEFj
Y2VsZXJvbWV0ZXJDb250cm9sbGVyCisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cDoKKyAgICAgICAgICAtIFBhZ2UgY29uc3RydWN0b3Igbm93IGhhcyBhbiBleHRyYSBwYXJhbWV0
ZXIKKwogMjAxMC0wNy0xOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3YzUz
ZTg2Li41MzE1ODQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysr
IGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC01MCw2ICs1MCw3IEBAIFZQQVRIID0g
XAogRE9NX0NMQVNTRVMgPSBcCiAgICAgQWJzdHJhY3RWaWV3IFwKICAgICBBYnN0cmFjdFdvcmtl
ciBcCisJQWNjZWxlcm9tZXRlckV2ZW50IFwKICAgICBBdHRyIFwKICAgICBCYXJJbmZvIFwKICAg
ICBCZWZvcmVMb2FkRXZlbnQgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBi
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggZGZkNzhlYi4uZjJhZjJlMiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBA
IC0xMDAsNiArMTAwLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWJz
dHJhY3RXb3JrZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWJzdHJhY3RXb3Jr
ZXIuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FjY2VsZXJvbWV0ZXJFdmVudC5jcHAg
XAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBY2NlbGVyb21ldGVyRXZlbnQuaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FycmF5QnVmZmVyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FycmF5QnVmZmVyLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwIFwKQEAgLTYyNyw2ICs2MjksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVdlYkNvcmUvYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxkLmggXAogCVdlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRy
b2xsZXIuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3Rv
bS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNBdHRyQ3VzdG9tLmNwcCBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGlu
Z3MvanMvSlNEYXRhR3JpZENvbHVtbkxpc3RDdXN0b20uY3BwIFwKQEAgLTk2Myw2ICs5NjYsMTMg
QEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRyaXguaCBc
CiAJV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIFwKIAlXZWJDb3JlL2Nz
cy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIFwKKwlXZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVy
Q2xpZW50LmggXAorCVdlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmNwcCBcCisJ
V2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCBcCisJV2ViQ29yZS9kb20vQWNj
ZWxlcm9tZXRlckRhdGEuY3BwIFwKKwlXZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRGF0YS5oIFwK
KwlXZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuY3BwIFwKKwlXZWJDb3JlL2RvbS9BY2Nl
bGVyb21ldGVyRXZlbnQuaCBcCiAJV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmNwcCBcCiAJ
V2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmggXAogCVdlYkNvcmUvZG9tL0F0dHIuY3BwIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCmluZGV4IDQ1YWQ4M2MuLmFmN2E4MjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KKysrIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNTE5LDcgKzUxOSw3IEBAIF9f
Wk43V2ViQ29yZTRQYWdlNmdvQmFja0V2CiBfX1pON1dlYkNvcmU0UGFnZThnb1RvSXRlbUVQTlNf
MTFIaXN0b3J5SXRlbUVOU18xM0ZyYW1lTG9hZFR5cGVFCiBfX1pON1dlYkNvcmU0UGFnZTlnb0Zv
cndhcmRFdgogX19aTjdXZWJDb3JlNFBhZ2U5aW5pdEdyb3VwRXYKLV9fWk43V2ViQ29yZTRQYWdl
QzFFUE5TXzEyQ2hyb21lQ2xpZW50RVBOU18xN0NvbnRleHRNZW51Q2xpZW50RVBOU18xMkVkaXRv
ckNsaWVudEVQTlNfMTBEcmFnQ2xpZW50RVBOU18xNUluc3BlY3RvckNsaWVudEVQTlNfMThQbHVn
aW5IYWx0ZXJDbGllbnRFUE5TXzI3R2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50RVBOU18yM0Rl
dmljZU9yaWVudGF0aW9uQ2xpZW50RVBOU18yN0JhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudEUK
K19fWk43V2ViQ29yZTRQYWdlQzFFUE5TXzEyQ2hyb21lQ2xpZW50RVBOU18xN0NvbnRleHRNZW51
Q2xpZW50RVBOU18xMkVkaXRvckNsaWVudEVQTlNfMTBEcmFnQ2xpZW50RVBOU18xNUluc3BlY3Rv
ckNsaWVudEVQTlNfMThQbHVnaW5IYWx0ZXJDbGllbnRFUE5TXzI3R2VvbG9jYXRpb25Db250cm9s
bGVyQ2xpZW50RVBOU18yM0RldmljZU9yaWVudGF0aW9uQ2xpZW50RVBOU18xOUFjY2VsZXJvbWV0
ZXJDbGllbnRFUE5TXzI3QmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50RQogX19aTjdXZWJDb3Jl
NFBhZ2VEMUV2CiBfX1pON1dlYkNvcmU0Y29yZUVQMjBOU1VSTFByb3RlY3Rpb25TcGFjZQogX19a
TjdXZWJDb3JlNHRvSlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQ
TlNfMTlDU1NTdHlsZURlY2xhcmF0aW9uRQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA1YmQ2MTViLi40ZWY0MGNlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAt
MjgsNiArMjgsNyBAQAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmlk
bCcsCiAgICAgICAgICAgICAnY3NzL1dlYktpdENTU01hdHJpeC5pZGwnLAogICAgICAgICAgICAg
J2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGwnLAorICAgICAgICAgICAgJ2RvbS9BY2Nl
bGVyb21ldGVyRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vQXR0ci5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9CZWZvcmVMb2FkRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vQmVmb3Jl
UHJvY2Vzc0V2ZW50LmlkbCcsCkBAIC01MTEsNiArNTEyLDcgQEAKICAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9HQ0NvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNDYWxs
YmFja0RhdGEuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5o
JywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5j
cHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQXR0ckN1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5oJywKQEAgLTcwMyw2ICs3MDUsNyBAQAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmgnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZhc1BpeGVsQXJyYXlDdXN0b20uY3BwJywKKyAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0
b20uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZm
ZXJDdXN0b20uY3BwJywKQEAgLTEwNjYsNiArMTA2OSwxMyBAQAogICAgICAgICAgICAgJ2Nzcy9X
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oJywKICAgICAgICAgICAgICdkb20vZGVmYXVsdC9QbGF0
Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9kZWZhdWx0L1Bs
YXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmgnLAorICAgICAgICAgICAgJ2RvbS9BY2NlbGVyb21l
dGVyQ2xpZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5j
cHAnLAorICAgICAgICAgICAgJ2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5oJywKKyAgICAg
ICAgICAgICdkb20vQWNjZWxlcm9tZXRlckRhdGEuY3BwJywKKyAgICAgICAgICAgICdkb20vQWNj
ZWxlcm9tZXRlckRhdGEuaCcsCisgICAgICAgICAgICAnZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5j
cHAnLAorICAgICAgICAgICAgJ2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuaCcsCiAgICAgICAgICAg
ICAnZG9tL0FjdGl2ZURPTU9iamVjdC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9BY3RpdmVET01P
YmplY3QuaCcsCiAgICAgICAgICAgICAnZG9tL0F0dHIuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IGMxNzc2MDMuLjE1NzEx
MDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3Jl
LnBybwpAQCAtMjcxLDYgKzI3MSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGJpbmRpbmdzL2pzL0RP
TU9iamVjdEhhc2hUYWJsZU1hcC5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3Js
ZC5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmNwcCBcCisgICAgYmluZGlu
Z3MvanMvSlNBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9K
U0F0dHJDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5j
cHAgXAogICAgIGJpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAg
XApAQCAtNDQ2LDYgKzQ0Nyw5IEBAIFNPVVJDRVMgKz0gXAogICAgIGNzcy9XZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmNwcCBcCiAgICAgY3NzL1dlYktpdENTU01hdHJpeC5jcHAgXAogICAgIGNzcy9X
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgXAorICAgIGRvbS9BY2NlbGVyb21ldGVyQ29udHJv
bGxlci5jcHAgXAorICAgIGRvbS9BY2NlbGVyb21ldGVyRGF0YS5jcHAgXAorICAgIGRvbS9BY2Nl
bGVyb21ldGVyRXZlbnQuY3BwIFwKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmNwcCBcCiAgICAg
ZG9tL0F0dHIuY3BwIFwKICAgICBkb20vQXR0cmlidXRlLmNwcCBcCkBAIC0xMjA3LDYgKzEyMTEs
MTAgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaCBcCiAg
ICAgY3NzL1dlYktpdENTU01hdHJpeC5oIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFs
dWUuaCBcCisgICAgZG9tL0FjY2VsZXJvbWV0ZXJDbGllbnQuaCBcCisgICAgZG9tL0FjY2VsZXJv
bWV0ZXJEYXRhLmggXAorICAgIGRvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5oIFwKKyAgICBk
b20vQWNjZWxlcm9tZXRlckV2ZW50LmggXAogICAgIGRvbS9BY3RpdmVET01PYmplY3QuaCBcCiAg
ICAgZG9tL0F0dHIuaCBcCiAgICAgZG9tL0F0dHJpYnV0ZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCmluZGV4IDBlNDc3Y2EuLjI2ZGFkMDMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNjAxLDYgKzYwMSw2MiBAQAogCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXFdl
YkNvcmVcRGVyaXZlZFNvdXJjZXNcSlNBY2NlbGVyb21ldGVyRXZlbnQuY3BwIgorCQkJCT4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xKU0FjY2VsZXJvbWV0ZXJFdmVudC5oIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQXR0ci5jcHAiCiAJCQkJPgog
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMzIyMjUsNiArMzIyODEsMzQgQEAKIAkJCU5hbWU9
ImRvbSIKIAkJCT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cQWNjZWxlcm9t
ZXRlckNsaWVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxkb21cQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwIgorCQkJCT4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cQWNjZWxlcm9tZXRlckNvbnRy
b2xsZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cZG9tXEFjY2VsZXJvbWV0ZXJEYXRhLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEFjY2VsZXJvbWV0ZXJEYXRhLmgiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxBY2NlbGVyb21l
dGVyRXZlbnQuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxkb21cQWNjZWxlcm9tZXRlckV2ZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxBY3RpdmVET01PYmplY3QuY3BwIgogCQkJ
CT4KIAkJCTwvRmlsZT4KQEAgLTQwODAwLDYgKzQwODg0LDU4IEBACiAJCQkJCT4KIAkJCQk8L0Zp
bGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0FjY2Vs
ZXJvbXRlckV2ZW50Q3VzdG9tLmNwcCIKKwkJCQkJPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiCisJCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xX
aW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRv
b2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1
Z19BbGx8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNBdHRyQ3VzdG9tLmNwcCIKIAkJCQkJPgogCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggMjg1ZTUwNC4uZjAxODc5YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTcwMCw2ICs3MDAsMTYgQEAKIAkJMkVDRjdBRTIxMDE2MkI1ODAw
NDI3REU3IC8qIEVycm9yRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJFQ0Y3QURGMTAxNjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50LmggKi87
IH07CiAJCTJFRDYwOUJDMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUQ2MDlCQTExNDVCMDcx
MDBDODY4NEUgLyogRE9NRm9ybURhdGEuY3BwICovOyB9OwogCQkyRUQ2MDlCRDExNDVCMDcxMDBD
ODY4NEUgLyogRE9NRm9ybURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJFRDYwOUJCMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5oICov
OyB9OworCQkzMTA5RUU4ODExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckV2ZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlFRTg1
MTFGODZCRjEwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRXZlbnQuY3BwICovOyB9OworCQkzMTA5
RUU4OTExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckV2ZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5RUU4NjExRjg2QkYxMDA2RkVD
REYgLyogQWNjZWxlcm9tZXRlckV2ZW50LmggKi87IH07CisJCTMxMDlFRkQwMTFGOUQ1MTQwMDZG
RUNERiAvKiBBY2NlbGVyb21ldGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5RUZDRTExRjlENTE0MDA2RkVDREYgLyogQWNjZWxlcm9t
ZXRlckRhdGEuY3BwICovOyB9OworCQkzMTA5RUZEMTExRjlENTE0MDA2RkVDREYgLyogQWNjZWxl
cm9tZXRlckRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxMDlFRkNGMTFGOUQ1MTQwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRGF0YS5oICovOyB9
OworCQkzMTA5RjAxQzExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEwOUYwMUEx
MUY5RENFMzAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50LmNwcCAqLzsgfTsKKwkJMzEw
OUYwMUQxMUY5RENFMzAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5RjAxQjExRjlEQ0UzMDA2
RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnQuaCAqLzsgfTsKKwkJMzEwOUYwMjMxMUY5REQ0
MDAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlGMDIyMTFGOURENDAwMDZGRUNE
RiAvKiBKU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAgKi87IH07CisJCTMxMDlGMDMzMTFG
OUUxOTcwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5RjAzMDExRjlFMTk3MDA2RkVDREYgLyog
QWNjZWxlcm9tZXRlckNsaWVudC5oICovOyB9OworCQkzMTA5RjAzNDExRjlFMTk3MDA2RkVDREYg
LyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzEwOUYwMzExMUY5RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJv
bWV0ZXJDb250cm9sbGVyLmNwcCAqLzsgfTsKKwkJMzEwOUYwMzUxMUY5RTE5NzAwNkZFQ0RGIC8q
IEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMTA5RjAzMjExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRl
ckNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJMzEyODhFNzIwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktp
dENTU0tleWZyYW1lUnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTI4OEU2RTBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlLmNwcCAqLzsgfTsKIAkJMzEyODhFNzMwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tl
eWZyYW1lUnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzEyODhFNkYwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tleWZyYW1lUnVsZS5oICov
OyB9OwogCQkzMTI4OEU3NDBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTI4
OEU3MDBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAgKi87IH07
CkBAIC02Mzc5LDYgKzYzODksMTcgQEAKIAkJMkVDRjdBRTAxMDE2MkI1ODAwNDI3REU3IC8qIEVy
cm9yRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEVycm9yRXZlbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUQ2MDlCQTExNDVCMDcxMDBDODY4NEUgLyogRE9N
Rm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NRm9y
bURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUQ2MDlCQjExNDVCMDcx
MDBDODY4NEUgLyogRE9NRm9ybURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NRm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwOUVFODUx
MUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2NlbGVyb21ldGVyRXZlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkzMTA5RUU4NjExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9t
ZXRlckV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2VsZXJvbWV0
ZXJFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTA5RUU4NzExRjg2QkYx
MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBBY2NlbGVyb21ldGVyRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkz
MTA5RUZDRTExRjlENTE0MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckRhdGEuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZWxlcm9tZXRlckRhdGEuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTA5RUZDRjExRjlENTE0MDA2RkVDREYgLyogQWNj
ZWxlcm9tZXRlckRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZWxl
cm9tZXRlckRhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwOUYwMUExMUY5
RENFMzAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQWNjZWxlcm9tZXRlckV2ZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwOUYwMUIxMUY5RENFMzAwNkZFQ0RGIC8qIEpTQWNjZWxl
cm9tZXRlckV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQWNjZWxl
cm9tZXRlckV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMDlGMDIyMTFG
OURENDAwMDZGRUNERiAvKiBKU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMDlGMDMwMTFGOUUxOTcwMDZGRUNE
RiAvKiBBY2NlbGVyb21ldGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFjY2VsZXJvbWV0ZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MzEwOUYwMzExMUY5RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2VsZXJvbWV0ZXJDb250cm9s
bGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwOUYwMzIxMUY5RTE5NzAw
NkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMxMjg4RTZFMEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJLaXRDU1NLZXlmcmFt
ZVJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0Q1NT
S2V5ZnJhbWVSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEyODhFNkYw
RTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tleWZyYW1lUnVsZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzEyODhFNzAwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tl
eWZyYW1lc1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NDYxMyw4ICsxNDYzNCw2IEBACiAJCQkJOTNGOUI2REYwQkEwRkI3MjAwODU0MDY0IC8qIEpTQ29t
bWVudC5oICovLAogCQkJCUZFNkZENDhCMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVz
LmNwcCAqLywKIAkJCQlGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5o
ICovLAotCQkJCTU5QTg2MDA1MTE5REFGN0YwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9u
RXZlbnQuY3BwICovLAotCQkJCTU5QTg2MDA3MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9y
aWVudGF0aW9uRXZlbnQuaCAqLywKIAkJCQk2NTlEREM4MDA5RTE5OEJBMDAxQkYzQzYgLyogSlNE
b2N1bWVudC5jcHAgKi8sCiAJCQkJNjU5RERDODEwOUUxOThCQTAwMUJGM0M2IC8qIEpTRG9jdW1l
bnQuaCAqLywKIAkJCQkxQTQ5NEVEQzBBMTIzRjRDMDBGREFGQzEgLyogSlNEb2N1bWVudEZyYWdt
ZW50LmNwcCAqLywKQEAgLTE0NjYyLDYgKzE0NjgxLDggQEAKIAkJQTgzQjc5MTIwQ0NCMDAzRjAw
MEIwODI1IC8qIEV2ZW50cyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCisJCQkJMzEwOUYwMUExMUY5RENFMzAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50
LmNwcCAqLywKKwkJCQkzMTA5RjAxQjExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVy
RXZlbnQuaCAqLywKIAkJCQlCQzk0NjM0NTEwN0E5MzRCMDA4NTcxOTMgLyogSlNCZWZvcmVMb2Fk
RXZlbnQuY3BwICovLAogCQkJCUJDOTQ2MzQ3MTA3QTkzNjYwMDg1NzE5MyAvKiBKU0JlZm9yZUxv
YWRFdmVudC5oICovLAogCQkJCTUxNzIxRkQwMTFEMjdFRjIwMDYzOEI0MiAvKiBKU0JlZm9yZVBy
b2Nlc3NFdmVudC5jcHAgKi8sCkBAIC0xNDY3MCw2ICsxNDY5MSw4IEBACiAJCQkJNzlBQzkyMTcx
MDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oICovLAogCQkJCUU0Nzc4QjdE
MTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmNwcCAqLywKIAkJCQlFNDc3OEI3RTEx
NUE1ODFBMDBCNUQzNzIgLyogSlNDdXN0b21FdmVudC5oICovLAorCQkJCTU5QTg2MDA1MTE5REFG
N0YwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwICovLAorCQkJCTU5QTg2
MDA3MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCAqLywKIAkJ
CQkyRUNGN0FEQTEwMTYyQjM4MDA0MjdERTcgLyogSlNFcnJvckV2ZW50LmNwcCAqLywKIAkJCQky
RUNGN0FEQjEwMTYyQjM4MDA0MjdERTcgLyogSlNFcnJvckV2ZW50LmggKi8sCiAJCQkJMTRFODM3
ODMwOUY4NUQxQzAwQjg1QUU0IC8qIEpTRXZlbnQuY3BwICovLApAQCAtMTU3NDEsNiArMTU3NjQs
NyBAQAogCQlCQzRFREVGNzBDMDhGNDE0MDA3RURENDkgLyogQ3VzdG9tICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkzMTA5RjAyMjExRjlERDQwMDA2RkVD
REYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwICovLAogCQkJCUJDMjc1Q0IyMTFD
NUU4NUMwMEM5MjA2QyAvKiBKU0FycmF5QnVmZmVyQ3VzdG9tLmNwcCAqLywKIAkJCQk0OTIyNzNB
MjEwODNCM0IxMDBFRTVDODQgLyogSlNBcnJheUJ1ZmZlclZpZXdDdXN0b20uY3BwICovLAogCQkJ
CTg2MjQzRDAwMTFCQzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oICov
LApAQCAtMTY4MzksNiArMTY4NjMsMTQgQEAKIAkJRjUyM0QzMjQwMkRFNDQ3ODAxODYzNUNBIC8q
IGRvbSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMzEw
OUYwMzAxMUY5RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDbGllbnQuaCAqLywKKwkJCQkz
MTA5RjAzMTExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwICov
LAorCQkJCTMxMDlGMDMyMTFGOUUxOTcwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ29udHJvbGxl
ci5oICovLAorCQkJCTMxMDlFRkNFMTFGOUQ1MTQwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRGF0
YS5jcHAgKi8sCisJCQkJMzEwOUVGQ0YxMUY5RDUxNDAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJE
YXRhLmggKi8sCisJCQkJMzEwOUVFODUxMUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJF
dmVudC5jcHAgKi8sCisJCQkJMzEwOUVFODYxMUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0
ZXJFdmVudC5oICovLAorCQkJCTMxMDlFRTg3MTFGODZCRjEwMDZGRUNERiAvKiBBY2NlbGVyb21l
dGVyRXZlbnQuaWRsICovLAogCQkJCUUxQzRERTZEMEVBNzVDNjUwMDIzQ0NENiAvKiBBY3RpdmVE
T01PYmplY3QuY3BwICovLAogCQkJCUUxQzRERTY4MEVBNzVDMUUwMDIzQ0NENiAvKiBBY3RpdmVE
T01PYmplY3QuaCAqLywKIAkJCQlBOEM0QTdGQzA5RDU2MzI3MDAwM0FDOEQgLyogQXR0ci5jcHAg
Ki8sCkBAIC0xOTgwMCw2ICsxOTgzMiwxMSBAQAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1
OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3REQ0RDg3MEZERjRE
NkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTE3MkUwMTEx
MzZFOENFMDA2MkE1MzMgLyogWm9vbU1vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxMDlFRTg5
MTFGODZCRjEwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRXZlbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCTMxMDlFRkQxMTFGOUQ1MTQwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRGF0YS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMzEwOUYwMUQxMUY5RENFMzAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRl
ckV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTA5RjAzMzExRjlFMTk3MDA2RkVDREYgLyog
QWNjZWxlcm9tZXRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzEwOUYwMzUxMUY5RTE5
NzAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTIyMTg5LDYgKzIyMjI3LDExIEBACiAJCQkJOTNGMTlCMDUwODI0NUU1OTAwMUU5QUJDIC8qIFhT
TFRQcm9jZXNzb3JMaWJ4c2x0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxQkU1MTJEMENGNkM1
MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdE
RDREODYwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMzEwOUVFODgxMUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJFdmVudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkzMTA5RUZEMDExRjlENTE0MDA2RkVDREYgLyogQWNjZWxlcm9tZXRl
ckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzEwOUYwMUMxMUY5RENFMzAwNkZFQ0RGIC8q
IEpTQWNjZWxlcm9tZXRlckV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxMDlGMDIzMTFG
OURENDAwMDZGRUNERiAvKiBKU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkzMTA5RjAzNDExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNvbnRy
b2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNB
Y2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmZlOGUwMDcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
QWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcApAQCAtMCwwICsxLDkzIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNBY2NlbGVyb21ldGVyRXZlbnQuaCIKKwor
I2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisKKyNpbmNsdWRlICJBY2NlbGVyb21ldGVy
RGF0YS5oIgorI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXJFdmVudC5oIgorCit1c2luZyBuYW1lc3Bh
Y2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNBY2NlbGVyb21ldGVy
RXZlbnQ6OngoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIEFjY2VsZXJvbWV0ZXJFdmVu
dCogaW1wID0gc3RhdGljX2Nhc3Q8QWNjZWxlcm9tZXRlckV2ZW50Kj4oaW1wbCgpKTsKKyAgICBp
ZiAoIWltcC0+YWNjZWxlcm9tZXRlckRhdGEoKS0+Y2FuUHJvdmlkZVgoKSkKKyAgICAgICAgcmV0
dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAtPmFjY2VsZXJvbWV0
ZXJEYXRhKCktPngoKSk7Cit9CisKK0pTVmFsdWUgSlNBY2NlbGVyb21ldGVyRXZlbnQ6OnkoRXhl
Y1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIEFjY2VsZXJvbWV0ZXJFdmVudCogaW1wID0gc3Rh
dGljX2Nhc3Q8QWNjZWxlcm9tZXRlckV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWltcC0+YWNj
ZWxlcm9tZXRlckRhdGEoKS0+Y2FuUHJvdmlkZVkoKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgp
OworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAtPmFjY2VsZXJvbWV0ZXJEYXRhKCktPnko
KSk7Cit9CisKK0pTVmFsdWUgSlNBY2NlbGVyb21ldGVyRXZlbnQ6OnooRXhlY1N0YXRlKiBleGVj
KSBjb25zdAoreworICAgIEFjY2VsZXJvbWV0ZXJFdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8QWNj
ZWxlcm9tZXRlckV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWltcC0+YWNjZWxlcm9tZXRlckRh
dGEoKS0+Y2FuUHJvdmlkZVooKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVy
biBqc051bWJlcihleGVjLCBpbXAtPmFjY2VsZXJvbWV0ZXJEYXRhKCktPnooKSk7Cit9CisKK0pT
VmFsdWUgSlNBY2NlbGVyb21ldGVyRXZlbnQ6OmludGVydmFsKEV4ZWNTdGF0ZSogZXhlYykgY29u
c3QKK3sKKyAgICBBY2NlbGVyb21ldGVyRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PEFjY2VsZXJv
bWV0ZXJFdmVudCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAtPmFjY2VsZXJvbWV0ZXJEYXRhKCkt
PmNhblByb3ZpZGVJbnRlcnZhbCgpKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0
dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+YWNjZWxlcm9tZXRlckRhdGEoKS0+aW50ZXJ2YWwoKSk7
Cit9CisgICAgCitKU1ZhbHVlIEpTQWNjZWxlcm9tZXRlckV2ZW50Ojppbml0QWNjZWxlcm9tZXRl
ckV2ZW50KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBjb25zdCBTdHJpbmcmIHR5cGUgPSB1c3Ry
aW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYykpOworICAgIGJvb2wg
YnViYmxlcyA9IGV4ZWMtPmFyZ3VtZW50KDEpLnRvQm9vbGVhbihleGVjKTsKKyAgICBib29sIGNh
bmNlbGFibGUgPSBleGVjLT5hcmd1bWVudCgyKS50b0Jvb2xlYW4oZXhlYyk7CisgICAgLy8gSWYg
eCwgeSBvciB6IGFyZSBudWxsIG9yIHVuZGVmaW5lZCwgbWFyayB0aGVtIGFzIG5vdCBwcm92aWRl
ZC4KKyAgICAvLyBPdGhlcndpc2UsIHVzZSB0aGUgc3RhbmRhcmQgSmF2YVNjcmlwdCBjb252ZXJz
aW9uLgorICAgIGJvb2wgeFByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDMpLmlzVW5kZWZpbmVk
T3JOdWxsKCk7CisgICAgZG91YmxlIHggPSBleGVjLT5hcmd1bWVudCgzKS50b051bWJlcihleGVj
KTsKKyAgICBib29sIHlQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg0KS5pc1VuZGVmaW5lZE9y
TnVsbCgpOworICAgIGRvdWJsZSB5ID0gZXhlYy0+YXJndW1lbnQoNCkudG9OdW1iZXIoZXhlYyk7
CisgICAgYm9vbCB6UHJvdmlkZWQgPSAhZXhlYy0+YXJndW1lbnQoNSkuaXNVbmRlZmluZWRPck51
bGwoKTsKKyAgICBkb3VibGUgeiA9IGV4ZWMtPmFyZ3VtZW50KDUpLnRvTnVtYmVyKGV4ZWMpOwor
ICAgIGJvb2wgaW50ZXJ2YWxQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg2KS5pc1VuZGVmaW5l
ZE9yTnVsbCgpOworICAgIGRvdWJsZSBpbnRlcnZhbCA9IGV4ZWMtPmFyZ3VtZW50KDYpLnRvTnVt
YmVyKGV4ZWMpOworICAgIFJlZlB0cjxBY2NlbGVyb21ldGVyRGF0YT4gYWNjZWxlcm9tZXRlckRh
dGEgPSBBY2NlbGVyb21ldGVyRGF0YTo6Y3JlYXRlKHhQcm92aWRlZCwgeCwgeVByb3ZpZGVkLCB5
LCB6UHJvdmlkZWQsIHosIGludGVydmFsUHJvdmlkZWQsIGludGVydmFsKTsKKyAgICBBY2NlbGVy
b21ldGVyRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PEFjY2VsZXJvbWV0ZXJFdmVudCo+KGltcGwo
KSk7CisgICAgaW1wLT5pbml0QWNjZWxlcm9tZXRlckV2ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNl
bGFibGUsIGFjY2VsZXJvbWV0ZXJEYXRhLmdldCgpKTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQo
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKERFVklD
RV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1
c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCmluZGV4IGI2
MTkwZmYuLjk5OTA0Y2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1
c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApAQCAt
MjksMTEgKzI5LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNFdmVudC5o
IgogCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckV2ZW50LmgiCiAjaW5jbHVkZSAiQ2xpcGJvYXJk
LmgiCiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkN1c3RvbUV2ZW50
LmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50
LmgiCisjaW5jbHVkZSAiSlNBY2NlbGVyb21ldGVyRXZlbnQuaCIKICNpbmNsdWRlICJKU0JlZm9y
ZUxvYWRFdmVudC5oIgogI2luY2x1ZGUgIkpTQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiSlNDdXN0
b21FdmVudC5oIgpAQCAtMTc1LDYgKzE3Nyw4IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4
ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50KiBldmVudCkKICNpZiBF
TkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIGVsc2UgaWYgKGV2ZW50LT5pc0RldmljZU9y
aWVudGF0aW9uRXZlbnQoKSkKICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dS
QVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LCBldmVudCk7
CisgICAgZWxzZSBpZiAoZXZlbnQtPmlzQWNjZWxlcm9tZXRlckV2ZW50KCkpCisgICAgICAgIHdy
YXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgQWNj
ZWxlcm9tZXRlckV2ZW50LCBldmVudCk7CiAjZW5kaWYKICAgICBlbHNlCiAgICAgICAgIHdyYXBw
ZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgRXZlbnQs
IGV2ZW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJDbGllbnQuaCBi
L1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4xOTg1OGI3Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQWNj
ZWxlcm9tZXRlckNsaWVudC5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBBY2NlbGVy
b21ldGVyQ2xpZW50X2gKKyNkZWZpbmUgQWNjZWxlcm9tZXRlckNsaWVudF9oCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgQWNjZWxlcm9tZXRlckRhdGE7CisKK2NsYXNzIEFjY2VsZXJv
bWV0ZXJDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKSA9IDA7CisgICAgdmlydHVhbCBB
Y2NlbGVyb21ldGVyRGF0YSogbGFzdEFjY2VsZXJhdGlvbigpIGNvbnN0ID0gMDsKKworcHJvdGVj
dGVkOgorICAgIHZpcnR1YWwgfkFjY2VsZXJvbWV0ZXJDbGllbnQoKSB7fQorfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQWNjZWxlcm9tZXRlckNsaWVudF9oCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAgYi9XZWJDb3Jl
L2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uOTU2YWRiZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0FjY2Vs
ZXJvbWV0ZXJDb250cm9sbGVyLmNwcApAQCAtMCwwICsxLDEwNyBAQAorLyoKKyAqIENvcHlyaWdo
dCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCIKKworI2lmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisKKyNpbmNsdWRlICJBY2NlbGVyb21ldGVyRGF0YS5o
IgorI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXJDbGllbnQuaCIKKyNpbmNsdWRlICJBY2NlbGVyb21l
dGVyRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBY2NlbGVyb21ldGVyQ29udHJv
bGxlcjo6QWNjZWxlcm9tZXRlckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgQWNjZWxlcm9tZXRlckNs
aWVudCogY2xpZW50KQorICAgIDogbV9wYWdlKHBhZ2UpCisgICAgLCBtX2NsaWVudChjbGllbnQp
CisgICAgLCBtX3RpbWVyKHRoaXMsICZBY2NlbGVyb21ldGVyQ29udHJvbGxlcjo6dGltZXJGaXJl
ZCkKK3sKK30KKwordm9pZCBBY2NlbGVyb21ldGVyQ29udHJvbGxlcjo6dGltZXJGaXJlZChUaW1l
cjxBY2NlbGVyb21ldGVyQ29udHJvbGxlcj4qIHRpbWVyKQoreworICAgIEFTU0VSVF9VTlVTRUQo
dGltZXIsIHRpbWVyID09ICZtX3RpbWVyKTsKKyAgICBBU1NFUlQoIW1fY2xpZW50IHx8IG1fY2xp
ZW50LT5sYXN0QWNjZWxlcmF0aW9uKCkpOworICAgIG1fdGltZXIuc3RvcCgpOworICAgIAorICAg
IFJlZlB0cjxBY2NlbGVyb21ldGVyRGF0YT4gYWNjZWxlcm9tZXRlckRhdGEgPSBtX2NsaWVudCA/
IG1fY2xpZW50LT5sYXN0QWNjZWxlcmF0aW9uKCkgOiBBY2NlbGVyb21ldGVyRGF0YTo6Y3JlYXRl
KCk7CisgICAgUmVmUHRyPEFjY2VsZXJvbWV0ZXJFdmVudD4gZXZlbnQgPSBBY2NlbGVyb21ldGVy
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYWNjZWxlcm9tZXRlckV2ZW50LCBhY2NlbGVyb21l
dGVyRGF0YS5nZXQoKSk7CisgCisgICAgVmVjdG9yPERPTVdpbmRvdyo+IGxpc3RlbmVyc1ZlY3Rv
cjsKKyAgICBjb3B5VG9WZWN0b3IobV9uZXdMaXN0ZW5lcnMsIGxpc3RlbmVyc1ZlY3Rvcik7Cisg
ICAgbV9uZXdMaXN0ZW5lcnMuY2xlYXIoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxp
c3RlbmVyc1ZlY3Rvci5zaXplKCk7ICsraSkKKyAgICAgICAgbGlzdGVuZXJzVmVjdG9yW2ldLT5k
aXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKyAgICAKK3ZvaWQgQWNjZWxlcm9tZXRlckNvbnRyb2xs
ZXI6OmFkZExpc3RlbmVyKERPTVdpbmRvdyogd2luZG93KQoreworICAgIC8vIElmIG5vIGNsaWVu
dCBpcyBwcmVzZW50IG9yIHRoZSBjbGllbnQgYWxyZWFkeSBoYXMgYW4gYWNjZWxlcmF0aW9uLAor
ICAgIC8vIGltbWVkaWF0ZWx5IHRyaWdnZXIgYW4gYXN5bmNocm9ub3VzIHJlc3BvbnNlLgorICAg
IGlmICghbV9jbGllbnQgfHwgbV9jbGllbnQtPmxhc3RBY2NlbGVyYXRpb24oKSkgeworICAgICAg
ICBtX25ld0xpc3RlbmVycy5hZGQod2luZG93KTsKKyAgICAgICAgaWYgKCFtX3RpbWVyLmlzQWN0
aXZlKCkpCisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICB9CisgICAg
CisgICAgYm9vbCB3YXNFbXB0eSA9IG1fbGlzdGVuZXJzLmlzRW1wdHkoKTsKKyAgICBtX2xpc3Rl
bmVycy5hZGQod2luZG93KTsKKyAgICBpZiAod2FzRW1wdHkgJiYgbV9jbGllbnQpCisgICAgICAg
IG1fY2xpZW50LT5zdGFydFVwZGF0aW5nKCk7Cit9CisKK3ZvaWQgQWNjZWxlcm9tZXRlckNvbnRy
b2xsZXI6OnJlbW92ZUxpc3RlbmVyKERPTVdpbmRvdyogd2luZG93KQoreworICAgIG1fbGlzdGVu
ZXJzLnJlbW92ZSh3aW5kb3cpOworICAgIG1fbmV3TGlzdGVuZXJzLnJlbW92ZSh3aW5kb3cpOwor
ICAgIGlmIChtX2xpc3RlbmVycy5pc0VtcHR5KCkgJiYgbV9jbGllbnQpCisgICAgICAgIG1fY2xp
ZW50LT5zdG9wVXBkYXRpbmcoKTsKK30KKwordm9pZCBBY2NlbGVyb21ldGVyQ29udHJvbGxlcjo6
cmVtb3ZlQWxsTGlzdGVuZXJzKERPTVdpbmRvdyogd2luZG93KQoreworICAgIC8vIE1heSBiZSBj
YWxsZWQgd2l0aCBhIERPTVdpbmRvdyB0aGF0J3Mgbm90IGEgbGlzdGVuZXIuCisgICAgaWYgKCFt
X2xpc3RlbmVycy5jb250YWlucyh3aW5kb3cpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2xp
c3RlbmVycy5yZW1vdmVBbGwod2luZG93KTsKKyAgICBtX25ld0xpc3RlbmVycy5yZW1vdmUod2lu
ZG93KTsKKyAgICBpZiAobV9saXN0ZW5lcnMuaXNFbXB0eSgpICYmIG1fY2xpZW50KQorICAgICAg
ICBtX2NsaWVudC0+c3RvcFVwZGF0aW5nKCk7Cit9CisKK3ZvaWQgQWNjZWxlcm9tZXRlckNvbnRy
b2xsZXI6OmRpZENoYW5nZUFjY2VsZXJvbWV0ZXIoQWNjZWxlcm9tZXRlckRhdGEqIGFjY2VsZXJv
bWV0ZXJEYXRhKQoreworICAgIFJlZlB0cjxBY2NlbGVyb21ldGVyRXZlbnQ+IGV2ZW50ID0gQWNj
ZWxlcm9tZXRlckV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmFjY2VsZXJvbWV0ZXJFdmVudCwg
YWNjZWxlcm9tZXRlckRhdGEpOworICAgIFZlY3RvcjxET01XaW5kb3cqPiBsaXN0ZW5lcnNWZWN0
b3I7CisgICAgY29weVRvVmVjdG9yKG1fbGlzdGVuZXJzLCBsaXN0ZW5lcnNWZWN0b3IpOworICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdGVuZXJzVmVjdG9yLnNpemUoKTsgKytpKQorICAg
ICAgICBsaXN0ZW5lcnNWZWN0b3JbaV0tPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9O
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCBiL1dl
YkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZDg0Zjg2MgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0Fj
Y2VsZXJvbWV0ZXJDb250cm9sbGVyLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEFj
Y2VsZXJvbWV0ZXJDb250cm9sbGVyX2gKKyNkZWZpbmUgQWNjZWxlcm9tZXRlckNvbnRyb2xsZXJf
aAorCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRl
IDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBB
Y2NlbGVyb21ldGVyRGF0YTsKK2NsYXNzIEFjY2VsZXJvbWV0ZXJDbGllbnQ7CitjbGFzcyBQYWdl
OworCitjbGFzcyBBY2NlbGVyb21ldGVyQ29udHJvbGxlciB7CitwdWJsaWM6CisgICAgQWNjZWxl
cm9tZXRlckNvbnRyb2xsZXIoUGFnZSosIEFjY2VsZXJvbWV0ZXJDbGllbnQqKTsKKworICAgIHZv
aWQgYWRkTGlzdGVuZXIoRE9NV2luZG93Kik7CisgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihET01X
aW5kb3cqKTsKKyAgICB2b2lkIHJlbW92ZUFsbExpc3RlbmVycyhET01XaW5kb3cqKTsKKworICAg
IHZvaWQgZGlkQ2hhbmdlQWNjZWxlcm9tZXRlcihBY2NlbGVyb21ldGVyRGF0YSopOworCitwcml2
YXRlOgorICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxBY2NlbGVyb21ldGVyQ29udHJvbGxlcj4q
KTsKKyAgICAKKyAgICBQYWdlKiBtX3BhZ2U7CisgICAgQWNjZWxlcm9tZXRlckNsaWVudCogbV9j
bGllbnQ7CisgICAgdHlwZWRlZiBIYXNoQ291bnRlZFNldDxET01XaW5kb3cqPiBMaXN0ZW5lcnND
b3VudGVkU2V0OworICAgIExpc3RlbmVyc0NvdW50ZWRTZXQgbV9saXN0ZW5lcnM7CisgICAgdHlw
ZWRlZiBIYXNoU2V0PERPTVdpbmRvdyo+IExpc3RlbmVyc1NldDsKKyAgICBMaXN0ZW5lcnNTZXQg
bV9uZXdMaXN0ZW5lcnM7CisgICAgVGltZXI8QWNjZWxlcm9tZXRlckNvbnRyb2xsZXI+IG1fdGlt
ZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBBY2NlbGVyb21l
dGVyQ29udHJvbGxlcl9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRGF0
YS5jcHAgYi9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNDE0NjFhZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
ZG9tL0FjY2VsZXJvbWV0ZXJEYXRhLmNwcApAQCAtMCwwICsxLDEwMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXJEYXRhLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxBY2NlbGVyb21ldGVyRGF0YT4gQWNjZWxlcm9t
ZXRlckRhdGE6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBY2NlbGVyb21l
dGVyRGF0YSk7Cit9CisKK1Bhc3NSZWZQdHI8QWNjZWxlcm9tZXRlckRhdGE+IEFjY2VsZXJvbWV0
ZXJEYXRhOjpjcmVhdGUoYm9vbCBjYW5Qcm92aWRlWCwgZG91YmxlIHgsIGJvb2wgY2FuUHJvdmlk
ZVksIGRvdWJsZSB5LCBib29sIGNhblByb3ZpZGVaLCBkb3VibGUgeiwgYm9vbCBjYW5Qcm92aWRl
SW50ZXJ2YWwsIGRvdWJsZSBpbnRlcnZhbCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFj
Y2VsZXJvbWV0ZXJEYXRhKGNhblByb3ZpZGVYLCB4LCBjYW5Qcm92aWRlWSwgeSwgY2FuUHJvdmlk
ZVosIHosIGNhblByb3ZpZGVJbnRlcnZhbCwgaW50ZXJ2YWwpKTsKK30KKworQWNjZWxlcm9tZXRl
ckRhdGE6OkFjY2VsZXJvbWV0ZXJEYXRhKCkKKyAgICA6IG1fY2FuUHJvdmlkZVgoZmFsc2UpCisg
ICAgLCBtX2NhblByb3ZpZGVZKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlWihmYWxzZSkKKyAg
ICAsIG1fY2FuUHJvdmlkZUludGVydmFsKGZhbHNlKQoreworfQorCitBY2NlbGVyb21ldGVyRGF0
YTo6QWNjZWxlcm9tZXRlckRhdGEoYm9vbCBjYW5Qcm92aWRlWCwgZG91YmxlIHgsIGJvb2wgY2Fu
UHJvdmlkZVksIGRvdWJsZSB5LCBib29sIGNhblByb3ZpZGVaLCBkb3VibGUgeiwgYm9vbCBjYW5Q
cm92aWRlSW50ZXJ2YWwsIGRvdWJsZSBpbnRlcnZhbCkKKyAgICA6IG1fY2FuUHJvdmlkZVgoY2Fu
UHJvdmlkZVgpCisgICAgLCBtX2NhblByb3ZpZGVZKGNhblByb3ZpZGVZKQorICAgICwgbV9jYW5Q
cm92aWRlWihjYW5Qcm92aWRlWikKKyAgICAsIG1fY2FuUHJvdmlkZUludGVydmFsKGNhblByb3Zp
ZGVJbnRlcnZhbCkKKyAgICAsIG1feCh4KQorICAgICwgbV95KHkpCisgICAgLCBtX3ooeikKKyAg
ICAsIG1faW50ZXJ2YWwoaW50ZXJ2YWwpCit7Cit9CisKK2RvdWJsZSBBY2NlbGVyb21ldGVyRGF0
YTo6eCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1feDsKK30KKworZG91YmxlIEFjY2VsZXJvbWV0
ZXJEYXRhOjp5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV95OworfQorCitkb3VibGUgQWNjZWxl
cm9tZXRlckRhdGE6OnooKSBjb25zdAoreworICAgIHJldHVybiBtX3o7Cit9CisKK2RvdWJsZSBB
Y2NlbGVyb21ldGVyRGF0YTo6aW50ZXJ2YWwoKSBjb25zdAoreworICAgIHJldHVybiBtX2ludGVy
dmFsOworfQorCitib29sIEFjY2VsZXJvbWV0ZXJEYXRhOjpjYW5Qcm92aWRlWCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fY2FuUHJvdmlkZVg7Cit9CisKK2Jvb2wgQWNjZWxlcm9tZXRlckRhdGE6
OmNhblByb3ZpZGVZKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jYW5Qcm92aWRlWTsKK30KKwor
Ym9vbCBBY2NlbGVyb21ldGVyRGF0YTo6Y2FuUHJvdmlkZVooKSBjb25zdAoreworICAgIHJldHVy
biBtX2NhblByb3ZpZGVaOworfQorCitib29sIEFjY2VsZXJvbWV0ZXJEYXRhOjpjYW5Qcm92aWRl
SW50ZXJ2YWwoKSBjb25zdAoreworICAgIHJldHVybiBtX2NhblByb3ZpZGVJbnRlcnZhbDsKK30K
KyAgICAgICAgICAgICAgICAgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRGF0YS5oIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9t
ZXRlckRhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTdlMmE4Ci0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckRhdGEuaApAQCAtMCww
ICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEFjY2VsZXJvbWV0ZXJEYXRhX2gKKyNkZWZpbmUg
QWNjZWxlcm9tZXRlckRhdGFfaAorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFj
Y2VsZXJvbWV0ZXJEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZWxlcm9tZXRlckRhdGE+IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2NlbGVyb21ldGVyRGF0YT4gY3JlYXRl
KCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QWNjZWxlcm9tZXRlckRhdGE+IGNyZWF0ZShib29s
IGNhblByb3ZpZGVYLCBkb3VibGUgeCwgYm9vbCBjYW5Qcm92aWRlWSwgZG91YmxlIHksIGJvb2wg
Y2FuUHJvdmlkZVosIGRvdWJsZSB6LCBib29sIGNhblByb3ZpZGVJbnRlcnZhbCwgZG91YmxlIGlu
dGVydmFsKTsKKworICAgIGRvdWJsZSB4KCkgY29uc3Q7CisgICAgZG91YmxlIHkoKSBjb25zdDsK
KyAgICBkb3VibGUgeigpIGNvbnN0OworICAgIGRvdWJsZSBpbnRlcnZhbCgpIGNvbnN0OworICAg
IGJvb2wgY2FuUHJvdmlkZVgoKSBjb25zdDsKKyAgICBib29sIGNhblByb3ZpZGVZKCkgY29uc3Q7
CisgICAgYm9vbCBjYW5Qcm92aWRlWigpIGNvbnN0OworICAgIGJvb2wgY2FuUHJvdmlkZUludGVy
dmFsKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgQWNjZWxlcm9tZXRlckRhdGEoKTsKKyAgICBB
Y2NlbGVyb21ldGVyRGF0YShib29sIGNhblByb3ZpZGVYLCBkb3VibGUgeCwgYm9vbCBjYW5Qcm92
aWRlWSwgZG91YmxlIHksIGJvb2wgY2FuUHJvdmlkZVosIGRvdWJsZSB6LCBib29sIGNhblByb3Zp
ZGVJbnRlcnZhbCwgZG91YmxlIGludGVydmFsKTsKKworICAgIGJvb2wgbV9jYW5Qcm92aWRlWDsK
KyAgICBib29sIG1fY2FuUHJvdmlkZVk7CisgICAgYm9vbCBtX2NhblByb3ZpZGVaOworICAgIGJv
b2wgbV9jYW5Qcm92aWRlSW50ZXJ2YWw7CisgICAgZG91YmxlIG1feDsKKyAgICBkb3VibGUgbV95
OworICAgIGRvdWJsZSBtX3o7CisgICAgZG91YmxlIG1faW50ZXJ2YWw7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBBY2NlbGVyb21ldGVyRGF0YV9oCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuY3BwIGIvV2ViQ29yZS9kb20vQWNj
ZWxlcm9tZXRlckV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45
MzYzZDNjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckV2ZW50
LmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkFjY2VsZXJvbWV0ZXJEYXRhLmgiCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckV2ZW50
LmgiCisKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0FjY2VsZXJvbWV0ZXJFdmVudDo6fkFjY2VsZXJvbWV0ZXJFdmVudCgpCit7Cit9CisK
K0FjY2VsZXJvbWV0ZXJFdmVudDo6QWNjZWxlcm9tZXRlckV2ZW50KCkKKyAgICA6IG1fYWNjZWxl
cm9tZXRlckRhdGEoQWNjZWxlcm9tZXRlckRhdGE6OmNyZWF0ZSgpKQoreworfQorCitBY2NlbGVy
b21ldGVyRXZlbnQ6OkFjY2VsZXJvbWV0ZXJFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50
VHlwZSwgQWNjZWxlcm9tZXRlckRhdGEqIGFjY2VsZXJvbWV0ZXJEYXRhKQorICAgIDogRXZlbnQo
ZXZlbnRUeXBlLCBmYWxzZSwgZmFsc2UpIC8vIENhbid0IGJ1YmJsZSwgbm90IGNhbmNlbGFibGUK
KyAgICAsIG1fYWNjZWxlcm9tZXRlckRhdGEoYWNjZWxlcm9tZXRlckRhdGEpCit7Cit9CisKK3Zv
aWQgQWNjZWxlcm9tZXRlckV2ZW50Ojppbml0QWNjZWxlcm9tZXRlckV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgYm9vbCBidWJibGVzLCBib29sIGNhbmNlbGFibGUsIEFjY2VsZXJvbWV0
ZXJEYXRhKiBhY2NlbGVyb21ldGVyRGF0YSkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbml0RXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2VsYWJsZSk7
CisgICAgbV9hY2NlbGVyb21ldGVyRGF0YSA9IGFjY2VsZXJvbWV0ZXJEYXRhOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9O
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckV2ZW50LmggYi9XZWJDb3Jl
L2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4zYzE3YzI3Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRl
ckV2ZW50LmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQWNjZWxlcm9tZXRl
ckV2ZW50X2gKKyNkZWZpbmUgQWNjZWxlcm9tZXRlckV2ZW50X2gKKworI2luY2x1ZGUgIkV2ZW50
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQWNjZWxlcm9tZXRlckRhdGE7CisK
K2NsYXNzIEFjY2VsZXJvbWV0ZXJFdmVudCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6CisgICAg
fkFjY2VsZXJvbWV0ZXJFdmVudCgpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2VsZXJvbWV0
ZXJFdmVudD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWNj
ZWxlcm9tZXRlckV2ZW50KTsKKyAgICB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QWNjZWxlcm9t
ZXRlckV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEFjY2VsZXJv
bWV0ZXJEYXRhKiBhY2NlbGVyb21ldGVyRGF0YSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQWNjZWxlcm9tZXRlckV2ZW50KGV2ZW50VHlwZSwgYWNjZWxlcm9tZXRlckRhdGEp
KTsKKyAgICB9CisKKyAgICB2b2lkIGluaXRBY2NlbGVyb21ldGVyRXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nJiB0eXBlLCBib29sIGJ1YmJsZXMsIGJvb2wgY2FuY2VsYWJsZSwgQWNjZWxlcm9tZXRl
ckRhdGEqKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc0FjY2VsZXJvbWV0ZXJFdmVudCgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KKworICAgIEFjY2VsZXJvbWV0ZXJEYXRhKiBhY2NlbGVyb21ldGVy
RGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZWxlcm9tZXRlckRhdGEuZ2V0KCk7IH0KKworcHJp
dmF0ZToKKyAgICBBY2NlbGVyb21ldGVyRXZlbnQoKTsKKyAgICBBY2NlbGVyb21ldGVyRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEFjY2VsZXJvbWV0ZXJEYXRhKik7CisKKyAg
ICBSZWZQdHI8QWNjZWxlcm9tZXRlckRhdGE+IG1fYWNjZWxlcm9tZXRlckRhdGE7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBBY2NlbGVyb21ldGVyRXZlbnRfaApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckV2ZW50LmlkbCBiL1dlYkNvcmUv
ZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZjRiZTI2OAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0
ZXJFdmVudC5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKK21vZHVsZSBjb3JlIHsKKwor
ICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTgor
ICAgIF0gQWNjZWxlcm9tZXRlckV2ZW50IDogRXZlbnQgeworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW0N1c3RvbV0gZG91YmxlIHg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3Vz
dG9tXSBkb3VibGUgeTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGRvdWJs
ZSB6OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIGludGVydmFs
OworICAgICAgICBbQ3VzdG9tXSB2b2lkIGluaXRBY2NlbGVyb21ldGVyRXZlbnQoaW4gRE9NU3Ry
aW5nIHR5cGUsIGluIGJvb2xlYW4gYnViYmxlcywgaW4gYm9vbGVhbiBjYW5jZWxhYmxlLCBpbiBk
b3VibGUgeCwgaW4gZG91YmxlIHksIGluIGRvdWJsZSB6LCBpbiBkb3VibGUgaW50ZXJ2YWwpOwor
ICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5Yzc0N2QzLi4zODcxZWUxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKIAogI2luY2x1ZGUgIkFYT2Jq
ZWN0Q2FjaGUuaCIKKyNpbmNsdWRlICJBY2NlbGVyb21ldGVyRXZlbnQuaCIKICNpbmNsdWRlICJB
bmltYXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQXR0ci5oIgogI2luY2x1ZGUgIkF0dHJp
YnV0ZS5oIgpAQCAtMzI2Niw2ICszMjY3LDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6
OmNyZWF0ZUV2ZW50KGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25Db2RlJgogICAg
ICAgICBldmVudCA9IFRvdWNoRXZlbnQ6OmNyZWF0ZSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkFjY2VsZXJvbWV0
ZXJFdmVudCIpCisgICAgICAgIGV2ZW50ID0gQWNjZWxlcm9tZXRlckV2ZW50OjpjcmVhdGUoKTsK
ICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkRldmljZU9yaWVudGF0aW9uRXZlbnQiKQogICAg
ICAgICBldmVudCA9IERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmNyZWF0ZSgpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAK
aW5kZXggNGVhM2UwYy4uNTdjM2ZkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3Bw
CisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmNwcApAQCAtMjE3LDYgKzIxNywxMSBAQCBib29sIEV2
ZW50Ojppc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSBjb25zdAogewogICAgIHJldHVybiBmYWxz
ZTsKIH0KKworYm9vbCBFdmVudDo6aXNBY2NlbGVyb21ldGVyRXZlbnQoKSBjb25zdAoreworICAg
IHJldHVybiBmYWxzZTsKK30KICNlbmRpZgogCiBib29sIEV2ZW50Ojpmcm9tVXNlckdlc3R1cmUo
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50LmgK
aW5kZXggMmI1NzBkNS4uOTk3OTBmNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuaAor
KysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0xNDEsNiArMTQxLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICAgICAg
dmlydHVhbCBib29sIGlzRGV2aWNlT3JpZW50YXRpb25FdmVudCgpIGNvbnN0OworICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNBY2NlbGVyb21ldGVyRXZlbnQoKSBjb25zdDsKICNlbmRpZgogICAgICAg
ICBib29sIGZyb21Vc2VyR2VzdHVyZSgpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaCBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA2NjIwY2Vj
Li45MGIzNGFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0zMCw2ICszMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICNkZWZpbmUgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNIKG1hY3JvKSBcCiAgICAgXAogICAg
IG1hY3JvKGFib3J0KSBcCisgICAgbWFjcm8oYWNjZWxlcm9tZXRlcikgXAogICAgIG1hY3JvKGJl
Zm9yZWNvcHkpIFwKICAgICBtYWNybyhiZWZvcmVjdXQpIFwKICAgICBtYWNybyhiZWZvcmVsb2Fk
KSBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCmluZGV4IDVlYmU2NTkuLjQzNzVlNzEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAKICNpbmNsdWRlICJBYnN0
cmFjdERhdGFiYXNlLmgiCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJCYXNlNjQuaCIKICNpbmNsdWRlICJCYXJJbmZvLmgiCiAjaW5jbHVkZSAiQmVmb3Jl
VW5sb2FkRXZlbnQuaCIKQEAgLTE0MTMsNyArMTQxNCw5IEBAIGJvb2wgRE9NV2luZG93OjphZGRF
dmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEV2
ZW50CiAgICAgICAgIGFkZEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXIodGhpcyk7CiAjaWYgRU5B
QkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnRO
YW1lcygpLmRldmljZW9yaWVudGF0aW9uRXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdl
KCkpCi0gICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb24oKS0+YWRkTGlz
dGVuZXIodGhpcyk7CisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyKCktPmFkZExpc3RlbmVyKHRoaXMpOworICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9
PSBldmVudE5hbWVzKCkuYWNjZWxlcm9tZXRlckV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+
cGFnZSgpKQorICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmFjY2VsZXJvbWV0ZXJDb250cm9sbGVy
KCktPmFkZExpc3RlbmVyKHRoaXMpOwogI2VuZGlmCiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE0
MzAsNyArMTQzMyw5IEBAIGJvb2wgRE9NV2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0
IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyCiAgICAgICAgIHJlbW92ZUJl
Zm9yZVVubG9hZEV2ZW50TGlzdGVuZXIodGhpcyk7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRB
VElPTikKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW9yaWVu
dGF0aW9uRXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkpCi0gICAgICAgIGZyYW1l
KCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb24oKS0+cmVtb3ZlTGlzdGVuZXIodGhpcyk7Cisg
ICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCktPnJl
bW92ZUxpc3RlbmVyKHRoaXMpOworICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVz
KCkuYWNjZWxlcm9tZXRlckV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpKQorICAg
ICAgICBmcmFtZSgpLT5wYWdlKCktPmFjY2VsZXJvbWV0ZXJDb250cm9sbGVyKCktPnJlbW92ZUxp
c3RlbmVyKHRoaXMpOwogI2VuZGlmCiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE1MDcsOCArMTUx
MiwxMCBAQCB2b2lkIERPTVdpbmRvdzo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQogICAgIEV2
ZW50VGFyZ2V0OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycygpOwogCiAjaWYgRU5BQkxFKERFVklD
RV9PUklFTlRBVElPTikKLSAgICBpZiAoZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkpCi0gICAg
ICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb24oKS0+cmVtb3ZlQWxsTGlzdGVu
ZXJzKHRoaXMpOworICAgIGlmIChmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSkgeworICAgICAg
ICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5yZW1vdmVB
bGxMaXN0ZW5lcnModGhpcyk7CisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+YWNjZWxlcm9tZXRl
ckNvbnRyb2xsZXIoKS0+cmVtb3ZlQWxsTGlzdGVuZXJzKHRoaXMpOworICAgIH0KICNlbmRpZgog
CiAgICAgcmVtb3ZlQWxsVW5sb2FkRXZlbnRMaXN0ZW5lcnModGhpcyk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXgg
YmViMmY3ZC4uZjdkMTUxNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisr
KyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzM1LDYgKzMzNSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZGV2aWNlb3JpZW50YXRpb24pOworICAgICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFjY2VsZXJvbWV0ZXIpOwogI2VuZGlm
CiAKICAgICAgICAgREVGSU5FX01BUFBFRF9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0
YW5pbWF0aW9uc3RhcnQsIHdlYmtpdEFuaW1hdGlvblN0YXJ0KTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXgg
YzUwMGVlNy4uODJiYjI0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
KysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTMwNiw2ICszMDYsOCBAQCBtb2R1
bGUgd2luZG93IHsKIAogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklF
TlRBVElPTl0gRGV2aWNlT3JpZW50YXRpb25FdmVudENvbnN0cnVjdG9yIERldmljZU9yaWVudGF0
aW9uRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFU
SU9OXSBFdmVudExpc3RlbmVyIG9uZGV2aWNlb3JpZW50YXRpb247CisgICAgICAgIGF0dHJpYnV0
ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OXSBBY2NlbGVyb21ldGVyRXZlbnRDb25z
dHJ1Y3RvciBBY2NlbGVyb21ldGVyRXZlbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9u
YWw9REVWSUNFX09SSUVOVEFUSU9OXSBFdmVudExpc3RlbmVyIG9uYWNjZWxlcm9tZXRlcjsKIAog
ICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKICAgICAgICAgW0N1c3RvbV0gdm9pZCBh
ZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDU5YzIyMzguLmVhNDM3
ZDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAKKyNpbmNsdWRlICJBY2NlbGVyb21ldGVyQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5o
IgogI2luY2x1ZGUgIkJhc2U2NC5oIgpAQCAtMTIyLDcgKzEyMyw3IEBAIHN0YXRpYyB2b2lkIG5l
dHdvcmtTdGF0ZUNoYW5nZWQoKQogICAgICAgICBmcmFtZXNbaV0tPmRvY3VtZW50KCktPmRpc3Bh
dGNoV2luZG93RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwog
fQogCi1QYWdlOjpQYWdlKENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50LCBDb250ZXh0TWVudUNs
aWVudCogY29udGV4dE1lbnVDbGllbnQsIEVkaXRvckNsaWVudCogZWRpdG9yQ2xpZW50LCBEcmFn
Q2xpZW50KiBkcmFnQ2xpZW50LCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNsaWVudCwgUGx1
Z2luSGFsdGVyQ2xpZW50KiBwbHVnaW5IYWx0ZXJDbGllbnQsIEdlb2xvY2F0aW9uQ29udHJvbGxl
ckNsaWVudCogZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50LCBEZXZpY2VPcmllbnRhdGlvbkNs
aWVudCogZGV2aWNlT3JpZW50YXRpb25DbGllbnQsIEJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVu
dCogYmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50KQorUGFnZTo6UGFnZShDaHJvbWVDbGllbnQq
IGNocm9tZUNsaWVudCwgQ29udGV4dE1lbnVDbGllbnQqIGNvbnRleHRNZW51Q2xpZW50LCBFZGl0
b3JDbGllbnQqIGVkaXRvckNsaWVudCwgRHJhZ0NsaWVudCogZHJhZ0NsaWVudCwgSW5zcGVjdG9y
Q2xpZW50KiBpbnNwZWN0b3JDbGllbnQsIFBsdWdpbkhhbHRlckNsaWVudCogcGx1Z2luSGFsdGVy
Q2xpZW50LCBHZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQqIGdlb2xvY2F0aW9uQ29udHJvbGxl
ckNsaWVudCwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGRldmljZU9yaWVudGF0aW9uQ2xpZW50
LCBBY2NlbGVyb21ldGVyQ2xpZW50KiBhY2NlbGVyb21ldGVyQ2xpZW50LCBCYWNrRm9yd2FyZENv
bnRyb2xsZXJDbGllbnQqIGJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudCkKICAgICA6IG1fY2hy
b21lKG5ldyBDaHJvbWUodGhpcywgY2hyb21lQ2xpZW50KSkKICAgICAsIG1fZHJhZ0NhcmV0Q29u
dHJvbGxlcihuZXcgU2VsZWN0aW9uQ29udHJvbGxlcigwLCB0cnVlKSkKICNpZiBFTkFCTEUoRFJB
R19TVVBQT1JUKQpAQCAtMTQwLDYgKzE0MSw3IEBAIFBhZ2U6OlBhZ2UoQ2hyb21lQ2xpZW50KiBj
aHJvbWVDbGllbnQsIENvbnRleHRNZW51Q2xpZW50KiBjb250ZXh0TWVudUNsaWVudCwgRWRpCiAj
ZW5kaWYKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgICwgbV9kZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXIobmV3IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcih0aGlzLCBk
ZXZpY2VPcmllbnRhdGlvbkNsaWVudCkpCisgICAgLCBtX2FjY2VsZXJvbWV0ZXJDb250cm9sbGVy
KG5ldyBBY2NlbGVyb21ldGVyQ29udHJvbGxlcih0aGlzLCBhY2NlbGVyb21ldGVyQ2xpZW50KSkK
ICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCiAgICAgLCBtX3NwZWVjaElucHV0Q2xp
ZW50KDApCkBAIC0xODAsNiArMTgyLDcgQEAgUGFnZTo6UGFnZShDaHJvbWVDbGllbnQqIGNocm9t
ZUNsaWVudCwgQ29udGV4dE1lbnVDbGllbnQqIGNvbnRleHRNZW51Q2xpZW50LCBFZGkKICNlbmRp
ZgogI2lmICFFTkFCTEUoQ0xJRU5UX0RFVklDRV9PUklFTlRBVElPTikKICAgICBVTlVTRURfUEFS
QU0oZGV2aWNlT3JpZW50YXRpb25DbGllbnQpOworICAgIFVOVVNFRF9QQVJBTShhY2NlbGVyb21l
dGVyQ2xpZW50KTsKICNlbmRpZgogCiAgICAgaWYgKCFhbGxQYWdlcykgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggODU5OWE4My4u
OGQ5MGQ4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9XZWJDb3JlL3Bh
Z2UvUGFnZS5oCkBAIC0zNyw2ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKKyAgICBjbGFzcyBBY2NlbGVyb21ldGVyQ2xpZW50OworICAgIGNsYXNzIEFj
Y2VsZXJvbWV0ZXJDb250cm9sbGVyOwogICAgIGNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlcjsK
ICAgICBjbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQ7CiAgICAgY2xhc3MgQmFja0Zv
cndhcmRMaXN0OwpAQCAtOTAsNyArOTIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgdm9pZCBzZXROZWVkc1JlYXBwbHlTdHlsZXMoKTsKIAotICAg
ICAgICBQYWdlKENocm9tZUNsaWVudCosIENvbnRleHRNZW51Q2xpZW50KiwgRWRpdG9yQ2xpZW50
KiwgRHJhZ0NsaWVudCosIEluc3BlY3RvckNsaWVudCosIFBsdWdpbkhhbHRlckNsaWVudCosIEdl
b2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCosIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiwgQmFj
a0ZvcndhcmRDb250cm9sbGVyQ2xpZW50Kik7CisgICAgICAgIFBhZ2UoQ2hyb21lQ2xpZW50Kiwg
Q29udGV4dE1lbnVDbGllbnQqLCBFZGl0b3JDbGllbnQqLCBEcmFnQ2xpZW50KiwgSW5zcGVjdG9y
Q2xpZW50KiwgUGx1Z2luSGFsdGVyQ2xpZW50KiwgR2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50
KiwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqLCBBY2NlbGVyb21ldGVyQ2xpZW50KiwgQmFja0Zv
cndhcmRDb250cm9sbGVyQ2xpZW50Kik7CiAgICAgICAgIH5QYWdlKCk7CiAKICAgICAgICAgUmVu
ZGVyVGhlbWUqIHRoZW1lKCkgY29uc3QgeyByZXR1cm4gbV90aGVtZS5nZXQoKTsgfTsKQEAgLTE1
Miw2ICsxNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKICNpZiBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQogICAgICAgICBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIqIGRl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNlT3JpZW50
YXRpb25Db250cm9sbGVyLmdldCgpOyB9CisgICAgICAgIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVy
KiBhY2NlbGVyb21ldGVyQ29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZWxlcm9tZXRl
ckNvbnRyb2xsZXIuZ2V0KCk7IH0KICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCiAg
ICAgICAgIHZvaWQgc2V0U3BlZWNoSW5wdXRDbGllbnQoU3BlZWNoSW5wdXRDbGllbnQqIGNsaWVu
dCkgeyBtX3NwZWVjaElucHV0Q2xpZW50ID0gY2xpZW50OyB9CkBAIC0yNzMsNiArMjc2LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElP
TikKICAgICAgICAgT3duUHRyPERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcj4gbV9kZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXI7CisgICAgICAgIE93blB0cjxBY2NlbGVyb21ldGVyQ29udHJv
bGxlcj4gbV9hY2NlbGVyb21ldGVyQ29udHJvbGxlcjsKICNlbmRpZgogI2lmIEVOQUJMRShJTlBV
VF9TUEVFQ0gpCiAgICAgICAgIFNwZWVjaElucHV0Q2xpZW50KiBtX3NwZWVjaElucHV0Q2xpZW50
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IGViZDc3MDMuLjhhZjNiNDcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9XZWJDb3JlL3N2
Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKQEAgLTI1NSw3ICsyNTUsNyBAQCBib29sIFNWR0ltYWdl
OjpkYXRhQ2hhbmdlZChib29sIGFsbERhdGFSZWNlaXZlZCkKICAgICAgICAgLy8gRklYTUU6IElm
IHRoaXMgU1ZHIGVuZHMgdXAgbG9hZGluZyBpdHNlbGYsIHdlIG1pZ2h0IGxlYWsgdGhlIHdvcmxk
LgogICAgICAgICAvLyBUaGUgY29tbWVudCBzYWlkIHRoYXQgdGhlIENhY2hlIGNvZGUgZG9lcyBu
b3Qga25vdyBhYm91dCBDYWNoZWRJbWFnZXMKICAgICAgICAgLy8gaG9sZGluZyBGcmFtZXMgYW5k
IHdvbid0IGtub3cgdG8gYnJlYWsgdGhlIGN5Y2xlLiBCdXQgCi0gICAgICAgIG1fcGFnZS5zZXQo
bmV3IFBhZ2UobV9jaHJvbWVDbGllbnQuZ2V0KCksIGR1bW15Q29udGV4dE1lbnVDbGllbnQsIGR1
bW15RWRpdG9yQ2xpZW50LCBkdW1teURyYWdDbGllbnQsIGR1bW15SW5zcGVjdG9yQ2xpZW50LCAw
LCAwLCAwLCAwKSk7CisgICAgICAgIG1fcGFnZS5zZXQobmV3IFBhZ2UobV9jaHJvbWVDbGllbnQu
Z2V0KCksIGR1bW15Q29udGV4dE1lbnVDbGllbnQsIGR1bW15RWRpdG9yQ2xpZW50LCBkdW1teURy
YWdDbGllbnQsIGR1bW15SW5zcGVjdG9yQ2xpZW50LCAwLCAwLCAwLCAwLCAwKSk7CiAgICAgICAg
IG1fcGFnZS0+c2V0dGluZ3MoKS0+c2V0TWVkaWFFbmFibGVkKGZhbHNlKTsKICAgICAgICAgbV9w
YWdlLT5zZXR0aW5ncygpLT5zZXRKYXZhU2NyaXB0RW5hYmxlZChmYWxzZSk7CiAgICAgICAgIG1f
cGFnZS0+c2V0dGluZ3MoKS0+c2V0UGx1Z2luc0VuYWJsZWQoZmFsc2UpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBmZTg0ODc5
Li5lYmI2MGI1IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEwLTA3LTIzICBEZWFuIEphY2tzb24g
IDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NjUK
KyAgICAgICAgSW1wbGVtZW50IEFjY2VsZXJvbWV0ZXJFdmVudAorCisgICAgICAgIFRoZSBQYWdl
IGNvbnN0cnVjdG9yIG5vdyB0YWtlcyBhbiBleHRyYSBwYXJhbWV0ZXIgKG51bGwKKyAgICAgICAg
aW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24pIGZvciBhY2NlbGVyb21ldGVyIGNvbnRyb2wu
CisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2Nv
bW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6dXNlc0RvY3VtZW50Vmll
d3M6XSk6CisKKzIwMTAtMDctMjMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5lZWQgYSBzaG9y
dCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEpCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZy
YW1lTmFtZTpncm91cE5hbWU6dXNlc0RvY3VtZW50Vmlld3M6XSk6CisKIDIwMTAtMDctMTggIEFu
ZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0g
Yi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBhNzE1YWFkLi4yMDlkNTBmIDEw
MDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtNjc2LDcgKzY3Niw3IEBAIHN0YXRpYyBib29sIHNob3Vs
ZEVuYWJsZUxvYWREZWZlcnJpbmcoKQogI2Vsc2UKICAgICBXZWJHZW9sb2NhdGlvbkNvbnRyb2xs
ZXJDbGllbnQqIGdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCA9IDA7CiAjZW5kaWYKLSAgICBf
cHJpdmF0ZS0+cGFnZSA9IG5ldyBQYWdlKG5ldyBXZWJDaHJvbWVDbGllbnQoc2VsZiksIG5ldyBX
ZWJDb250ZXh0TWVudUNsaWVudChzZWxmKSwgbmV3IFdlYkVkaXRvckNsaWVudChzZWxmKSwgbmV3
IFdlYkRyYWdDbGllbnQoc2VsZiksIG5ldyBXZWJJbnNwZWN0b3JDbGllbnQoc2VsZiksIG5ldyBX
ZWJQbHVnaW5IYWx0ZXJDbGllbnQoc2VsZiksIGdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCwg
MCwgMCk7CisgICAgX3ByaXZhdGUtPnBhZ2UgPSBuZXcgUGFnZShuZXcgV2ViQ2hyb21lQ2xpZW50
KHNlbGYpLCBuZXcgV2ViQ29udGV4dE1lbnVDbGllbnQoc2VsZiksIG5ldyBXZWJFZGl0b3JDbGll
bnQoc2VsZiksIG5ldyBXZWJEcmFnQ2xpZW50KHNlbGYpLCBuZXcgV2ViSW5zcGVjdG9yQ2xpZW50
KHNlbGYpLCBuZXcgV2ViUGx1Z2luSGFsdGVyQ2xpZW50KHNlbGYpLCBnZW9sb2NhdGlvbkNvbnRy
b2xsZXJDbGllbnQsIDAsIDAsIDApOwogCiAgICAgX3ByaXZhdGUtPnBhZ2UtPnNldENhblN0YXJ0
TWVkaWEoW3NlbGYgd2luZG93XSk7CiAgICAgX3ByaXZhdGUtPnBhZ2UtPnNldHRpbmdzKCktPnNl
dExvY2FsU3RvcmFnZURhdGFiYXNlUGF0aChbW3NlbGYgcHJlZmVyZW5jZXNdIF9sb2NhbFN0b3Jh
Z2VEYXRhYmFzZVBhdGhdKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggODdjN2IxOC4uN2Q1MmFjZSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxMC0wNy0yMyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODY1CisgICAgICAgIEltcGxlbWVudCBBY2NlbGVy
b21ldGVyRXZlbnQKKworICAgICAgICBUaGUgUGFnZSBjb25zdHJ1Y3RvciBub3cgdGFrZXMgYW4g
ZXh0cmEgcGFyYW1ldGVyIChudWxsCisgICAgICAgIGluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0
aW9uKSBmb3IgYWNjZWxlcm9tZXRlciBjb250cm9sLgorCisgICAgICAgICogV2ViVmlldy5jcHA6
CisgICAgICAgIChXZWJWaWV3Ojppbml0V2l0aEZyYW1lKToKKwogMjAxMC0wNy0xNiAgWmhlIFN1
ICA8c3V6aGVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1dlYktpdC93aW4vV2ViVmll
dy5jcHAKaW5kZXggNDQxZWJiOS4uNDA2MTNiNSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJW
aWV3LmNwcAorKysgYi9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0yNTcwLDcgKzI1NzAsNyBA
QCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoCiAgICAg
aWYgKFNVQ0NFRURFRChtX3ByZWZlcmVuY2VzLT5zaG91bGRVc2VIaWdoUmVzb2x1dGlvblRpbWVy
cygmdXNlSGlnaFJlc29sdXRpb25UaW1lcikpKQogICAgICAgICBTZXR0aW5nczo6c2V0U2hvdWxk
VXNlSGlnaFJlc29sdXRpb25UaW1lcnModXNlSGlnaFJlc29sdXRpb25UaW1lcik7CiAKLSAgICBt
X3BhZ2UgPSBuZXcgUGFnZShuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpLCBuZXcgV2ViQ29udGV4
dE1lbnVDbGllbnQodGhpcyksIG5ldyBXZWJFZGl0b3JDbGllbnQodGhpcyksIG5ldyBXZWJEcmFn
Q2xpZW50KHRoaXMpLCBuZXcgV2ViSW5zcGVjdG9yQ2xpZW50KHRoaXMpLCBuZXcgV2ViUGx1Z2lu
SGFsdGVyQ2xpZW50KHRoaXMpLCBnZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQsIDAsIDApOwor
ICAgIG1fcGFnZSA9IG5ldyBQYWdlKG5ldyBXZWJDaHJvbWVDbGllbnQodGhpcyksIG5ldyBXZWJD
b250ZXh0TWVudUNsaWVudCh0aGlzKSwgbmV3IFdlYkVkaXRvckNsaWVudCh0aGlzKSwgbmV3IFdl
YkRyYWdDbGllbnQodGhpcyksIG5ldyBXZWJJbnNwZWN0b3JDbGllbnQodGhpcyksIG5ldyBXZWJQ
bHVnaW5IYWx0ZXJDbGllbnQodGhpcyksIGdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCwgMCwg
MCwgMCk7CiAKICAgICBCU1RSIGxvY2FsU3RvcmFnZVBhdGg7CiAgICAgaWYgKFNVQ0NFRURFRCht
X3ByZWZlcmVuY2VzLT5sb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGgoJmxvY2FsU3RvcmFnZVBhdGgp
KSkgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCAxOTU1MTQwLi5jY2I3MjYxIDEwMDY0NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEwLTA3LTIzICBEZWFuIEph
Y2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDI4NjUKKyAgICAgICAgSW1wbGVtZW50IEFjY2VsZXJvbWV0ZXJFdmVudAorCisgICAgICAgIFRo
ZSBQYWdlIGNvbnN0cnVjdG9yIG5vdyB0YWtlcyBhbiBleHRyYSBwYXJhbWV0ZXIgKG51bGwKKyAg
ICAgICAgaW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24pIGZvciBhY2NlbGVyb21ldGVyIGNv
bnRyb2wuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorCisyMDEwLTA3LTIzICBEZWFuIEphY2tz
b24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMh
KQorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKwogMjAxMC0wNy0xOSAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2Fy
bHNzb24uCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGUyNjBmNWQu
LmZjNjg3ZmMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03OSw3
ICs3OSw3IEBAIFBhc3NSZWZQdHI8V2ViUGFnZT4gV2ViUGFnZTo6Y3JlYXRlKHVpbnQ2NF90IHBh
Z2VJRCwgY29uc3QgSW50U2l6ZSYgdmlld1NpemUsIGNvCiB9CiAKIFdlYlBhZ2U6OldlYlBhZ2Uo
dWludDY0X3QgcGFnZUlELCBjb25zdCBJbnRTaXplJiB2aWV3U2l6ZSwgY29uc3QgV2ViUHJlZmVy
ZW5jZXNTdG9yZSYgc3RvcmUsIERyYXdpbmdBcmVhOjpUeXBlIGRyYXdpbmdBcmVhVHlwZSkKLSAg
ICA6IG1fcGFnZShuZXcgUGFnZShuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpLCBuZXcgV2ViQ29u
dGV4dE1lbnVDbGllbnQodGhpcyksIG5ldyBXZWJFZGl0b3JDbGllbnQodGhpcyksIG5ldyBXZWJE
cmFnQ2xpZW50KHRoaXMpLCBuZXcgV2ViSW5zcGVjdG9yQ2xpZW50KHRoaXMpLCAwLCAwLCAwLCBu
ZXcgV2ViQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50KHRoaXMpKSkKKyAgICA6IG1fcGFnZShu
ZXcgUGFnZShuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpLCBuZXcgV2ViQ29udGV4dE1lbnVDbGll
bnQodGhpcyksIG5ldyBXZWJFZGl0b3JDbGllbnQodGhpcyksIG5ldyBXZWJEcmFnQ2xpZW50KHRo
aXMpLCBuZXcgV2ViSW5zcGVjdG9yQ2xpZW50KHRoaXMpLCAwLCAwLCAwLCAwLCBuZXcgV2ViQmFj
a0ZvcndhcmRDb250cm9sbGVyQ2xpZW50KHRoaXMpKSkKICAgICAsIG1fdmlld1NpemUodmlld1Np
emUpCiAgICAgLCBtX2RyYXdpbmdBcmVhKERyYXdpbmdBcmVhOjpjcmVhdGUoZHJhd2luZ0FyZWFU
eXBlLCB0aGlzKSkKICAgICAsIG1fcGFnZUlEKHBhZ2VJRCkKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA3ZmE0OTU5Li5hN2Q3
NzEwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjMgIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg2NQorICAg
ICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisKKyAgICAgICAgQWRkIGEgZmxhZyB0
byBidWlsZC13ZWJraXQgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyBERVZJQ0VfT1JJRU5UQVRJT04K
KworICAgICAgICAqIFNjcmlwdHMvYnVpbGQtd2Via2l0OgorCisyMDEwLTA3LTIzICBEZWFuIEph
Y2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9P
UFMhKQorCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6CisKIDIwMTAtMDctMTkgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHI2MzY3MS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvYnVpbGQtd2Via2l0IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXgg
ZmQyNzZiZC4uNjk4OGQ0YyAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTU2LDcgKzU2
LDcgQEAgbXkgJG1ha2VBcmdzOwogbXkgJHN0YXJ0VGltZSA9IHRpbWUoKTsKIAogbXkgKCRsaW5r
UHJlZmV0Y2hTdXBwb3J0LCAkdGhyZWVEQ2FudmFzU3VwcG9ydCwgJHRocmVlRFJlbmRlcmluZ1N1
cHBvcnQsICRjaGFubmVsTWVzc2FnaW5nU3VwcG9ydCwgJGNsaWVudEJhc2VkR2VvbG9jYXRpb25T
dXBwb3J0LCAkZGF0YWJhc2VTdXBwb3J0LCAkZGF0YWdyaWRTdXBwb3J0LCAkZGF0YWxpc3RTdXBw
b3J0LAotICAgICRkb21TdG9yYWdlU3VwcG9ydCwgJGV2ZW50c291cmNlU3VwcG9ydCwgJGZpbHRl
cnNTdXBwb3J0LCAkZ2VvbG9jYXRpb25TdXBwb3J0LCAkaWNvbkRhdGFiYXNlU3VwcG9ydCwgJGlt
YWdlUmVzaXplclN1cHBvcnQsICRpbmRleGVkRGF0YWJhc2VTdXBwb3J0LCAkaW5wdXRTcGVlY2hT
dXBwb3J0LAorICAgICRkZXZpY2VPcmllbnRhdGlvblN1cHBvcnQsICRkb21TdG9yYWdlU3VwcG9y
dCwgJGV2ZW50c291cmNlU3VwcG9ydCwgJGZpbHRlcnNTdXBwb3J0LCAkZ2VvbG9jYXRpb25TdXBw
b3J0LCAkaWNvbkRhdGFiYXNlU3VwcG9ydCwgJGltYWdlUmVzaXplclN1cHBvcnQsICRpbmRleGVk
RGF0YWJhc2VTdXBwb3J0LCAkaW5wdXRTcGVlY2hTdXBwb3J0LAogICAgICRqYXZhU2NyaXB0RGVi
dWdnZXJTdXBwb3J0LCAkbWF0aG1sU3VwcG9ydCwgJG9mZmxpbmVXZWJBcHBsaWNhdGlvblN1cHBv
cnQsICRydWJ5U3VwcG9ydCwgJHN5c3RlbU1hbGxvY1N1cHBvcnQsICRzYW5kYm94U3VwcG9ydCwg
JHNoYXJlZFdvcmtlcnNTdXBwb3J0LAogICAgICRzdmdTdXBwb3J0LCAkc3ZnQW5pbWF0aW9uU3Vw
cG9ydCwgJHN2Z0FzSW1hZ2VTdXBwb3J0LCAkc3ZnRE9NT2JqQ0JpbmRpbmdzU3VwcG9ydCwgJHN2
Z0ZvbnRzU3VwcG9ydCwKICAgICAkc3ZnRm9yZWlnbk9iamVjdFN1cHBvcnQsICRzdmdVc2VTdXBw
b3J0LCAkdmlkZW9TdXBwb3J0LCAkd2ViU29ja2V0c1N1cHBvcnQsICR3ZWJUaW1pbmdTdXBwb3J0
LCAkd21sU3VwcG9ydCwgJHdjc3NTdXBwb3J0LCAkeGh0bWxtcFN1cHBvcnQsICR3b3JrZXJzU3Vw
cG9ydCwKQEAgLTk3LDYgKzk3LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+
ICJkaXJlY3RvcnktdXBsb2FkIiwgZGVzYyA9PiAiVG9vZ2xlIERpcmVjdG9yeSB1cGxvYWQgc3Vw
cG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEIiwgZGVmYXVs
dCA9PiAwLCB2YWx1ZSA9PiBcJGRpcmVjdG9yeVVwbG9hZFN1cHBvcnQgfSwKIAorICAgIHsgb3B0
aW9uID0+ICJkZXZpY2Utb3JpZW50YXRpb24iLCBkZXNjID0+ICJUb2dnbGUgRGV2aWNlIE9yaWVu
dGF0aW9uL0FjY2VsZXJvbWV0ZXIgU3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04iLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkZGV2aWNlT3JpZW50
YXRpb25TdXBwb3J0IH0sCisKICAgICB7IG9wdGlvbiA9PiAiZG9tLXN0b3JhZ2UiLCBkZXNjID0+
ICJUb2dnbGUgRE9NIFN0b3JhZ2UgU3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9E
T01fU1RPUkFHRSIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRkb21TdG9yYWdlU3VwcG9ydCB9
LAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62637</attachid>
            <date>2010-07-26 19:14:30 -0700</date>
            <delta_ts>2010-08-02 20:31:12 -0700</delta_ts>
            <desc>updated patch with new testcases</desc>
            <filename>accel2.patch</filename>
            <type>text/plain</type>
            <size>92691</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZjg1YTMyLi5kNTFmOGJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTAtMDct
MjMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisK
KyAgICAgICAgQWRkIEFjY2VsZXJvbWV0ZXJFdmVudCBhbmQgb25hY2NlbGVyb21ldGVyIHRlc3Rp
bmcgdG8KKyAgICAgICAgdGhlIGRldmljZS1vcmllbnRhdGlvbiB0ZXN0LCBhbmQgbWFrZSBzdXJl
IHRoZSBhY2NlbGVyb21ldGVyCisgICAgICAgIGludGVyZmFjZSBpcyBub3QgdGVzdGVkIGluIHRo
ZSBnZW5lcmljIHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6CisK
KyAgICAgICAgQWRkIHNvbWUgdGVzdHMgb24gdGhlIEFjY2VsZXJvbWV0ZXJFdmVudCBpbnRlcmZh
Y2UuCisKKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL2NyZWF0ZS1ldmVudC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvY3JlYXRl
LWV2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvb3B0
aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZG9tL0FjY2VsZXJvbWV0ZXIvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL3NjcmlwdC10ZXN0cy9URU1QTEFU
RS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL3NjcmlwdC10
ZXN0cy9jcmVhdGUtZXZlbnQuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0FjY2VsZXJv
bWV0ZXIvc2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanM6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9w
ZXJ0eS5qczogQWRkZWQuCisgICAgICAgIChoYXNBY2NlbGVyb21ldGVyRXZlbnRQcm9wZXJ0eSk6
CisgICAgICAgIChoYXNPbkFjY2VsZXJvbWV0ZXJQcm9wZXJ0eSk6CisgICAgICAgICogZmFzdC9k
b20vQWNjZWxlcm9tZXRlci93aW5kb3ctcHJvcGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL3dpbmRvdy1wcm9wZXJ0eS5odG1sOiBBZGRl
ZC4KKworICAgICAgICBNYWtlIHN1cmUgdGhlc2UgYXJlIHNraXBwZWQgb24gTWFjLCBXaW4sIEdU
SyBhbmQgUVQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxh
dGZvcm0vd2luL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKwogMjAxMC0wNy0xOSAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvY3JlYXRlLWV2
ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvY3Jl
YXRlLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5hNGE3NjNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxl
cm9tZXRlci9jcmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjQgQEAKK1Rlc3Rz
IHRoYXQgZG9jdW1lbnQuY3JlYXRlRXZlbnQoKSB3b3JrcyB3aXRoIEFjY2VsZXJvbWV0ZXJFdmVu
dC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIGV2ZW50ID09
ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgJ3R5cGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2J1
YmJsZXMnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NhbmNlbGFibGUnIGluIGV2ZW50IGlzIHRy
dWUKK1BBU1MgJ3gnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3knIGluIGV2ZW50IGlzIHRydWUK
K1BBU1MgJ3onIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2ludGVydmFsJyBpbiBldmVudCBpcyB0
cnVlCitQQVNTIHR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIGlzIHRydWUKK1BBU1MgdHlw
ZW9mIGV2ZW50LmJ1YmJsZXMgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50
LmNhbmNlbGFibGUgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnggPT0g
J29iamVjdCcgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQueSA9PSAnb2JqZWN0JyBpcyB0cnVl
CitQQVNTIHR5cGVvZiBldmVudC56ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2
ZW50LmludGVydmFsID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9BY2NlbGVyb21ldGVyL2NyZWF0ZS1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vQWNjZWxlcm9tZXRlci9jcmVhdGUtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi41NDVmOTYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vQWNjZWxlcm9tZXRlci9jcmVhdGUtZXZlbnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8
aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2Ny
aXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL29wdGlvbmFs
LWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNj
ZWxlcm9tZXRlci9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmYzYWU4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci9vcHRpb25hbC1ldmVudC1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ0IEBACitUZXN0cyB0aGUgb3B0aW9uYWwgcHJv
cGVydGllcyBvZiBBY2NlbGVyb21ldGVyRXZlbnQuIEVhY2ggcHJvcGVydHkgc2hvdWxkIGJlIG51
bGwgaWYgbm90IHNldCwgb3Igc2V0IHRvIG51bGwgb3IgdW5kZWZpbmVkLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnQWNjZWxl
cm9tZXRlckV2ZW50JykKK1BBU1MgZXZlbnQueCA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQu
eSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZl
bnQuaW50ZXJ2YWwgPT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50
KCcnLCBmYWxzZSwgZmFsc2UsIDAsIDEsIDIsIDMpCitQQVNTIGV2ZW50LnggPT0gMCBpcyB0cnVl
CitQQVNTIGV2ZW50LnkgPT0gMSBpcyB0cnVlCitQQVNTIGV2ZW50LnogPT0gMiBpcyB0cnVlCitQ
QVNTIGV2ZW50LmludGVydmFsID09IDMgaXMgdHJ1ZQorZXZlbnQuaW5pdEFjY2VsZXJvbWV0ZXJF
dmVudCgpCitQQVNTIGV2ZW50LnggPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnkgPT0gbnVs
bCBpcyB0cnVlCitQQVNTIGV2ZW50LnogPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmludGVy
dmFsID09IG51bGwgaXMgdHJ1ZQorZXZlbnQuaW5pdEFjY2VsZXJvbWV0ZXJFdmVudCgnJywgZmFs
c2UsIGZhbHNlLCBbXSwgW10sIFtdLCBbXSkKK1BBU1MgZXZlbnQueCA9PSAwIGlzIHRydWUKK1BB
U1MgZXZlbnQueSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQueiA9PSAwIGlzIHRydWUKK1BBU1Mg
ZXZlbnQuaW50ZXJ2YWwgPT0gMCBpcyB0cnVlCitldmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50
KCcnLCBmYWxzZSwgZmFsc2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVm
aW5lZCkKK1BBU1MgZXZlbnQueCA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueSA9PSBudWxs
IGlzIHRydWUKK1BBU1MgZXZlbnQueiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2
YWwgPT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxz
ZSwgZmFsc2UsICcnLCAnJywgJycsICcnKQorUEFTUyBldmVudC54ID09IDAgaXMgdHJ1ZQorUEFT
UyBldmVudC55ID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC56ID09IDAgaXMgdHJ1ZQorUEFTUyBl
dmVudC5pbnRlcnZhbCA9PSAwIGlzIHRydWUKK2V2ZW50LmluaXRBY2NlbGVyb21ldGVyRXZlbnQo
JycsIGZhbHNlLCBmYWxzZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCkKK1BBU1MgZXZlbnQueCA9
PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQu
eiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCBpcyB0cnVlCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci9vcHRpb25hbC1ldmVudC1w
cm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL29wdGlv
bmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4yMTI2NjlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNj
ZWxlcm9tZXRlci9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKQEAgLTAsMCArMSwxMiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2Vs
ZXJvbWV0ZXIvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9BY2NlbGVyb21ldGVyL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzMTk2M2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCkBA
IC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL3Nj
cmlwdC10ZXN0cy9jcmVhdGUtZXZlbnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVy
b21ldGVyL3NjcmlwdC10ZXN0cy9jcmVhdGUtZXZlbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZWIyN2ExNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcwpAQCAtMCww
ICsxLDIzIEBACitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBkb2N1bWVudC5jcmVhdGVFdmVudCgp
IHdvcmtzIHdpdGggQWNjZWxlcm9tZXRlckV2ZW50LiIpOworCit2YXIgZXZlbnQgPSBkb2N1bWVu
dC5jcmVhdGVFdmVudCgnQWNjZWxlcm9tZXRlckV2ZW50Jyk7CisKK3Nob3VsZEJlVHJ1ZSgidHlw
ZW9mIGV2ZW50ID09ICdvYmplY3QnIik7CisKK3Nob3VsZEJlVHJ1ZSgiJ3R5cGUnIGluIGV2ZW50
Iik7CitzaG91bGRCZVRydWUoIididWJibGVzJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCIn
Y2FuY2VsYWJsZScgaW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3gnIGluIGV2ZW50Iik7Citz
aG91bGRCZVRydWUoIid5JyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCIneicgaW4gZXZlbnQi
KTsKK3Nob3VsZEJlVHJ1ZSgiJ2ludGVydmFsJyBpbiBldmVudCIpOworCitzaG91bGRCZVRydWUo
InR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBl
dmVudC5idWJibGVzID09ICdib29sZWFuJyIpOworc2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQu
Y2FuY2VsYWJsZSA9PSAnYm9vbGVhbiciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50Lngg
PT0gJ29iamVjdCciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnkgPT0gJ29iamVjdCci
KTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnogPT0gJ29iamVjdCciKTsKK3Nob3VsZEJl
VHJ1ZSgidHlwZW9mIGV2ZW50LmludGVydmFsID09ICdvYmplY3QnIik7CisKK3dpbmRvdy5zdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
QWNjZWxlcm9tZXRlci9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2NyaXB0LXRlc3RzL29wdGlvbmFs
LWV2ZW50LXByb3BlcnRpZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ODEyMzNmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJv
bWV0ZXIvc2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanMKQEAgLTAsMCAr
MSw0NyBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIG9mIEFj
Y2VsZXJvbWV0ZXJFdmVudC4gRWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0
LCBvciBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQuIik7CisKK3ZhciBldmVudDsKKworZXZhbEFu
ZExvZygiZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnQWNjZWxlcm9tZXRlckV2ZW50Jyki
KTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueCA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50
LnkgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC56ID09IG51bGwiKTsKK3Nob3VsZEJl
VHJ1ZSgiZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCIpOworCitldmFsQW5kTG9nKCJldmVudC5pbml0
QWNjZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIDAsIDEsIDIsIDMpIik7CitzaG91
bGRCZVRydWUoImV2ZW50LnggPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55ID09IDEiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQueiA9PSAyIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVy
dmFsID09IDMiKTsKKworZXZhbEFuZExvZygiZXZlbnQuaW5pdEFjY2VsZXJvbWV0ZXJFdmVudCgp
Iik7CitzaG91bGRCZVRydWUoImV2ZW50LnggPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVu
dC55ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueiA9PSBudWxsIik7CitzaG91bGRC
ZVRydWUoImV2ZW50LmludGVydmFsID09IG51bGwiKTsKKworZXZhbEFuZExvZygiZXZlbnQuaW5p
dEFjY2VsZXJvbWV0ZXJFdmVudCgnJywgZmFsc2UsIGZhbHNlLCBbXSwgW10sIFtdLCBbXSkiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQueCA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnkgPT0g
MCIpOworc2hvdWxkQmVUcnVlKCJldmVudC56ID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
aW50ZXJ2YWwgPT0gMCIpOworCitldmFsQW5kTG9nKCJldmVudC5pbml0QWNjZWxlcm9tZXRlckV2
ZW50KCcnLCBmYWxzZSwgZmFsc2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVu
ZGVmaW5lZCkiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueCA9PSBudWxsIik7CitzaG91bGRCZVRy
dWUoImV2ZW50LnkgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC56ID09IG51bGwiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCIpOworCitldmFsQW5kTG9nKCJl
dmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsICcnLCAnJywgJycs
ICcnKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54ID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZl
bnQueSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnogPT0gMCIpOworc2hvdWxkQmVUcnVl
KCJldmVudC5pbnRlcnZhbCA9PSAwIik7CisKK2V2YWxBbmRMb2coImV2ZW50LmluaXRBY2NlbGVy
b21ldGVyRXZlbnQoJycsIGZhbHNlLCBmYWxzZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCkiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQueCA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50Lnkg
PT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC56ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCIpOworCit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIv
c2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0Fj
Y2VsZXJvbWV0ZXIvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNmE1NmM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5
LmpzCkBAIC0wLDAgKzEsMzEgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHRoZSB3aW5kb3cu
QWNjZWxlcm9tZXRlckV2ZW50IGFuZCB3aW5kb3cub25hY2NlbGVyb21ldGVyIHByb3BlcnRpZXMg
YXJlIHByZXNlbnQuIik7CisKK2Z1bmN0aW9uIGhhc0FjY2VsZXJvbWV0ZXJFdmVudFByb3BlcnR5
KCkKK3sKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB3aW5kb3cpIHsKKyAgICAgICAgaWYgKHBy
b3BlcnR5ID09ICJBY2NlbGVyb21ldGVyRXZlbnQiKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworc2hvdWxkQmVUcnVlKCJ0eXBlb2Ygd2lu
ZG93LkFjY2VsZXJvbWV0ZXJFdmVudCA9PSAnb2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNB
Y2NlbGVyb21ldGVyRXZlbnRQcm9wZXJ0eSgpIik7CitzaG91bGRCZVRydWUoIidBY2NlbGVyb21l
dGVyRXZlbnQnIGluIHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVy
dHkoJ0FjY2VsZXJvbWV0ZXJFdmVudCcpIik7CisKK2Z1bmN0aW9uIGhhc09uQWNjZWxlcm9tZXRl
clByb3BlcnR5KCkKK3sKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB3aW5kb3cpIHsKKyAgICAg
ICAgaWYgKHByb3BlcnR5ID09ICJvbmFjY2VsZXJvbWV0ZXIiKQorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworc2hvdWxkQmVUcnVlKCJ0eXBl
b2Ygd2luZG93Lm9uYWNjZWxlcm9tZXRlciA9PSAnb2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJo
YXNPbkFjY2VsZXJvbWV0ZXJQcm9wZXJ0eSgpIik7CitzaG91bGRCZVRydWUoIidvbmFjY2VsZXJv
bWV0ZXInIGluIHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVydHko
J29uYWNjZWxlcm9tZXRlcicpIik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci93aW5kb3ct
cHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRl
ci93aW5kb3ctcHJvcGVydHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmYwMDk5MzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9BY2NlbGVyb21ldGVyL3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorVGVzdHMgdGhhdCB0aGUgd2luZG93LkFjY2VsZXJvbWV0ZXJFdmVudCBhbmQgd2luZG93
Lm9uYWNjZWxlcm9tZXRlciBwcm9wZXJ0aWVzIGFyZSBwcmVzZW50LgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyB0eXBlb2Ygd2luZG93LkFjY2VsZXJvbWV0ZXJFdmVudCA9
PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIGhhc0FjY2VsZXJvbWV0ZXJFdmVudFByb3BlcnR5KCkg
aXMgdHJ1ZQorUEFTUyAnQWNjZWxlcm9tZXRlckV2ZW50JyBpbiB3aW5kb3cgaXMgdHJ1ZQorUEFT
UyB3aW5kb3cuaGFzT3duUHJvcGVydHkoJ0FjY2VsZXJvbWV0ZXJFdmVudCcpIGlzIHRydWUKK1BB
U1MgdHlwZW9mIHdpbmRvdy5vbmFjY2VsZXJvbWV0ZXIgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFT
UyBoYXNPbkFjY2VsZXJvbWV0ZXJQcm9wZXJ0eSgpIGlzIHRydWUKK1BBU1MgJ29uYWNjZWxlcm9t
ZXRlcicgaW4gd2luZG93IGlzIHRydWUKK1BBU1Mgd2luZG93Lmhhc093blByb3BlcnR5KCdvbmFj
Y2VsZXJvbWV0ZXInKSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxl
cm9tZXRlci93aW5kb3ctcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2Vs
ZXJvbWV0ZXIvd2luZG93LXByb3BlcnR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZTEyMjAzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0FjY2VsZXJvbWV0ZXIvd2luZG93LXByb3BlcnR5Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy93aW5kb3ctcHJvcGVydHkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0
aWVzLWRldmljZS1vcmllbnRhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4
dAppbmRleCA2MjgwMWViLi4xZDhiMjIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2
aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDcgQEAKLVRoaXMgdGVzdCBk
dW1wcyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhY2hhYmxlIGZyb20gdGhlIHdp
bmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2VvcmllbnRhdGlv
biBvYmplY3RzLCBhbG9uZyB3aXRoIHRoZWlyIHR5cGVzLgorVGhpcyB0ZXN0IGR1bXBzIGFsbCBv
ZiB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmlj
ZU9yaWVudGF0aW9uRXZlbnQsIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uLCB3aW5kb3cuQWNj
ZWxlcm9tZXRlckV2ZW50IGFuZCB3aW5kb3cub25hY2NlbGVyb21ldGVyIG9iamVjdHMsIGFsb25n
IHdpdGggdGhlaXIgdHlwZXMuCiAKIHdpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IFtmdW5j
dGlvbl0KIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIFtudWxsXQord2luZG93LkFjY2VsZXJh
dGlvbkV2ZW50IFtmdW5jdGlvbl0KK3dpbmRvdy5vbmFjY2VsZXJhdGlvbiBbbnVsbF0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRl
dmljZS1vcmllbnRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRv
dy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRhdGlvbi5odG1sCmluZGV4IDk3ZTAwYmIuLmNjYzlk
ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKQEAgLTEsNCAr
MSw1IEBACi08cD5UaGlzIHRlc3QgZHVtcHMgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJl
IHJlYWNoYWJsZSBmcm9tIHRoZSB3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudCBhbmQgd2lu
ZG93Lm9uZGV2aWNlb3JpZW50YXRpb24gb2JqZWN0cywgYWxvbmcgd2l0aCB0aGVpciB0eXBlcy48
L3A+Cis8cD5UaGlzIHRlc3QgZHVtcHMgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIHJl
YWNoYWJsZSBmcm9tIHRoZSB3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudCwgd2luZG93Lm9u
ZGV2aWNlb3JpZW50YXRpb24sIHdpbmRvdy5BY2NlbGVyb21ldGVyRXZlbnQgYW5kIHdpbmRvdy5v
bmFjY2VsZXJvbWV0ZXIgb2JqZWN0cywgYWxvbmcgd2l0aCB0aGVpciB0eXBlcy4KKyAgVGhlc2Ug
cHJvcGVydGllcyBhcmUgY3VycmVudGx5IGd1YXJkZWQgYnkgRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTi48L3A+CiA8aHI+CiA8cHJlIGlkPSJwcmUiPjwvcHJlPgogCkBAIC05MCw1ICs5MSw3IEBA
IGZ1bmN0aW9uIGxvZ1Byb3BlcnRpZXMob2JqZWN0LCBvYmplY3ROYW1lKQogCiBsb2dWYWx1ZSgn
d2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQnKTsKIGxvZ1ZhbHVlKCd3aW5kb3cub25kZXZp
Y2VvcmllbnRhdGlvbicpOworbG9nVmFsdWUoJ3dpbmRvdy5BY2NlbGVyb21ldGVyRXZlbnQnKTsK
K2xvZ1ZhbHVlKCd3aW5kb3cub25hY2NlbGVyb21ldGVyJyk7CiBmbHVzaExvZygpOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3Bl
cnRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy5odG1sCmluZGV4IGMxMzVhOWIuLjE5OTFlOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sCkBAIC04NSw2ICs4NSw4IEBAIHZh
ciBfX3NraXBfXyA9IHsKICAgICAid2luZG93LkZpbGVSZWFkZXIiIDogMSwKICAgICAid2luZG93
LkRldmljZU9yaWVudGF0aW9uRXZlbnQiIDogMSwKICAgICAid2luZG93Lm9uZGV2aWNlb3JpZW50
YXRpb24iIDogMSwKKyAgICAid2luZG93LkFjY2VsZXJvbWV0ZXJFdmVudCIgOiAxLAorICAgICJ3
aW5kb3cub25hY2NlbGVyb21ldGVyIiA6IDEsCiAgICAgIndpbmRvdy53ZWJraXRQZXJmb3JtYW5j
ZSIgOiAxLAogCiAgICAgLy8gc2hvd01vZGFsRGlhbG9nIGlzIG5vdCBpbXBsZW1lbnRlZCBvbiBh
bGwgcGxhdGZvcm1zIGluIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApp
bmRleCA0OTU5YTk0Li44Njc4YjNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMTEw
OSw2ICsxMTA5LDkgQEAgZmFzdC9kb20vY2xpZW50LXdpZHRoLWhlaWdodC1xdWlya3MuaHRtbAog
ZmFzdC9kb20vY2xpZW50LXdpZHRoLWhlaWdodC5odG1sCiBmYXN0L2RvbS9jc3NUYXJnZXQtY3Jh
c2guaHRtbAogZmFzdC9kb20vZnJhbWUtbG9hZGluZy12aWEtZG9jdW1lbnQtd3JpdGUuaHRtbAor
ZmFzdC9kb20vQWNjZWxlcm9tZXRlci9jcmVhdGUtZXZlbnQuaHRtbAorZmFzdC9kb20vQWNjZWxl
cm9tZXRlci9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKK2Zhc3QvZG9tL0FjY2VsZXJv
bWV0ZXIvd2luZG93LXByb3BlcnR5Lmh0bWwKIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL2Ny
ZWF0ZS1ldmVudC5odG1sCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVu
dC1wcm9wZXJ0aWVzLmh0bWwKIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL3dpbmRvdy1wcm9w
ZXJ0eS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IGUwNDYwOTIuLjZkOTRjOGIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0yNTYsNyArMjU2LDggQEAgY2FudmFzL3Bo
aWxpcC90ZXN0cy90eXBlLnByb3RvdHlwZS5odG1sCiAjIEluZGV4ZWREQiBpcyBub3QgeWV0IGVu
YWJsZWQuCiBzdG9yYWdlL2luZGV4ZWRkYgogCi0jIFRoaXMgcG9ydCBkb2Vzbid0IHN1cHBvcnQg
RGV2aWNlT3JpZW50YXRpb24uCisjIFRoaXMgcG9ydCBkb2Vzbid0IHN1cHBvcnQgRGV2aWNlT3Jp
ZW50YXRpb24gb3IgQWNjZWxlcm9tZXRlci4KK2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIKIGZhc3Qv
ZG9tL0RldmljZU9yaWVudGF0aW9uCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
ZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggNzkz
MmNkNS4uZDM1OWU4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC03Nyw3ICs3Nyw4IEBA
IHBsdWdpbnMvY2xpY2tpbmctbWlzc2luZy1wbHVnaW4tZmlyZXMtZGVsZWdhdGUuaHRtbAogIyAg
ICAgICBGZWF0dXJlIG5vdCBzdXBwb3J0ZWQuLi4geWV0CiAjID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAj
CiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VPcmllbnRhdGlvbi4KKyMgVGhp
cyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VPcmllbnRhdGlvbiBvciBBY2NlbGVyb21ldGVy
LgorZmFzdC9kb20vQWNjZWxlcm9tZXRlcgogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24KIGZh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDcwMjY4YjIuLjg0ZTMwMzggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC04ODMsNyArODgzLDggQEAgZWRpdGluZy9zcGVsbGluZy9j
b250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbAogIyBJbmRleGVkREIgaXMgbm90IHlldCBlbmFi
bGVkLgogc3RvcmFnZS9pbmRleGVkZGIKIAotIyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IERl
dmljZU9yaWVudGF0aW9uLgorIyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IERldmljZU9yaWVu
dGF0aW9uIG9yIEFjY2VsZXJvbWV0ZXIuCitmYXN0L2RvbS9BY2NlbGVyb21ldGVyCiBmYXN0L2Rv
bS9EZXZpY2VPcmllbnRhdGlvbgogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRl
dmljZS1vcmllbnRhdGlvbi5odG1sCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJp
dmVkLmpzY2JpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3Mu
bWsKaW5kZXggZjZhYWQwZC4uYTRjYmM4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRl
cml2ZWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmlu
ZGluZ3MubWsKQEAgLTkzLDYgKzkzLDcgQEAgJChwYXRzdWJzdCAlLmgsJS5jcHAsJChHRU4pKTog
JChpbnRlcm1lZGlhdGVzKS9jc3MvJS5jcHAgOiAkKGludGVybWVkaWF0ZXMpL2Nzcy8KIAogIyBE
T00KIEdFTiA6PSBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNBY2NlbGVyb21ldGVyRXZl
bnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNBdHRyLmggXAogICAgICQoaW50ZXJt
ZWRpYXRlcykvZG9tL0pTQmVmb3JlTG9hZEV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykv
ZG9tL0pTQ0RBVEFTZWN0aW9uLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsK
aW5kZXggMWU3ZmEzNy4uMWFhODhmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdz
Lm1rCkBAIC03NSw2ICs3NSw3IEBAICQocGF0c3Vic3QgJS5oLCUuY3BwLCQoR0VOKSk6ICQoaW50
ZXJtZWRpYXRlcykvYmluZGluZ3MvJS5jcHAgOiAkKGludGVybWVkaWF0ZXMpCiAKICMgRE9NCiBH
RU4gOj0gXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhBY2NlbGVyb21ldGVyRXZl
bnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEF0dHIuaCBcCiAgICAgJChp
bnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEJlZm9yZUxvYWRFdmVudC5oIFwKICAgICAkKGludGVy
bWVkaWF0ZXMpL2JpbmRpbmdzL1Y4Q0RBVEFTZWN0aW9uLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1r
CmluZGV4IDJlZTQyNzYuLjJjMTA5Y2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5qc2Ni
aW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKQEAgLTU5LDYg
KzU5LDcgQEAgQklORElOR19DX0lOQ0xVREVTIDo9IFwKIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJ
YmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcCBcCiAJYmluZGluZ3MvanMvSURCQmluZGluZ1V0
aWxpdGllcy5jcHAgXAorCWJpbmRpbmdzL2pzL0pTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNw
cCBcCiAJYmluZGluZ3MvanMvSlNBdHRyQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNBdWRp
b0NvbnN0cnVjdG9yLmNwcCBcCiAJYmluZGluZ3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3Bw
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawpp
bmRleCBiYWRkODRlLi4wZDdlN2Q2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysr
IGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC05NSw2ICs5NSw5IEBAIExPQ0FMX1NSQ19GSUxFUyA6
PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCWNzcy9XZWJLaXRDU1NNYXRyaXguY3BwIFwKIAljc3Mv
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIFwKIAlcCisJZG9tL0FjY2VsZXJvbWV0ZXJDb250
cm9sbGVyLmNwcCBcCisJZG9tL0FjY2VsZXJvbWV0ZXJEYXRhLmNwcCBcCisJZG9tL0FjY2VsZXJv
bWV0ZXJFdmVudC5jcHAgXAogCWRvbS9BY3RpdmVET01PYmplY3QuY3BwIFwKIAlkb20vQXR0ci5j
cHAgXAogCWRvbS9BdHRyaWJ1dGUuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC52
OGJpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsKaW5kZXggYjM2YmVh
Yi4uM2YwOTczNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsKKysr
IGIvV2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsKQEAgLTg1LDYgKzg1LDcgQEAgTE9DQUxf
U1JDX0ZJTEVTICs9IFwKIAlcCiAJYmluZGluZ3MvdjgvbnBydW50aW1lLmNwcCBcCiAJXAorCWJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEFjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAgXAogCWJpbmRp
bmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20v
VjhDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q1NTU3R5bGVTaGVldEN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMmNjNDJmZi4uODA3MzI4YyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CkBAIC0xMzAsNiArMTMwLDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgY3NzL1dl
YktpdENTU01hdHJpeC5pZGwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaWRsCiAK
KyAgICBkb20vQWNjZWxlcm9tZXRlckV2ZW50LmlkbAogICAgIGRvbS9BdHRyLmlkbAogICAgIGRv
bS9CZWZvcmVMb2FkRXZlbnQuaWRsCiAgICAgZG9tL0NEQVRBU2VjdGlvbi5pZGwKQEAgLTU2Myw2
ICs1NjQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvR0NDb250cm9s
bGVyLmNwcAogICAgIGJpbmRpbmdzL2pzL0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwCiAgICAgYmlu
ZGluZ3MvanMvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU0FjY2Vs
ZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0F0dHJDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3BwCiAgICAgYmluZGluZ3MvanMvSlND
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwCkBAIC03NjEsNiArNzYzLDkgQEAgU0VU
KFdlYkNvcmVfU09VUkNFUwogICAgIGNzcy9XZWJLaXRDU1NNYXRyaXguY3BwCiAgICAgY3NzL1dl
YktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcAogCisgICAgZG9tL0FjY2VsZXJvbWV0ZXJDb250cm9s
bGVyLmNwcAorICAgIGRvbS9BY2NlbGVyb21ldGVyRGF0YS5jcHAKKyAgICBkb20vQWNjZWxlcm9t
ZXRlckV2ZW50LmNwcAogICAgIGRvbS9BY3RpdmVET01PYmplY3QuY3BwCiAgICAgZG9tL0F0dHIu
Y3BwCiAgICAgZG9tL0F0dHJpYnV0ZS5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWI0Y2I0MC4uMGIzY2ExNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MiBA
QAorMjAxMC0wNy0yMyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODY1CisgICAgICAgIEltcGxlbWVudCBBY2NlbGVyb21l
dGVyRXZlbnQKKworICAgICAgICBJbXBsZW1lbnQgdGhlIEFjY2VsZXJvbWV0ZXJFdmVudCBpbnRl
cmZhY2UgYXMgZGVmaW5lZAorICAgICAgICBpbiBodHRwOi8vZGV2LnczLm9yZy9nZW8vYXBpL3Nw
ZWMtc291cmNlLW9yaWVudGF0aW9uLmh0bWwKKyAgICAgICAgVGhpcyBpcyBjdXJyZW50bHkgYW4g
ZW1wdHkgaW1wbGVtZW50YXRpb24sIGluIHRoYXQgdGhlcmUgaXMKKyAgICAgICAgbm8gYWNjZWxl
cm9tZXRlciBjbGllbnQgY29ubmVjdGVkIC0gdGhlIHBsYXRmb3JtIGltcGxlbWVudGF0aW9ucwor
ICAgICAgICB3aWxsIG5lZWQgdG8gZG8gdGhhdC4KKworICAgICAgICBUZXN0czogZmFzdC9kb20v
QWNjZWxlcm9tZXRlci9jcmVhdGUtZXZlbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20v
QWNjZWxlcm9tZXRlci9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvd2luZG93LXByb3BlcnR5Lmh0bWwKKworICAgICAg
ICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLmRl
cml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLmpzY2JpbmRpbmdzLm1rOgor
ICAgICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQW5kcm9pZC52OGJpbmRpbmdzLm1rOgor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5leHAuaW46Cisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAq
IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgICAtIEFkZCBuZXcgZmlsZXMgZm9yIEFjY2Vs
ZXJvbWV0ZXJFdmVudCBidWlsZCBzdXBwb3J0CisgICAgICAgICogYmluZGluZ3MvanMvSlNBY2Nl
bGVyb21ldGVyRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgICAt
IEN1c3RvbSBKUyBiaW5kaW5nIHRvIHRyYW5zbGF0ZSBwcm9wZXJ0eSBhY2Nlc3MgdGhyb3VnaAor
ICAgICAgICAgICAgdG8gdGhlIEFjY2VsZXJvbWV0ZXJEYXRhIG9iamVjdCB0aGF0IHRoZSBFdmVu
dCBob2xkcworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwOgorICAgICAg
ICAgIC0gSW5jbHVkZSB0aGUgY3VzdG9tIGNvZGUgZm9yIEFjY2VsZXJvbWV0ZXJFdmVudAorICAg
ICAgICAqIGRvbS9BY2NlbGVyb21ldGVyQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAgIC0gUHVy
ZSB2aXJ0dWFsIGNsaWVudCBmb3IgQWNjZWxlcm9tZXRlciBhY2Nlc3MKKyAgICAgICAgKiBkb20v
QWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBkb20vQWNjZWxl
cm9tZXRlckNvbnRyb2xsZXIuaDogQWRkZWQuCisgICAgICAgICAgLSBDb250cm9sbGVyIGNsYXNz
IGZvciBtYW5hZ2luZyBldmVudCBkaXNwYXRjaAorICAgICAgICAqIGRvbS9BY2NlbGVyb21ldGVy
RGF0YS5jcHA6IEFkZGVkLgorICAgICAgICAqIGRvbS9BY2NlbGVyb21ldGVyRGF0YS5oOiBBZGRl
ZC4KKyAgICAgICAgICAtIFJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRhIHRoYXQgY29tZXMgZnJv
bSBhbiBhY2NlbGVyb21ldGVyCisgICAgICAgICAgICBjbGllbnQgdGhhdCB0aGUgZXZlbnQgd2ls
bCB1c2UKKyAgICAgICAgKiBkb20vQWNjZWxlcm9tZXRlckV2ZW50LmNwcDogQWRkZWQuCisgICAg
ICAgICogZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vQWNj
ZWxlcm9tZXRlckV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICAgLSBUaGUgYWN0dWFsIGV2ZW50
IGltcGxlbWVudGF0aW9uCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFdmVudCk6CisgICAgICAgICAgLSBVcGRhdGUgY3JlYXRl
RXZlbnQgdG8gYWxsb3cgImFjY2VsZXJvbWV0ZXIiIGV2ZW50cworICAgICAgICAqIGRvbS9FdmVu
dC5jcHA6CisgICAgICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAgICAgLSBpc0FjY2VsZXJvbWV0
ZXJFdmVudCB2aXJ0dWFsIG1ldGhvZAorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAg
ICAgICAgLSBhZGQgbmV3ICJhY2NlbGVyb21ldGVyIiBldmVudCB0eXBlCisgICAgICAgICogcGFn
ZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICog
cGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAgIC0gYWxsb3cgY3JlYXRpb24gb2YgImFjY2Vs
ZXJvbWV0ZXIiIGV2ZW50cyBhbmQgcGFzcworICAgICAgICAgICAgaXQgdGhyb3VnaCB0byB0aGUg
UGFnZSdzIGFjY2VsZXJvbWV0ZXJDb250cm9sbGVyIG9iamVjdAorICAgICAgICAqIHBhZ2UvUGFn
ZS5jcHA6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICAgLSBhZGQgYSByZWZlcmVu
Y2UgdG8gYW4gQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3Mv
U1ZHSW1hZ2UuY3BwOgorICAgICAgICAgIC0gUGFnZSBjb25zdHJ1Y3RvciBub3cgaGFzIGFuIGV4
dHJhIHBhcmFtZXRlcgorCiAyMDEwLTA3LTE5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CmluZGV4IDdjNTNlODYuLjlmNTk4ZWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTUwLDYgKzUwLDcg
QEAgVlBBVEggPSBcCiBET01fQ0xBU1NFUyA9IFwKICAgICBBYnN0cmFjdFZpZXcgXAogICAgIEFi
c3RyYWN0V29ya2VyIFwKKyAgICBBY2NlbGVyb21ldGVyRXZlbnQgXAogICAgIEF0dHIgXAogICAg
IEJhckluZm8gXAogICAgIEJlZm9yZUxvYWRFdmVudCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBkZmQ3OGViLi5mMmFm
MmUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KQEAgLTEwMCw2ICsxMDAsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0g
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNBYnN0cmFjdFdvcmtlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNBYnN0cmFjdFdvcmtlci5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWNjZWxlcm9t
ZXRlckV2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FjY2VsZXJvbWV0ZXJF
dmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXJyYXlCdWZmZXIuY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXJyYXlCdWZmZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FycmF5QnVmZmVyVmlldy5jcHAgXApAQCAtNjI3LDYgKzYyOSw3IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuaCBc
CiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwIFwKIAlXZWJDb3JlL2JpbmRp
bmdzL2pzL0dDQ29udHJvbGxlci5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQWNjZWxlcm9t
ZXRlckV2ZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F0dHJDdXN0b20u
Y3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RhdGFHcmlkQ29sdW1uTGlzdEN1c3RvbS5jcHAgXApAQCAt
OTYzLDYgKzk2NiwxMyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvY3NzL1dlYktp
dENTU01hdHJpeC5oIFwKIAlXZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAg
XAogCVdlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggXAorCVdlYkNvcmUvZG9t
L0FjY2VsZXJvbWV0ZXJDbGllbnQuaCBcCisJV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckNvbnRy
b2xsZXIuY3BwIFwKKwlXZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5oIFwKKwlX
ZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRGF0YS5jcHAgXAorCVdlYkNvcmUvZG9tL0FjY2VsZXJv
bWV0ZXJEYXRhLmggXAorCVdlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5jcHAgXAorCVdl
YkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5oIFwKIAlXZWJDb3JlL2RvbS9BY3RpdmVET01P
YmplY3QuY3BwIFwKIAlXZWJDb3JlL2RvbS9BY3RpdmVET01PYmplY3QuaCBcCiAJV2ViQ29yZS9k
b20vQXR0ci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNDVhZDgzYy4uYWY3YTgyMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC01MTks
NyArNTE5LDcgQEAgX19aTjdXZWJDb3JlNFBhZ2U2Z29CYWNrRXYKIF9fWk43V2ViQ29yZTRQYWdl
OGdvVG9JdGVtRVBOU18xMUhpc3RvcnlJdGVtRU5TXzEzRnJhbWVMb2FkVHlwZUUKIF9fWk43V2Vi
Q29yZTRQYWdlOWdvRm9yd2FyZEV2CiBfX1pON1dlYkNvcmU0UGFnZTlpbml0R3JvdXBFdgotX19a
TjdXZWJDb3JlNFBhZ2VDMUVQTlNfMTJDaHJvbWVDbGllbnRFUE5TXzE3Q29udGV4dE1lbnVDbGll
bnRFUE5TXzEyRWRpdG9yQ2xpZW50RVBOU18xMERyYWdDbGllbnRFUE5TXzE1SW5zcGVjdG9yQ2xp
ZW50RVBOU18xOFBsdWdpbkhhbHRlckNsaWVudEVQTlNfMjdHZW9sb2NhdGlvbkNvbnRyb2xsZXJD
bGllbnRFUE5TXzIzRGV2aWNlT3JpZW50YXRpb25DbGllbnRFUE5TXzI3QmFja0ZvcndhcmRDb250
cm9sbGVyQ2xpZW50RQorX19aTjdXZWJDb3JlNFBhZ2VDMUVQTlNfMTJDaHJvbWVDbGllbnRFUE5T
XzE3Q29udGV4dE1lbnVDbGllbnRFUE5TXzEyRWRpdG9yQ2xpZW50RVBOU18xMERyYWdDbGllbnRF
UE5TXzE1SW5zcGVjdG9yQ2xpZW50RVBOU18xOFBsdWdpbkhhbHRlckNsaWVudEVQTlNfMjdHZW9s
b2NhdGlvbkNvbnRyb2xsZXJDbGllbnRFUE5TXzIzRGV2aWNlT3JpZW50YXRpb25DbGllbnRFUE5T
XzE5QWNjZWxlcm9tZXRlckNsaWVudEVQTlNfMjdCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnRF
CiBfX1pON1dlYkNvcmU0UGFnZUQxRXYKIF9fWk43V2ViQ29yZTRjb3JlRVAyME5TVVJMUHJvdGVj
dGlvblNwYWNlCiBfX1pON1dlYkNvcmU0dG9KU0VQTjNKU0M5RXhlY1N0YXRlRVBOU18xN0pTRE9N
R2xvYmFsT2JqZWN0RVBOU18xOUNTU1N0eWxlRGVjbGFyYXRpb25FCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDViZDYxNWIuLjRl
ZjQwY2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC0yOCw2ICsyOCw3IEBACiAgICAgICAgICAgICAnY3NzL1dlYktpdENTU0tl
eWZyYW1lc1J1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTTWF0cml4LmlkbCcs
CiAgICAgICAgICAgICAnY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbCcsCisgICAgICAg
ICAgICAnZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9BdHRy
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0JlZm9yZUxvYWRFdmVudC5pZGwnLAogICAgICAgICAg
ICAgJ2RvbS9CZWZvcmVQcm9jZXNzRXZlbnQuaWRsJywKQEAgLTUxMSw2ICs1MTIsNyBAQAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oJywKICAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
Q2FsbGJhY2tEYXRhLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQWNjZWxlcm9tZXRl
ckV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNBdHRyQ3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNBdWRpb0NvbnN0cnVjdG9yLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNBdWRpb0NvbnN0cnVjdG9yLmgnLApAQCAtNzAz
LDYgKzcwNSw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGll
cy5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuaCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2FudmFzUGl4ZWxBcnJheUN1c3Rv
bS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFjY2VsZXJvbWV0ZXJF
dmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5
QnVmZmVyVmlld0N1c3RvbS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhB
cnJheUJ1ZmZlclZpZXdDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhBcnJheUJ1ZmZlckN1c3RvbS5jcHAnLApAQCAtMTA2Niw2ICsxMDY5LDEzIEBACiAgICAg
ICAgICAgICAnY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgnLAogICAgICAgICAgICAgJ2Rv
bS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL2RlZmF1bHQvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuaCcsCisgICAgICAgICAgICAn
ZG9tL0FjY2VsZXJvbWV0ZXJDbGllbnQuaCcsCisgICAgICAgICAgICAnZG9tL0FjY2VsZXJvbWV0
ZXJDb250cm9sbGVyLmNwcCcsCisgICAgICAgICAgICAnZG9tL0FjY2VsZXJvbWV0ZXJDb250cm9s
bGVyLmgnLAorICAgICAgICAgICAgJ2RvbS9BY2NlbGVyb21ldGVyRGF0YS5jcHAnLAorICAgICAg
ICAgICAgJ2RvbS9BY2NlbGVyb21ldGVyRGF0YS5oJywKKyAgICAgICAgICAgICdkb20vQWNjZWxl
cm9tZXRlckV2ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5o
JywKICAgICAgICAgICAgICdkb20vQWN0aXZlRE9NT2JqZWN0LmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL0FjdGl2ZURPTU9iamVjdC5oJywKICAgICAgICAgICAgICdkb20vQXR0ci5jcHAnLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXgg
YzE3NzYwMy4uMTU3MTEwMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9X
ZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0yNzEsNiArMjcxLDcgQEAgU09VUkNFUyArPSBcCiAgICAg
YmluZGluZ3MvanMvRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmNwcCBcCiAgICAgYmluZGluZ3MvanMv
RE9NV3JhcHBlcldvcmxkLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3Bw
IFwKKyAgICBiaW5kaW5ncy9qcy9KU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAgXAogICAg
IGJpbmRpbmdzL2pzL0pTQXR0ckN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTQ0RBVEFT
ZWN0aW9uQ3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNDYW52YXNSZW5kZXJpbmdDb250
ZXh0Q3VzdG9tLmNwcCBcCkBAIC00NDYsNiArNDQ3LDkgQEAgU09VUkNFUyArPSBcCiAgICAgY3Nz
L1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NTTWF0cml4LmNw
cCBcCiAgICAgY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBcCisgICAgZG9tL0FjY2Vs
ZXJvbWV0ZXJDb250cm9sbGVyLmNwcCBcCisgICAgZG9tL0FjY2VsZXJvbWV0ZXJEYXRhLmNwcCBc
CisgICAgZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5jcHAgXAogICAgIGRvbS9BY3RpdmVET01PYmpl
Y3QuY3BwIFwKICAgICBkb20vQXR0ci5jcHAgXAogICAgIGRvbS9BdHRyaWJ1dGUuY3BwIFwKQEAg
LTEyMDcsNiArMTIxMSwxMCBAQCBIRUFERVJTICs9IFwKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTTWF0cml4LmggXAogICAgIGNzcy9XZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZS5oIFwKKyAgICBkb20vQWNjZWxlcm9tZXRlckNsaWVudC5oIFwKKyAg
ICBkb20vQWNjZWxlcm9tZXRlckRhdGEuaCBcCisgICAgZG9tL0FjY2VsZXJvbWV0ZXJDb250cm9s
bGVyLmggXAorICAgIGRvbS9BY2NlbGVyb21ldGVyRXZlbnQuaCBcCiAgICAgZG9tL0FjdGl2ZURP
TU9iamVjdC5oIFwKICAgICBkb20vQXR0ci5oIFwKICAgICBkb20vQXR0cmlidXRlLmggXApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMGU0NzdjYS4uMjZkYWQwMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02MDEsNiArNjAxLDYyIEBACiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xKU0FjY2VsZXJvbWV0ZXJFdmVudC5j
cHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJv
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTQWNjZWxlcm9tZXRlckV2
ZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNBdHRy
LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0zMjIyNSw2ICszMjI4MSwz
NCBAQAogCQkJTmFtZT0iZG9tIgogCQkJPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGRvbVxBY2NlbGVyb21ldGVyQ2xpZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxBY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxBY2Nl
bGVyb21ldGVyQ29udHJvbGxlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxkb21cQWNjZWxlcm9tZXRlckRhdGEuY3BwIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cQWNjZWxlcm9tZXRlckRh
dGEuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZG9tXEFjY2VsZXJvbWV0ZXJFdmVudC5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxBY2NlbGVyb21ldGVyRXZlbnQuaCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEFjdGl2ZURPTU9i
amVjdC5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNDA4MDAsNiArNDA4ODQsNTggQEAKIAkJ
CQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRp
bmdzXGpzXEpTQWNjZWxlcm9tdGVyRXZlbnRDdXN0b20uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiIK
KwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWly
b3xXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJ
PFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJS
ZWxlYXNlX0NhaXJvfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkv
PgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZp
bGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0F0dHJDdXN0b20uY3BwIgog
CQkJCQk+CiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAyODVlNTA0Li5mMDE4NzlhIDEwMDY0NAotLS0gYS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzAwLDYgKzcwMCwxNiBAQAogCQkyRUNG
N0FFMjEwMTYyQjU4MDA0MjdERTcgLyogRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVDRjdBREYxMDE2MkI1ODAwNDI3REU3IC8qIEVy
cm9yRXZlbnQuaCAqLzsgfTsKIAkJMkVENjA5QkMxMTQ1QjA3MTAwQzg2ODRFIC8qIERPTUZvcm1E
YXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJF
RDYwOUJBMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5jcHAgKi87IH07CiAJCTJFRDYw
OUJEMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVENjA5QkIxMTQ1QjA3MTAwQzg2ODRFIC8qIERP
TUZvcm1EYXRhLmggKi87IH07CisJCTMxMDlFRTg4MTFGODZCRjEwMDZGRUNERiAvKiBBY2NlbGVy
b21ldGVyRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzEwOUVFODUxMUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJFdmVudC5jcHAg
Ki87IH07CisJCTMxMDlFRTg5MTFGODZCRjEwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRXZlbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlFRTg2
MTFGODZCRjEwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRXZlbnQuaCAqLzsgfTsKKwkJMzEwOUVG
RDAxMUY5RDUxNDAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJEYXRhLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlFRkNFMTFGOUQ1MTQwMDZGRUNE
RiAvKiBBY2NlbGVyb21ldGVyRGF0YS5jcHAgKi87IH07CisJCTMxMDlFRkQxMTFGOUQ1MTQwMDZG
RUNERiAvKiBBY2NlbGVyb21ldGVyRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzEwOUVGQ0YxMUY5RDUxNDAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0
ZXJEYXRhLmggKi87IH07CisJCTMxMDlGMDFDMTFGOURDRTMwMDZGRUNERiAvKiBKU0FjY2VsZXJv
bWV0ZXJFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMTA5RjAxQTExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnQuY3Bw
ICovOyB9OworCQkzMTA5RjAxRDExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZl
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlG
MDFCMTFGOURDRTMwMDZGRUNERiAvKiBKU0FjY2VsZXJvbWV0ZXJFdmVudC5oICovOyB9OworCQkz
MTA5RjAyMzExRjlERDQwMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEwOUYwMjIx
MUY5REQ0MDAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsK
KwkJMzEwOUYwMzMxMUY5RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDbGllbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlGMDMwMTFGOUUx
OTcwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ2xpZW50LmggKi87IH07CisJCTMxMDlGMDM0MTFG
OUUxOTcwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5RjAzMTExRjlFMTk3MDA2RkVD
REYgLyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwICovOyB9OworCQkzMTA5RjAzNTExRjlF
MTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlGMDMyMTFGOUUxOTcwMDZGRUNERiAv
KiBBY2NlbGVyb21ldGVyQ29udHJvbGxlci5oICovOyB9OwogCQkzMTI4OEU3MjBFMzAwNUQ2MDAz
NjE5QUUgLyogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMjg4RTZFMEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJL
aXRDU1NLZXlmcmFtZVJ1bGUuY3BwICovOyB9OwogCQkzMTI4OEU3MzBFMzAwNUQ2MDAzNjE5QUUg
LyogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMTI4OEU2RjBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0Q1NTS2V5
ZnJhbWVSdWxlLmggKi87IH07CiAJCTMxMjg4RTc0MEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJLaXRD
U1NLZXlmcmFtZXNSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxMjg4RTcwMEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJLaXRDU1NLZXlmcmFtZXNS
dWxlLmNwcCAqLzsgfTsKQEAgLTYzNzksNiArNjM4OSwxNyBAQAogCQkyRUNGN0FFMDEwMTYyQjU4
MDA0MjdERTcgLyogRXJyb3JFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXJyb3JF
dmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFRDYwOUJBMTE0NUIwNzEw
MEM4Njg0RSAvKiBET01Gb3JtRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBET01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJF
RDYwOUJCMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01Gb3JtRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkzMTA5RUU4NTExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckV2ZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2VsZXJvbWV0ZXJFdmVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMDlFRTg2MTFGODZCRjEwMDZGRUNE
RiAvKiBBY2NlbGVyb21ldGVyRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZWxlcm9tZXRlckV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMx
MDlFRTg3MTFGODZCRjEwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRXZlbnQuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEFjY2VsZXJvbWV0ZXJFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxMDlFRkNFMTFGOUQ1MTQwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRGF0
YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2NlbGVyb21ldGVy
RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMDlFRkNGMTFGOUQ1MTQw
MDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBY2NlbGVyb21ldGVyRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkzMTA5RjAxQTExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBY2NlbGVyb21ldGVyRXZlbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTA5RjAxQjExRjlEQ0UzMDA2RkVD
REYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNBY2NlbGVyb21ldGVyRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzEwOUYwMjIxMUY5REQ0MDAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9t
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQWNjZWxlcm9tZXRl
ckV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwOUYwMzAx
MUY5RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQWNjZWxlcm9tZXRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMTA5RjAzMTExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNv
bnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZWxl
cm9tZXRlckNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTA5
RjAzMjExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEyODhFNkUwRTMwMDVENjAwMzYxOUFFIC8qIFdl
YktpdENTU0tleWZyYW1lUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMTI4OEU2RjBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdENTU0tleWZyYW1lUnVsZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTI4OEU3MDBFMzAwNUQ2MDAzNjE5QUUg
LyogV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE0NjEzLDggKzE0NjM0LDYgQEAKIAkJCQk5M0Y5QjZERjBCQTBGQjcyMDA4
NTQwNjQgLyogSlNDb21tZW50LmggKi8sCiAJCQkJRkU2RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8q
IEpTQ29vcmRpbmF0ZXMuY3BwICovLAogCQkJCUZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBK
U0Nvb3JkaW5hdGVzLmggKi8sCi0JCQkJNTlBODYwMDUxMTlEQUY3RjAwREVGMUVGIC8qIEpTRGV2
aWNlT3JpZW50YXRpb25FdmVudC5jcHAgKi8sCi0JCQkJNTlBODYwMDcxMTlEQUZBMTAwREVGMUVG
IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oICovLAogCQkJCTY1OUREQzgwMDlFMTk4QkEw
MDFCRjNDNiAvKiBKU0RvY3VtZW50LmNwcCAqLywKIAkJCQk2NTlEREM4MTA5RTE5OEJBMDAxQkYz
QzYgLyogSlNEb2N1bWVudC5oICovLAogCQkJCTFBNDk0RURDMEExMjNGNEMwMEZEQUZDMSAvKiBK
U0RvY3VtZW50RnJhZ21lbnQuY3BwICovLApAQCAtMTQ2NjIsNiArMTQ2ODEsOCBAQAogCQlBODNC
NzkxMjBDQ0IwMDNGMDAwQjA4MjUgLyogRXZlbnRzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkzMTA5RjAxQTExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2Nl
bGVyb21ldGVyRXZlbnQuY3BwICovLAorCQkJCTMxMDlGMDFCMTFGOURDRTMwMDZGRUNERiAvKiBK
U0FjY2VsZXJvbWV0ZXJFdmVudC5oICovLAogCQkJCUJDOTQ2MzQ1MTA3QTkzNEIwMDg1NzE5MyAv
KiBKU0JlZm9yZUxvYWRFdmVudC5jcHAgKi8sCiAJCQkJQkM5NDYzNDcxMDdBOTM2NjAwODU3MTkz
IC8qIEpTQmVmb3JlTG9hZEV2ZW50LmggKi8sCiAJCQkJNTE3MjFGRDAxMUQyN0VGMjAwNjM4QjQy
IC8qIEpTQmVmb3JlUHJvY2Vzc0V2ZW50LmNwcCAqLywKQEAgLTE0NjcwLDYgKzE0NjkxLDggQEAK
IAkJCQk3OUFDOTIxNzEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmggKi8s
CiAJCQkJRTQ3NzhCN0QxMTVBNTgxQTAwQjVEMzcyIC8qIEpTQ3VzdG9tRXZlbnQuY3BwICovLAog
CQkJCUU0Nzc4QjdFMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmggKi8sCisJCQkJ
NTlBODYwMDUxMTlEQUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAg
Ki8sCisJCQkJNTlBODYwMDcxMTlEQUZBMTAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25F
dmVudC5oICovLAogCQkJCTJFQ0Y3QURBMTAxNjJCMzgwMDQyN0RFNyAvKiBKU0Vycm9yRXZlbnQu
Y3BwICovLAogCQkJCTJFQ0Y3QURCMTAxNjJCMzgwMDQyN0RFNyAvKiBKU0Vycm9yRXZlbnQuaCAq
LywKIAkJCQkxNEU4Mzc4MzA5Rjg1RDFDMDBCODVBRTQgLyogSlNFdmVudC5jcHAgKi8sCkBAIC0x
NTc0MSw2ICsxNTc2NCw3IEBACiAJCUJDNEVERUY3MEMwOEY0MTQwMDdFREQ0OSAvKiBDdXN0b20g
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTMxMDlGMDIy
MTFGOURENDAwMDZGRUNERiAvKiBKU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAgKi8sCiAJ
CQkJQkMyNzVDQjIxMUM1RTg1QzAwQzkyMDZDIC8qIEpTQXJyYXlCdWZmZXJDdXN0b20uY3BwICov
LAogCQkJCTQ5MjI3M0EyMTA4M0IzQjEwMEVFNUM4NCAvKiBKU0FycmF5QnVmZmVyVmlld0N1c3Rv
bS5jcHAgKi8sCiAJCQkJODYyNDNEMDAxMUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlCdWZmZXJW
aWV3SGVscGVyLmggKi8sCkBAIC0xNjgzOSw2ICsxNjg2MywxNCBAQAogCQlGNTIzRDMyNDAyREU0
NDc4MDE4NjM1Q0EgLyogZG9tICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKKwkJCQkzMTA5RjAzMDExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNsaWVu
dC5oICovLAorCQkJCTMxMDlGMDMxMTFGOUUxOTcwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ29u
dHJvbGxlci5jcHAgKi8sCisJCQkJMzEwOUYwMzIxMUY5RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJv
bWV0ZXJDb250cm9sbGVyLmggKi8sCisJCQkJMzEwOUVGQ0UxMUY5RDUxNDAwNkZFQ0RGIC8qIEFj
Y2VsZXJvbWV0ZXJEYXRhLmNwcCAqLywKKwkJCQkzMTA5RUZDRjExRjlENTE0MDA2RkVDREYgLyog
QWNjZWxlcm9tZXRlckRhdGEuaCAqLywKKwkJCQkzMTA5RUU4NTExRjg2QkYxMDA2RkVDREYgLyog
QWNjZWxlcm9tZXRlckV2ZW50LmNwcCAqLywKKwkJCQkzMTA5RUU4NjExRjg2QkYxMDA2RkVDREYg
LyogQWNjZWxlcm9tZXRlckV2ZW50LmggKi8sCisJCQkJMzEwOUVFODcxMUY4NkJGMTAwNkZFQ0RG
IC8qIEFjY2VsZXJvbWV0ZXJFdmVudC5pZGwgKi8sCiAJCQkJRTFDNERFNkQwRUE3NUM2NTAwMjND
Q0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5jcHAgKi8sCiAJCQkJRTFDNERFNjgwRUE3NUMxRTAwMjND
Q0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oICovLAogCQkJCUE4QzRBN0ZDMDlENTYzMjcwMDAzQUM4
RCAvKiBBdHRyLmNwcCAqLywKQEAgLTE5ODAwLDYgKzE5ODMyLDExIEBACiAJCQkJRTFCRTUxMkUw
Q0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdERDREODcwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNFMTcyRTAxMTEzNkU4Q0UwMDYyQTUzMyAvKiBab29tTW9kZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMzEwOUVFODkxMUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMzEwOUVGRDExMUY5RDUxNDAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0
ZXJEYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTA5RjAxRDExRjlEQ0UzMDA2RkVDREYgLyog
SlNBY2NlbGVyb21ldGVyRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxMDlGMDMzMTFGOUUx
OTcwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkz
MTA5RjAzNTExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpAQCAtMjIxODksNiArMjIyMjcsMTEgQEAKIAkJCQk5M0YxOUIwNTA4MjQ1RTU5
MDAxRTlBQkMgLyogWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk5N0RENEQ4NjBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkzMTA5RUU4ODExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9tZXRl
ckV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxMDlFRkQwMTFGOUQ1MTQwMDZGRUNERiAv
KiBBY2NlbGVyb21ldGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMTA5RjAxQzExRjlE
Q0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMzEwOUYwMjMxMUY5REQ0MDAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxMDlGMDM0MTFGOUUxOTcwMDZGRUNERiAvKiBBY2Nl
bGVyb21ldGVyQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMzBhNjg2ZAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwCkBAIC0wLDAgKzEsOTMg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0FjY2VsZXJvbWV0
ZXJFdmVudC5oIgorCisjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUg
IkFjY2VsZXJvbWV0ZXJEYXRhLmgiCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckV2ZW50LmgiCisK
K3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNWYWx1ZSBK
U0FjY2VsZXJvbWV0ZXJFdmVudDo6eChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgQWNj
ZWxlcm9tZXRlckV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxBY2NlbGVyb21ldGVyRXZlbnQqPihp
bXBsKCkpOworICAgIGlmICghaW1wLT5hY2NlbGVyb21ldGVyRGF0YSgpLT5jYW5Qcm92aWRlWCgp
KQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGlt
cC0+YWNjZWxlcm9tZXRlckRhdGEoKS0+eCgpKTsKK30KKworSlNWYWx1ZSBKU0FjY2VsZXJvbWV0
ZXJFdmVudDo6eShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgQWNjZWxlcm9tZXRlckV2
ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxBY2NlbGVyb21ldGVyRXZlbnQqPihpbXBsKCkpOworICAg
IGlmICghaW1wLT5hY2NlbGVyb21ldGVyRGF0YSgpLT5jYW5Qcm92aWRlWSgpKQorICAgICAgICBy
ZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+YWNjZWxlcm9t
ZXRlckRhdGEoKS0+eSgpKTsKK30KKworSlNWYWx1ZSBKU0FjY2VsZXJvbWV0ZXJFdmVudDo6eihF
eGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgQWNjZWxlcm9tZXRlckV2ZW50KiBpbXAgPSBz
dGF0aWNfY2FzdDxBY2NlbGVyb21ldGVyRXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5h
Y2NlbGVyb21ldGVyRGF0YSgpLT5jYW5Qcm92aWRlWigpKQorICAgICAgICByZXR1cm4ganNOdWxs
KCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+YWNjZWxlcm9tZXRlckRhdGEoKS0+
eigpKTsKK30KKworSlNWYWx1ZSBKU0FjY2VsZXJvbWV0ZXJFdmVudDo6aW50ZXJ2YWwoRXhlY1N0
YXRlKiBleGVjKSBjb25zdAoreworICAgIEFjY2VsZXJvbWV0ZXJFdmVudCogaW1wID0gc3RhdGlj
X2Nhc3Q8QWNjZWxlcm9tZXRlckV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWltcC0+YWNjZWxl
cm9tZXRlckRhdGEoKS0+Y2FuUHJvdmlkZUludGVydmFsKCkpCisgICAgICAgIHJldHVybiBqc051
bGwoKTsKKyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgaW1wLT5hY2NlbGVyb21ldGVyRGF0YSgp
LT5pbnRlcnZhbCgpKTsKK30KKyAgICAKK0pTVmFsdWUgSlNBY2NlbGVyb21ldGVyRXZlbnQ6Omlu
aXRBY2NlbGVyb21ldGVyRXZlbnQoRXhlY1N0YXRlKiBleGVjKQoreworICAgIGNvbnN0IFN0cmlu
ZyYgdHlwZSA9IHVzdHJpbmdUb1N0cmluZyhleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVj
KSk7CisgICAgYm9vbCBidWJibGVzID0gZXhlYy0+YXJndW1lbnQoMSkudG9Cb29sZWFuKGV4ZWMp
OworICAgIGJvb2wgY2FuY2VsYWJsZSA9IGV4ZWMtPmFyZ3VtZW50KDIpLnRvQm9vbGVhbihleGVj
KTsKKyAgICAvLyBJZiB4LCB5IG9yIHogYXJlIG51bGwgb3IgdW5kZWZpbmVkLCBtYXJrIHRoZW0g
YXMgbm90IHByb3ZpZGVkLgorICAgIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBzdGFuZGFyZCBKYXZh
U2NyaXB0IGNvbnZlcnNpb24uCisgICAgYm9vbCB4UHJvdmlkZWQgPSAhZXhlYy0+YXJndW1lbnQo
MykuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgeCA9IGV4ZWMtPmFyZ3VtZW50KDMp
LnRvTnVtYmVyKGV4ZWMpOworICAgIGJvb2wgeVByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDQp
LmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAgZG91YmxlIHkgPSBleGVjLT5hcmd1bWVudCg0KS50
b051bWJlcihleGVjKTsKKyAgICBib29sIHpQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg1KS5p
c1VuZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSB6ID0gZXhlYy0+YXJndW1lbnQoNSkudG9O
dW1iZXIoZXhlYyk7CisgICAgYm9vbCBpbnRlcnZhbFByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50
KDYpLmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAgZG91YmxlIGludGVydmFsID0gZXhlYy0+YXJn
dW1lbnQoNikudG9OdW1iZXIoZXhlYyk7CisgICAgUmVmUHRyPEFjY2VsZXJvbWV0ZXJEYXRhPiBh
Y2NlbGVyb21ldGVyRGF0YSA9IEFjY2VsZXJvbWV0ZXJEYXRhOjpjcmVhdGUoeFByb3ZpZGVkLCB4
LCB5UHJvdmlkZWQsIHksIHpQcm92aWRlZCwgeiwgaW50ZXJ2YWxQcm92aWRlZCwgaW50ZXJ2YWwp
OworICAgIEFjY2VsZXJvbWV0ZXJFdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8QWNjZWxlcm9tZXRl
ckV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpbXAtPmluaXRBY2NlbGVyb21ldGVyRXZlbnQodHlwZSwg
YnViYmxlcywgY2FuY2VsYWJsZSwgYWNjZWxlcm9tZXRlckRhdGEuZ2V0KCkpOworICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3Rv
bS5jcHAKaW5kZXggYjYxOTBmZi4uMGM4MWRjYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRD
dXN0b20uY3BwCkBAIC0yOSwxMSArMjksMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJKU0V2ZW50LmgiCiAKKyNpbmNsdWRlICJBY2NlbGVyb21ldGVyRXZlbnQuaCIKICNpbmNs
dWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVk
ZSAiQ3VzdG9tRXZlbnQuaCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgiCiAj
aW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJKU0FjY2VsZXJvbWV0ZXJFdmVudC5oIgogI2lu
Y2x1ZGUgIkpTQmVmb3JlTG9hZEV2ZW50LmgiCiAjaW5jbHVkZSAiSlNDbGlwYm9hcmQuaCIKICNp
bmNsdWRlICJKU0N1c3RvbUV2ZW50LmgiCkBAIC0xNzMsNiArMTc1LDggQEAgSlNWYWx1ZSB0b0pT
KEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXZlbnQq
IGV2ZW50KQogICAgIGVsc2UgaWYgKGV2ZW50LT5pc0N1c3RvbUV2ZW50KCkpCiAgICAgICAgIHdy
YXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgQ3Vz
dG9tRXZlbnQsIGV2ZW50KTsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgIGVs
c2UgaWYgKGV2ZW50LT5pc0FjY2VsZXJvbWV0ZXJFdmVudCgpKQorICAgICAgICB3cmFwcGVyID0g
Q1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIEFjY2VsZXJvbWV0
ZXJFdmVudCwgZXZlbnQpOwogICAgIGVsc2UgaWYgKGV2ZW50LT5pc0RldmljZU9yaWVudGF0aW9u
RXZlbnQoKSkKICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhl
YywgZ2xvYmFsT2JqZWN0LCBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LCBldmVudCk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QWNjZWxlcm9tZXRlckV2
ZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QWNjZWxlcm9tZXRl
ckV2ZW50Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWU0
ZjRhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBY2Nl
bGVyb21ldGVyRXZlbnRDdXN0b20uY3BwCkBAIC0wLDAgKzEsMTAyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhBY2NlbGVyb21ldGVyRXZlbnQuaCIKKworI2lm
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisKKyNpbmNsdWRlICJBY2NlbGVyb21ldGVyRGF0
YS5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKworI2lu
Y2x1ZGUgPHY4Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4QWNjZWxlcm9tZXRlckV2ZW50Ojp4QWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpT
dHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NU
QVRTKCJET00uRGV2aWNlT3JpZW50YXRpb25FdmVudC54Ll9nZXQiKTsKKyAgICB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAgQWNjZWxlcm9tZXRlckV2
ZW50KiBpbXAgPSBWOEFjY2VsZXJvbWV0ZXJFdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKKyAgICBp
ZiAoIWltcC0+YWNjZWxlcm9tZXRlcigpLT5jYW5Qcm92aWRlWCgpKQorICAgICAgICByZXR1cm4g
djg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+YWNjZWxlcm9tZXRl
cigpLT54KCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhBY2NlbGVyb21ldGVyRXZl
bnQ6OnlBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6
OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VPcmllbnRh
dGlvbkV2ZW50LnkuX2dldCIpOworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0g
aW5mby5Ib2xkZXIoKTsKKyAgICBBY2NlbGVyb21ldGVyRXZlbnQqIGltcCA9IFY4QWNjZWxlcm9t
ZXRlckV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1wLT5hY2NlbGVyb21ldGVy
KCktPmNhblByb3ZpZGVZKCkpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVy
biB2ODo6TnVtYmVyOjpOZXcoaW1wLT5hY2NlbGVyb21ldGVyKCktPnkoKSk7Cit9CisKK3Y4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOEFjY2VsZXJvbWV0ZXJFdmVudDo6ekFjY2Vzc29yR2V0dGVyKHY4
OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQor
eworICAgIElOQ19TVEFUUygiRE9NLkRldmljZU9yaWVudGF0aW9uRXZlbnQuei5fZ2V0Iik7Cisg
ICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIEFj
Y2VsZXJvbWV0ZXJFdmVudCogaW1wID0gVjhBY2NlbGVyb21ldGVyRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7CisgICAgaWYgKCFpbXAtPmFjY2VsZXJvbWV0ZXIoKS0+Y2FuUHJvdmlkZVooKSkKKyAg
ICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAt
PmFjY2VsZXJvbWV0ZXIoKS0+eigpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4QWNj
ZWxlcm9tZXRlckV2ZW50OjppbnRlcnZhbEFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFU
UygiRE9NLkRldmljZU9yaWVudGF0aW9uRXZlbnQuaW50ZXJ2YWwuX2dldCIpOworICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBBY2NlbGVyb21l
dGVyRXZlbnQqIGltcCA9IFY4QWNjZWxlcm9tZXRlckV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOwor
ICAgIGlmICghaW1wLT5hY2NlbGVyb21ldGVyKCktPmNhblByb3ZpZGVJbnRlcnZhbCgpKQorICAg
ICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+
YWNjZWxlcm9tZXRlcigpLT5pbnRlcnZhbCgpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4QWNjZWxlcm9tZXRlckV2ZW50Ojppbml0QWNjZWxlcm9tZXRlckV2ZW50Q2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBBY2NlbGVyb21ldGVyRXZlbnQqIGltcCA9
IFY4QWNjZWxlcm9tZXRlckV2ZW50Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBWOFBh
cmFtZXRlcjw+IHR5cGUgPSBhcmdzWzBdOworICAgIGJvb2wgYnViYmxlcyA9IGFyZ3NbMV0tPkJv
b2xlYW5WYWx1ZSgpOworICAgIGJvb2wgY2FuY2VsYWJsZSA9IGFyZ3NbMl0tPkJvb2xlYW5WYWx1
ZSgpOworICAgIC8vIElmIHgsIHksIHogb3IgaW50ZXJ2YWwgYXJlIG51bGwgb3IgdW5kZWZpbmVk
LCBtYXJrIHRoZW0gYXMgbm90IHByb3ZpZGVkLgorICAgIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBz
dGFuZGFyZCBKYXZhU2NyaXB0IGNvbnZlcnNpb24uCisgICAgYm9vbCB4UHJvdmlkZWQgPSAhaXNV
bmRlZmluZWRPck51bGwoYXJnc1szXSk7CisgICAgZG91YmxlIHggPSBzdGF0aWNfY2FzdDxkb3Vi
bGU+KGFyZ3NbM10tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgeVByb3ZpZGVkID0gIWlzVW5k
ZWZpbmVkT3JOdWxsKGFyZ3NbNF0pOworICAgIGRvdWJsZSB5ID0gc3RhdGljX2Nhc3Q8ZG91Ymxl
PihhcmdzWzRdLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBib29sIHpQcm92aWRlZCA9ICFpc1VuZGVm
aW5lZE9yTnVsbChhcmdzWzVdKTsKKyAgICBkb3VibGUgeiA9IHN0YXRpY19jYXN0PGRvdWJsZT4o
YXJnc1s1XS0+TnVtYmVyVmFsdWUoKSk7CisgICAgYm9vbCBpbnRlcnZhbFByb3ZpZGVkID0gIWlz
VW5kZWZpbmVkT3JOdWxsKGFyZ3NbNl0pOworICAgIGRvdWJsZSBpbnRlcnZhbCA9IHN0YXRpY19j
YXN0PGRvdWJsZT4oYXJnc1s2XS0+TnVtYmVyVmFsdWUoKSk7CisgICAgUmVmUHRyPEFjY2VsZXJv
bWV0ZXJEYXRhPiBhY2NlbGVyb21ldGVyRGF0YSA9IEFjY2VsZXJvbWV0ZXJEYXRhOjpjcmVhdGUo
eFByb3ZpZGVkLCB4LCB5UHJvdmlkZWQsIHksIHpQcm92aWRlZCwgeiwgaW50ZXJ2YWxQcm92aWRl
ZCwgaW50ZXJ2YWwpOworICAgIGltcC0+aW5pdEFjY2VsZXJvbWV0ZXJFdmVudCh0eXBlLCBidWJi
bGVzLCBjYW5jZWxhYmxlLCBhY2NlbGVyb21ldGVyRGF0YS5nZXQoKSk7CisgICAgcmV0dXJuIHY4
OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vQWNjZWxlcm9tZXRlckNsaWVudC5oIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckNsaWVu
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5YTRkZDEKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyQ2xpZW50LmgKQEAgLTAsMCArMSw0
MyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIEFjY2VsZXJvbWV0ZXJDbGllbnRfaAorI2RlZmluZSBBY2NlbGVy
b21ldGVyQ2xpZW50X2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBY2NlbGVyb21l
dGVyRGF0YTsKKworY2xhc3MgQWNjZWxlcm9tZXRlckNsaWVudCB7CitwdWJsaWM6CisgICAgdmly
dHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRh
dGluZygpID0gMDsKKyAgICB2aXJ0dWFsIEFjY2VsZXJvbWV0ZXJEYXRhKiBsYXN0QWNjZWxlcmF0
aW9uKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgfkFjY2VsZXJvbWV0ZXJDbGllbnQoKSB7fQor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQWNjZWxlcm9tZXRlckNs
aWVudF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5j
cHAgYi9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E5YzgxYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvZG9tL0FjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmNwcApAQCAtMCwwICsxLDEwNiBAQAorLyoK
KyAqIENvcHlyaWdodCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIu
aCIKKworI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisKKyNpbmNsdWRlICJBY2NlbGVy
b21ldGVyRGF0YS5oIgorI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXJDbGllbnQuaCIKKyNpbmNsdWRl
ICJBY2NlbGVyb21ldGVyRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBY2NlbGVy
b21ldGVyQ29udHJvbGxlcjo6QWNjZWxlcm9tZXRlckNvbnRyb2xsZXIoQWNjZWxlcm9tZXRlckNs
aWVudCogY2xpZW50KQorICAgIDogbV9jbGllbnQoY2xpZW50KQorICAgICwgbV90aW1lcih0aGlz
LCAmQWNjZWxlcm9tZXRlckNvbnRyb2xsZXI6OnRpbWVyRmlyZWQpCit7Cit9CisKK3ZvaWQgQWNj
ZWxlcm9tZXRlckNvbnRyb2xsZXI6OnRpbWVyRmlyZWQoVGltZXI8QWNjZWxlcm9tZXRlckNvbnRy
b2xsZXI+KiB0aW1lcikKK3sKKyAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV90
aW1lcik7CisgICAgQVNTRVJUKCFtX2NsaWVudCB8fCBtX2NsaWVudC0+bGFzdEFjY2VsZXJhdGlv
bigpKTsKKyAgICBtX3RpbWVyLnN0b3AoKTsKKyAgICAKKyAgICBSZWZQdHI8QWNjZWxlcm9tZXRl
ckRhdGE+IGFjY2VsZXJvbWV0ZXJEYXRhID0gbV9jbGllbnQgPyBtX2NsaWVudC0+bGFzdEFjY2Vs
ZXJhdGlvbigpIDogQWNjZWxlcm9tZXRlckRhdGE6OmNyZWF0ZSgpOworICAgIFJlZlB0cjxBY2Nl
bGVyb21ldGVyRXZlbnQ+IGV2ZW50ID0gQWNjZWxlcm9tZXRlckV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLmFjY2VsZXJvbWV0ZXJFdmVudCwgYWNjZWxlcm9tZXRlckRhdGEuZ2V0KCkpOworIAor
ICAgIFZlY3RvcjxET01XaW5kb3cqPiBsaXN0ZW5lcnNWZWN0b3I7CisgICAgY29weVRvVmVjdG9y
KG1fbmV3TGlzdGVuZXJzLCBsaXN0ZW5lcnNWZWN0b3IpOworICAgIG1fbmV3TGlzdGVuZXJzLmNs
ZWFyKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0ZW5lcnNWZWN0b3Iuc2l6ZSgp
OyArK2kpCisgICAgICAgIGxpc3RlbmVyc1ZlY3RvcltpXS0+ZGlzcGF0Y2hFdmVudChldmVudCk7
Cit9CisgICAgCit2b2lkIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyOjphZGRMaXN0ZW5lcihET01X
aW5kb3cqIHdpbmRvdykKK3sKKyAgICAvLyBJZiBubyBjbGllbnQgaXMgcHJlc2VudCBvciB0aGUg
Y2xpZW50IGFscmVhZHkgaGFzIGFuIGFjY2VsZXJhdGlvbiwKKyAgICAvLyBpbW1lZGlhdGVseSB0
cmlnZ2VyIGFuIGFzeW5jaHJvbm91cyByZXNwb25zZS4KKyAgICBpZiAoIW1fY2xpZW50IHx8IG1f
Y2xpZW50LT5sYXN0QWNjZWxlcmF0aW9uKCkpIHsKKyAgICAgICAgbV9uZXdMaXN0ZW5lcnMuYWRk
KHdpbmRvdyk7CisgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQorICAgICAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgfQorICAgIAorICAgIGJvb2wgd2FzRW1wdHkg
PSBtX2xpc3RlbmVycy5pc0VtcHR5KCk7CisgICAgbV9saXN0ZW5lcnMuYWRkKHdpbmRvdyk7Cisg
ICAgaWYgKHdhc0VtcHR5ICYmIG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c3RhcnRVcGRh
dGluZygpOworfQorCit2b2lkIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyOjpyZW1vdmVMaXN0ZW5l
cihET01XaW5kb3cqIHdpbmRvdykKK3sKKyAgICBtX2xpc3RlbmVycy5yZW1vdmUod2luZG93KTsK
KyAgICBtX25ld0xpc3RlbmVycy5yZW1vdmUod2luZG93KTsKKyAgICBpZiAobV9saXN0ZW5lcnMu
aXNFbXB0eSgpICYmIG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c3RvcFVwZGF0aW5nKCk7
Cit9CisKK3ZvaWQgQWNjZWxlcm9tZXRlckNvbnRyb2xsZXI6OnJlbW92ZUFsbExpc3RlbmVycyhE
T01XaW5kb3cqIHdpbmRvdykKK3sKKyAgICAvLyBNYXkgYmUgY2FsbGVkIHdpdGggYSBET01XaW5k
b3cgdGhhdCdzIG5vdCBhIGxpc3RlbmVyLgorICAgIGlmICghbV9saXN0ZW5lcnMuY29udGFpbnMo
d2luZG93KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9saXN0ZW5lcnMucmVtb3ZlQWxsKHdp
bmRvdyk7CisgICAgbV9uZXdMaXN0ZW5lcnMucmVtb3ZlKHdpbmRvdyk7CisgICAgaWYgKG1fbGlz
dGVuZXJzLmlzRW1wdHkoKSAmJiBtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPnN0b3BVcGRh
dGluZygpOworfQorCit2b2lkIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyOjpkaWRDaGFuZ2VBY2Nl
bGVyb21ldGVyKEFjY2VsZXJvbWV0ZXJEYXRhKiBhY2NlbGVyb21ldGVyRGF0YSkKK3sKKyAgICBS
ZWZQdHI8QWNjZWxlcm9tZXRlckV2ZW50PiBldmVudCA9IEFjY2VsZXJvbWV0ZXJFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS5hY2NlbGVyb21ldGVyRXZlbnQsIGFjY2VsZXJvbWV0ZXJEYXRhKTsK
KyAgICBWZWN0b3I8RE9NV2luZG93Kj4gbGlzdGVuZXJzVmVjdG9yOworICAgIGNvcHlUb1ZlY3Rv
cihtX2xpc3RlbmVycywgbGlzdGVuZXJzVmVjdG9yKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGxpc3RlbmVyc1ZlY3Rvci5zaXplKCk7ICsraSkKKyAgICAgICAgbGlzdGVuZXJzVmVjdG9y
W2ldLT5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0FjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmggYi9XZWJDb3JlL2RvbS9BY2NlbGVyb21l
dGVyQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2Y2Fh
YjcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxl
ci5oCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBBY2NlbGVyb21ldGVyQ29udHJvbGxl
cl9oCisjZGVmaW5lIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyX2gKKworI2luY2x1ZGUgIkRPTVdp
bmRvdy5oIgorI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVkU2V0
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQWNjZWxlcm9tZXRlckRhdGE7Citj
bGFzcyBBY2NlbGVyb21ldGVyQ2xpZW50OworY2xhc3MgUGFnZTsKKworY2xhc3MgQWNjZWxlcm9t
ZXRlckNvbnRyb2xsZXIgeworcHVibGljOgorICAgIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyKEFj
Y2VsZXJvbWV0ZXJDbGllbnQqKTsKKworICAgIHZvaWQgYWRkTGlzdGVuZXIoRE9NV2luZG93Kik7
CisgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihET01XaW5kb3cqKTsKKyAgICB2b2lkIHJlbW92ZUFs
bExpc3RlbmVycyhET01XaW5kb3cqKTsKKworICAgIHZvaWQgZGlkQ2hhbmdlQWNjZWxlcm9tZXRl
cihBY2NlbGVyb21ldGVyRGF0YSopOworCitwcml2YXRlOgorICAgIHZvaWQgdGltZXJGaXJlZChU
aW1lcjxBY2NlbGVyb21ldGVyQ29udHJvbGxlcj4qKTsKKyAgICAKKyAgICBBY2NlbGVyb21ldGVy
Q2xpZW50KiBtX2NsaWVudDsKKyAgICB0eXBlZGVmIEhhc2hDb3VudGVkU2V0PERPTVdpbmRvdyo+
IExpc3RlbmVyc0NvdW50ZWRTZXQ7CisgICAgTGlzdGVuZXJzQ291bnRlZFNldCBtX2xpc3RlbmVy
czsKKyAgICB0eXBlZGVmIEhhc2hTZXQ8RE9NV2luZG93Kj4gTGlzdGVuZXJzU2V0OworICAgIExp
c3RlbmVyc1NldCBtX25ld0xpc3RlbmVyczsKKyAgICBUaW1lcjxBY2NlbGVyb21ldGVyQ29udHJv
bGxlcj4gbV90aW1lcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FjY2Vs
ZXJvbWV0ZXJEYXRhLmNwcCBiL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJEYXRhLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTQ2MWFmCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckRhdGEuY3BwCkBAIC0wLDAgKzEsMTAxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckRhdGEu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPEFjY2VsZXJvbWV0ZXJEYXRh
PiBBY2NlbGVyb21ldGVyRGF0YTo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEFjY2VsZXJvbWV0ZXJEYXRhKTsKK30KKworUGFzc1JlZlB0cjxBY2NlbGVyb21ldGVyRGF0YT4g
QWNjZWxlcm9tZXRlckRhdGE6OmNyZWF0ZShib29sIGNhblByb3ZpZGVYLCBkb3VibGUgeCwgYm9v
bCBjYW5Qcm92aWRlWSwgZG91YmxlIHksIGJvb2wgY2FuUHJvdmlkZVosIGRvdWJsZSB6LCBib29s
IGNhblByb3ZpZGVJbnRlcnZhbCwgZG91YmxlIGludGVydmFsKQoreworICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQWNjZWxlcm9tZXRlckRhdGEoY2FuUHJvdmlkZVgsIHgsIGNhblByb3ZpZGVZLCB5
LCBjYW5Qcm92aWRlWiwgeiwgY2FuUHJvdmlkZUludGVydmFsLCBpbnRlcnZhbCkpOworfQorCitB
Y2NlbGVyb21ldGVyRGF0YTo6QWNjZWxlcm9tZXRlckRhdGEoKQorICAgIDogbV9jYW5Qcm92aWRl
WChmYWxzZSkKKyAgICAsIG1fY2FuUHJvdmlkZVkoZmFsc2UpCisgICAgLCBtX2NhblByb3ZpZGVa
KGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlSW50ZXJ2YWwoZmFsc2UpCit7Cit9CisKK0FjY2Vs
ZXJvbWV0ZXJEYXRhOjpBY2NlbGVyb21ldGVyRGF0YShib29sIGNhblByb3ZpZGVYLCBkb3VibGUg
eCwgYm9vbCBjYW5Qcm92aWRlWSwgZG91YmxlIHksIGJvb2wgY2FuUHJvdmlkZVosIGRvdWJsZSB6
LCBib29sIGNhblByb3ZpZGVJbnRlcnZhbCwgZG91YmxlIGludGVydmFsKQorICAgIDogbV9jYW5Q
cm92aWRlWChjYW5Qcm92aWRlWCkKKyAgICAsIG1fY2FuUHJvdmlkZVkoY2FuUHJvdmlkZVkpCisg
ICAgLCBtX2NhblByb3ZpZGVaKGNhblByb3ZpZGVaKQorICAgICwgbV9jYW5Qcm92aWRlSW50ZXJ2
YWwoY2FuUHJvdmlkZUludGVydmFsKQorICAgICwgbV94KHgpCisgICAgLCBtX3koeSkKKyAgICAs
IG1feih6KQorICAgICwgbV9pbnRlcnZhbChpbnRlcnZhbCkKK3sKK30KKworZG91YmxlIEFjY2Vs
ZXJvbWV0ZXJEYXRhOjp4KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV94OworfQorCitkb3VibGUg
QWNjZWxlcm9tZXRlckRhdGE6OnkoKSBjb25zdAoreworICAgIHJldHVybiBtX3k7Cit9CisKK2Rv
dWJsZSBBY2NlbGVyb21ldGVyRGF0YTo6eigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fejsKK30K
KworZG91YmxlIEFjY2VsZXJvbWV0ZXJEYXRhOjppbnRlcnZhbCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1faW50ZXJ2YWw7Cit9CisKK2Jvb2wgQWNjZWxlcm9tZXRlckRhdGE6OmNhblByb3ZpZGVY
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jYW5Qcm92aWRlWDsKK30KKworYm9vbCBBY2NlbGVy
b21ldGVyRGF0YTo6Y2FuUHJvdmlkZVkoKSBjb25zdAoreworICAgIHJldHVybiBtX2NhblByb3Zp
ZGVZOworfQorCitib29sIEFjY2VsZXJvbWV0ZXJEYXRhOjpjYW5Qcm92aWRlWigpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fY2FuUHJvdmlkZVo7Cit9CisKK2Jvb2wgQWNjZWxlcm9tZXRlckRhdGE6
OmNhblByb3ZpZGVJbnRlcnZhbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2FuUHJvdmlkZUlu
dGVydmFsOworfQorICAgICAgICAgICAgICAgICAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJEYXRhLmggYi9XZWJDb3JlL2Rv
bS9BY2NlbGVyb21ldGVyRGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmQxN2UyYTgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRGF0
YS5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQWNjZWxlcm9tZXRlckRhdGFf
aAorI2RlZmluZSBBY2NlbGVyb21ldGVyRGF0YV9oCisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgQWNjZWxlcm9tZXRlckRhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxBY2NlbGVyb21l
dGVyRGF0YT4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2VsZXJvbWV0ZXJE
YXRhPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2NlbGVyb21ldGVyRGF0YT4g
Y3JlYXRlKGJvb2wgY2FuUHJvdmlkZVgsIGRvdWJsZSB4LCBib29sIGNhblByb3ZpZGVZLCBkb3Vi
bGUgeSwgYm9vbCBjYW5Qcm92aWRlWiwgZG91YmxlIHosIGJvb2wgY2FuUHJvdmlkZUludGVydmFs
LCBkb3VibGUgaW50ZXJ2YWwpOworCisgICAgZG91YmxlIHgoKSBjb25zdDsKKyAgICBkb3VibGUg
eSgpIGNvbnN0OworICAgIGRvdWJsZSB6KCkgY29uc3Q7CisgICAgZG91YmxlIGludGVydmFsKCkg
Y29uc3Q7CisgICAgYm9vbCBjYW5Qcm92aWRlWCgpIGNvbnN0OworICAgIGJvb2wgY2FuUHJvdmlk
ZVkoKSBjb25zdDsKKyAgICBib29sIGNhblByb3ZpZGVaKCkgY29uc3Q7CisgICAgYm9vbCBjYW5Q
cm92aWRlSW50ZXJ2YWwoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBBY2NlbGVyb21ldGVyRGF0
YSgpOworICAgIEFjY2VsZXJvbWV0ZXJEYXRhKGJvb2wgY2FuUHJvdmlkZVgsIGRvdWJsZSB4LCBi
b29sIGNhblByb3ZpZGVZLCBkb3VibGUgeSwgYm9vbCBjYW5Qcm92aWRlWiwgZG91YmxlIHosIGJv
b2wgY2FuUHJvdmlkZUludGVydmFsLCBkb3VibGUgaW50ZXJ2YWwpOworCisgICAgYm9vbCBtX2Nh
blByb3ZpZGVYOworICAgIGJvb2wgbV9jYW5Qcm92aWRlWTsKKyAgICBib29sIG1fY2FuUHJvdmlk
ZVo7CisgICAgYm9vbCBtX2NhblByb3ZpZGVJbnRlcnZhbDsKKyAgICBkb3VibGUgbV94OworICAg
IGRvdWJsZSBtX3k7CisgICAgZG91YmxlIG1fejsKKyAgICBkb3VibGUgbV9pbnRlcnZhbDsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEFjY2VsZXJvbWV0ZXJEYXRh
X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5jcHAgYi9XZWJD
b3JlL2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjkzNjNkM2MKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9BY2NlbGVy
b21ldGVyRXZlbnQuY3BwCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckRhdGEuaCIKKyNpbmNsdWRlICJBY2NlbGVy
b21ldGVyRXZlbnQuaCIKKworI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworQWNjZWxlcm9tZXRlckV2ZW50Ojp+QWNjZWxlcm9tZXRlckV2ZW50
KCkKK3sKK30KKworQWNjZWxlcm9tZXRlckV2ZW50OjpBY2NlbGVyb21ldGVyRXZlbnQoKQorICAg
IDogbV9hY2NlbGVyb21ldGVyRGF0YShBY2NlbGVyb21ldGVyRGF0YTo6Y3JlYXRlKCkpCit7Cit9
CisKK0FjY2VsZXJvbWV0ZXJFdmVudDo6QWNjZWxlcm9tZXRlckV2ZW50KGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlbnRUeXBlLCBBY2NlbGVyb21ldGVyRGF0YSogYWNjZWxlcm9tZXRlckRhdGEpCisg
ICAgOiBFdmVudChldmVudFR5cGUsIGZhbHNlLCBmYWxzZSkgLy8gQ2FuJ3QgYnViYmxlLCBub3Qg
Y2FuY2VsYWJsZQorICAgICwgbV9hY2NlbGVyb21ldGVyRGF0YShhY2NlbGVyb21ldGVyRGF0YSkK
K3sKK30KKwordm9pZCBBY2NlbGVyb21ldGVyRXZlbnQ6OmluaXRBY2NlbGVyb21ldGVyRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGJ1YmJsZXMsIGJvb2wgY2FuY2VsYWJsZSwg
QWNjZWxlcm9tZXRlckRhdGEqIGFjY2VsZXJvbWV0ZXJEYXRhKQoreworICAgIGlmIChkaXNwYXRj
aGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGluaXRFdmVudCh0eXBlLCBidWJibGVzLCBj
YW5jZWxhYmxlKTsKKyAgICBtX2FjY2VsZXJvbWV0ZXJEYXRhID0gYWNjZWxlcm9tZXRlckRhdGE7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShERVZJQ0Vf
T1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRXZlbnQu
aCBiL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjNjMTdjMjcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9B
Y2NlbGVyb21ldGVyRXZlbnQuaApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBB
Y2NlbGVyb21ldGVyRXZlbnRfaAorI2RlZmluZSBBY2NlbGVyb21ldGVyRXZlbnRfaAorCisjaW5j
bHVkZSAiRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBY2NlbGVyb21l
dGVyRGF0YTsKKworY2xhc3MgQWNjZWxlcm9tZXRlckV2ZW50IDogcHVibGljIEV2ZW50IHsKK3B1
YmxpYzoKKyAgICB+QWNjZWxlcm9tZXRlckV2ZW50KCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
QWNjZWxlcm9tZXRlckV2ZW50PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBBY2NlbGVyb21ldGVyRXZlbnQpOworICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxBY2NlbGVyb21ldGVyRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSwgQWNjZWxlcm9tZXRlckRhdGEqIGFjY2VsZXJvbWV0ZXJEYXRhKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBBY2NlbGVyb21ldGVyRXZlbnQoZXZlbnRUeXBlLCBhY2NlbGVy
b21ldGVyRGF0YSkpOworICAgIH0KKworICAgIHZvaWQgaW5pdEFjY2VsZXJvbWV0ZXJFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgYnViYmxlcywgYm9vbCBjYW5jZWxhYmxlLCBB
Y2NlbGVyb21ldGVyRGF0YSopOworCisgICAgdmlydHVhbCBib29sIGlzQWNjZWxlcm9tZXRlckV2
ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgQWNjZWxlcm9tZXRlckRhdGEqIGFj
Y2VsZXJvbWV0ZXJEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9hY2NlbGVyb21ldGVyRGF0YS5nZXQo
KTsgfQorCitwcml2YXRlOgorICAgIEFjY2VsZXJvbWV0ZXJFdmVudCgpOworICAgIEFjY2VsZXJv
bWV0ZXJFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgQWNjZWxlcm9tZXRlckRh
dGEqKTsKKworICAgIFJlZlB0cjxBY2NlbGVyb21ldGVyRGF0YT4gbV9hY2NlbGVyb21ldGVyRGF0
YTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEFjY2VsZXJvbWV0
ZXJFdmVudF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuaWRs
IGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5mNGJlMjY4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20v
QWNjZWxlcm9tZXRlckV2ZW50LmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxl
IGNvcmUgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9REVWSUNFX09S
SUVOVEFUSU9OCisgICAgXSBBY2NlbGVyb21ldGVyRXZlbnQgOiBFdmVudCB7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgeDsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFtDdXN0b21dIGRvdWJsZSB5OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1
c3RvbV0gZG91YmxlIHo7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3Vi
bGUgaW50ZXJ2YWw7CisgICAgICAgIFtDdXN0b21dIHZvaWQgaW5pdEFjY2VsZXJvbWV0ZXJFdmVu
dChpbiBET01TdHJpbmcgdHlwZSwgaW4gYm9vbGVhbiBidWJibGVzLCBpbiBib29sZWFuIGNhbmNl
bGFibGUsIGluIGRvdWJsZSB4LCBpbiBkb3VibGUgeSwgaW4gZG91YmxlIHosIGluIGRvdWJsZSBp
bnRlcnZhbCk7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDljNzQ3ZDMuLjM4NzFlZTEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogCiAjaW5j
bHVkZSAiQVhPYmplY3RDYWNoZS5oIgorI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXJFdmVudC5oIgog
I2luY2x1ZGUgIkFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJBdHRyLmgiCiAjaW5j
bHVkZSAiQXR0cmlidXRlLmgiCkBAIC0zMjY2LDYgKzMyNjcsOCBAQCBQYXNzUmVmUHRyPEV2ZW50
PiBEb2N1bWVudDo6Y3JlYXRlRXZlbnQoY29uc3QgU3RyaW5nJiBldmVudFR5cGUsIEV4Y2VwdGlv
bkNvZGUmCiAgICAgICAgIGV2ZW50ID0gVG91Y2hFdmVudDo6Y3JlYXRlKCk7CiAjZW5kaWYKICNp
ZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAi
QWNjZWxlcm9tZXRlckV2ZW50IikKKyAgICAgICAgZXZlbnQgPSBBY2NlbGVyb21ldGVyRXZlbnQ6
OmNyZWF0ZSgpOwogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiRGV2aWNlT3JpZW50YXRpb25F
dmVudCIpCiAgICAgICAgIGV2ZW50ID0gRGV2aWNlT3JpZW50YXRpb25FdmVudDo6Y3JlYXRlKCk7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmNwcCBiL1dlYkNvcmUvZG9t
L0V2ZW50LmNwcAppbmRleCA0ZWEzZTBjLi4zNzg4OTM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9FdmVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuY3BwCkBAIC0yMTMsNiArMjEzLDEx
IEBAIGJvb2wgRXZlbnQ6OmlzVG91Y2hFdmVudCgpIGNvbnN0CiAjZW5kaWYKIAogI2lmIEVOQUJM
RShERVZJQ0VfT1JJRU5UQVRJT04pCitib29sIEV2ZW50Ojppc0FjY2VsZXJvbWV0ZXJFdmVudCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEV2ZW50Ojppc0RldmljZU9y
aWVudGF0aW9uRXZlbnQoKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZG9tL0V2ZW50LmggYi9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IDJiNTcwZDUu
LmNhODY1NDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvV2ViQ29yZS9k
b20vRXZlbnQuaApAQCAtMTQwLDYgKzE0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdmlydHVhbCBib29sIGlzVG91Y2hFdmVudCgpIGNvbnN0OwogI2VuZGlmCiAjaWYgRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKKyAgICAgICAgdmlydHVhbCBib29sIGlzQWNjZWxlcm9tZXRl
ckV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RldmljZU9yaWVudGF0aW9u
RXZlbnQoKSBjb25zdDsKICNlbmRpZgogICAgICAgICBib29sIGZyb21Vc2VyR2VzdHVyZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvV2ViQ29yZS9kb20vRXZlbnRO
YW1lcy5oCmluZGV4IDY2MjBjZWMuLjkwYjM0YWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTMwLDYgKzMwLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2RlZmluZSBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0go
bWFjcm8pIFwKICAgICBcCiAgICAgbWFjcm8oYWJvcnQpIFwKKyAgICBtYWNybyhhY2NlbGVyb21l
dGVyKSBcCiAgICAgbWFjcm8oYmVmb3JlY29weSkgXAogICAgIG1hY3JvKGJlZm9yZWN1dCkgXAog
ICAgIG1hY3JvKGJlZm9yZWxvYWQpIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggNWViZTY1OS4uNTE3MjQ3
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJET01XaW5kb3cu
aCIKIAogI2luY2x1ZGUgIkFic3RyYWN0RGF0YWJhc2UuaCIKKyNpbmNsdWRlICJBY2NlbGVyb21l
dGVyQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkJhc2U2NC5oIgogI2luY2x1ZGUgIkJhckluZm8u
aCIKICNpbmNsdWRlICJCZWZvcmVVbmxvYWRFdmVudC5oIgpAQCAtMTQxMiw4ICsxNDEzLDEwIEBA
IGJvb2wgRE9NV2luZG93OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZl
bnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50
TmFtZXMoKS5iZWZvcmV1bmxvYWRFdmVudCAmJiBhbGxvd3NCZWZvcmVVbmxvYWRMaXN0ZW5lcnMo
dGhpcykpCiAgICAgICAgIGFkZEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXIodGhpcyk7CiAjaWYg
RU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZl
bnROYW1lcygpLmFjY2VsZXJvbWV0ZXJFdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2Uo
KSkKKyAgICAgICAgZnJhbWUoKS0+cGFnZSgpLT5hY2NlbGVyb21ldGVyQ29udHJvbGxlcigpLT5h
ZGRMaXN0ZW5lcih0aGlzKTsKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygp
LmRldmljZW9yaWVudGF0aW9uRXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkpCi0g
ICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb24oKS0+YWRkTGlzdGVuZXIo
dGhpcyk7CisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyKCktPmFkZExpc3RlbmVyKHRoaXMpOwogI2VuZGlmCiAKICAgICByZXR1cm4gdHJ1ZTsKQEAg
LTE0MjksOCArMTQzMiwxMCBAQCBib29sIERPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lcgogICAgIGVsc2UgaWYg
KGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuYmVmb3JldW5sb2FkRXZlbnQgJiYgYWxsb3dzQmVm
b3JlVW5sb2FkTGlzdGVuZXJzKHRoaXMpKQogICAgICAgICByZW1vdmVCZWZvcmVVbmxvYWRFdmVu
dExpc3RlbmVyKHRoaXMpOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgZWxz
ZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5hY2NlbGVyb21ldGVyRXZlbnQgJiYgZnJh
bWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkpCisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+YWNjZWxl
cm9tZXRlckNvbnRyb2xsZXIoKS0+cmVtb3ZlTGlzdGVuZXIodGhpcyk7CiAgICAgZWxzZSBpZiAo
ZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5kZXZpY2VvcmllbnRhdGlvbkV2ZW50ICYmIGZyYW1l
KCkgJiYgZnJhbWUoKS0+cGFnZSgpKQotICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU9y
aWVudGF0aW9uKCktPnJlbW92ZUxpc3RlbmVyKHRoaXMpOworICAgICAgICBmcmFtZSgpLT5wYWdl
KCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5yZW1vdmVMaXN0ZW5lcih0aGlzKTsK
ICNlbmRpZgogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0xNTA3LDggKzE1MTIsMTAgQEAgdm9pZCBE
T01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCkKICAgICBFdmVudFRhcmdldDo6cmVt
b3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKIAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04p
Ci0gICAgaWYgKGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpKQotICAgICAgICBmcmFtZSgpLT5w
YWdlKCktPmRldmljZU9yaWVudGF0aW9uKCktPnJlbW92ZUFsbExpc3RlbmVycyh0aGlzKTsKKyAg
ICBpZiAoZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkpIHsKKyAgICAgICAgZnJhbWUoKS0+cGFn
ZSgpLT5hY2NlbGVyb21ldGVyQ29udHJvbGxlcigpLT5yZW1vdmVBbGxMaXN0ZW5lcnModGhpcyk7
CisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkt
PnJlbW92ZUFsbExpc3RlbmVycyh0aGlzKTsKKyAgICB9CiAjZW5kaWYKIAogICAgIHJlbW92ZUFs
bFVubG9hZEV2ZW50TGlzdGVuZXJzKHRoaXMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGJlYjJmN2QuLjFmNWRm
YTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmgKQEAgLTMzNCw2ICszMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYWNjZWxlcm9tZXRlcik7CiAgICAgICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZGV2aWNlb3JpZW50YXRpb24pOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKaW5kZXggYzUwMGVlNy4uOWI1ZGEwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTMwNCw2
ICszMDQsOCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25h
bD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoZW5k
OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRS
dW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hjYW5jZWw7CiAKKyAgICAgICAgYXR0cmlidXRl
IFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT05dIEFjY2VsZXJvbWV0ZXJFdmVudENvbnN0
cnVjdG9yIEFjY2VsZXJvbWV0ZXJFdmVudDsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25h
bD1ERVZJQ0VfT1JJRU5UQVRJT05dIEV2ZW50TGlzdGVuZXIgb25hY2NlbGVyb21ldGVyOwogICAg
ICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTl0gRGV2aWNlT3Jp
ZW50YXRpb25FdmVudENvbnN0cnVjdG9yIERldmljZU9yaWVudGF0aW9uRXZlbnQ7CiAgICAgICAg
IGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OXSBFdmVudExpc3RlbmVy
IG9uZGV2aWNlb3JpZW50YXRpb247CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cCBiL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA1OWMyMjM4Li5kNzIzZjAwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBA
IC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgog
CisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYWNrRm9y
d2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRl
ICJCYXNlNjQuaCIKQEAgLTEyMiw3ICsxMjMsNyBAQCBzdGF0aWMgdm9pZCBuZXR3b3JrU3RhdGVD
aGFuZ2VkKCkKICAgICAgICAgZnJhbWVzW2ldLT5kb2N1bWVudCgpLT5kaXNwYXRjaFdpbmRvd0V2
ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgZmFsc2UpKTsKIH0KIAotUGFnZTo6
UGFnZShDaHJvbWVDbGllbnQqIGNocm9tZUNsaWVudCwgQ29udGV4dE1lbnVDbGllbnQqIGNvbnRl
eHRNZW51Q2xpZW50LCBFZGl0b3JDbGllbnQqIGVkaXRvckNsaWVudCwgRHJhZ0NsaWVudCogZHJh
Z0NsaWVudCwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQsIFBsdWdpbkhhbHRlckNs
aWVudCogcGx1Z2luSGFsdGVyQ2xpZW50LCBHZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQqIGdl
b2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGRldmlj
ZU9yaWVudGF0aW9uQ2xpZW50LCBCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQqIGJhY2tGb3J3
YXJkQ29udHJvbGxlckNsaWVudCkKK1BhZ2U6OlBhZ2UoQ2hyb21lQ2xpZW50KiBjaHJvbWVDbGll
bnQsIENvbnRleHRNZW51Q2xpZW50KiBjb250ZXh0TWVudUNsaWVudCwgRWRpdG9yQ2xpZW50KiBl
ZGl0b3JDbGllbnQsIERyYWdDbGllbnQqIGRyYWdDbGllbnQsIEluc3BlY3RvckNsaWVudCogaW5z
cGVjdG9yQ2xpZW50LCBQbHVnaW5IYWx0ZXJDbGllbnQqIHBsdWdpbkhhbHRlckNsaWVudCwgR2Vv
bG9jYXRpb25Db250cm9sbGVyQ2xpZW50KiBnZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQsIERl
dmljZU9yaWVudGF0aW9uQ2xpZW50KiBkZXZpY2VPcmllbnRhdGlvbkNsaWVudCwgQWNjZWxlcm9t
ZXRlckNsaWVudCogYWNjZWxlcm9tZXRlckNsaWVudCwgQmFja0ZvcndhcmRDb250cm9sbGVyQ2xp
ZW50KiBiYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQpCiAgICAgOiBtX2Nocm9tZShuZXcgQ2hy
b21lKHRoaXMsIGNocm9tZUNsaWVudCkpCiAgICAgLCBtX2RyYWdDYXJldENvbnRyb2xsZXIobmV3
IFNlbGVjdGlvbkNvbnRyb2xsZXIoMCwgdHJ1ZSkpCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
QEAgLTEzOSw2ICsxNDAsNyBAQCBQYWdlOjpQYWdlKENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50
LCBDb250ZXh0TWVudUNsaWVudCogY29udGV4dE1lbnVDbGllbnQsIEVkaQogICAgICwgbV9nZW9s
b2NhdGlvbkNvbnRyb2xsZXIobmV3IEdlb2xvY2F0aW9uQ29udHJvbGxlcih0aGlzLCBnZW9sb2Nh
dGlvbkNvbnRyb2xsZXJDbGllbnQpKQogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRB
VElPTikKKyAgICAsIG1fYWNjZWxlcm9tZXRlckNvbnRyb2xsZXIobmV3IEFjY2VsZXJvbWV0ZXJD
b250cm9sbGVyKGFjY2VsZXJvbWV0ZXJDbGllbnQpKQogICAgICwgbV9kZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXIobmV3IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcih0aGlzLCBkZXZpY2VP
cmllbnRhdGlvbkNsaWVudCkpCiAjZW5kaWYKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQpAQCAt
MTc5LDYgKzE4MSw3IEBAIFBhZ2U6OlBhZ2UoQ2hyb21lQ2xpZW50KiBjaHJvbWVDbGllbnQsIENv
bnRleHRNZW51Q2xpZW50KiBjb250ZXh0TWVudUNsaWVudCwgRWRpCiAgICAgVU5VU0VEX1BBUkFN
KGdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCk7CiAjZW5kaWYKICNpZiAhRU5BQkxFKENMSUVO
VF9ERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgVU5VU0VEX1BBUkFNKGFjY2VsZXJvbWV0ZXJDbGll
bnQpOwogICAgIFVOVVNFRF9QQVJBTShkZXZpY2VPcmllbnRhdGlvbkNsaWVudCk7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1dlYkNvcmUvcGFnZS9QYWdlLmgK
aW5kZXggODU5OWE4My4uOTRjNGZhMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2UuaAor
KysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0zNyw2ICszNyw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFzcyBBY2NlbGVyb21ldGVyQ2xpZW50
OworICAgIGNsYXNzIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyOwogICAgIGNsYXNzIEJhY2tGb3J3
YXJkQ29udHJvbGxlcjsKICAgICBjbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQ7CiAg
ICAgY2xhc3MgQmFja0ZvcndhcmRMaXN0OwpAQCAtOTAsNyArOTIsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBzZXROZWVkc1JlYXBwbHlT
dHlsZXMoKTsKIAotICAgICAgICBQYWdlKENocm9tZUNsaWVudCosIENvbnRleHRNZW51Q2xpZW50
KiwgRWRpdG9yQ2xpZW50KiwgRHJhZ0NsaWVudCosIEluc3BlY3RvckNsaWVudCosIFBsdWdpbkhh
bHRlckNsaWVudCosIEdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCosIERldmljZU9yaWVudGF0
aW9uQ2xpZW50KiwgQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50Kik7CisgICAgICAgIFBhZ2Uo
Q2hyb21lQ2xpZW50KiwgQ29udGV4dE1lbnVDbGllbnQqLCBFZGl0b3JDbGllbnQqLCBEcmFnQ2xp
ZW50KiwgSW5zcGVjdG9yQ2xpZW50KiwgUGx1Z2luSGFsdGVyQ2xpZW50KiwgR2VvbG9jYXRpb25D
b250cm9sbGVyQ2xpZW50KiwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqLCBBY2NlbGVyb21ldGVy
Q2xpZW50KiwgQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50Kik7CiAgICAgICAgIH5QYWdlKCk7
CiAKICAgICAgICAgUmVuZGVyVGhlbWUqIHRoZW1lKCkgY29uc3QgeyByZXR1cm4gbV90aGVtZS5n
ZXQoKTsgfTsKQEAgLTE1MSw2ICsxNTMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IEdlb2xvY2F0aW9uQ29udHJvbGxlciogZ2VvbG9jYXRpb25Db250cm9sbGVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZ2V0KCk7IH0KICNlbmRpZgogI2lmIEVOQUJM
RShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyKiBh
Y2NlbGVyb21ldGVyQ29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZWxlcm9tZXRlckNv
bnRyb2xsZXIuZ2V0KCk7IH0KICAgICAgICAgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKiBk
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2RldmljZU9yaWVu
dGF0aW9uQ29udHJvbGxlci5nZXQoKTsgfQogI2VuZGlmCiAjaWYgRU5BQkxFKElOUFVUX1NQRUVD
SCkKQEAgLTI3Miw2ICsyNzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIE93blB0
cjxHZW9sb2NhdGlvbkNvbnRyb2xsZXI+IG1fZ2VvbG9jYXRpb25Db250cm9sbGVyOwogI2VuZGlm
CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICAgICAgT3duUHRyPEFjY2VsZXJv
bWV0ZXJDb250cm9sbGVyPiBtX2FjY2VsZXJvbWV0ZXJDb250cm9sbGVyOwogICAgICAgICBPd25Q
dHI8RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyPiBtX2RldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlcjsKICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJ
bWFnZS5jcHAKaW5kZXggZWJkNzcwMy4uOGFmM2I0NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcv
Z3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCisrKyBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmNwcApAQCAtMjU1LDcgKzI1NSw3IEBAIGJvb2wgU1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKGJvb2wg
YWxsRGF0YVJlY2VpdmVkKQogICAgICAgICAvLyBGSVhNRTogSWYgdGhpcyBTVkcgZW5kcyB1cCBs
b2FkaW5nIGl0c2VsZiwgd2UgbWlnaHQgbGVhayB0aGUgd29ybGQuCiAgICAgICAgIC8vIFRoZSBj
b21tZW50IHNhaWQgdGhhdCB0aGUgQ2FjaGUgY29kZSBkb2VzIG5vdCBrbm93IGFib3V0IENhY2hl
ZEltYWdlcwogICAgICAgICAvLyBob2xkaW5nIEZyYW1lcyBhbmQgd29uJ3Qga25vdyB0byBicmVh
ayB0aGUgY3ljbGUuIEJ1dCAKLSAgICAgICAgbV9wYWdlLnNldChuZXcgUGFnZShtX2Nocm9tZUNs
aWVudC5nZXQoKSwgZHVtbXlDb250ZXh0TWVudUNsaWVudCwgZHVtbXlFZGl0b3JDbGllbnQsIGR1
bW15RHJhZ0NsaWVudCwgZHVtbXlJbnNwZWN0b3JDbGllbnQsIDAsIDAsIDAsIDApKTsKKyAgICAg
ICAgbV9wYWdlLnNldChuZXcgUGFnZShtX2Nocm9tZUNsaWVudC5nZXQoKSwgZHVtbXlDb250ZXh0
TWVudUNsaWVudCwgZHVtbXlFZGl0b3JDbGllbnQsIGR1bW15RHJhZ0NsaWVudCwgZHVtbXlJbnNw
ZWN0b3JDbGllbnQsIDAsIDAsIDAsIDAsIDApKTsKICAgICAgICAgbV9wYWdlLT5zZXR0aW5ncygp
LT5zZXRNZWRpYUVuYWJsZWQoZmFsc2UpOwogICAgICAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNl
dEphdmFTY3JpcHRFbmFibGVkKGZhbHNlKTsKICAgICAgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5z
ZXRQbHVnaW5zRW5hYmxlZChmYWxzZSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGZlODQ4NzkuLmViYjYwYjUgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTAtMDctMjMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQg
QWNjZWxlcm9tZXRlckV2ZW50CisKKyAgICAgICAgVGhlIFBhZ2UgY29uc3RydWN0b3Igbm93IHRh
a2VzIGFuIGV4dHJhIHBhcmFtZXRlciAobnVsbAorICAgICAgICBpbiB0aGUgY3VycmVudCBpbXBs
ZW1lbnRhdGlvbikgZm9yIGFjY2VsZXJvbWV0ZXIgY29udHJvbC4KKworICAgICAgICAqIFdlYlZp
ZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25X
aXRoRnJhbWVOYW1lOmdyb3VwTmFtZTp1c2VzRG9jdW1lbnRWaWV3czpdKToKKwogMjAxMC0wNy0x
OCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbSBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGE3MTVhYWQuLjIwOWQ1
MGYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC02NzYsNyArNjc2LDcgQEAgc3RhdGljIGJvb2wg
c2hvdWxkRW5hYmxlTG9hZERlZmVycmluZygpCiAjZWxzZQogICAgIFdlYkdlb2xvY2F0aW9uQ29u
dHJvbGxlckNsaWVudCogZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50ID0gMDsKICNlbmRpZgot
ICAgIF9wcml2YXRlLT5wYWdlID0gbmV3IFBhZ2UobmV3IFdlYkNocm9tZUNsaWVudChzZWxmKSwg
bmV3IFdlYkNvbnRleHRNZW51Q2xpZW50KHNlbGYpLCBuZXcgV2ViRWRpdG9yQ2xpZW50KHNlbGYp
LCBuZXcgV2ViRHJhZ0NsaWVudChzZWxmKSwgbmV3IFdlYkluc3BlY3RvckNsaWVudChzZWxmKSwg
bmV3IFdlYlBsdWdpbkhhbHRlckNsaWVudChzZWxmKSwgZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xp
ZW50LCAwLCAwKTsKKyAgICBfcHJpdmF0ZS0+cGFnZSA9IG5ldyBQYWdlKG5ldyBXZWJDaHJvbWVD
bGllbnQoc2VsZiksIG5ldyBXZWJDb250ZXh0TWVudUNsaWVudChzZWxmKSwgbmV3IFdlYkVkaXRv
ckNsaWVudChzZWxmKSwgbmV3IFdlYkRyYWdDbGllbnQoc2VsZiksIG5ldyBXZWJJbnNwZWN0b3JD
bGllbnQoc2VsZiksIG5ldyBXZWJQbHVnaW5IYWx0ZXJDbGllbnQoc2VsZiksIGdlb2xvY2F0aW9u
Q29udHJvbGxlckNsaWVudCwgMCwgMCwgMCk7CiAKICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0Q2Fu
U3RhcnRNZWRpYShbc2VsZiB3aW5kb3ddKTsKICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0dGluZ3Mo
KS0+c2V0TG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoKFtbc2VsZiBwcmVmZXJlbmNlc10gX2xvY2Fs
U3RvcmFnZURhdGFiYXNlUGF0aF0pOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cg
Yi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA4N2M3YjE4Li43ZDUyYWNlIDEwMDY0NAotLS0g
YS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDEwLTA3LTIzICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NjUKKyAgICAgICAgSW1wbGVtZW50IEFj
Y2VsZXJvbWV0ZXJFdmVudAorCisgICAgICAgIFRoZSBQYWdlIGNvbnN0cnVjdG9yIG5vdyB0YWtl
cyBhbiBleHRyYSBwYXJhbWV0ZXIgKG51bGwKKyAgICAgICAgaW4gdGhlIGN1cnJlbnQgaW1wbGVt
ZW50YXRpb24pIGZvciBhY2NlbGVyb21ldGVyIGNvbnRyb2wuCisKKyAgICAgICAgKiBXZWJWaWV3
LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAyMDEwLTA3LTE2ICBa
aGUgU3UgIDxzdXpoZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcAppbmRleCA0NDFlYmI5Li40MDYxM2I1IDEwMDY0NAotLS0gYS9XZWJLaXQvd2lu
L1dlYlZpZXcuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTI1NzAsNyArMjU3
MCw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6aW5pdFdpdGhGcmFtZSgK
ICAgICBpZiAoU1VDQ0VFREVEKG1fcHJlZmVyZW5jZXMtPnNob3VsZFVzZUhpZ2hSZXNvbHV0aW9u
VGltZXJzKCZ1c2VIaWdoUmVzb2x1dGlvblRpbWVyKSkpCiAgICAgICAgIFNldHRpbmdzOjpzZXRT
aG91bGRVc2VIaWdoUmVzb2x1dGlvblRpbWVycyh1c2VIaWdoUmVzb2x1dGlvblRpbWVyKTsKIAot
ICAgIG1fcGFnZSA9IG5ldyBQYWdlKG5ldyBXZWJDaHJvbWVDbGllbnQodGhpcyksIG5ldyBXZWJD
b250ZXh0TWVudUNsaWVudCh0aGlzKSwgbmV3IFdlYkVkaXRvckNsaWVudCh0aGlzKSwgbmV3IFdl
YkRyYWdDbGllbnQodGhpcyksIG5ldyBXZWJJbnNwZWN0b3JDbGllbnQodGhpcyksIG5ldyBXZWJQ
bHVnaW5IYWx0ZXJDbGllbnQodGhpcyksIGdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCwgMCwg
MCk7CisgICAgbV9wYWdlID0gbmV3IFBhZ2UobmV3IFdlYkNocm9tZUNsaWVudCh0aGlzKSwgbmV3
IFdlYkNvbnRleHRNZW51Q2xpZW50KHRoaXMpLCBuZXcgV2ViRWRpdG9yQ2xpZW50KHRoaXMpLCBu
ZXcgV2ViRHJhZ0NsaWVudCh0aGlzKSwgbmV3IFdlYkluc3BlY3RvckNsaWVudCh0aGlzKSwgbmV3
IFdlYlBsdWdpbkhhbHRlckNsaWVudCh0aGlzKSwgZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50
LCAwLCAwLCAwKTsKIAogICAgIEJTVFIgbG9jYWxTdG9yYWdlUGF0aDsKICAgICBpZiAoU1VDQ0VF
REVEKG1fcHJlZmVyZW5jZXMtPmxvY2FsU3RvcmFnZURhdGFiYXNlUGF0aCgmbG9jYWxTdG9yYWdl
UGF0aCkpKSB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDE5NTUxNDAuLmNjYjcyNjEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDctMjMgIERl
YW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisKKyAgICAg
ICAgVGhlIFBhZ2UgY29uc3RydWN0b3Igbm93IHRha2VzIGFuIGV4dHJhIHBhcmFtZXRlciAobnVs
bAorICAgICAgICBpbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbikgZm9yIGFjY2VsZXJvbWV0
ZXIgY29udHJvbC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6V2ViUGFnZSk6CisKIDIwMTAtMDctMTkgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QW5kZXJzIENhcmxzc29uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRl
eCBlMjYwZjVkLi5mYzY4N2ZjIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtNzksNyArNzksNyBAQCBQYXNzUmVmUHRyPFdlYlBhZ2U+IFdlYlBhZ2U6OmNyZWF0ZSh1
aW50NjRfdCBwYWdlSUQsIGNvbnN0IEludFNpemUmIHZpZXdTaXplLCBjbwogfQogCiBXZWJQYWdl
OjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgSW50U2l6ZSYgdmlld1NpemUsIGNvbnN0
IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlLCBEcmF3aW5nQXJlYTo6VHlwZSBkcmF3aW5nQXJl
YVR5cGUpCi0gICAgOiBtX3BhZ2UobmV3IFBhZ2UobmV3IFdlYkNocm9tZUNsaWVudCh0aGlzKSwg
bmV3IFdlYkNvbnRleHRNZW51Q2xpZW50KHRoaXMpLCBuZXcgV2ViRWRpdG9yQ2xpZW50KHRoaXMp
LCBuZXcgV2ViRHJhZ0NsaWVudCh0aGlzKSwgbmV3IFdlYkluc3BlY3RvckNsaWVudCh0aGlzKSwg
MCwgMCwgMCwgbmV3IFdlYkJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudCh0aGlzKSkpCisgICAg
OiBtX3BhZ2UobmV3IFBhZ2UobmV3IFdlYkNocm9tZUNsaWVudCh0aGlzKSwgbmV3IFdlYkNvbnRl
eHRNZW51Q2xpZW50KHRoaXMpLCBuZXcgV2ViRWRpdG9yQ2xpZW50KHRoaXMpLCBuZXcgV2ViRHJh
Z0NsaWVudCh0aGlzKSwgbmV3IFdlYkluc3BlY3RvckNsaWVudCh0aGlzKSwgMCwgMCwgMCwgMCwg
bmV3IFdlYkJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudCh0aGlzKSkpCiAgICAgLCBtX3ZpZXdT
aXplKHZpZXdTaXplKQogICAgICwgbV9kcmF3aW5nQXJlYShEcmF3aW5nQXJlYTo6Y3JlYXRlKGRy
YXdpbmdBcmVhVHlwZSwgdGhpcykpCiAgICAgLCBtX3BhZ2VJRChwYWdlSUQpCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggN2Zh
NDk1OS4uZWFjZjdmMiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA3LTIzICBEZWFuIEph
Y2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDI4NjUKKyAgICAgICAgSW1wbGVtZW50IEFjY2VsZXJvbWV0ZXJFdmVudAorCisgICAgICAgIEFk
ZCBhIGZsYWcgdG8gYnVpbGQtd2Via2l0IGZvciBlbmFibGluZy9kaXNhYmxpbmcgREVWSUNFX09S
SUVOVEFUSU9OCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoKKwogMjAxMC0wNy0x
OSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjYzNjcxLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy9idWlsZC13ZWJraXQgYi9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApp
bmRleCBmZDI3NmJkLi42OTg4ZDRjIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1
aWxkLXdlYmtpdAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtNTYs
NyArNTYsNyBAQCBteSAkbWFrZUFyZ3M7CiBteSAkc3RhcnRUaW1lID0gdGltZSgpOwogCiBteSAo
JGxpbmtQcmVmZXRjaFN1cHBvcnQsICR0aHJlZURDYW52YXNTdXBwb3J0LCAkdGhyZWVEUmVuZGVy
aW5nU3VwcG9ydCwgJGNoYW5uZWxNZXNzYWdpbmdTdXBwb3J0LCAkY2xpZW50QmFzZWRHZW9sb2Nh
dGlvblN1cHBvcnQsICRkYXRhYmFzZVN1cHBvcnQsICRkYXRhZ3JpZFN1cHBvcnQsICRkYXRhbGlz
dFN1cHBvcnQsCi0gICAgJGRvbVN0b3JhZ2VTdXBwb3J0LCAkZXZlbnRzb3VyY2VTdXBwb3J0LCAk
ZmlsdGVyc1N1cHBvcnQsICRnZW9sb2NhdGlvblN1cHBvcnQsICRpY29uRGF0YWJhc2VTdXBwb3J0
LCAkaW1hZ2VSZXNpemVyU3VwcG9ydCwgJGluZGV4ZWREYXRhYmFzZVN1cHBvcnQsICRpbnB1dFNw
ZWVjaFN1cHBvcnQsCisgICAgJGRldmljZU9yaWVudGF0aW9uU3VwcG9ydCwgJGRvbVN0b3JhZ2VT
dXBwb3J0LCAkZXZlbnRzb3VyY2VTdXBwb3J0LCAkZmlsdGVyc1N1cHBvcnQsICRnZW9sb2NhdGlv
blN1cHBvcnQsICRpY29uRGF0YWJhc2VTdXBwb3J0LCAkaW1hZ2VSZXNpemVyU3VwcG9ydCwgJGlu
ZGV4ZWREYXRhYmFzZVN1cHBvcnQsICRpbnB1dFNwZWVjaFN1cHBvcnQsCiAgICAgJGphdmFTY3Jp
cHREZWJ1Z2dlclN1cHBvcnQsICRtYXRobWxTdXBwb3J0LCAkb2ZmbGluZVdlYkFwcGxpY2F0aW9u
U3VwcG9ydCwgJHJ1YnlTdXBwb3J0LCAkc3lzdGVtTWFsbG9jU3VwcG9ydCwgJHNhbmRib3hTdXBw
b3J0LCAkc2hhcmVkV29ya2Vyc1N1cHBvcnQsCiAgICAgJHN2Z1N1cHBvcnQsICRzdmdBbmltYXRp
b25TdXBwb3J0LCAkc3ZnQXNJbWFnZVN1cHBvcnQsICRzdmdET01PYmpDQmluZGluZ3NTdXBwb3J0
LCAkc3ZnRm9udHNTdXBwb3J0LAogICAgICRzdmdGb3JlaWduT2JqZWN0U3VwcG9ydCwgJHN2Z1Vz
ZVN1cHBvcnQsICR2aWRlb1N1cHBvcnQsICR3ZWJTb2NrZXRzU3VwcG9ydCwgJHdlYlRpbWluZ1N1
cHBvcnQsICR3bWxTdXBwb3J0LCAkd2Nzc1N1cHBvcnQsICR4aHRtbG1wU3VwcG9ydCwgJHdvcmtl
cnNTdXBwb3J0LApAQCAtOTcsNiArOTcsOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRp
b24gPT4gImRpcmVjdG9yeS11cGxvYWQiLCBkZXNjID0+ICJUb29nbGUgRGlyZWN0b3J5IHVwbG9h
ZCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQiLCBk
ZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkZGlyZWN0b3J5VXBsb2FkU3VwcG9ydCB9LAogCisgICAg
eyBvcHRpb24gPT4gImRldmljZS1vcmllbnRhdGlvbiIsIGRlc2MgPT4gIlRvZ2dsZSBEZXZpY2Ug
T3JpZW50YXRpb24vQWNjZWxlcm9tZXRlciBTdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTiIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRkZXZpY2VP
cmllbnRhdGlvblN1cHBvcnQgfSwKKwogICAgIHsgb3B0aW9uID0+ICJkb20tc3RvcmFnZSIsIGRl
c2MgPT4gIlRvZ2dsZSBET00gU3RvcmFnZSBTdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5B
QkxFX0RPTV9TVE9SQUdFIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGRvbVN0b3JhZ2VTdXBw
b3J0IH0sCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63296</attachid>
            <date>2010-08-02 20:31:12 -0700</date>
            <delta_ts>2010-08-03 13:40:07 -0700</delta_ts>
            <desc>Updated patch after the Page constructor changes</desc>
            <filename>accel-new.patch</filename>
            <type>text/plain</type>
            <size>86489</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1YWI5NTE5Li4yYzRjNDRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTAtMDgt
MDIgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisK
KyAgICAgICAgQWRkIEFjY2VsZXJvbWV0ZXJFdmVudCBhbmQgb25hY2NlbGVyb21ldGVyIHRlc3Rp
bmcgdG8KKyAgICAgICAgdGhlIGRldmljZS1vcmllbnRhdGlvbiB0ZXN0LCBhbmQgbWFrZSBzdXJl
IHRoZSBhY2NlbGVyb21ldGVyCisgICAgICAgIGludGVyZmFjZSBpcyBub3QgdGVzdGVkIGluIHRo
ZSBnZW5lcmljIHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6CisK
KyAgICAgICAgQWRkIHNvbWUgdGVzdHMgZm9yIHRoZSBBY2NlbGVyb21ldGVyRXZlbnQgaW50ZXJm
YWNlLgorCisgICAgICAgICogZmFzdC9kb20vQWNjZWxlcm9tZXRlci9jcmVhdGUtZXZlbnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL2NyZWF0
ZS1ldmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL29w
dGlvbmFsLWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9BY2NlbGVyb21ldGVyL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vQWNjZWxlcm9tZXRlci9zY3JpcHQtdGVzdHMvVEVNUExB
VEUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vQWNjZWxlcm9tZXRlci9zY3JpcHQt
dGVzdHMvY3JlYXRlLWV2ZW50LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVy
b21ldGVyL3NjcmlwdC10ZXN0cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL3NjcmlwdC10ZXN0cy93aW5kb3ctcHJv
cGVydHkuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvd2luZG93
LXByb3BlcnR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vQWNjZWxl
cm9tZXRlci93aW5kb3ctcHJvcGVydHkuaHRtbDogQWRkZWQuCisKKyAgICAgICAgTWFrZSBzdXJl
IHRoZXNlIGFyZSBza2lwcGVkIG9uIE1hYywgV2luLCBHVEsgYW5kIFFULgorCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tp
cHBlZDoKKwogMjAxMC0wOC0wMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2NDQ3OC4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvY3JlYXRlLWV2ZW50LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvY3JlYXRlLWV2ZW50LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGE3NjNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci9jcmVh
dGUtZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjQgQEAKK1Rlc3RzIHRoYXQgZG9jdW1l
bnQuY3JlYXRlRXZlbnQoKSB3b3JrcyB3aXRoIEFjY2VsZXJvbWV0ZXJFdmVudC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIGV2ZW50ID09ICdvYmplY3QnIGlz
IHRydWUKK1BBU1MgJ3R5cGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2J1YmJsZXMnIGluIGV2
ZW50IGlzIHRydWUKK1BBU1MgJ2NhbmNlbGFibGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3gn
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3knIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3onIGlu
IGV2ZW50IGlzIHRydWUKK1BBU1MgJ2ludGVydmFsJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIHR5
cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmJ1
YmJsZXMgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmNhbmNlbGFibGUg
PT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnggPT0gJ29iamVjdCcgaXMg
dHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQueSA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVv
ZiBldmVudC56ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmludGVydmFs
ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVy
b21ldGVyL2NyZWF0ZS1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9t
ZXRlci9jcmVhdGUtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li41NDVmOTYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxl
cm9tZXRlci9jcmVhdGUtZXZlbnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2Ny
ZWF0ZS1ldmVudC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL29wdGlvbmFsLWV2ZW50LXByb3Bl
cnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci9v
cHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi45YmYzYWU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vQWNjZWxlcm9tZXRlci9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDQ0IEBACitUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBB
Y2NlbGVyb21ldGVyRXZlbnQuIEVhY2ggcHJvcGVydHkgc2hvdWxkIGJlIG51bGwgaWYgbm90IHNl
dCwgb3Igc2V0IHRvIG51bGwgb3IgdW5kZWZpbmVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnQWNjZWxlcm9tZXRlckV2ZW50
JykKK1BBU1MgZXZlbnQueCA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueSA9PSBudWxsIGlz
IHRydWUKK1BBU1MgZXZlbnQueiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwg
PT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxzZSwg
ZmFsc2UsIDAsIDEsIDIsIDMpCitQQVNTIGV2ZW50LnggPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50
LnkgPT0gMSBpcyB0cnVlCitQQVNTIGV2ZW50LnogPT0gMiBpcyB0cnVlCitQQVNTIGV2ZW50Lmlu
dGVydmFsID09IDMgaXMgdHJ1ZQorZXZlbnQuaW5pdEFjY2VsZXJvbWV0ZXJFdmVudCgpCitQQVNT
IGV2ZW50LnggPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnkgPT0gbnVsbCBpcyB0cnVlCitQ
QVNTIGV2ZW50LnogPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IG51bGwg
aXMgdHJ1ZQorZXZlbnQuaW5pdEFjY2VsZXJvbWV0ZXJFdmVudCgnJywgZmFsc2UsIGZhbHNlLCBb
XSwgW10sIFtdLCBbXSkKK1BBU1MgZXZlbnQueCA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQueSA9
PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQueiA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2
YWwgPT0gMCBpcyB0cnVlCitldmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxzZSwg
ZmFsc2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkKK1BBU1Mg
ZXZlbnQueCA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueSA9PSBudWxsIGlzIHRydWUKK1BB
U1MgZXZlbnQueiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCBp
cyB0cnVlCitldmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsICcn
LCAnJywgJycsICcnKQorUEFTUyBldmVudC54ID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC55ID09
IDAgaXMgdHJ1ZQorUEFTUyBldmVudC56ID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5pbnRlcnZh
bCA9PSAwIGlzIHRydWUKK2V2ZW50LmluaXRBY2NlbGVyb21ldGVyRXZlbnQoJycsIGZhbHNlLCBm
YWxzZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCkKK1BBU1MgZXZlbnQueCA9PSBudWxsIGlzIHRy
dWUKK1BBU1MgZXZlbnQueSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueiA9PSBudWxsIGlz
IHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL29wdGlvbmFsLWV2ZW50LXBy
b3BlcnRpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTI2Njlm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci9v
cHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2Ny
aXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21l
dGVyL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmIzMTk2M2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9BY2NlbGVyb21ldGVyL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCkBAIC0wLDAgKzEsMTIg
QEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3Jj
PSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL3NjcmlwdC10ZXN0cy9j
cmVhdGUtZXZlbnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL3Njcmlw
dC10ZXN0cy9jcmVhdGUtZXZlbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZWIyN2ExNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2Vs
ZXJvbWV0ZXIvc2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcwpAQCAtMCwwICsxLDIzIEBACitk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBkb2N1bWVudC5jcmVhdGVFdmVudCgpIHdvcmtzIHdpdGgg
QWNjZWxlcm9tZXRlckV2ZW50LiIpOworCit2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVu
dCgnQWNjZWxlcm9tZXRlckV2ZW50Jyk7CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50ID09
ICdvYmplY3QnIik7CisKK3Nob3VsZEJlVHJ1ZSgiJ3R5cGUnIGluIGV2ZW50Iik7CitzaG91bGRC
ZVRydWUoIididWJibGVzJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCInY2FuY2VsYWJsZScg
aW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3gnIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUo
Iid5JyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCIneicgaW4gZXZlbnQiKTsKK3Nob3VsZEJl
VHJ1ZSgiJ2ludGVydmFsJyBpbiBldmVudCIpOworCitzaG91bGRCZVRydWUoInR5cGVvZiBldmVu
dC50eXBlID09ICdzdHJpbmcnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC5idWJibGVz
ID09ICdib29sZWFuJyIpOworc2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQuY2FuY2VsYWJsZSA9
PSAnYm9vbGVhbiciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnggPT0gJ29iamVjdCci
KTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnkgPT0gJ29iamVjdCciKTsKK3Nob3VsZEJl
VHJ1ZSgidHlwZW9mIGV2ZW50LnogPT0gJ29iamVjdCciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9m
IGV2ZW50LmludGVydmFsID09ICdvYmplY3QnIik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRl
ci9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3Bl
cnRpZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODEyMzNmOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2NyaXB0
LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanMKQEAgLTAsMCArMSw0NyBAQAorZGVz
Y3JpcHRpb24oIlRlc3RzIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIG9mIEFjY2VsZXJvbWV0ZXJF
dmVudC4gRWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8g
bnVsbCBvciB1bmRlZmluZWQuIik7CisKK3ZhciBldmVudDsKKworZXZhbEFuZExvZygiZXZlbnQg
PSBkb2N1bWVudC5jcmVhdGVFdmVudCgnQWNjZWxlcm9tZXRlckV2ZW50JykiKTsKK3Nob3VsZEJl
VHJ1ZSgiZXZlbnQueCA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnkgPT0gbnVsbCIp
Oworc2hvdWxkQmVUcnVlKCJldmVudC56ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
aW50ZXJ2YWwgPT0gbnVsbCIpOworCitldmFsQW5kTG9nKCJldmVudC5pbml0QWNjZWxlcm9tZXRl
ckV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIDAsIDEsIDIsIDMpIik7CitzaG91bGRCZVRydWUoImV2
ZW50LnggPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55ID09IDEiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQueiA9PSAyIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09IDMiKTsK
KworZXZhbEFuZExvZygiZXZlbnQuaW5pdEFjY2VsZXJvbWV0ZXJFdmVudCgpIik7CitzaG91bGRC
ZVRydWUoImV2ZW50LnggPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55ID09IG51bGwi
KTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueiA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50
LmludGVydmFsID09IG51bGwiKTsKKworZXZhbEFuZExvZygiZXZlbnQuaW5pdEFjY2VsZXJvbWV0
ZXJFdmVudCgnJywgZmFsc2UsIGZhbHNlLCBbXSwgW10sIFtdLCBbXSkiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQueCA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnkgPT0gMCIpOworc2hvdWxk
QmVUcnVlKCJldmVudC56ID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuaW50ZXJ2YWwgPT0g
MCIpOworCitldmFsQW5kTG9nKCJldmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxz
ZSwgZmFsc2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQueCA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50Lnkg
PT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC56ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCIpOworCitldmFsQW5kTG9nKCJldmVudC5pbml0QWNj
ZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsICcnLCAnJywgJycsICcnKSIpOworc2hv
dWxkQmVUcnVlKCJldmVudC54ID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueSA9PSAwIik7
CitzaG91bGRCZVRydWUoImV2ZW50LnogPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRl
cnZhbCA9PSAwIik7CisKK2V2YWxBbmRMb2coImV2ZW50LmluaXRBY2NlbGVyb21ldGVyRXZlbnQo
JycsIGZhbHNlLCBmYWxzZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCkiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQueCA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnkgPT0gbnVsbCIpOwor
c2hvdWxkQmVUcnVlKCJldmVudC56ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuaW50
ZXJ2YWwgPT0gbnVsbCIpOworCit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2NyaXB0LXRlc3Rz
L3dpbmRvdy1wcm9wZXJ0eS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIv
c2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5lNmE1NmM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vQWNjZWxlcm9tZXRlci9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LmpzCkBAIC0wLDAg
KzEsMzEgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHRoZSB3aW5kb3cuQWNjZWxlcm9tZXRl
ckV2ZW50IGFuZCB3aW5kb3cub25hY2NlbGVyb21ldGVyIHByb3BlcnRpZXMgYXJlIHByZXNlbnQu
Iik7CisKK2Z1bmN0aW9uIGhhc0FjY2VsZXJvbWV0ZXJFdmVudFByb3BlcnR5KCkKK3sKKyAgICBm
b3IgKHZhciBwcm9wZXJ0eSBpbiB3aW5kb3cpIHsKKyAgICAgICAgaWYgKHByb3BlcnR5ID09ICJB
Y2NlbGVyb21ldGVyRXZlbnQiKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAg
IHJldHVybiBmYWxzZTsKK30KKworc2hvdWxkQmVUcnVlKCJ0eXBlb2Ygd2luZG93LkFjY2VsZXJv
bWV0ZXJFdmVudCA9PSAnb2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNBY2NlbGVyb21ldGVy
RXZlbnRQcm9wZXJ0eSgpIik7CitzaG91bGRCZVRydWUoIidBY2NlbGVyb21ldGVyRXZlbnQnIGlu
IHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVydHkoJ0FjY2VsZXJv
bWV0ZXJFdmVudCcpIik7CisKK2Z1bmN0aW9uIGhhc09uQWNjZWxlcm9tZXRlclByb3BlcnR5KCkK
K3sKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB3aW5kb3cpIHsKKyAgICAgICAgaWYgKHByb3Bl
cnR5ID09ICJvbmFjY2VsZXJvbWV0ZXIiKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorICAgIHJldHVybiBmYWxzZTsKK30KKworc2hvdWxkQmVUcnVlKCJ0eXBlb2Ygd2luZG93Lm9u
YWNjZWxlcm9tZXRlciA9PSAnb2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNPbkFjY2VsZXJv
bWV0ZXJQcm9wZXJ0eSgpIik7CitzaG91bGRCZVRydWUoIidvbmFjY2VsZXJvbWV0ZXInIGluIHdp
bmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVydHkoJ29uYWNjZWxlcm9t
ZXRlcicpIik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci93aW5kb3ctcHJvcGVydHktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci93aW5kb3ctcHJv
cGVydHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYw
MDk5MzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21l
dGVyL3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdHMg
dGhhdCB0aGUgd2luZG93LkFjY2VsZXJvbWV0ZXJFdmVudCBhbmQgd2luZG93Lm9uYWNjZWxlcm9t
ZXRlciBwcm9wZXJ0aWVzIGFyZSBwcmVzZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyB0eXBlb2Ygd2luZG93LkFjY2VsZXJvbWV0ZXJFdmVudCA9PSAnb2JqZWN0JyBp
cyB0cnVlCitQQVNTIGhhc0FjY2VsZXJvbWV0ZXJFdmVudFByb3BlcnR5KCkgaXMgdHJ1ZQorUEFT
UyAnQWNjZWxlcm9tZXRlckV2ZW50JyBpbiB3aW5kb3cgaXMgdHJ1ZQorUEFTUyB3aW5kb3cuaGFz
T3duUHJvcGVydHkoJ0FjY2VsZXJvbWV0ZXJFdmVudCcpIGlzIHRydWUKK1BBU1MgdHlwZW9mIHdp
bmRvdy5vbmFjY2VsZXJvbWV0ZXIgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyBoYXNPbkFjY2Vs
ZXJvbWV0ZXJQcm9wZXJ0eSgpIGlzIHRydWUKK1BBU1MgJ29uYWNjZWxlcm9tZXRlcicgaW4gd2lu
ZG93IGlzIHRydWUKK1BBU1Mgd2luZG93Lmhhc093blByb3BlcnR5KCdvbmFjY2VsZXJvbWV0ZXIn
KSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci93aW5k
b3ctcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvd2lu
ZG93LXByb3BlcnR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTEy
MjAzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0
ZXIvd2luZG93LXByb3BlcnR5Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy93aW5k
b3ctcHJvcGVydHkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1v
cmllbnRhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA2Mjgw
MWViLi4xZDhiMjIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDcgQEAKLVRoaXMgdGVzdCBkdW1wcyBhbGwgb2Yg
dGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhY2hhYmxlIGZyb20gdGhlIHdpbmRvdy5EZXZpY2VP
cmllbnRhdGlvbkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2VvcmllbnRhdGlvbiBvYmplY3RzLCBh
bG9uZyB3aXRoIHRoZWlyIHR5cGVzLgorVGhpcyB0ZXN0IGR1bXBzIGFsbCBvZiB0aGUgcHJvcGVy
dGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmljZU9yaWVudGF0aW9u
RXZlbnQsIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uLCB3aW5kb3cuQWNjZWxlcm9tZXRlckV2
ZW50IGFuZCB3aW5kb3cub25hY2NlbGVyb21ldGVyIG9iamVjdHMsIGFsb25nIHdpdGggdGhlaXIg
dHlwZXMuCiAKIHdpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IFtmdW5jdGlvbl0KIHdpbmRv
dy5vbmRldmljZW9yaWVudGF0aW9uIFtudWxsXQord2luZG93LkFjY2VsZXJhdGlvbkV2ZW50IFtm
dW5jdGlvbl0KK3dpbmRvdy5vbmFjY2VsZXJhdGlvbiBbbnVsbF0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRh
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
LWRldmljZS1vcmllbnRhdGlvbi5odG1sCmluZGV4IDk3ZTAwYmIuLmNjYzlkZDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Ut
b3JpZW50YXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKQEAgLTEsNCArMSw1IEBACi08cD5U
aGlzIHRlc3QgZHVtcHMgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIHJlYWNoYWJsZSBm
cm9tIHRoZSB3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudCBhbmQgd2luZG93Lm9uZGV2aWNl
b3JpZW50YXRpb24gb2JqZWN0cywgYWxvbmcgd2l0aCB0aGVpciB0eXBlcy48L3A+Cis8cD5UaGlz
IHRlc3QgZHVtcHMgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIHJlYWNoYWJsZSBmcm9t
IHRoZSB3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudCwgd2luZG93Lm9uZGV2aWNlb3JpZW50
YXRpb24sIHdpbmRvdy5BY2NlbGVyb21ldGVyRXZlbnQgYW5kIHdpbmRvdy5vbmFjY2VsZXJvbWV0
ZXIgb2JqZWN0cywgYWxvbmcgd2l0aCB0aGVpciB0eXBlcy4KKyAgVGhlc2UgcHJvcGVydGllcyBh
cmUgY3VycmVudGx5IGd1YXJkZWQgYnkgRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTi48L3A+CiA8
aHI+CiA8cHJlIGlkPSJwcmUiPjwvcHJlPgogCkBAIC05MCw1ICs5MSw3IEBAIGZ1bmN0aW9uIGxv
Z1Byb3BlcnRpZXMob2JqZWN0LCBvYmplY3ROYW1lKQogCiBsb2dWYWx1ZSgnd2luZG93LkRldmlj
ZU9yaWVudGF0aW9uRXZlbnQnKTsKIGxvZ1ZhbHVlKCd3aW5kb3cub25kZXZpY2VvcmllbnRhdGlv
bicpOworbG9nVmFsdWUoJ3dpbmRvdy5BY2NlbGVyb21ldGVyRXZlbnQnKTsKK2xvZ1ZhbHVlKCd3
aW5kb3cub25hY2NlbGVyb21ldGVyJyk7CiBmbHVzaExvZygpOwogPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sCmluZGV4
IGMxMzVhOWIuLjE5OTFlOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydGllcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydGllcy5odG1sCkBAIC04NSw2ICs4NSw4IEBAIHZhciBfX3NraXBfXyA9
IHsKICAgICAid2luZG93LkZpbGVSZWFkZXIiIDogMSwKICAgICAid2luZG93LkRldmljZU9yaWVu
dGF0aW9uRXZlbnQiIDogMSwKICAgICAid2luZG93Lm9uZGV2aWNlb3JpZW50YXRpb24iIDogMSwK
KyAgICAid2luZG93LkFjY2VsZXJvbWV0ZXJFdmVudCIgOiAxLAorICAgICJ3aW5kb3cub25hY2Nl
bGVyb21ldGVyIiA6IDEsCiAgICAgIndpbmRvdy53ZWJraXRQZXJmb3JtYW5jZSIgOiAxLAogCiAg
ICAgLy8gc2hvd01vZGFsRGlhbG9nIGlzIG5vdCBpbXBsZW1lbnRlZCBvbiBhbGwgcGxhdGZvcm1z
IGluIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCAxYjg5OThm
Li4yOTdjODU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMTA5MSw2ICsxMDkxLDkg
QEAgZmFzdC9kb20vY2xpZW50LXdpZHRoLWhlaWdodC5odG1sCiBmYXN0L2RvbS9jc3NUYXJnZXQt
Y3Jhc2guaHRtbAogZmFzdC9kb20vZnJhbWUtbG9hZGluZy12aWEtZG9jdW1lbnQtd3JpdGUuaHRt
bAogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vYmFzaWMtb3BlcmF0aW9uLmh0bWwKK2Zhc3Qv
ZG9tL0FjY2VsZXJvbWV0ZXIvY3JlYXRlLWV2ZW50Lmh0bWwKK2Zhc3QvZG9tL0FjY2VsZXJvbWV0
ZXIvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCitmYXN0L2RvbS9BY2NlbGVyb21ldGVy
L3dpbmRvdy1wcm9wZXJ0eS5odG1sCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9jcmVhdGUt
ZXZlbnQuaHRtbAogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJv
cGVydGllcy5odG1sCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi93aW5kb3ctcHJvcGVydHku
aHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCAxOTdkNDk3Li42OWJjMzAxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtMjQwLDcgKzI0MCw4IEBAIGNhbnZhcy9waGlsaXAv
dGVzdHMvdHlwZS5wcm90b3R5cGUuaHRtbAogIyBJbmRleGVkREIgaXMgbm90IHlldCBlbmFibGVk
Lgogc3RvcmFnZS9pbmRleGVkZGIKIAotIyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IERldmlj
ZU9yaWVudGF0aW9uLgorIyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IERldmljZU9yaWVudGF0
aW9uIG9yIEFjY2VsZXJvbWV0ZXIuCitmYXN0L2RvbS9BY2NlbGVyb21ldGVyCiBmYXN0L2RvbS9E
ZXZpY2VPcmllbnRhdGlvbgogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmlj
ZS1vcmllbnRhdGlvbi5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDgwZTU0ZDAu
LjU0ODQwYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtNzcsNyArNzcsOCBAQCBwbHVn
aW5zL2NsaWNraW5nLW1pc3NpbmctcGx1Z2luLWZpcmVzLWRlbGVnYXRlLmh0bWwKICMgICAgICAg
RmVhdHVyZSBub3Qgc3VwcG9ydGVkLi4uIHlldAogIyA9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwogCi0j
IFRoaXMgcG9ydCBkb2Vzbid0IHN1cHBvcnQgRGV2aWNlT3JpZW50YXRpb24uCisjIFRoaXMgcG9y
dCBkb2Vzbid0IHN1cHBvcnQgRGV2aWNlT3JpZW50YXRpb24gb3IgQWNjZWxlcm9tZXRlci4KK2Zh
c3QvZG9tL0FjY2VsZXJvbWV0ZXIKIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uCiBmYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAxY2E3ZWNhLi5iMmNjOTczIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vU2tpcHBlZApAQCAtODcxLDcgKzg3MSw4IEBAIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4
dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwKICMgSW5kZXhlZERCIGlzIG5vdCB5ZXQgZW5hYmxlZC4K
IHN0b3JhZ2UvaW5kZXhlZGRiCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VP
cmllbnRhdGlvbi4KKyMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VPcmllbnRhdGlv
biBvciBBY2NlbGVyb21ldGVyLgorZmFzdC9kb20vQWNjZWxlcm9tZXRlcgogZmFzdC9kb20vRGV2
aWNlT3JpZW50YXRpb24KIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Ut
b3JpZW50YXRpb24uaHRtbAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5q
c2NiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCmlu
ZGV4IDBkYTMzZDAuLjFkNTM0ZTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVk
LmpzY2JpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdz
Lm1rCkBAIC05Myw2ICs5Myw3IEBAICQocGF0c3Vic3QgJS5oLCUuY3BwLCQoR0VOKSk6ICQoaW50
ZXJtZWRpYXRlcykvY3NzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKS9jc3MvCiAKICMgRE9NCiBH
RU4gOj0gXAorICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTQWNjZWxlcm9tZXRlckV2ZW50Lmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTQXR0ci5oIFwKICAgICAkKGludGVybWVkaWF0
ZXMpL2RvbS9KU0JlZm9yZUxvYWRFdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9K
U0NEQVRBU2VjdGlvbi5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4
YmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCmluZGV4
IDYzYmUwYTguLjQ2YjgxNDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4
YmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawpA
QCAtNzUsNiArNzUsNyBAQCAkKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGludGVybWVk
aWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKQogCiAjIERPTQogR0VOIDo9
IFwKKyAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QWNjZWxlcm9tZXRlckV2ZW50Lmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhBdHRyLmggXAogICAgICQoaW50ZXJt
ZWRpYXRlcykvYmluZGluZ3MvVjhCZWZvcmVMb2FkRXZlbnQuaCBcCiAgICAgJChpbnRlcm1lZGlh
dGVzKS9iaW5kaW5ncy9WOENEQVRBU2VjdGlvbi5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5k
cm9pZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawppbmRl
eCBmNjdkNTRkLi41N2FhYmZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGlu
Z3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCkBAIC02MCw2ICs2MCw3
IEBAIEJJTkRJTkdfQ19JTkNMVURFUyA6PSBcCiBMT0NBTF9TUkNfRklMRVMgKz0gXAogCWJpbmRp
bmdzL2pzL0dDQ29udHJvbGxlci5jcHAgXAogCWJpbmRpbmdzL2pzL0lEQkJpbmRpbmdVdGlsaXRp
ZXMuY3BwIFwKKwliaW5kaW5ncy9qcy9KU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL2pzL0pTQXR0ckN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTQXVkaW9Db25z
dHJ1Y3Rvci5jcHAgXAogCWJpbmRpbmdzL2pzL0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCBcCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQubWsgYi9XZWJDb3JlL0FuZHJvaWQubWsKaW5kZXgg
ZDc1ZmQ1OS4uY2EyMTE2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLm1rCisrKyBiL1dl
YkNvcmUvQW5kcm9pZC5tawpAQCAtOTcsNiArOTcsOSBAQCBMT0NBTF9TUkNfRklMRVMgOj0gJChM
T0NBTF9TUkNfRklMRVMpIFwKIAljc3MvV2ViS2l0Q1NTTWF0cml4LmNwcCBcCiAJY3NzL1dlYktp
dENTU1RyYW5zZm9ybVZhbHVlLmNwcCBcCiAJXAorCWRvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxl
ci5jcHAgXAorCWRvbS9BY2NlbGVyb21ldGVyRGF0YS5jcHAgXAorCWRvbS9BY2NlbGVyb21ldGVy
RXZlbnQuY3BwIFwKIAlkb20vQWN0aXZlRE9NT2JqZWN0LmNwcCBcCiAJZG9tL0F0dHIuY3BwIFwK
IAlkb20vQXR0cmlidXRlLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQudjhiaW5k
aW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCmluZGV4IGIzNmJlYWIuLjNm
MDk3MzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCisrKyBiL1dl
YkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCkBAIC04NSw2ICs4NSw3IEBAIExPQ0FMX1NSQ19G
SUxFUyArPSBcCiAJXAogCWJpbmRpbmdzL3Y4L25wcnVudGltZS5jcHAgXAogCVwKKwliaW5kaW5n
cy92OC9jdXN0b20vVjhBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy92
OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NT
U3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0
eWxlU2hlZXRDdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGUwYTY0YWYuLmQyYTkwMjQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApA
QCAtMTMzLDYgKzEzMyw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIGNzcy9XZWJLaXRD
U1NNYXRyaXguaWRsCiAgICAgY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbAogCisgICAg
ZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5pZGwKICAgICBkb20vQXR0ci5pZGwKICAgICBkb20vQmVm
b3JlTG9hZEV2ZW50LmlkbAogICAgIGRvbS9DREFUQVNlY3Rpb24uaWRsCkBAIC01NjgsNiArNTY5
LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5j
cHAKICAgICBiaW5kaW5ncy9qcy9JREJCaW5kaW5nVXRpbGl0aWVzLmNwcAogICAgIGJpbmRpbmdz
L2pzL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCisgICAgYmluZGluZ3MvanMvSlNBY2NlbGVyb21l
dGVyRXZlbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNBdHRyQ3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcApAQCAtNzY2LDYgKzc2OCw5IEBAIFNFVChXZWJD
b3JlX1NPVVJDRVMKICAgICBjc3MvV2ViS2l0Q1NTTWF0cml4LmNwcAogICAgIGNzcy9XZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZS5jcHAKIAorICAgIGRvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5j
cHAKKyAgICBkb20vQWNjZWxlcm9tZXRlckRhdGEuY3BwCisgICAgZG9tL0FjY2VsZXJvbWV0ZXJF
dmVudC5jcHAKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmNwcAogICAgIGRvbS9BdHRyLmNwcAog
ICAgIGRvbS9BdHRyaWJ1dGUuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJlZmJlOTcuLjBmMzBkMWIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzQgQEAKKzIw
MTAtMDgtMDIgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2
ZW50CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBBY2NlbGVyb21ldGVyRXZlbnQgaW50ZXJmYWNl
IGFzIGRlZmluZWQKKyAgICAgICAgaW4gaHR0cDovL2Rldi53My5vcmcvZ2VvL2FwaS9zcGVjLXNv
dXJjZS1vcmllbnRhdGlvbi5odG1sCisgICAgICAgIFRoaXMgaXMgY3VycmVudGx5IGFuIGVtcHR5
IGltcGxlbWVudGF0aW9uLCBpbiB0aGF0IHRoZXJlIGlzCisgICAgICAgIG5vIGFjY2VsZXJvbWV0
ZXIgY2xpZW50IGNvbm5lY3RlZCAtIHRoZSBwbGF0Zm9ybSBpbXBsZW1lbnRhdGlvbnMKKyAgICAg
ICAgd2lsbCBuZWVkIHRvIGRvIHRoYXQuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZG9tL0FjY2Vs
ZXJvbWV0ZXIvY3JlYXRlLWV2ZW50Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0FjY2Vs
ZXJvbWV0ZXIvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2RvbS9BY2NlbGVyb21ldGVyL3dpbmRvdy1wcm9wZXJ0eS5odG1sCisKKyAgICAgICAgKiBB
bmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5kZXJpdmVk
LnY4YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAg
ICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIEFuZHJvaWQudjhiaW5kaW5ncy5tazoKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAq
IEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgLSBBZGQg
bmV3IGZpbGVzIGZvZSBBY2NlbGVyb21ldGVyRXZlbnQgYnVpbGQgc3VwcG9ydAorICAgICAgICAq
IGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHA6CisgICAgICAgICog
YmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgICAgLSBu
ZXcgcnVudGltZSBmbGFncyBmb3IgYWNjZWxlcm9tZXRlcgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4QWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAg
ICAgICAgLSBDdXN0b20gSlMgYmluZGluZyB0byB0cmFuc2xhdGUgcHJvcGVydHkgYWNjZXNzIHRo
cm91Z2gKKyAgICAgICAgICAgIHRvIHRoZSBBY2NlbGVyb21ldGVyRGF0YSBvYmplY3QgdGhhdCB0
aGUgRXZlbnQgaG9sZHMKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoK
KyAgICAgICAgICAtIEluY2x1ZGUgdGhlIGN1c3RvbSBjb2RlIGZvciBBY2NlbGVyb21ldGVyRXZl
bnQKKyAgICAgICAgKiBkb20vQWNjZWxlcm9tZXRlckNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAg
ICAtIFB1cmUgdmlydHVhbCBjbGllbnQgZm9yIEFjY2VsZXJvbWV0ZXIgYWNjZXNzCisgICAgICAg
ICogZG9tL0FjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmNwcDogQWRkZWQuCisgICAgICAgICogZG9t
L0FjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAgIC0gQ29udHJvbGxl
ciBjbGFzcyB0aGF0IG1hbmFnZXMgZXZlbnQgZGlzcGF0Y2gKKyAgICAgICAgKiBkb20vQWNjZWxl
cm9tZXRlckRhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBkb20vQWNjZWxlcm9tZXRlckRhdGEu
aDogQWRkZWQuCisgICAgICAgICAgLSBSZXByZXNlbnRhdGlvbiBvZiB0aGUgZGF0YSB0aGF0IGNv
bWVzIGZyb20gYW4gYWNjZWxlcm9tZXRlcgorICAgICAgICAgICAgY2xpZW50IHRoYXQgaXMgdGhl
biB1c2VkIHdpdGhpbiB0aGUgZXZlbnQuCisgICAgICAgICogZG9tL0FjY2VsZXJvbWV0ZXJFdmVu
dC5jcHA6IEFkZGVkLgorICAgICAgICAqIGRvbS9BY2NlbGVyb21ldGVyRXZlbnQuaDogQWRkZWQu
CisgICAgICAgICogZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5pZGw6IEFkZGVkLgorICAgICAgICAg
IC0gVGhlIGFjdHVhbCBldmVudCBpbXBsZW1lbnRhdGlvbgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAg
ICAgIC0gVXBkYXRlIGNyZWF0ZUV2ZW50IHRvIGFsbG93ICJhY2NlbGVyb21ldGVyIiBldmVudHMK
KyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAg
ICAgIC0gaXNBY2NlbGVyb21ldGVyRXZlbnQgdmlydHVhbCBtZXRob2QKKyAgICAgICAgKiBkb20v
RXZlbnROYW1lcy5oOgorICAgICAgICAgIC0gbmV3ICJhY2NlbGVyb21ldGVyIiBldmVudCB0eXBl
CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2lu
ZG93OjphZGRFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAg
ICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgICAtIGFsbG93IGNyZWF0aW9uIG9m
ICJhY2NlbGVyb21ldGVyIiBldmVudHMgYW5kIHBhc3MgcmVnaXN0cmF0aW9uCisgICAgICAgICAg
ICB0aHJvdWdoIHRvIHRoZSBQYWdlJ3MgYWNjZWxlcm9tZXRlckNvbnRyb2xsZXIgb2JqZWN0Cisg
ICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAg
ICAtIG5ldyBQYWdlQ2xpZW50IGZvciBhY2NlbGVyb21ldGVyQ29udHJvbGxlcgorCiAyMDEwLTA4
LTAyICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjY0NDc2LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGUwNTMzNTAu
LmUyODgyZjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTUxLDYgKzUxLDcgQEAgVlBBVEggPSBcCiBE
T01fQ0xBU1NFUyA9IFwKICAgICBBYnN0cmFjdFZpZXcgXAogICAgIEFic3RyYWN0V29ya2VyIFwK
KyAgICBBY2NlbGVyb21ldGVyRXZlbnQgXAogICAgIEFjY2Vzc2liaWxpdHkgXAogICAgIEF0dHIg
XAogICAgIEJhckluZm8gXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggODUyZjNlYi4uMzY4ZTBmZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC05
OSw2ICs5OSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQWJzdHJhY3RXb3JrZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
QWJzdHJhY3RXb3JrZXIuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FjY2VsZXJvbWV0
ZXJFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBY2NlbGVyb21ldGVyRXZl
bnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FjY2Vzc2liaWxpdHkuY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWNjZXNzaWJpbGl0eS5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQXJyYXlCdWZmZXIuY3BwIFwKQEAgLTYzNCw2ICs2MzYsNyBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxkLmggXAog
CVdlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5n
cy9qcy9HQ0NvbnRyb2xsZXIuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0FjY2VsZXJvbWV0
ZXJFdmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNBdHRyQ3VzdG9tLmNw
cCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgXAogCVdl
YkNvcmUvYmluZGluZ3MvanMvSlNEYXRhR3JpZENvbHVtbkxpc3RDdXN0b20uY3BwIFwKQEAgLTk3
MCw2ICs5NzMsMTMgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2Nzcy9XZWJLaXRD
U1NNYXRyaXguaCBcCiAJV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIFwK
IAlXZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIFwKKwlXZWJDb3JlL2RvbS9B
Y2NlbGVyb21ldGVyQ2xpZW50LmggXAorCVdlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJDb250cm9s
bGVyLmNwcCBcCisJV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCBcCisJV2Vi
Q29yZS9kb20vQWNjZWxlcm9tZXRlckRhdGEuY3BwIFwKKwlXZWJDb3JlL2RvbS9BY2NlbGVyb21l
dGVyRGF0YS5oIFwKKwlXZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuY3BwIFwKKwlXZWJD
b3JlL2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuaCBcCiAJV2ViQ29yZS9kb20vQWN0aXZlRE9NT2Jq
ZWN0LmNwcCBcCiAJV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmggXAogCVdlYkNvcmUvZG9t
L0F0dHIuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggOTA4NTY1Ni4uNjYzMmQzMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTMwLDYgKzMwLDcgQEAK
ICAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5pZGwnLAogICAgICAgICAg
ICAgJ2Nzcy9XZWJLaXRDU1NNYXRyaXguaWRsJywKICAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NT
VHJhbnNmb3JtVmFsdWUuaWRsJywKKyAgICAgICAgICAgICdkb20vQWNjZWxlcm9tZXRlckV2ZW50
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0F0dHIuaWRsJywKICAgICAgICAgICAgICdkb20vQmVm
b3JlTG9hZEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0JlZm9yZVByb2Nlc3NFdmVudC5p
ZGwnLApAQCAtNTIxLDYgKzUyMiw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvR0NDb250
cm9sbGVyLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuaCcsCisgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy9qcy9KU0F0dHJDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy9qcy9KU0F1ZGlvQ29uc3RydWN0b3IuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U0F1ZGlvQ29uc3RydWN0b3IuaCcsCkBAIC03MTMsNiArNzE1LDcgQEAKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhDYW52YXNQaXhlbEFycmF5Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4QWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmgnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyQ3VzdG9tLmNwcCcs
CkBAIC0xMDc2LDYgKzEwNzksMTMgQEAKICAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWUuaCcsCiAgICAgICAgICAgICAnZG9tL2RlZmF1bHQvUGxhdGZvcm1NZXNzYWdlUG9y
dENoYW5uZWwuY3BwJywKICAgICAgICAgICAgICdkb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQ
b3J0Q2hhbm5lbC5oJywKKyAgICAgICAgICAgICdkb20vQWNjZWxlcm9tZXRlckNsaWVudC5oJywK
KyAgICAgICAgICAgICdkb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwJywKKyAgICAgICAg
ICAgICdkb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCcsCisgICAgICAgICAgICAnZG9tL0Fj
Y2VsZXJvbWV0ZXJEYXRhLmNwcCcsCisgICAgICAgICAgICAnZG9tL0FjY2VsZXJvbWV0ZXJEYXRh
LmgnLAorICAgICAgICAgICAgJ2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuY3BwJywKKyAgICAgICAg
ICAgICdkb20vQWNjZWxlcm9tZXRlckV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9BY3RpdmVE
T01PYmplY3QuY3BwJywKICAgICAgICAgICAgICdkb20vQWN0aXZlRE9NT2JqZWN0LmgnLAogICAg
ICAgICAgICAgJ2RvbS9BdHRyLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJv
IGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA1ZDE3MzFmLi4yY2ExNDQxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTI4Myw2
ICsyODMsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBiaW5kaW5ncy9qcy9ET01PYmplY3RIYXNoVGFi
bGVNYXAuY3BwIFwKICAgICBiaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwIFwKICAgICBi
aW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAgXAorICAgIGJpbmRpbmdzL2pzL0pTQWNjZWxl
cm9tZXRlckV2ZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNBdHRyQ3VzdG9tLmNw
cCBcCiAgICAgYmluZGluZ3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIFwKICAgICBiaW5k
aW5ncy9qcy9KU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIFwKQEAgLTQ1OCw2ICs0
NTksOSBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAg
XAogICAgIGNzcy9XZWJLaXRDU1NNYXRyaXguY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWUuY3BwIFwKKyAgICBkb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwIFwKKyAg
ICBkb20vQWNjZWxlcm9tZXRlckRhdGEuY3BwIFwKKyAgICBkb20vQWNjZWxlcm9tZXRlckV2ZW50
LmNwcCBcCiAgICAgZG9tL0FjdGl2ZURPTU9iamVjdC5jcHAgXAogICAgIGRvbS9BdHRyLmNwcCBc
CiAgICAgZG9tL0F0dHJpYnV0ZS5jcHAgXApAQCAtMTIyMyw2ICsxMjI3LDEwIEBAIEhFQURFUlMg
Kz0gXAogICAgIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmggXAogICAgIGNzcy9XZWJLaXRD
U1NNYXRyaXguaCBcCiAgICAgY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggXAorICAgIGRv
bS9BY2NlbGVyb21ldGVyQ2xpZW50LmggXAorICAgIGRvbS9BY2NlbGVyb21ldGVyRGF0YS5oIFwK
KyAgICBkb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCBcCisgICAgZG9tL0FjY2VsZXJvbWV0
ZXJFdmVudC5oIFwKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmggXAogICAgIGRvbS9BdHRyLmgg
XAogICAgIGRvbS9BdHRyaWJ1dGUuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCA3MmZiMWU0Li41MTljM2NjIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKQEAgLTYwMSw2ICs2MDEsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU0FjY2VsZXJvbWV0ZXJFdmVudC5jcHAiCisJCQkJPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0FjY2VsZXJvbWV0ZXJFdmVudC5oIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQWNjZXNzaWJpbGl0eS5jcHAi
CiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMzI1NjgsNiArMzI2MjQsMzQgQEAK
IAkJCU5hbWU9ImRvbSIKIAkJCT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21c
QWNjZWxlcm9tZXRlckNsaWVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxkb21cQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cQWNjZWxlcm9t
ZXRlckNvbnRyb2xsZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZG9tXEFjY2VsZXJvbWV0ZXJEYXRhLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEFjY2VsZXJvbWV0ZXJEYXRhLmgi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxB
Y2NlbGVyb21ldGVyRXZlbnQuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxkb21cQWNjZWxlcm9tZXRlckV2ZW50LmgiCisJCQkJPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxBY3RpdmVET01PYmplY3Qu
Y3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZjE1YmM1My4uMjIxMzM4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxNSw2ICs3MTUsMTYgQEAKIAkJMkVDRjdBRTIxMDE2
MkI1ODAwNDI3REU3IC8qIEVycm9yRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJFQ0Y3QURGMTAxNjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50
LmggKi87IH07CiAJCTJFRDYwOUJDMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUQ2MDlCQTEx
NDVCMDcxMDBDODY4NEUgLyogRE9NRm9ybURhdGEuY3BwICovOyB9OwogCQkyRUQ2MDlCRDExNDVC
MDcxMDBDODY4NEUgLyogRE9NRm9ybURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJFRDYwOUJCMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0
YS5oICovOyB9OworCQkzMTA5RUU4ODExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckV2
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
MDlFRTg1MTFGODZCRjEwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRXZlbnQuY3BwICovOyB9Owor
CQkzMTA5RUU4OTExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckV2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5RUU4NjExRjg2QkYx
MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckV2ZW50LmggKi87IH07CisJCTMxMDlFRkQwMTFGOUQ1
MTQwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5RUZDRTExRjlENTE0MDA2RkVDREYgLyogQWNj
ZWxlcm9tZXRlckRhdGEuY3BwICovOyB9OworCQkzMTA5RUZEMTExRjlENTE0MDA2RkVDREYgLyog
QWNjZWxlcm9tZXRlckRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxMDlFRkNGMTFGOUQ1MTQwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRGF0YS5o
ICovOyB9OworCQkzMTA5RjAxQzExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEw
OUYwMUExMUY5RENFMzAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50LmNwcCAqLzsgfTsK
KwkJMzEwOUYwMUQxMUY5RENFMzAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5RjAxQjExRjlE
Q0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnQuaCAqLzsgfTsKKwkJMzEwOUYwMjMx
MUY5REQ0MDAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlGMDIyMTFGOURENDAw
MDZGRUNERiAvKiBKU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAgKi87IH07CisJCTMxMDlG
MDMzMTFGOUUxOTcwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ2xpZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5RjAzMDExRjlFMTk3MDA2RkVD
REYgLyogQWNjZWxlcm9tZXRlckNsaWVudC5oICovOyB9OworCQkzMTA5RjAzNDExRjlFMTk3MDA2
RkVDREYgLyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEwOUYwMzExMUY5RTE5NzAwNkZFQ0RGIC8qIEFj
Y2VsZXJvbWV0ZXJDb250cm9sbGVyLmNwcCAqLzsgfTsKKwkJMzEwOUYwMzUxMUY5RTE5NzAwNkZF
Q0RGIC8qIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5RjAzMjExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxl
cm9tZXRlckNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJMzEyODhFNzIwRTMwMDVENjAwMzYxOUFFIC8q
IFdlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMTI4OEU2RTBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0Q1NTS2V5
ZnJhbWVSdWxlLmNwcCAqLzsgfTsKIAkJMzEyODhFNzMwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktp
dENTU0tleWZyYW1lUnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzEyODhFNkYwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tleWZyYW1lUnVs
ZS5oICovOyB9OwogCQkzMTI4OEU3NDBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMTI4OEU3MDBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAg
Ki87IH07CkBAIC02NDM0LDYgKzY0NDQsMTcgQEAKIAkJMkVDRjdBRTAxMDE2MkI1ODAwNDI3REU3
IC8qIEVycm9yRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEVycm9yRXZlbnQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUQ2MDlCQTExNDVCMDcxMDBDODY4NEUg
LyogRE9NRm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RE9NRm9ybURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUQ2MDlCQjEx
NDVCMDcxMDBDODY4NEUgLyogRE9NRm9ybURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NRm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEw
OUVFODUxMUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJFdmVudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2NlbGVyb21ldGVyRXZlbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTA5RUU4NjExRjg2QkYxMDA2RkVDREYgLyogQWNj
ZWxlcm9tZXRlckV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vs
ZXJvbWV0ZXJFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTA5RUU4NzEx
Rjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBBY2NlbGVyb21ldGVyRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkzMTA5RUZDRTExRjlENTE0MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckRhdGEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZWxlcm9tZXRlckRhdGEuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTA5RUZDRjExRjlENTE0MDA2RkVDREYg
LyogQWNjZWxlcm9tZXRlckRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QWNjZWxlcm9tZXRlckRhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwOUYw
MUExMUY5RENFMzAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQWNjZWxlcm9tZXRlckV2ZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwOUYwMUIxMUY5RENFMzAwNkZFQ0RGIC8qIEpT
QWNjZWxlcm9tZXRlckV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
QWNjZWxlcm9tZXRlckV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMDlG
MDIyMTFGOURENDAwMDZGRUNERiAvKiBKU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0FjY2VsZXJvbWV0ZXJFdmVudEN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMDlGMDMwMTFGOUUxOTcw
MDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFjY2VsZXJvbWV0ZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMzEwOUYwMzExMUY5RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2VsZXJvbWV0ZXJD
b250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwOUYwMzIxMUY5
RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTMxMjg4RTZFMEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJLaXRDU1NL
ZXlmcmFtZVJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEy
ODhFNkYwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tleWZyYW1lUnVsZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEyODhFNzAwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktp
dENTU0tleWZyYW1lc1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xNDc1Myw4ICsxNDc3NCw2IEBACiAJCQkJOTNGOUI2REYwQkEwRkI3MjAwODU0MDY0IC8q
IEpTQ29tbWVudC5oICovLAogCQkJCUZFNkZENDhCMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3Jk
aW5hdGVzLmNwcCAqLywKIAkJCQlGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGlu
YXRlcy5oICovLAotCQkJCTU5QTg2MDA1MTE5REFGN0YwMERFRjFFRiAvKiBKU0RldmljZU9yaWVu
dGF0aW9uRXZlbnQuY3BwICovLAotCQkJCTU5QTg2MDA3MTE5REFGQTEwMERFRjFFRiAvKiBKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuaCAqLywKIAkJCQk2NTlEREM4MDA5RTE5OEJBMDAxQkYzQzYg
LyogSlNEb2N1bWVudC5jcHAgKi8sCiAJCQkJNjU5RERDODEwOUUxOThCQTAwMUJGM0M2IC8qIEpT
RG9jdW1lbnQuaCAqLywKIAkJCQkxQTQ5NEVEQzBBMTIzRjRDMDBGREFGQzEgLyogSlNEb2N1bWVu
dEZyYWdtZW50LmNwcCAqLywKQEAgLTE0ODA0LDYgKzE0ODIzLDggQEAKIAkJQTgzQjc5MTIwQ0NC
MDAzRjAwMEIwODI1IC8qIEV2ZW50cyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCisJCQkJMzEwOUYwMUExMUY5RENFMzAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRl
ckV2ZW50LmNwcCAqLywKKwkJCQkzMTA5RjAxQjExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2NlbGVy
b21ldGVyRXZlbnQuaCAqLywKIAkJCQlCQzk0NjM0NTEwN0E5MzRCMDA4NTcxOTMgLyogSlNCZWZv
cmVMb2FkRXZlbnQuY3BwICovLAogCQkJCUJDOTQ2MzQ3MTA3QTkzNjYwMDg1NzE5MyAvKiBKU0Jl
Zm9yZUxvYWRFdmVudC5oICovLAogCQkJCTUxNzIxRkQwMTFEMjdFRjIwMDYzOEI0MiAvKiBKU0Jl
Zm9yZVByb2Nlc3NFdmVudC5jcHAgKi8sCkBAIC0xNDgxMiw2ICsxNDgzMyw4IEBACiAJCQkJNzlB
QzkyMTcxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oICovLAogCQkJCUU0
Nzc4QjdEMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmNwcCAqLywKIAkJCQlFNDc3
OEI3RTExNUE1ODFBMDBCNUQzNzIgLyogSlNDdXN0b21FdmVudC5oICovLAorCQkJCTU5QTg2MDA1
MTE5REFGN0YwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwICovLAorCQkJ
CTU5QTg2MDA3MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCAq
LywKIAkJCQkyRUNGN0FEQTEwMTYyQjM4MDA0MjdERTcgLyogSlNFcnJvckV2ZW50LmNwcCAqLywK
IAkJCQkyRUNGN0FEQjEwMTYyQjM4MDA0MjdERTcgLyogSlNFcnJvckV2ZW50LmggKi8sCiAJCQkJ
MTRFODM3ODMwOUY4NUQxQzAwQjg1QUU0IC8qIEpTRXZlbnQuY3BwICovLApAQCAtMTU5MDYsNiAr
MTU5MjksNyBAQAogCQlCQzRFREVGNzBDMDhGNDE0MDA3RURENDkgLyogQ3VzdG9tICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkzMTA5RjAyMjExRjlERDQw
MDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwICovLAogCQkJCUJDMjc1
Q0IyMTFDNUU4NUMwMEM5MjA2QyAvKiBKU0FycmF5QnVmZmVyQ3VzdG9tLmNwcCAqLywKIAkJCQk0
OTIyNzNBMjEwODNCM0IxMDBFRTVDODQgLyogSlNBcnJheUJ1ZmZlclZpZXdDdXN0b20uY3BwICov
LAogCQkJCTg2MjQzRDAwMTFCQzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBl
ci5oICovLApAQCAtMTcwMTQsNiArMTcwMzgsMTQgQEAKIAkJRjUyM0QzMjQwMkRFNDQ3ODAxODYz
NUNBIC8qIGRvbSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJMzEwOUYwMzAxMUY5RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDbGllbnQuaCAqLywK
KwkJCQkzMTA5RjAzMTExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIu
Y3BwICovLAorCQkJCTMxMDlGMDMyMTFGOUUxOTcwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ29u
dHJvbGxlci5oICovLAorCQkJCTMxMDlFRkNFMTFGOUQ1MTQwMDZGRUNERiAvKiBBY2NlbGVyb21l
dGVyRGF0YS5jcHAgKi8sCisJCQkJMzEwOUVGQ0YxMUY5RDUxNDAwNkZFQ0RGIC8qIEFjY2VsZXJv
bWV0ZXJEYXRhLmggKi8sCisJCQkJMzEwOUVFODUxMUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2VsZXJv
bWV0ZXJFdmVudC5jcHAgKi8sCisJCQkJMzEwOUVFODYxMUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2Vs
ZXJvbWV0ZXJFdmVudC5oICovLAorCQkJCTMxMDlFRTg3MTFGODZCRjEwMDZGRUNERiAvKiBBY2Nl
bGVyb21ldGVyRXZlbnQuaWRsICovLAogCQkJCUUxQzRERTZEMEVBNzVDNjUwMDIzQ0NENiAvKiBB
Y3RpdmVET01PYmplY3QuY3BwICovLAogCQkJCUUxQzRERTY4MEVBNzVDMUUwMDIzQ0NENiAvKiBB
Y3RpdmVET01PYmplY3QuaCAqLywKIAkJCQlBOEM0QTdGQzA5RDU2MzI3MDAwM0FDOEQgLyogQXR0
ci5jcHAgKi8sCkBAIC0xOTk5Niw2ICsyMDAyOCwxMSBAQAogCQkJCUNFMTcyRTAxMTEzNkU4Q0Uw
MDYyQTUzMyAvKiBab29tTW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDM5RDAwNkQxMUY4RTMw
ODAwNjA0MUYyIC8qIFBvcHVwTWVudU1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDM5RDAwOUQx
MUY5MDdFNjAwNjA0MUYyIC8qIFNlYXJjaFBvcHVwTWVudU1hYy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMzEwOUVFODkxMUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJFdmVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMzEwOUVGRDExMUY5RDUxNDAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJE
YXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTA5RjAxRDExRjlEQ0UzMDA2RkVDREYgLyogSlNB
Y2NlbGVyb21ldGVyRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxMDlGMDMzMTFGOUUxOTcw
MDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTA5
RjAzNTExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpAQCAtMjI0MDIsNiArMjI0NDAsMTEgQEAKIAkJCQk5M0YxOUIwNTA4MjQ1RTU5MDAx
RTlBQkMgLyogWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFC
RTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5N0RENEQ4NjBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkzMTA5RUU4ODExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckV2
ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxMDlFRkQwMTFGOUQ1MTQwMDZGRUNERiAvKiBB
Y2NlbGVyb21ldGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMTA5RjAxQzExRjlEQ0Uz
MDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MzEwOUYwMjMxMUY5REQ0MDAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTMxMDlGMDM0MTFGOUUxOTcwMDZGRUNERiAvKiBBY2NlbGVy
b21ldGVyQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1dlYkNvcmUvYmlu
ZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAppbmRleCBlYjAyN2MzLi41
OGU4Y2FmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuY3BwCkBAIC00Nyw2ICs0Nyw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6aXNJbmRleGVkREJFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OmlzV2ViR0xFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OmlzUHVzaFN0YXRlRW5hYmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjppc1RvdWNoRW5hYmxlZCA9IHRydWU7Citib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OmlzQWNjZWxlcm9tZXRlckVuYWJsZWQgPSB0cnVlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjppc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZCA9IHRydWU7CiBib29sIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OmlzU3BlZWNoSW5wdXRFbmFibGVkID0gdHJ1ZTsKIAogI2lmIEVOQUJMRShW
SURFTykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmggYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oCmluZGV4IGM5ZWIyMWYuLjc0ZDFkOWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMTE0LDYgKzExNCwxMSBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIGJvb2wgb250b3VjaGNhbmNlbEVuYWJsZWQoKSB7IHJldHVybiBp
c1RvdWNoRW5hYmxlZDsgfQogI2VuZGlmCiAKKyAgICBzdGF0aWMgdm9pZCBzZXRBY2NlbGVyb21l
dGVyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBpc0FjY2VsZXJvbWV0ZXJFbmFibGVkID0gaXNF
bmFibGVkOyB9CisgICAgc3RhdGljIGJvb2wgYWNjZWxlcm9tZXRlckVuYWJsZWQoKSB7IHJldHVy
biBpc0FjY2VsZXJvbWV0ZXJFbmFibGVkOyB9CisgICAgc3RhdGljIGJvb2wgYWNjZWxlcm9tZXRl
ckV2ZW50RW5hYmxlZCgpIHsgcmV0dXJuIGlzQWNjZWxlcm9tZXRlckVuYWJsZWQ7IH0KKyAgICBz
dGF0aWMgYm9vbCBvbmFjY2VsZXJvbWV0ZXJFbmFibGVkKCkgeyByZXR1cm4gaXNBY2NlbGVyb21l
dGVyRW5hYmxlZDsgfQorICAgIAogICAgIHN0YXRpYyB2b2lkIHNldERldmljZU9yaWVudGF0aW9u
RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQogICAgIHN0YXRpYyBib29sIGRldmljZU9yaWVudGF0aW9uRW5hYmxlZCgpIHsg
cmV0dXJuIGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkOyB9CiAgICAgc3RhdGljIGJvb2wgZGV2
aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQoKSB7IHJldHVybiBpc0RldmljZU9yaWVudGF0aW9u
RW5hYmxlZDsgfQpAQCAtMTM2LDYgKzE0MSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wg
aXNXZWJHTEVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNQdXNoU3RhdGVFbmFibGVkOwogICAg
IHN0YXRpYyBib29sIGlzVG91Y2hFbmFibGVkOworICAgIHN0YXRpYyBib29sIGlzQWNjZWxlcm9t
ZXRlckVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQ7
CiAgICAgc3RhdGljIGJvb2wgaXNTcGVlY2hJbnB1dEVuYWJsZWQ7CiB9OwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGE2ODZkCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAKQEAgLTAsMCAr
MSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTQWNjZWxl
cm9tZXRlckV2ZW50LmgiCisKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorCisjaW5j
bHVkZSAiQWNjZWxlcm9tZXRlckRhdGEuaCIKKyNpbmNsdWRlICJBY2NlbGVyb21ldGVyRXZlbnQu
aCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1Zh
bHVlIEpTQWNjZWxlcm9tZXRlckV2ZW50Ojp4KEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAg
ICBBY2NlbGVyb21ldGVyRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PEFjY2VsZXJvbWV0ZXJFdmVu
dCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAtPmFjY2VsZXJvbWV0ZXJEYXRhKCktPmNhblByb3Zp
ZGVYKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4ganNOdW1iZXIoZXhl
YywgaW1wLT5hY2NlbGVyb21ldGVyRGF0YSgpLT54KCkpOworfQorCitKU1ZhbHVlIEpTQWNjZWxl
cm9tZXRlckV2ZW50Ojp5KEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICBBY2NlbGVyb21l
dGVyRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PEFjY2VsZXJvbWV0ZXJFdmVudCo+KGltcGwoKSk7
CisgICAgaWYgKCFpbXAtPmFjY2VsZXJvbWV0ZXJEYXRhKCktPmNhblByb3ZpZGVZKCkpCisgICAg
ICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgaW1wLT5hY2Nl
bGVyb21ldGVyRGF0YSgpLT55KCkpOworfQorCitKU1ZhbHVlIEpTQWNjZWxlcm9tZXRlckV2ZW50
Ojp6KEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICBBY2NlbGVyb21ldGVyRXZlbnQqIGlt
cCA9IHN0YXRpY19jYXN0PEFjY2VsZXJvbWV0ZXJFdmVudCo+KGltcGwoKSk7CisgICAgaWYgKCFp
bXAtPmFjY2VsZXJvbWV0ZXJEYXRhKCktPmNhblByb3ZpZGVaKCkpCisgICAgICAgIHJldHVybiBq
c051bGwoKTsKKyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgaW1wLT5hY2NlbGVyb21ldGVyRGF0
YSgpLT56KCkpOworfQorCitKU1ZhbHVlIEpTQWNjZWxlcm9tZXRlckV2ZW50OjppbnRlcnZhbChF
eGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgQWNjZWxlcm9tZXRlckV2ZW50KiBpbXAgPSBz
dGF0aWNfY2FzdDxBY2NlbGVyb21ldGVyRXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5h
Y2NlbGVyb21ldGVyRGF0YSgpLT5jYW5Qcm92aWRlSW50ZXJ2YWwoKSkKKyAgICAgICAgcmV0dXJu
IGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAtPmFjY2VsZXJvbWV0ZXJE
YXRhKCktPmludGVydmFsKCkpOworfQorICAgIAorSlNWYWx1ZSBKU0FjY2VsZXJvbWV0ZXJFdmVu
dDo6aW5pdEFjY2VsZXJvbWV0ZXJFdmVudChFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgY29uc3Qg
U3RyaW5nJiB0eXBlID0gdXN0cmluZ1RvU3RyaW5nKGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5n
KGV4ZWMpKTsKKyAgICBib29sIGJ1YmJsZXMgPSBleGVjLT5hcmd1bWVudCgxKS50b0Jvb2xlYW4o
ZXhlYyk7CisgICAgYm9vbCBjYW5jZWxhYmxlID0gZXhlYy0+YXJndW1lbnQoMikudG9Cb29sZWFu
KGV4ZWMpOworICAgIC8vIElmIHgsIHkgb3IgeiBhcmUgbnVsbCBvciB1bmRlZmluZWQsIG1hcmsg
dGhlbSBhcyBub3QgcHJvdmlkZWQuCisgICAgLy8gT3RoZXJ3aXNlLCB1c2UgdGhlIHN0YW5kYXJk
IEphdmFTY3JpcHQgY29udmVyc2lvbi4KKyAgICBib29sIHhQcm92aWRlZCA9ICFleGVjLT5hcmd1
bWVudCgzKS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSB4ID0gZXhlYy0+YXJndW1l
bnQoMykudG9OdW1iZXIoZXhlYyk7CisgICAgYm9vbCB5UHJvdmlkZWQgPSAhZXhlYy0+YXJndW1l
bnQoNCkuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgeSA9IGV4ZWMtPmFyZ3VtZW50
KDQpLnRvTnVtYmVyKGV4ZWMpOworICAgIGJvb2wgelByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50
KDUpLmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAgZG91YmxlIHogPSBleGVjLT5hcmd1bWVudCg1
KS50b051bWJlcihleGVjKTsKKyAgICBib29sIGludGVydmFsUHJvdmlkZWQgPSAhZXhlYy0+YXJn
dW1lbnQoNikuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgaW50ZXJ2YWwgPSBleGVj
LT5hcmd1bWVudCg2KS50b051bWJlcihleGVjKTsKKyAgICBSZWZQdHI8QWNjZWxlcm9tZXRlckRh
dGE+IGFjY2VsZXJvbWV0ZXJEYXRhID0gQWNjZWxlcm9tZXRlckRhdGE6OmNyZWF0ZSh4UHJvdmlk
ZWQsIHgsIHlQcm92aWRlZCwgeSwgelByb3ZpZGVkLCB6LCBpbnRlcnZhbFByb3ZpZGVkLCBpbnRl
cnZhbCk7CisgICAgQWNjZWxlcm9tZXRlckV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxBY2NlbGVy
b21ldGVyRXZlbnQqPihpbXBsKCkpOworICAgIGltcC0+aW5pdEFjY2VsZXJvbWV0ZXJFdmVudCh0
eXBlLCBidWJibGVzLCBjYW5jZWxhYmxlLCBhY2NlbGVyb21ldGVyRGF0YS5nZXQoKSk7CisgICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50
Q3VzdG9tLmNwcAppbmRleCBiNjE5MGZmLi4wYzgxZGNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNF
dmVudEN1c3RvbS5jcHAKQEAgLTI5LDExICsyOSwxMyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkpTRXZlbnQuaCIKIAorI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXJFdmVudC5oIgog
I2luY2x1ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkNvbXBvc2l0aW9uRXZlbnQuaCIKICNp
bmNsdWRlICJDdXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRXZlbnQu
aCIKICNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIkpTQWNjZWxlcm9tZXRlckV2ZW50Lmgi
CiAjaW5jbHVkZSAiSlNCZWZvcmVMb2FkRXZlbnQuaCIKICNpbmNsdWRlICJKU0NsaXBib2FyZC5o
IgogI2luY2x1ZGUgIkpTQ3VzdG9tRXZlbnQuaCIKQEAgLTE3Myw2ICsxNzUsOCBAQCBKU1ZhbHVl
IHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBF
dmVudCogZXZlbnQpCiAgICAgZWxzZSBpZiAoZXZlbnQtPmlzQ3VzdG9tRXZlbnQoKSkKICAgICAg
ICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0
LCBDdXN0b21FdmVudCwgZXZlbnQpOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisg
ICAgZWxzZSBpZiAoZXZlbnQtPmlzQWNjZWxlcm9tZXRlckV2ZW50KCkpCisgICAgICAgIHdyYXBw
ZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgQWNjZWxl
cm9tZXRlckV2ZW50LCBldmVudCk7CiAgICAgZWxzZSBpZiAoZXZlbnQtPmlzRGV2aWNlT3JpZW50
YXRpb25FdmVudCgpKQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBF
UihleGVjLCBnbG9iYWxPYmplY3QsIERldmljZU9yaWVudGF0aW9uRXZlbnQsIGV2ZW50KTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBY2NlbGVyb21l
dGVyRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBY2NlbGVy
b21ldGVyRXZlbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmVhZTRmNGEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEFjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAKQEAgLTAsMCArMSwxMDIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWOEFjY2VsZXJvbWV0ZXJFdmVudC5oIgor
CisjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUgIkFjY2VsZXJvbWV0
ZXJEYXRhLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgor
CisjaW5jbHVkZSA8djguaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhBY2NlbGVyb21ldGVyRXZlbnQ6OnhBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJ
TkNfU1RBVFMoIkRPTS5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnguX2dldCIpOworICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBBY2NlbGVyb21l
dGVyRXZlbnQqIGltcCA9IFY4QWNjZWxlcm9tZXRlckV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOwor
ICAgIGlmICghaW1wLT5hY2NlbGVyb21ldGVyKCktPmNhblByb3ZpZGVYKCkpCisgICAgICAgIHJl
dHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5hY2NlbGVy
b21ldGVyKCktPngoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEFjY2VsZXJvbWV0
ZXJFdmVudDo6eUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25z
dCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFUUygiRE9NLkRldmljZU9y
aWVudGF0aW9uRXZlbnQueS5fZ2V0Iik7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xk
ZXIgPSBpbmZvLkhvbGRlcigpOworICAgIEFjY2VsZXJvbWV0ZXJFdmVudCogaW1wID0gVjhBY2Nl
bGVyb21ldGVyRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7CisgICAgaWYgKCFpbXAtPmFjY2VsZXJv
bWV0ZXIoKS0+Y2FuUHJvdmlkZVkoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAg
cmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPmFjY2VsZXJvbWV0ZXIoKS0+eSgpKTsKK30KKwor
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4QWNjZWxlcm9tZXRlckV2ZW50Ojp6QWNjZXNzb3JHZXR0
ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGlu
Zm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uRGV2aWNlT3JpZW50YXRpb25FdmVudC56Ll9nZXQi
KTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7Cisg
ICAgQWNjZWxlcm9tZXRlckV2ZW50KiBpbXAgPSBWOEFjY2VsZXJvbWV0ZXJFdmVudDo6dG9OYXRp
dmUoaG9sZGVyKTsKKyAgICBpZiAoIWltcC0+YWNjZWxlcm9tZXRlcigpLT5jYW5Qcm92aWRlWigp
KQorICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3
KGltcC0+YWNjZWxlcm9tZXRlcigpLT56KCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhBY2NlbGVyb21ldGVyRXZlbnQ6OmludGVydmFsQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4
OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5D
X1NUQVRTKCJET00uRGV2aWNlT3JpZW50YXRpb25FdmVudC5pbnRlcnZhbC5fZ2V0Iik7CisgICAg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIEFjY2Vs
ZXJvbWV0ZXJFdmVudCogaW1wID0gVjhBY2NlbGVyb21ldGVyRXZlbnQ6OnRvTmF0aXZlKGhvbGRl
cik7CisgICAgaWYgKCFpbXAtPmFjY2VsZXJvbWV0ZXIoKS0+Y2FuUHJvdmlkZUludGVydmFsKCkp
CisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXco
aW1wLT5hY2NlbGVyb21ldGVyKCktPmludGVydmFsKCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhBY2NlbGVyb21ldGVyRXZlbnQ6OmluaXRBY2NlbGVyb21ldGVyRXZlbnRDYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIEFjY2VsZXJvbWV0ZXJFdmVudCog
aW1wID0gVjhBY2NlbGVyb21ldGVyRXZlbnQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOworICAg
IFY4UGFyYW1ldGVyPD4gdHlwZSA9IGFyZ3NbMF07CisgICAgYm9vbCBidWJibGVzID0gYXJnc1sx
XS0+Qm9vbGVhblZhbHVlKCk7CisgICAgYm9vbCBjYW5jZWxhYmxlID0gYXJnc1syXS0+Qm9vbGVh
blZhbHVlKCk7CisgICAgLy8gSWYgeCwgeSwgeiBvciBpbnRlcnZhbCBhcmUgbnVsbCBvciB1bmRl
ZmluZWQsIG1hcmsgdGhlbSBhcyBub3QgcHJvdmlkZWQuCisgICAgLy8gT3RoZXJ3aXNlLCB1c2Ug
dGhlIHN0YW5kYXJkIEphdmFTY3JpcHQgY29udmVyc2lvbi4KKyAgICBib29sIHhQcm92aWRlZCA9
ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzNdKTsKKyAgICBkb3VibGUgeCA9IHN0YXRpY19jYXN0
PGRvdWJsZT4oYXJnc1szXS0+TnVtYmVyVmFsdWUoKSk7CisgICAgYm9vbCB5UHJvdmlkZWQgPSAh
aXNVbmRlZmluZWRPck51bGwoYXJnc1s0XSk7CisgICAgZG91YmxlIHkgPSBzdGF0aWNfY2FzdDxk
b3VibGU+KGFyZ3NbNF0tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgelByb3ZpZGVkID0gIWlz
VW5kZWZpbmVkT3JOdWxsKGFyZ3NbNV0pOworICAgIGRvdWJsZSB6ID0gc3RhdGljX2Nhc3Q8ZG91
YmxlPihhcmdzWzVdLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBib29sIGludGVydmFsUHJvdmlkZWQg
PSAhaXNVbmRlZmluZWRPck51bGwoYXJnc1s2XSk7CisgICAgZG91YmxlIGludGVydmFsID0gc3Rh
dGljX2Nhc3Q8ZG91YmxlPihhcmdzWzZdLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBSZWZQdHI8QWNj
ZWxlcm9tZXRlckRhdGE+IGFjY2VsZXJvbWV0ZXJEYXRhID0gQWNjZWxlcm9tZXRlckRhdGE6OmNy
ZWF0ZSh4UHJvdmlkZWQsIHgsIHlQcm92aWRlZCwgeSwgelByb3ZpZGVkLCB6LCBpbnRlcnZhbFBy
b3ZpZGVkLCBpbnRlcnZhbCk7CisgICAgaW1wLT5pbml0QWNjZWxlcm9tZXRlckV2ZW50KHR5cGUs
IGJ1YmJsZXMsIGNhbmNlbGFibGUsIGFjY2VsZXJvbWV0ZXJEYXRhLmdldCgpKTsKKyAgICByZXR1
cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9BY2NlbGVyb21ldGVyQ2xpZW50LmggYi9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVy
Q2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNjZWZhNAotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJDbGllbnQuaApAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgQWNjZWxlcm9tZXRlckNsaWVudF9oCisjZGVmaW5lIEFj
Y2VsZXJvbWV0ZXJDbGllbnRfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFjY2Vs
ZXJvbWV0ZXJDb250cm9sbGVyOworY2xhc3MgQWNjZWxlcm9tZXRlckRhdGE7CisKK2NsYXNzIEFj
Y2VsZXJvbWV0ZXJDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgfkFjY2VsZXJvbWV0ZXJD
bGllbnQoKSB7fQorICAgIHZpcnR1YWwgdm9pZCBzZXRDb250cm9sbGVyKEFjY2VsZXJvbWV0ZXJD
b250cm9sbGVyKikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCkgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKSA9IDA7CisgICAgdmlydHVhbCBBY2NlbGVy
b21ldGVyRGF0YSogY3VycmVudEFjY2VsZXJhdGlvbigpIGNvbnN0ID0gMDsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEFjY2VsZXJvbWV0ZXJDbGllbnRfaApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwIGIvV2ViQ29y
ZS9kb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmYwNGU4MTMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9BY2Nl
bGVyb21ldGVyQ29udHJvbGxlci5jcHAKQEAgLTAsMCArMSwxMDYgQEAKKy8qCisgKiBDb3B5cmln
aHQgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmgiCisKKyNpZiBF
TkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckRhdGEu
aCIKKyNpbmNsdWRlICJBY2NlbGVyb21ldGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiQWNjZWxlcm9t
ZXRlckV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQWNjZWxlcm9tZXRlckNvbnRy
b2xsZXI6OkFjY2VsZXJvbWV0ZXJDb250cm9sbGVyKEFjY2VsZXJvbWV0ZXJDbGllbnQqIGNsaWVu
dCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKKyAgICAsIG1fdGltZXIodGhpcywgJkFjY2VsZXJv
bWV0ZXJDb250cm9sbGVyOjp0aW1lckZpcmVkKQoreworfQorCit2b2lkIEFjY2VsZXJvbWV0ZXJD
b250cm9sbGVyOjp0aW1lckZpcmVkKFRpbWVyPEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyPiogdGlt
ZXIpCit7CisgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0gJm1fdGltZXIpOworICAg
IEFTU0VSVCghbV9jbGllbnQgfHwgbV9jbGllbnQtPmN1cnJlbnRBY2NlbGVyYXRpb24oKSk7Cisg
ICAgbV90aW1lci5zdG9wKCk7CisgICAgCisgICAgUmVmUHRyPEFjY2VsZXJvbWV0ZXJEYXRhPiBh
Y2NlbGVyb21ldGVyRGF0YSA9IG1fY2xpZW50ID8gbV9jbGllbnQtPmN1cnJlbnRBY2NlbGVyYXRp
b24oKSA6IEFjY2VsZXJvbWV0ZXJEYXRhOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8QWNjZWxlcm9t
ZXRlckV2ZW50PiBldmVudCA9IEFjY2VsZXJvbWV0ZXJFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS5hY2NlbGVyb21ldGVyRXZlbnQsIGFjY2VsZXJvbWV0ZXJEYXRhLmdldCgpKTsKKyAKKyAgICBW
ZWN0b3I8RE9NV2luZG93Kj4gbGlzdGVuZXJzVmVjdG9yOworICAgIGNvcHlUb1ZlY3RvcihtX25l
d0xpc3RlbmVycywgbGlzdGVuZXJzVmVjdG9yKTsKKyAgICBtX25ld0xpc3RlbmVycy5jbGVhcigp
OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdGVuZXJzVmVjdG9yLnNpemUoKTsgKytp
KQorICAgICAgICBsaXN0ZW5lcnNWZWN0b3JbaV0tPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQor
ICAgIAordm9pZCBBY2NlbGVyb21ldGVyQ29udHJvbGxlcjo6YWRkTGlzdGVuZXIoRE9NV2luZG93
KiB3aW5kb3cpCit7CisgICAgLy8gSWYgbm8gY2xpZW50IGlzIHByZXNlbnQgb3IgdGhlIGNsaWVu
dCBhbHJlYWR5IGhhcyBhbiBhY2NlbGVyYXRpb24sCisgICAgLy8gaW1tZWRpYXRlbHkgdHJpZ2dl
ciBhbiBhc3luY2hyb25vdXMgcmVzcG9uc2UuCisgICAgaWYgKCFtX2NsaWVudCB8fCBtX2NsaWVu
dC0+Y3VycmVudEFjY2VsZXJhdGlvbigpKSB7CisgICAgICAgIG1fbmV3TGlzdGVuZXJzLmFkZCh3
aW5kb3cpOworICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIH0KKyAgICAKKyAgICBib29sIHdhc0VtcHR5ID0g
bV9saXN0ZW5lcnMuaXNFbXB0eSgpOworICAgIG1fbGlzdGVuZXJzLmFkZCh3aW5kb3cpOworICAg
IGlmICh3YXNFbXB0eSAmJiBtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPnN0YXJ0VXBkYXRp
bmcoKTsKK30KKwordm9pZCBBY2NlbGVyb21ldGVyQ29udHJvbGxlcjo6cmVtb3ZlTGlzdGVuZXIo
RE9NV2luZG93KiB3aW5kb3cpCit7CisgICAgbV9saXN0ZW5lcnMucmVtb3ZlKHdpbmRvdyk7Cisg
ICAgbV9uZXdMaXN0ZW5lcnMucmVtb3ZlKHdpbmRvdyk7CisgICAgaWYgKG1fbGlzdGVuZXJzLmlz
RW1wdHkoKSAmJiBtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPnN0b3BVcGRhdGluZygpOwor
fQorCit2b2lkIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyOjpyZW1vdmVBbGxMaXN0ZW5lcnMoRE9N
V2luZG93KiB3aW5kb3cpCit7CisgICAgLy8gTWF5IGJlIGNhbGxlZCB3aXRoIGEgRE9NV2luZG93
IHRoYXQncyBub3QgYSBsaXN0ZW5lci4KKyAgICBpZiAoIW1fbGlzdGVuZXJzLmNvbnRhaW5zKHdp
bmRvdykpCisgICAgICAgIHJldHVybjsKKworICAgIG1fbGlzdGVuZXJzLnJlbW92ZUFsbCh3aW5k
b3cpOworICAgIG1fbmV3TGlzdGVuZXJzLnJlbW92ZSh3aW5kb3cpOworICAgIGlmIChtX2xpc3Rl
bmVycy5pc0VtcHR5KCkgJiYgbV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5zdG9wVXBkYXRp
bmcoKTsKK30KKwordm9pZCBBY2NlbGVyb21ldGVyQ29udHJvbGxlcjo6ZGlkQ2hhbmdlQWNjZWxl
cm9tZXRlcihBY2NlbGVyb21ldGVyRGF0YSogYWNjZWxlcm9tZXRlckRhdGEpCit7CisgICAgUmVm
UHRyPEFjY2VsZXJvbWV0ZXJFdmVudD4gZXZlbnQgPSBBY2NlbGVyb21ldGVyRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkuYWNjZWxlcm9tZXRlckV2ZW50LCBhY2NlbGVyb21ldGVyRGF0YSk7Cisg
ICAgVmVjdG9yPERPTVdpbmRvdyo+IGxpc3RlbmVyc1ZlY3RvcjsKKyAgICBjb3B5VG9WZWN0b3Io
bV9saXN0ZW5lcnMsIGxpc3RlbmVyc1ZlY3Rvcik7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBsaXN0ZW5lcnNWZWN0b3Iuc2l6ZSgpOyArK2kpCisgICAgICAgIGxpc3RlbmVyc1ZlY3Rvcltp
XS0+ZGlzcGF0Y2hFdmVudChldmVudCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRl
ckNvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmEyOTYy
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIu
aApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQWNjZWxlcm9tZXRlckNvbnRyb2xsZXJf
aAorI2RlZmluZSBBY2NlbGVyb21ldGVyQ29udHJvbGxlcl9oCisKKyNpbmNsdWRlICJET01XaW5k
b3cuaCIKKyNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFjY2VsZXJvbWV0ZXJEYXRhOworY2xh
c3MgQWNjZWxlcm9tZXRlckNsaWVudDsKKworY2xhc3MgQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIg
eworcHVibGljOgorICAgIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyKEFjY2VsZXJvbWV0ZXJDbGll
bnQqKTsKKworICAgIHZvaWQgYWRkTGlzdGVuZXIoRE9NV2luZG93Kik7CisgICAgdm9pZCByZW1v
dmVMaXN0ZW5lcihET01XaW5kb3cqKTsKKyAgICB2b2lkIHJlbW92ZUFsbExpc3RlbmVycyhET01X
aW5kb3cqKTsKKworICAgIHZvaWQgZGlkQ2hhbmdlQWNjZWxlcm9tZXRlcihBY2NlbGVyb21ldGVy
RGF0YSopOworCitwcml2YXRlOgorICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxBY2NlbGVyb21l
dGVyQ29udHJvbGxlcj4qKTsKKyAgICAKKyAgICBBY2NlbGVyb21ldGVyQ2xpZW50KiBtX2NsaWVu
dDsKKyAgICB0eXBlZGVmIEhhc2hDb3VudGVkU2V0PERPTVdpbmRvdyo+IExpc3RlbmVyc0NvdW50
ZWRTZXQ7CisgICAgTGlzdGVuZXJzQ291bnRlZFNldCBtX2xpc3RlbmVyczsKKyAgICB0eXBlZGVm
IEhhc2hTZXQ8RE9NV2luZG93Kj4gTGlzdGVuZXJzU2V0OworICAgIExpc3RlbmVyc1NldCBtX25l
d0xpc3RlbmVyczsKKyAgICBUaW1lcjxBY2NlbGVyb21ldGVyQ29udHJvbGxlcj4gbV90aW1lcjsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEFjY2VsZXJvbWV0ZXJD
b250cm9sbGVyX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJEYXRhLmNw
cCBiL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJEYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4zYzMyNDlhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20v
QWNjZWxlcm9tZXRlckRhdGEuY3BwCkBAIC0wLDAgKzEsMTAxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckRhdGEuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitQYXNzUmVmUHRyPEFjY2VsZXJvbWV0ZXJEYXRhPiBBY2NlbGVyb21ldGVy
RGF0YTo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFjY2VsZXJvbWV0ZXJE
YXRhKTsKK30KKworUGFzc1JlZlB0cjxBY2NlbGVyb21ldGVyRGF0YT4gQWNjZWxlcm9tZXRlckRh
dGE6OmNyZWF0ZShib29sIGNhblByb3ZpZGVYLCBkb3VibGUgeCwgYm9vbCBjYW5Qcm92aWRlWSwg
ZG91YmxlIHksIGJvb2wgY2FuUHJvdmlkZVosIGRvdWJsZSB6LCBib29sIGNhblByb3ZpZGVJbnRl
cnZhbCwgZG91YmxlIGludGVydmFsKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWNjZWxl
cm9tZXRlckRhdGEoY2FuUHJvdmlkZVgsIHgsIGNhblByb3ZpZGVZLCB5LCBjYW5Qcm92aWRlWiwg
eiwgY2FuUHJvdmlkZUludGVydmFsLCBpbnRlcnZhbCkpOworfQorCitBY2NlbGVyb21ldGVyRGF0
YTo6QWNjZWxlcm9tZXRlckRhdGEoKQorICAgIDogbV9jYW5Qcm92aWRlWChmYWxzZSkKKyAgICAs
IG1fY2FuUHJvdmlkZVkoZmFsc2UpCisgICAgLCBtX2NhblByb3ZpZGVaKGZhbHNlKQorICAgICwg
bV9jYW5Qcm92aWRlSW50ZXJ2YWwoZmFsc2UpCit7Cit9CisKK0FjY2VsZXJvbWV0ZXJEYXRhOjpB
Y2NlbGVyb21ldGVyRGF0YShib29sIGNhblByb3ZpZGVYLCBkb3VibGUgeCwgYm9vbCBjYW5Qcm92
aWRlWSwgZG91YmxlIHksIGJvb2wgY2FuUHJvdmlkZVosIGRvdWJsZSB6LCBib29sIGNhblByb3Zp
ZGVJbnRlcnZhbCwgZG91YmxlIGludGVydmFsKQorICAgIDogbV9jYW5Qcm92aWRlWChjYW5Qcm92
aWRlWCkKKyAgICAsIG1fY2FuUHJvdmlkZVkoY2FuUHJvdmlkZVkpCisgICAgLCBtX2NhblByb3Zp
ZGVaKGNhblByb3ZpZGVaKQorICAgICwgbV9jYW5Qcm92aWRlSW50ZXJ2YWwoY2FuUHJvdmlkZUlu
dGVydmFsKQorICAgICwgbV94KHgpCisgICAgLCBtX3koeSkKKyAgICAsIG1feih6KQorICAgICwg
bV9pbnRlcnZhbChpbnRlcnZhbCkKK3sKK30KKworZG91YmxlIEFjY2VsZXJvbWV0ZXJEYXRhOjp4
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV94OworfQorCitkb3VibGUgQWNjZWxlcm9tZXRlckRh
dGE6OnkoKSBjb25zdAoreworICAgIHJldHVybiBtX3k7Cit9CisKK2RvdWJsZSBBY2NlbGVyb21l
dGVyRGF0YTo6eigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fejsKK30KKworZG91YmxlIEFjY2Vs
ZXJvbWV0ZXJEYXRhOjppbnRlcnZhbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW50ZXJ2YWw7
Cit9CisKK2Jvb2wgQWNjZWxlcm9tZXRlckRhdGE6OmNhblByb3ZpZGVYKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9jYW5Qcm92aWRlWDsKK30KKworYm9vbCBBY2NlbGVyb21ldGVyRGF0YTo6Y2Fu
UHJvdmlkZVkoKSBjb25zdAoreworICAgIHJldHVybiBtX2NhblByb3ZpZGVZOworfQorCitib29s
IEFjY2VsZXJvbWV0ZXJEYXRhOjpjYW5Qcm92aWRlWigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
Y2FuUHJvdmlkZVo7Cit9CisKK2Jvb2wgQWNjZWxlcm9tZXRlckRhdGE6OmNhblByb3ZpZGVJbnRl
cnZhbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2FuUHJvdmlkZUludGVydmFsOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVyb21l
dGVyRGF0YS5oIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckRhdGEuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTdlMmE4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9kb20vQWNjZWxlcm9tZXRlckRhdGEuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIEFjY2VsZXJvbWV0ZXJEYXRhX2gKKyNkZWZpbmUgQWNjZWxlcm9tZXRlckRhdGFfaAorCisj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFjY2VsZXJvbWV0ZXJEYXRhIDogcHVibGlj
IFJlZkNvdW50ZWQ8QWNjZWxlcm9tZXRlckRhdGE+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxBY2NlbGVyb21ldGVyRGF0YT4gY3JlYXRlKCk7CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8QWNjZWxlcm9tZXRlckRhdGE+IGNyZWF0ZShib29sIGNhblByb3ZpZGVYLCBkb3VibGUgeCwg
Ym9vbCBjYW5Qcm92aWRlWSwgZG91YmxlIHksIGJvb2wgY2FuUHJvdmlkZVosIGRvdWJsZSB6LCBi
b29sIGNhblByb3ZpZGVJbnRlcnZhbCwgZG91YmxlIGludGVydmFsKTsKKworICAgIGRvdWJsZSB4
KCkgY29uc3Q7CisgICAgZG91YmxlIHkoKSBjb25zdDsKKyAgICBkb3VibGUgeigpIGNvbnN0Owor
ICAgIGRvdWJsZSBpbnRlcnZhbCgpIGNvbnN0OworICAgIGJvb2wgY2FuUHJvdmlkZVgoKSBjb25z
dDsKKyAgICBib29sIGNhblByb3ZpZGVZKCkgY29uc3Q7CisgICAgYm9vbCBjYW5Qcm92aWRlWigp
IGNvbnN0OworICAgIGJvb2wgY2FuUHJvdmlkZUludGVydmFsKCkgY29uc3Q7CisKK3ByaXZhdGU6
CisgICAgQWNjZWxlcm9tZXRlckRhdGEoKTsKKyAgICBBY2NlbGVyb21ldGVyRGF0YShib29sIGNh
blByb3ZpZGVYLCBkb3VibGUgeCwgYm9vbCBjYW5Qcm92aWRlWSwgZG91YmxlIHksIGJvb2wgY2Fu
UHJvdmlkZVosIGRvdWJsZSB6LCBib29sIGNhblByb3ZpZGVJbnRlcnZhbCwgZG91YmxlIGludGVy
dmFsKTsKKworICAgIGJvb2wgbV9jYW5Qcm92aWRlWDsKKyAgICBib29sIG1fY2FuUHJvdmlkZVk7
CisgICAgYm9vbCBtX2NhblByb3ZpZGVaOworICAgIGJvb2wgbV9jYW5Qcm92aWRlSW50ZXJ2YWw7
CisgICAgZG91YmxlIG1feDsKKyAgICBkb3VibGUgbV95OworICAgIGRvdWJsZSBtX3o7CisgICAg
ZG91YmxlIG1faW50ZXJ2YWw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBBY2NlbGVyb21ldGVyRGF0YV9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVy
b21ldGVyRXZlbnQuY3BwIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckV2ZW50LmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzYzZDNjCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckV2ZW50LmNwcApAQCAtMCwwICsxLDYwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVU
RVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXJEYXRh
LmgiCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckV2ZW50LmgiCisKKyNpZiBFTkFCTEUoREVWSUNF
X09SSUVOVEFUSU9OKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0FjY2VsZXJvbWV0ZXJFdmVu
dDo6fkFjY2VsZXJvbWV0ZXJFdmVudCgpCit7Cit9CisKK0FjY2VsZXJvbWV0ZXJFdmVudDo6QWNj
ZWxlcm9tZXRlckV2ZW50KCkKKyAgICA6IG1fYWNjZWxlcm9tZXRlckRhdGEoQWNjZWxlcm9tZXRl
ckRhdGE6OmNyZWF0ZSgpKQoreworfQorCitBY2NlbGVyb21ldGVyRXZlbnQ6OkFjY2VsZXJvbWV0
ZXJFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgQWNjZWxlcm9tZXRlckRhdGEq
IGFjY2VsZXJvbWV0ZXJEYXRhKQorICAgIDogRXZlbnQoZXZlbnRUeXBlLCBmYWxzZSwgZmFsc2Up
IC8vIENhbid0IGJ1YmJsZSwgbm90IGNhbmNlbGFibGUKKyAgICAsIG1fYWNjZWxlcm9tZXRlckRh
dGEoYWNjZWxlcm9tZXRlckRhdGEpCit7Cit9CisKK3ZvaWQgQWNjZWxlcm9tZXRlckV2ZW50Ojpp
bml0QWNjZWxlcm9tZXRlckV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBidWJi
bGVzLCBib29sIGNhbmNlbGFibGUsIEFjY2VsZXJvbWV0ZXJEYXRhKiBhY2NlbGVyb21ldGVyRGF0
YSkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbml0
RXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2VsYWJsZSk7CisgICAgbV9hY2NlbGVyb21ldGVyRGF0
YSA9IGFjY2VsZXJvbWV0ZXJEYXRhOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vQWNjZWxlcm9tZXRlckV2ZW50LmggYi9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRXZlbnQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzE3YzI3Ci0tLSAvZGV2L251
bGwKKysrIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckV2ZW50LmgKQEAgLTAsMCArMSw2MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBD
T01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENP
TVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpZm5kZWYgQWNjZWxlcm9tZXRlckV2ZW50X2gKKyNkZWZpbmUgQWNjZWxl
cm9tZXRlckV2ZW50X2gKKworI2luY2x1ZGUgIkV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgQWNjZWxlcm9tZXRlckRhdGE7CisKK2NsYXNzIEFjY2VsZXJvbWV0ZXJFdmVu
dCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6CisgICAgfkFjY2VsZXJvbWV0ZXJFdmVudCgpOwor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2VsZXJvbWV0ZXJFdmVudD4gY3JlYXRlKCkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWNjZWxlcm9tZXRlckV2ZW50KTsKKyAgICB9
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QWNjZWxlcm9tZXRlckV2ZW50PiBjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEFjY2VsZXJvbWV0ZXJEYXRhKiBhY2NlbGVyb21ldGVy
RGF0YSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWNjZWxlcm9tZXRlckV2
ZW50KGV2ZW50VHlwZSwgYWNjZWxlcm9tZXRlckRhdGEpKTsKKyAgICB9CisKKyAgICB2b2lkIGlu
aXRBY2NlbGVyb21ldGVyRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGJ1YmJs
ZXMsIGJvb2wgY2FuY2VsYWJsZSwgQWNjZWxlcm9tZXRlckRhdGEqKTsKKworICAgIHZpcnR1YWwg
Ym9vbCBpc0FjY2VsZXJvbWV0ZXJFdmVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAg
IEFjY2VsZXJvbWV0ZXJEYXRhKiBhY2NlbGVyb21ldGVyRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1f
YWNjZWxlcm9tZXRlckRhdGEuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBBY2NlbGVyb21ldGVy
RXZlbnQoKTsKKyAgICBBY2NlbGVyb21ldGVyRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVu
dFR5cGUsIEFjY2VsZXJvbWV0ZXJEYXRhKik7CisKKyAgICBSZWZQdHI8QWNjZWxlcm9tZXRlckRh
dGE+IG1fYWNjZWxlcm9tZXRlckRhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBBY2NlbGVyb21ldGVyRXZlbnRfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
QWNjZWxlcm9tZXRlckV2ZW50LmlkbCBiL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRiZTI2OAotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5pZGwKQEAgLTAsMCArMSwz
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAg
IENvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTgorICAgIF0gQWNjZWxlcm9tZXRlckV2ZW50
IDogRXZlbnQgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIHg7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgeTsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGRvdWJsZSB6OworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIGludGVydmFsOworICAgICAgICBbQ3VzdG9tXSB2b2lk
IGluaXRBY2NlbGVyb21ldGVyRXZlbnQoaW4gRE9NU3RyaW5nIHR5cGUsIGluIGJvb2xlYW4gYnVi
YmxlcywgaW4gYm9vbGVhbiBjYW5jZWxhYmxlLCBpbiBkb3VibGUgeCwgaW4gZG91YmxlIHksIGlu
IGRvdWJsZSB6LCBpbiBkb3VibGUgaW50ZXJ2YWwpOworICAgIH07CisKK30KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRl
eCA5MWVmZTllLi4yMzMyYzJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
KysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKKyNpbmNsdWRlICJB
Y2NlbGVyb21ldGVyRXZlbnQuaCIKICNpbmNsdWRlICJBbmltYXRpb25Db250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiQXR0ci5oIgogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgpAQCAtMzMzMSw2ICszMzMy
LDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KGNvbnN0IFN0cmlu
ZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25Db2RlJgogICAgICAgICBldmVudCA9IFRvdWNoRXZlbnQ6
OmNyZWF0ZSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBl
bHNlIGlmIChldmVudFR5cGUgPT0gIkFjY2VsZXJvbWV0ZXJFdmVudCIpCisgICAgICAgIGV2ZW50
ID0gQWNjZWxlcm9tZXRlckV2ZW50OjpjcmVhdGUoKTsKICAgICBlbHNlIGlmIChldmVudFR5cGUg
PT0gIkRldmljZU9yaWVudGF0aW9uRXZlbnQiKQogICAgICAgICBldmVudCA9IERldmljZU9yaWVu
dGF0aW9uRXZlbnQ6OmNyZWF0ZSgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9F
dmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggNGVhM2UwYy4uMzc4ODkzNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50
LmNwcApAQCAtMjEzLDYgKzIxMywxMSBAQCBib29sIEV2ZW50Ojppc1RvdWNoRXZlbnQoKSBjb25z
dAogI2VuZGlmCiAKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorYm9vbCBFdmVudDo6
aXNBY2NlbGVyb21ldGVyRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwog
Ym9vbCBFdmVudDo6aXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkgY29uc3QKIHsKICAgICByZXR1
cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20v
RXZlbnQuaAppbmRleCAyYjU3MGQ1Li5jYTg2NTQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9F
dmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTE0MCw2ICsxNDAsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25z
dDsKICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIHZpcnR1
YWwgYm9vbCBpc0FjY2VsZXJvbWV0ZXJFdmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkgY29uc3Q7CiAjZW5kaWYKICAgICAgICAgYm9v
bCBmcm9tVXNlckdlc3R1cmUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aCBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA2NjIwY2VjLi45MGIzNGFiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnRO
YW1lcy5oCkBAIC0zMCw2ICszMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNkZWZpbmUgRE9N
X0VWRU5UX05BTUVTX0ZPUl9FQUNIKG1hY3JvKSBcCiAgICAgXAogICAgIG1hY3JvKGFib3J0KSBc
CisgICAgbWFjcm8oYWNjZWxlcm9tZXRlcikgXAogICAgIG1hY3JvKGJlZm9yZWNvcHkpIFwKICAg
ICBtYWNybyhiZWZvcmVjdXQpIFwKICAgICBtYWNybyhiZWZvcmVsb2FkKSBcCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CmluZGV4IGZjNjk2ZGEuLmFlMGIwM2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yNyw2ICsyNyw3IEBA
CiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAKICNpbmNsdWRlICJBYnN0cmFjdERhdGFiYXNlLmgi
CisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYXNlNjQu
aCIKICNpbmNsdWRlICJCYXJJbmZvLmgiCiAjaW5jbHVkZSAiQmVmb3JlVW5sb2FkRXZlbnQuaCIK
QEAgLTE0MzUsNiArMTQzNiw4IEBAIGJvb2wgRE9NV2luZG93OjphZGRFdmVudExpc3RlbmVyKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50CiAgICAgZWxzZSBp
ZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5iZWZvcmV1bmxvYWRFdmVudCAmJiBhbGxvd3NC
ZWZvcmVVbmxvYWRMaXN0ZW5lcnModGhpcykpCiAgICAgICAgIGFkZEJlZm9yZVVubG9hZEV2ZW50
TGlzdGVuZXIodGhpcyk7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBlbHNl
IGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmFjY2VsZXJvbWV0ZXJFdmVudCAmJiBmcmFt
ZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgpLT5wYWdlKCktPmFjY2VsZXJvbWV0ZXJD
b250cm9sbGVyKCkpCisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+YWNjZWxlcm9tZXRlckNvbnRy
b2xsZXIoKS0+YWRkTGlzdGVuZXIodGhpcyk7CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS5kZXZpY2VvcmllbnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+
cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkp
CiAgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkt
PmFkZExpc3RlbmVyKHRoaXMpOwogI2VuZGlmCkBAIC0xNDUyLDYgKzE0NTUsOCBAQCBib29sIERP
TVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSwgRXZlbnRMaXN0ZW5lcgogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCku
YmVmb3JldW5sb2FkRXZlbnQgJiYgYWxsb3dzQmVmb3JlVW5sb2FkTGlzdGVuZXJzKHRoaXMpKQog
ICAgICAgICByZW1vdmVCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKHRoaXMpOwogI2lmIEVOQUJM
RShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFt
ZXMoKS5hY2NlbGVyb21ldGVyRXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYg
ZnJhbWUoKS0+cGFnZSgpLT5hY2NlbGVyb21ldGVyQ29udHJvbGxlcigpKQorICAgICAgICBmcmFt
ZSgpLT5wYWdlKCktPmFjY2VsZXJvbWV0ZXJDb250cm9sbGVyKCktPnJlbW92ZUxpc3RlbmVyKHRo
aXMpOwogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlb3JpZW50
YXRpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgpLT5wYWdl
KCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpKQogICAgICAgICBmcmFtZSgpLT5wYWdl
KCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5yZW1vdmVMaXN0ZW5lcih0aGlzKTsK
ICNlbmRpZgpAQCAtMTUzMCw2ICsxNTM1LDggQEAgdm9pZCBET01XaW5kb3c6OnJlbW92ZUFsbEV2
ZW50TGlzdGVuZXJzKCkKICAgICBFdmVudFRhcmdldDo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMo
KTsKIAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgaWYgKGZyYW1lKCkgJiYg
ZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+YWNjZWxlcm9tZXRlckNvbnRyb2xs
ZXIoKSkKKyAgICAgICAgZnJhbWUoKS0+cGFnZSgpLT5hY2NlbGVyb21ldGVyQ29udHJvbGxlcigp
LT5yZW1vdmVBbGxMaXN0ZW5lcnModGhpcyk7CiAgICAgaWYgKGZyYW1lKCkgJiYgZnJhbWUoKS0+
cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkp
CiAgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkt
PnJlbW92ZUFsbExpc3RlbmVycyh0aGlzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDUxZDQwN2Mu
LjcxZTE5ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTMzOCw2ICszMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYWNjZWxlcm9tZXRlcik7CiAgICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZGV2aWNlb3JpZW50YXRpb24pOwogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKaW5kZXggYjM1MjIwMi4uNjY2NmM3YiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAg
LTMwNSw4ICszMDUsMTAgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29u
ZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250
b3VjaGVuZDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5h
YmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoY2FuY2VsOwogCi0gICAgICAgIGF0
dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLCBFbmFibGVkQXRSdW50aW1l
XSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q29uc3RydWN0b3IgRGV2aWNlT3JpZW50YXRpb25FdmVu
dDsKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sIEVu
YWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb25kZXZpY2VvcmllbnRhdGlvbjsKKyAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVu
dGltZV0gQWNjZWxlcm9tZXRlckV2ZW50Q29uc3RydWN0b3IgQWNjZWxlcm9tZXRlckV2ZW50Owor
ICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTixFbmFibGVk
QXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9uYWNjZWxlcm9tZXRlcjsKKyAgICAgICAgYXR0cmli
dXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVudGltZV0gRGV2
aWNlT3JpZW50YXRpb25FdmVudENvbnN0cnVjdG9yIERldmljZU9yaWVudGF0aW9uRXZlbnQ7Cisg
ICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLEVuYWJsZWRB
dFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb25kZXZpY2VvcmllbnRhdGlvbjsKIAogICAgICAgICAv
LyBFdmVudFRhcmdldCBpbnRlcmZhY2UKICAgICAgICAgW0N1c3RvbV0gdm9pZCBhZGRFdmVudExp
c3RlbmVyKGluIERPTVN0cmluZyB0eXBlLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDk0ZDI5NDAuLjE3NTJkZDggMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
QEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQYWdlLmgi
CiAKKyNpbmNsdWRlICJBY2NlbGVyb21ldGVyQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkJhY2tG
b3J3YXJkQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1
ZGUgIkJhc2U2NC5oIgpAQCAtMTQxLDYgKzE0Miw3IEBAIFBhZ2U6OlBhZ2UoY29uc3QgUGFnZUNs
aWVudHMmIHBhZ2VDbGllbnRzKQogICAgICwgbV9nZW9sb2NhdGlvbkNvbnRyb2xsZXIobmV3IEdl
b2xvY2F0aW9uQ29udHJvbGxlcih0aGlzLCBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNvbnRyb2xs
ZXJDbGllbnQpKQogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICAs
IG1fYWNjZWxlcm9tZXRlckNvbnRyb2xsZXIoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6YWNjZWxl
cm9tZXRlckVuYWJsZWQoKSA/IG5ldyBBY2NlbGVyb21ldGVyQ29udHJvbGxlcihwYWdlQ2xpZW50
cy5hY2NlbGVyb21ldGVyQ2xpZW50KSA6IDApCiAgICAgLCBtX2RldmljZU9yaWVudGF0aW9uQ29u
dHJvbGxlcihSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQo
KSA/IG5ldyBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIodGhpcywgcGFnZUNsaWVudHMuZGV2
aWNlT3JpZW50YXRpb25DbGllbnQpIDogMCkKICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVF
Q0gpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aAppbmRleCA2MmFmMGE3Li5kMDZjOWU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZS5o
CisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTM3LDYgKzM3LDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorICAgIGNsYXNzIEFjY2VsZXJvbWV0ZXJDbGll
bnQ7CisgICAgY2xhc3MgQWNjZWxlcm9tZXRlckNvbnRyb2xsZXI7CiAgICAgY2xhc3MgQmFja0Zv
cndhcmRDb250cm9sbGVyOwogICAgIGNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudDsK
ICAgICBjbGFzcyBCYWNrRm9yd2FyZExpc3Q7CkBAIC0xMDEsNiArMTAzLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgICAgICwgaW5zcGVjdG9yQ2xpZW50KDApCiAgICAgICAg
ICAgICAgICAgLCBwbHVnaW5IYWx0ZXJDbGllbnQoMCkKICAgICAgICAgICAgICAgICAsIGdlb2xv
Y2F0aW9uQ29udHJvbGxlckNsaWVudCgwKQorICAgICAgICAgICAgICAgICwgYWNjZWxlcm9tZXRl
ckNsaWVudCgwKQogICAgICAgICAgICAgICAgICwgZGV2aWNlT3JpZW50YXRpb25DbGllbnQoMCkK
ICAgICAgICAgICAgICAgICAsIGJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudCgwKQogICAgICAg
ICAgICAgICAgICwgc3BlZWNoSW5wdXRDbGllbnQoMCkKQEAgLTExMyw2ICsxMTYsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNs
aWVudDsKICAgICAgICAgICAgIFBsdWdpbkhhbHRlckNsaWVudCogcGx1Z2luSGFsdGVyQ2xpZW50
OwogICAgICAgICAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KiBnZW9sb2NhdGlvbkNv
bnRyb2xsZXJDbGllbnQ7CisgICAgICAgICAgICBBY2NlbGVyb21ldGVyQ2xpZW50KiBhY2NlbGVy
b21ldGVyQ2xpZW50OwogICAgICAgICAgICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGRldmlj
ZU9yaWVudGF0aW9uQ2xpZW50OwogICAgICAgICAgICAgQmFja0ZvcndhcmRDb250cm9sbGVyQ2xp
ZW50KiBiYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQ7CiAgICAgICAgICAgICBTcGVlY2hJbnB1
dENsaWVudCogc3BlZWNoSW5wdXRDbGllbnQ7CkBAIC0xNzksNiArMTgzLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXIqIGdlb2xvY2F0aW9uQ29u
dHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fZ2VvbG9jYXRpb25Db250cm9sbGVyLmdldCgpOyB9
CiAjZW5kaWYKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgICAgICBBY2NlbGVy
b21ldGVyQ29udHJvbGxlciogYWNjZWxlcm9tZXRlckNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVy
biBtX2FjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmdldCgpOyB9CiAgICAgICAgIERldmljZU9yaWVu
dGF0aW9uQ29udHJvbGxlciogZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuZ2V0KCk7IH0KICNlbmRpZgogI2lm
IEVOQUJMRShJTlBVVF9TUEVFQ0gpCkBAIC0zMTMsNiArMzE4LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBPd25QdHI8R2VvbG9jYXRpb25Db250cm9sbGVyPiBtX2dlb2xvY2F0aW9u
Q29udHJvbGxlcjsKICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAg
ICAgIE93blB0cjxBY2NlbGVyb21ldGVyQ29udHJvbGxlcj4gbV9hY2NlbGVyb21ldGVyQ29udHJv
bGxlcjsKICAgICAgICAgT3duUHRyPERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcj4gbV9kZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXI7CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNI
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDRjYmU0YTMuLjNlY2FlYzggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5n
ZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0w
OC0wMiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQyODY1CisgICAgICAgIEltcGxlbWVudCBBY2NlbGVyb21ldGVyRXZlbnQK
KworICAgICAgICBBZGQgYSBmbGFnIHRvIGJ1aWxkLXdlYmtpdCBmb3IgZW5hYmxpbmcvZGlzYWJs
aW5nIERFVklDRV9PUklFTlRBVElPTgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6
CisKIDIwMTAtMDgtMDIgIEpvbiBIb25leWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXN0b3JlIHRoZSBXZWJLaXRUZXN0UnVubmVyLnNsbiB0aGF0IHdhcyByZW1vdmVk
LCBhbmQgcmVtb3ZlIHRoZQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQgYi9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRleCA0NjM5OTQ5Li4w
M2E4MDZmIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtNTYsMTIgKzU2LDEyIEBAIG15
ICRtYWtlQXJnczsKIG15ICRzdGFydFRpbWUgPSB0aW1lKCk7CiAKIG15ICgkbGlua1ByZWZldGNo
U3VwcG9ydCwgJHRocmVlRENhbnZhc1N1cHBvcnQsICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LCAk
Y2hhbm5lbE1lc3NhZ2luZ1N1cHBvcnQsICRjbGllbnRCYXNlZEdlb2xvY2F0aW9uU3VwcG9ydCwg
JGRhdGFiYXNlU3VwcG9ydCwgJGRhdGFncmlkU3VwcG9ydCwgJGRhdGFsaXN0U3VwcG9ydCwKLSAg
ICAkZG9tU3RvcmFnZVN1cHBvcnQsICRldmVudHNvdXJjZVN1cHBvcnQsICRmaWx0ZXJzU3VwcG9y
dCwgJGdlb2xvY2F0aW9uU3VwcG9ydCwgJGljb25EYXRhYmFzZVN1cHBvcnQsICRpbWFnZVJlc2l6
ZXJTdXBwb3J0LCAkaW5kZXhlZERhdGFiYXNlU3VwcG9ydCwgJGlucHV0U3BlZWNoU3VwcG9ydCwK
KyAgICAkZGV2aWNlT3JpZW50YXRpb25TdXBwb3J0LCAkZG9tU3RvcmFnZVN1cHBvcnQsICRldmVu
dHNvdXJjZVN1cHBvcnQsICRmaWx0ZXJzU3VwcG9ydCwgJGdlb2xvY2F0aW9uU3VwcG9ydCwgJGlj
b25EYXRhYmFzZVN1cHBvcnQsICRpbWFnZVJlc2l6ZXJTdXBwb3J0LCAkaW5kZXhlZERhdGFiYXNl
U3VwcG9ydCwgJGlucHV0U3BlZWNoU3VwcG9ydCwKICAgICAkamF2YVNjcmlwdERlYnVnZ2VyU3Vw
cG9ydCwgJG1hdGhtbFN1cHBvcnQsICRvZmZsaW5lV2ViQXBwbGljYXRpb25TdXBwb3J0LCAkcnVi
eVN1cHBvcnQsICRzeXN0ZW1NYWxsb2NTdXBwb3J0LCAkc2FuZGJveFN1cHBvcnQsICRzaGFyZWRX
b3JrZXJzU3VwcG9ydCwKICAgICAkc3ZnU3VwcG9ydCwgJHN2Z0FuaW1hdGlvblN1cHBvcnQsICRz
dmdBc0ltYWdlU3VwcG9ydCwgJHN2Z0RPTU9iakNCaW5kaW5nc1N1cHBvcnQsICRzdmdGb250c1N1
cHBvcnQsCiAgICAgJHN2Z0ZvcmVpZ25PYmplY3RTdXBwb3J0LCAkc3ZnVXNlU3VwcG9ydCwgJHZp
ZGVvU3VwcG9ydCwgJHdlYlNvY2tldHNTdXBwb3J0LCAkd2ViVGltaW5nU3VwcG9ydCwgJHdtbFN1
cHBvcnQsICR3Y3NzU3VwcG9ydCwgJHhodG1sbXBTdXBwb3J0LCAkd29ya2Vyc1N1cHBvcnQsCiAg
ICAgJHhwYXRoU3VwcG9ydCwgJHhzbHRTdXBwb3J0LCAkY292ZXJhZ2VTdXBwb3J0LCAkbm90aWZp
Y2F0aW9uc1N1cHBvcnQsICRibG9iU2xpY2VTdXBwb3J0LCAkdGlsZWRCYWNraW5nU3RvcmVTdXBw
b3J0LAotICAgICRmaWxlUmVhZGVyU3VwcG9ydCwgJGZpbGVXcml0ZXJTdXBwb3J0LCAkZmlsZVN5
c3RlbVN1cHBvcnQsICRkaXJlY3RvcnlVcGxvYWRTdXBwb3J0LCAkZGV2aWNlT3JpZW50YXRpb25T
dXBwb3J0KTsKKyAgICAkZmlsZVJlYWRlclN1cHBvcnQsICRmaWxlV3JpdGVyU3VwcG9ydCwgJGZp
bGVTeXN0ZW1TdXBwb3J0LCAkZGlyZWN0b3J5VXBsb2FkU3VwcG9ydCk7CiAKIG15IEBmZWF0dXJl
cyA9ICgKICAgICB7IG9wdGlvbiA9PiAibGluay1wcmVmZXRjaCIsIGRlc2MgPT4gIlRvZ2dsZSBw
cmUgZmV0Y2hpbmcgc3VwcG9ydCIsCkBAIC05Nyw2ICs5Nyw5IEBAIG15IEBmZWF0dXJlcyA9ICgK
ICAgICB7IG9wdGlvbiA9PiAiZGlyZWN0b3J5LXVwbG9hZCIsIGRlc2MgPT4gIlRvb2dsZSBEaXJl
Y3RvcnkgdXBsb2FkIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRElSRUNUT1JZ
X1VQTE9BRCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRkaXJlY3RvcnlVcGxvYWRTdXBwb3J0
IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiZGV2aWNlLW9yaWVudGF0aW9uIiwgZGVzYyA9PiAiVG9n
Z2xlIERldmljZSBPcmllbnRhdGlvbi9BY2NlbGVyb21ldGVyIFN1cHBvcnQiLAorICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9
PiBcJGRldmljZU9yaWVudGF0aW9uU3VwcG9ydCB9LAorCiAgICAgeyBvcHRpb24gPT4gImRvbS1z
dG9yYWdlIiwgZGVzYyA9PiAiVG9nZ2xlIERPTSBTdG9yYWdlIFN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfRE9NX1NUT1JBR0UiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkZG9t
U3RvcmFnZVN1cHBvcnQgfSwKIAo=
</data>
<flag name="review"
          id="51619"
          type_id="1"
          status="-"
          setter="steveblock"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63374</attachid>
            <date>2010-08-03 13:40:07 -0700</date>
            <delta_ts>2010-08-04 21:37:14 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>accel-new2.patch</filename>
            <type>text/plain</type>
            <size>84344</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1YWI5NTE5Li4yYzRjNDRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTAtMDgt
MDIgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisK
KyAgICAgICAgQWRkIEFjY2VsZXJvbWV0ZXJFdmVudCBhbmQgb25hY2NlbGVyb21ldGVyIHRlc3Rp
bmcgdG8KKyAgICAgICAgdGhlIGRldmljZS1vcmllbnRhdGlvbiB0ZXN0LCBhbmQgbWFrZSBzdXJl
IHRoZSBhY2NlbGVyb21ldGVyCisgICAgICAgIGludGVyZmFjZSBpcyBub3QgdGVzdGVkIGluIHRo
ZSBnZW5lcmljIHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6CisK
KyAgICAgICAgQWRkIHNvbWUgdGVzdHMgZm9yIHRoZSBBY2NlbGVyb21ldGVyRXZlbnQgaW50ZXJm
YWNlLgorCisgICAgICAgICogZmFzdC9kb20vQWNjZWxlcm9tZXRlci9jcmVhdGUtZXZlbnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL2NyZWF0
ZS1ldmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL29w
dGlvbmFsLWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9BY2NlbGVyb21ldGVyL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vQWNjZWxlcm9tZXRlci9zY3JpcHQtdGVzdHMvVEVNUExB
VEUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vQWNjZWxlcm9tZXRlci9zY3JpcHQt
dGVzdHMvY3JlYXRlLWV2ZW50LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVy
b21ldGVyL3NjcmlwdC10ZXN0cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL3NjcmlwdC10ZXN0cy93aW5kb3ctcHJv
cGVydHkuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvd2luZG93
LXByb3BlcnR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vQWNjZWxl
cm9tZXRlci93aW5kb3ctcHJvcGVydHkuaHRtbDogQWRkZWQuCisKKyAgICAgICAgTWFrZSBzdXJl
IHRoZXNlIGFyZSBza2lwcGVkIG9uIE1hYywgV2luLCBHVEsgYW5kIFFULgorCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tp
cHBlZDoKKwogMjAxMC0wOC0wMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2NDQ3OC4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvY3JlYXRlLWV2ZW50LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvY3JlYXRlLWV2ZW50LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGE3NjNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci9jcmVh
dGUtZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjQgQEAKK1Rlc3RzIHRoYXQgZG9jdW1l
bnQuY3JlYXRlRXZlbnQoKSB3b3JrcyB3aXRoIEFjY2VsZXJvbWV0ZXJFdmVudC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIGV2ZW50ID09ICdvYmplY3QnIGlz
IHRydWUKK1BBU1MgJ3R5cGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2J1YmJsZXMnIGluIGV2
ZW50IGlzIHRydWUKK1BBU1MgJ2NhbmNlbGFibGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3gn
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3knIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3onIGlu
IGV2ZW50IGlzIHRydWUKK1BBU1MgJ2ludGVydmFsJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIHR5
cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmJ1
YmJsZXMgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmNhbmNlbGFibGUg
PT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnggPT0gJ29iamVjdCcgaXMg
dHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQueSA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVv
ZiBldmVudC56ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmludGVydmFs
ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVy
b21ldGVyL2NyZWF0ZS1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9t
ZXRlci9jcmVhdGUtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li41NDVmOTYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxl
cm9tZXRlci9jcmVhdGUtZXZlbnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2Ny
ZWF0ZS1ldmVudC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL29wdGlvbmFsLWV2ZW50LXByb3Bl
cnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci9v
cHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi45YmYzYWU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vQWNjZWxlcm9tZXRlci9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDQ0IEBACitUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBB
Y2NlbGVyb21ldGVyRXZlbnQuIEVhY2ggcHJvcGVydHkgc2hvdWxkIGJlIG51bGwgaWYgbm90IHNl
dCwgb3Igc2V0IHRvIG51bGwgb3IgdW5kZWZpbmVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnQWNjZWxlcm9tZXRlckV2ZW50
JykKK1BBU1MgZXZlbnQueCA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueSA9PSBudWxsIGlz
IHRydWUKK1BBU1MgZXZlbnQueiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwg
PT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxzZSwg
ZmFsc2UsIDAsIDEsIDIsIDMpCitQQVNTIGV2ZW50LnggPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50
LnkgPT0gMSBpcyB0cnVlCitQQVNTIGV2ZW50LnogPT0gMiBpcyB0cnVlCitQQVNTIGV2ZW50Lmlu
dGVydmFsID09IDMgaXMgdHJ1ZQorZXZlbnQuaW5pdEFjY2VsZXJvbWV0ZXJFdmVudCgpCitQQVNT
IGV2ZW50LnggPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnkgPT0gbnVsbCBpcyB0cnVlCitQ
QVNTIGV2ZW50LnogPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IG51bGwg
aXMgdHJ1ZQorZXZlbnQuaW5pdEFjY2VsZXJvbWV0ZXJFdmVudCgnJywgZmFsc2UsIGZhbHNlLCBb
XSwgW10sIFtdLCBbXSkKK1BBU1MgZXZlbnQueCA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQueSA9
PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQueiA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2
YWwgPT0gMCBpcyB0cnVlCitldmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxzZSwg
ZmFsc2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkKK1BBU1Mg
ZXZlbnQueCA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueSA9PSBudWxsIGlzIHRydWUKK1BB
U1MgZXZlbnQueiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCBp
cyB0cnVlCitldmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsICcn
LCAnJywgJycsICcnKQorUEFTUyBldmVudC54ID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC55ID09
IDAgaXMgdHJ1ZQorUEFTUyBldmVudC56ID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5pbnRlcnZh
bCA9PSAwIGlzIHRydWUKK2V2ZW50LmluaXRBY2NlbGVyb21ldGVyRXZlbnQoJycsIGZhbHNlLCBm
YWxzZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCkKK1BBU1MgZXZlbnQueCA9PSBudWxsIGlzIHRy
dWUKK1BBU1MgZXZlbnQueSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueiA9PSBudWxsIGlz
IHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL29wdGlvbmFsLWV2ZW50LXBy
b3BlcnRpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTI2Njlm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci9v
cHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2Ny
aXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21l
dGVyL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmIzMTk2M2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9BY2NlbGVyb21ldGVyL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCkBAIC0wLDAgKzEsMTIg
QEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3Jj
PSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL3NjcmlwdC10ZXN0cy9j
cmVhdGUtZXZlbnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21ldGVyL3Njcmlw
dC10ZXN0cy9jcmVhdGUtZXZlbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZWIyN2ExNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2Vs
ZXJvbWV0ZXIvc2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcwpAQCAtMCwwICsxLDIzIEBACitk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBkb2N1bWVudC5jcmVhdGVFdmVudCgpIHdvcmtzIHdpdGgg
QWNjZWxlcm9tZXRlckV2ZW50LiIpOworCit2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVu
dCgnQWNjZWxlcm9tZXRlckV2ZW50Jyk7CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50ID09
ICdvYmplY3QnIik7CisKK3Nob3VsZEJlVHJ1ZSgiJ3R5cGUnIGluIGV2ZW50Iik7CitzaG91bGRC
ZVRydWUoIididWJibGVzJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCInY2FuY2VsYWJsZScg
aW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3gnIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUo
Iid5JyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCIneicgaW4gZXZlbnQiKTsKK3Nob3VsZEJl
VHJ1ZSgiJ2ludGVydmFsJyBpbiBldmVudCIpOworCitzaG91bGRCZVRydWUoInR5cGVvZiBldmVu
dC50eXBlID09ICdzdHJpbmcnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC5idWJibGVz
ID09ICdib29sZWFuJyIpOworc2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQuY2FuY2VsYWJsZSA9
PSAnYm9vbGVhbiciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnggPT0gJ29iamVjdCci
KTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnkgPT0gJ29iamVjdCciKTsKK3Nob3VsZEJl
VHJ1ZSgidHlwZW9mIGV2ZW50LnogPT0gJ29iamVjdCciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9m
IGV2ZW50LmludGVydmFsID09ICdvYmplY3QnIik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRl
ci9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3Bl
cnRpZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODEyMzNmOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2NyaXB0
LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanMKQEAgLTAsMCArMSw0NyBAQAorZGVz
Y3JpcHRpb24oIlRlc3RzIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIG9mIEFjY2VsZXJvbWV0ZXJF
dmVudC4gRWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8g
bnVsbCBvciB1bmRlZmluZWQuIik7CisKK3ZhciBldmVudDsKKworZXZhbEFuZExvZygiZXZlbnQg
PSBkb2N1bWVudC5jcmVhdGVFdmVudCgnQWNjZWxlcm9tZXRlckV2ZW50JykiKTsKK3Nob3VsZEJl
VHJ1ZSgiZXZlbnQueCA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnkgPT0gbnVsbCIp
Oworc2hvdWxkQmVUcnVlKCJldmVudC56ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
aW50ZXJ2YWwgPT0gbnVsbCIpOworCitldmFsQW5kTG9nKCJldmVudC5pbml0QWNjZWxlcm9tZXRl
ckV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIDAsIDEsIDIsIDMpIik7CitzaG91bGRCZVRydWUoImV2
ZW50LnggPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55ID09IDEiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQueiA9PSAyIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09IDMiKTsK
KworZXZhbEFuZExvZygiZXZlbnQuaW5pdEFjY2VsZXJvbWV0ZXJFdmVudCgpIik7CitzaG91bGRC
ZVRydWUoImV2ZW50LnggPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55ID09IG51bGwi
KTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueiA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50
LmludGVydmFsID09IG51bGwiKTsKKworZXZhbEFuZExvZygiZXZlbnQuaW5pdEFjY2VsZXJvbWV0
ZXJFdmVudCgnJywgZmFsc2UsIGZhbHNlLCBbXSwgW10sIFtdLCBbXSkiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQueCA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnkgPT0gMCIpOworc2hvdWxk
QmVUcnVlKCJldmVudC56ID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuaW50ZXJ2YWwgPT0g
MCIpOworCitldmFsQW5kTG9nKCJldmVudC5pbml0QWNjZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxz
ZSwgZmFsc2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQueCA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50Lnkg
PT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC56ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCIpOworCitldmFsQW5kTG9nKCJldmVudC5pbml0QWNj
ZWxlcm9tZXRlckV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsICcnLCAnJywgJycsICcnKSIpOworc2hv
dWxkQmVUcnVlKCJldmVudC54ID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueSA9PSAwIik7
CitzaG91bGRCZVRydWUoImV2ZW50LnogPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRl
cnZhbCA9PSAwIik7CisKK2V2YWxBbmRMb2coImV2ZW50LmluaXRBY2NlbGVyb21ldGVyRXZlbnQo
JycsIGZhbHNlLCBmYWxzZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCkiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQueCA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnkgPT0gbnVsbCIpOwor
c2hvdWxkQmVUcnVlKCJldmVudC56ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuaW50
ZXJ2YWwgPT0gbnVsbCIpOworCit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2NyaXB0LXRlc3Rz
L3dpbmRvdy1wcm9wZXJ0eS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIv
c2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5lNmE1NmM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vQWNjZWxlcm9tZXRlci9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LmpzCkBAIC0wLDAg
KzEsMzEgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHRoZSB3aW5kb3cuQWNjZWxlcm9tZXRl
ckV2ZW50IGFuZCB3aW5kb3cub25hY2NlbGVyb21ldGVyIHByb3BlcnRpZXMgYXJlIHByZXNlbnQu
Iik7CisKK2Z1bmN0aW9uIGhhc0FjY2VsZXJvbWV0ZXJFdmVudFByb3BlcnR5KCkKK3sKKyAgICBm
b3IgKHZhciBwcm9wZXJ0eSBpbiB3aW5kb3cpIHsKKyAgICAgICAgaWYgKHByb3BlcnR5ID09ICJB
Y2NlbGVyb21ldGVyRXZlbnQiKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAg
IHJldHVybiBmYWxzZTsKK30KKworc2hvdWxkQmVUcnVlKCJ0eXBlb2Ygd2luZG93LkFjY2VsZXJv
bWV0ZXJFdmVudCA9PSAnb2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNBY2NlbGVyb21ldGVy
RXZlbnRQcm9wZXJ0eSgpIik7CitzaG91bGRCZVRydWUoIidBY2NlbGVyb21ldGVyRXZlbnQnIGlu
IHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVydHkoJ0FjY2VsZXJv
bWV0ZXJFdmVudCcpIik7CisKK2Z1bmN0aW9uIGhhc09uQWNjZWxlcm9tZXRlclByb3BlcnR5KCkK
K3sKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB3aW5kb3cpIHsKKyAgICAgICAgaWYgKHByb3Bl
cnR5ID09ICJvbmFjY2VsZXJvbWV0ZXIiKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorICAgIHJldHVybiBmYWxzZTsKK30KKworc2hvdWxkQmVUcnVlKCJ0eXBlb2Ygd2luZG93Lm9u
YWNjZWxlcm9tZXRlciA9PSAnb2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNPbkFjY2VsZXJv
bWV0ZXJQcm9wZXJ0eSgpIik7CitzaG91bGRCZVRydWUoIidvbmFjY2VsZXJvbWV0ZXInIGluIHdp
bmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVydHkoJ29uYWNjZWxlcm9t
ZXRlcicpIik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci93aW5kb3ctcHJvcGVydHktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci93aW5kb3ctcHJv
cGVydHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYw
MDk5MzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BY2NlbGVyb21l
dGVyL3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdHMg
dGhhdCB0aGUgd2luZG93LkFjY2VsZXJvbWV0ZXJFdmVudCBhbmQgd2luZG93Lm9uYWNjZWxlcm9t
ZXRlciBwcm9wZXJ0aWVzIGFyZSBwcmVzZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyB0eXBlb2Ygd2luZG93LkFjY2VsZXJvbWV0ZXJFdmVudCA9PSAnb2JqZWN0JyBp
cyB0cnVlCitQQVNTIGhhc0FjY2VsZXJvbWV0ZXJFdmVudFByb3BlcnR5KCkgaXMgdHJ1ZQorUEFT
UyAnQWNjZWxlcm9tZXRlckV2ZW50JyBpbiB3aW5kb3cgaXMgdHJ1ZQorUEFTUyB3aW5kb3cuaGFz
T3duUHJvcGVydHkoJ0FjY2VsZXJvbWV0ZXJFdmVudCcpIGlzIHRydWUKK1BBU1MgdHlwZW9mIHdp
bmRvdy5vbmFjY2VsZXJvbWV0ZXIgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyBoYXNPbkFjY2Vs
ZXJvbWV0ZXJQcm9wZXJ0eSgpIGlzIHRydWUKK1BBU1MgJ29uYWNjZWxlcm9tZXRlcicgaW4gd2lu
ZG93IGlzIHRydWUKK1BBU1Mgd2luZG93Lmhhc093blByb3BlcnR5KCdvbmFjY2VsZXJvbWV0ZXIn
KSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vQWNjZWxlcm9tZXRlci93aW5k
b3ctcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvd2lu
ZG93LXByb3BlcnR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTEy
MjAzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0FjY2VsZXJvbWV0
ZXIvd2luZG93LXByb3BlcnR5Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy93aW5k
b3ctcHJvcGVydHkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1v
cmllbnRhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA2Mjgw
MWViLi5lMTRlOTA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDcgQEAKLVRoaXMgdGVzdCBkdW1wcyBhbGwgb2Yg
dGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhY2hhYmxlIGZyb20gdGhlIHdpbmRvdy5EZXZpY2VP
cmllbnRhdGlvbkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2VvcmllbnRhdGlvbiBvYmplY3RzLCBh
bG9uZyB3aXRoIHRoZWlyIHR5cGVzLgorVGhpcyB0ZXN0IGR1bXBzIGFsbCBvZiB0aGUgcHJvcGVy
dGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmljZU9yaWVudGF0aW9u
RXZlbnQsIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uLCB3aW5kb3cuQWNjZWxlcm9tZXRlckV2
ZW50IGFuZCB3aW5kb3cub25hY2NlbGVyb21ldGVyIG9iamVjdHMsIGFsb25nIHdpdGggdGhlaXIg
dHlwZXMuIFRoZXNlIHByb3BlcnRpZXMgYXJlIGN1cnJlbnRseSBndWFyZGVkIGJ5IEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04uCiAKIHdpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IFtmdW5j
dGlvbl0KIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIFtudWxsXQord2luZG93LkFjY2VsZXJh
dGlvbkV2ZW50IFtmdW5jdGlvbl0KK3dpbmRvdy5vbmFjY2VsZXJhdGlvbiBbbnVsbF0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRl
dmljZS1vcmllbnRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRv
dy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRhdGlvbi5odG1sCmluZGV4IDk3ZTAwYmIuLmNjYzlk
ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKQEAgLTEsNCAr
MSw1IEBACi08cD5UaGlzIHRlc3QgZHVtcHMgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJl
IHJlYWNoYWJsZSBmcm9tIHRoZSB3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudCBhbmQgd2lu
ZG93Lm9uZGV2aWNlb3JpZW50YXRpb24gb2JqZWN0cywgYWxvbmcgd2l0aCB0aGVpciB0eXBlcy48
L3A+Cis8cD5UaGlzIHRlc3QgZHVtcHMgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIHJl
YWNoYWJsZSBmcm9tIHRoZSB3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudCwgd2luZG93Lm9u
ZGV2aWNlb3JpZW50YXRpb24sIHdpbmRvdy5BY2NlbGVyb21ldGVyRXZlbnQgYW5kIHdpbmRvdy5v
bmFjY2VsZXJvbWV0ZXIgb2JqZWN0cywgYWxvbmcgd2l0aCB0aGVpciB0eXBlcy4KKyAgVGhlc2Ug
cHJvcGVydGllcyBhcmUgY3VycmVudGx5IGd1YXJkZWQgYnkgRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTi48L3A+CiA8aHI+CiA8cHJlIGlkPSJwcmUiPjwvcHJlPgogCkBAIC05MCw1ICs5MSw3IEBA
IGZ1bmN0aW9uIGxvZ1Byb3BlcnRpZXMob2JqZWN0LCBvYmplY3ROYW1lKQogCiBsb2dWYWx1ZSgn
d2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQnKTsKIGxvZ1ZhbHVlKCd3aW5kb3cub25kZXZp
Y2VvcmllbnRhdGlvbicpOworbG9nVmFsdWUoJ3dpbmRvdy5BY2NlbGVyb21ldGVyRXZlbnQnKTsK
K2xvZ1ZhbHVlKCd3aW5kb3cub25hY2NlbGVyb21ldGVyJyk7CiBmbHVzaExvZygpOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3Bl
cnRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy5odG1sCmluZGV4IGMxMzVhOWIuLjE5OTFlOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sCkBAIC04NSw2ICs4NSw4IEBAIHZh
ciBfX3NraXBfXyA9IHsKICAgICAid2luZG93LkZpbGVSZWFkZXIiIDogMSwKICAgICAid2luZG93
LkRldmljZU9yaWVudGF0aW9uRXZlbnQiIDogMSwKICAgICAid2luZG93Lm9uZGV2aWNlb3JpZW50
YXRpb24iIDogMSwKKyAgICAid2luZG93LkFjY2VsZXJvbWV0ZXJFdmVudCIgOiAxLAorICAgICJ3
aW5kb3cub25hY2NlbGVyb21ldGVyIiA6IDEsCiAgICAgIndpbmRvdy53ZWJraXRQZXJmb3JtYW5j
ZSIgOiAxLAogCiAgICAgLy8gc2hvd01vZGFsRGlhbG9nIGlzIG5vdCBpbXBsZW1lbnRlZCBvbiBh
bGwgcGxhdGZvcm1zIGluIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApp
bmRleCAxYjg5OThmLi4yOTdjODU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMTA5
MSw2ICsxMDkxLDkgQEAgZmFzdC9kb20vY2xpZW50LXdpZHRoLWhlaWdodC5odG1sCiBmYXN0L2Rv
bS9jc3NUYXJnZXQtY3Jhc2guaHRtbAogZmFzdC9kb20vZnJhbWUtbG9hZGluZy12aWEtZG9jdW1l
bnQtd3JpdGUuaHRtbAogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vYmFzaWMtb3BlcmF0aW9u
Lmh0bWwKK2Zhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvY3JlYXRlLWV2ZW50Lmh0bWwKK2Zhc3QvZG9t
L0FjY2VsZXJvbWV0ZXIvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCitmYXN0L2RvbS9B
Y2NlbGVyb21ldGVyL3dpbmRvdy1wcm9wZXJ0eS5odG1sCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRh
dGlvbi9jcmVhdGUtZXZlbnQuaHRtbAogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9u
YWwtZXZlbnQtcHJvcGVydGllcy5odG1sCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi93aW5k
b3ctcHJvcGVydHkuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCAxOTdkNDk3Li4z
ZTZjMmYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtMjQwLDggKzI0MCw5IEBAIGNh
bnZhcy9waGlsaXAvdGVzdHMvdHlwZS5wcm90b3R5cGUuaHRtbAogIyBJbmRleGVkREIgaXMgbm90
IHlldCBlbmFibGVkLgogc3RvcmFnZS9pbmRleGVkZGIKIAotIyBUaGlzIHBvcnQgZG9lc24ndCBz
dXBwb3J0IERldmljZU9yaWVudGF0aW9uLgorIyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IERl
dmljZU9yaWVudGF0aW9uIG9yIEFjY2VsZXJvbWV0ZXIuCitmYXN0L2RvbS9BY2NlbGVyb21ldGVy
CiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbgogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWRldmljZS1vcmllbnRhdGlvbi5odG1sCiAKICMgTGluayBwcmVmZXRjaCBpcyBkaXNh
YmxlZCBieSBkZWZhdWx0CiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2guaHRtbApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggODBlNTRkMC4uNTQ4NDBhNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9Ta2lwcGVkCkBAIC03Nyw3ICs3Nyw4IEBAIHBsdWdpbnMvY2xpY2tpbmctbWlzc2luZy1w
bHVnaW4tZmlyZXMtZGVsZWdhdGUuaHRtbAogIyAgICAgICBGZWF0dXJlIG5vdCBzdXBwb3J0ZWQu
Li4geWV0CiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3Vw
cG9ydCBEZXZpY2VPcmllbnRhdGlvbi4KKyMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZp
Y2VPcmllbnRhdGlvbiBvciBBY2NlbGVyb21ldGVyLgorZmFzdC9kb20vQWNjZWxlcm9tZXRlcgog
ZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24KIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmlu
ZGV4IDFjYTdlY2EuLmIyY2M5NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC04NzEs
NyArODcxLDggQEAgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRt
bAogIyBJbmRleGVkREIgaXMgbm90IHlldCBlbmFibGVkLgogc3RvcmFnZS9pbmRleGVkZGIKIAot
IyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IERldmljZU9yaWVudGF0aW9uLgorIyBUaGlzIHBv
cnQgZG9lc24ndCBzdXBwb3J0IERldmljZU9yaWVudGF0aW9uIG9yIEFjY2VsZXJvbWV0ZXIuCitm
YXN0L2RvbS9BY2NlbGVyb21ldGVyCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbgogZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRhdGlvbi5odG1sCiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2ViQ29y
ZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggMGRhMzNkMC4uMWQ1MzRlMCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKKysrIGIv
V2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTkzLDYgKzkzLDcgQEAg
JChwYXRzdWJzdCAlLmgsJS5jcHAsJChHRU4pKTogJChpbnRlcm1lZGlhdGVzKS9jc3MvJS5jcHAg
OiAkKGludGVybWVkaWF0ZXMpL2Nzcy8KIAogIyBET00KIEdFTiA6PSBcCisgICAgJChpbnRlcm1l
ZGlhdGVzKS9kb20vSlNBY2NlbGVyb21ldGVyRXZlbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9kb20vSlNBdHRyLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTQmVmb3JlTG9hZEV2
ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTQ0RBVEFTZWN0aW9uLmggXApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUv
QW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKaW5kZXggNjNiZTBhOC4uNDZiODE0OCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJD
b3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCkBAIC03NSw2ICs3NSw3IEBAICQocGF0
c3Vic3QgJS5oLCUuY3BwLCQoR0VOKSk6ICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvJS5jcHAg
OiAkKGludGVybWVkaWF0ZXMpCiAKICMgRE9NCiBHRU4gOj0gXAorICAgICQoaW50ZXJtZWRpYXRl
cykvYmluZGluZ3MvVjhBY2NlbGVyb21ldGVyRXZlbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9iaW5kaW5ncy9WOEF0dHIuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEJl
Zm9yZUxvYWRFdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4Q0RBVEFT
ZWN0aW9uLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rIGIv
V2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCmluZGV4IGY2N2Q1NGQuLjU3YWFiZmYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0Fu
ZHJvaWQuanNjYmluZGluZ3MubWsKQEAgLTYwLDYgKzYwLDcgQEAgQklORElOR19DX0lOQ0xVREVT
IDo9IFwKIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNw
cCBcCiAJYmluZGluZ3MvanMvSURCQmluZGluZ1V0aWxpdGllcy5jcHAgXAorCWJpbmRpbmdzL2pz
L0pTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNBdHRyQ3Vz
dG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNBdWRpb0NvbnN0cnVjdG9yLmNwcCBcCiAJYmluZGlu
Z3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5k
cm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRleCBkNzVmZDU5Li5jYTIxMTYwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC05
Nyw2ICs5Nyw5IEBAIExPQ0FMX1NSQ19GSUxFUyA6PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCWNz
cy9XZWJLaXRDU1NNYXRyaXguY3BwIFwKIAljc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3Bw
IFwKIAlcCisJZG9tL0FjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmNwcCBcCisJZG9tL0FjY2VsZXJv
bWV0ZXJEYXRhLmNwcCBcCisJZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5jcHAgXAogCWRvbS9BY3Rp
dmVET01PYmplY3QuY3BwIFwKIAlkb20vQXR0ci5jcHAgXAogCWRvbS9BdHRyaWJ1dGUuY3BwIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRy
b2lkLnY4YmluZGluZ3MubWsKaW5kZXggYjM2YmVhYi4uM2YwOTczNCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLnY4YmluZGlu
Z3MubWsKQEAgLTg1LDYgKzg1LDcgQEAgTE9DQUxfU1JDX0ZJTEVTICs9IFwKIAlcCiAJYmluZGlu
Z3MvdjgvbnBydW50aW1lLmNwcCBcCiAJXAorCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOEFjY2VsZXJv
bWV0ZXJFdmVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0
b20uY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9t
LmNwcCBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVTaGVldEN1c3RvbS5jcHAgXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggZTBhNjRhZi4uZDJhOTAyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMzMsNiArMTMzLDcgQEAgU0VU
KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgY3NzL1dlYktpdENTU01hdHJpeC5pZGwKICAgICBjc3Mv
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaWRsCiAKKyAgICBkb20vQWNjZWxlcm9tZXRlckV2ZW50
LmlkbAogICAgIGRvbS9BdHRyLmlkbAogICAgIGRvbS9CZWZvcmVMb2FkRXZlbnQuaWRsCiAgICAg
ZG9tL0NEQVRBU2VjdGlvbi5pZGwKQEAgLTU2OCw2ICs1NjksNyBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAogICAgIGJpbmRpbmdzL2pzL0lE
QkJpbmRpbmdVdGlsaXRpZXMuY3BwCiAgICAgYmluZGluZ3MvanMvSmF2YVNjcmlwdENhbGxGcmFt
ZS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAKICAg
ICBiaW5kaW5ncy9qcy9KU0F0dHJDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNDYWxsYmFj
a0RhdGEuY3BwCiAgICAgYmluZGluZ3MvanMvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0
b20uY3BwCkBAIC03NjYsNiArNzY4LDkgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGNzcy9X
ZWJLaXRDU1NNYXRyaXguY3BwCiAgICAgY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcAog
CisgICAgZG9tL0FjY2VsZXJvbWV0ZXJDb250cm9sbGVyLmNwcAorICAgIGRvbS9BY2NlbGVyb21l
dGVyRGF0YS5jcHAKKyAgICBkb20vQWNjZWxlcm9tZXRlckV2ZW50LmNwcAogICAgIGRvbS9BY3Rp
dmVET01PYmplY3QuY3BwCiAgICAgZG9tL0F0dHIuY3BwCiAgICAgZG9tL0F0dHJpYnV0ZS5jcHAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MmVmYmU5Ny4uMGYzMGQxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NCBAQAorMjAxMC0wOC0wMiAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODY1
CisgICAgICAgIEltcGxlbWVudCBBY2NlbGVyb21ldGVyRXZlbnQKKworICAgICAgICBJbXBsZW1l
bnQgdGhlIEFjY2VsZXJvbWV0ZXJFdmVudCBpbnRlcmZhY2UgYXMgZGVmaW5lZAorICAgICAgICBp
biBodHRwOi8vZGV2LnczLm9yZy9nZW8vYXBpL3NwZWMtc291cmNlLW9yaWVudGF0aW9uLmh0bWwK
KyAgICAgICAgVGhpcyBpcyBjdXJyZW50bHkgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24sIGluIHRo
YXQgdGhlcmUgaXMKKyAgICAgICAgbm8gYWNjZWxlcm9tZXRlciBjbGllbnQgY29ubmVjdGVkIC0g
dGhlIHBsYXRmb3JtIGltcGxlbWVudGF0aW9ucworICAgICAgICB3aWxsIG5lZWQgdG8gZG8gdGhh
dC4KKworICAgICAgICBUZXN0czogZmFzdC9kb20vQWNjZWxlcm9tZXRlci9jcmVhdGUtZXZlbnQu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vQWNjZWxlcm9tZXRlci9vcHRpb25hbC1ldmVu
dC1wcm9wZXJ0aWVzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0FjY2VsZXJvbWV0ZXIv
d2luZG93LXByb3BlcnR5Lmh0bWwKKworICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5k
aW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAg
ICAgKiBBbmRyb2lkLmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQubWs6CisgICAg
ICAgICogQW5kcm9pZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAg
ICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgICAtIEFkZCBuZXcgZmlsZXMgZm9lIEFjY2VsZXJv
bWV0ZXJFdmVudCBidWlsZCBzdXBwb3J0CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgICAtIG5ldyBydW50aW1lIGZsYWdzIGZvciBh
Y2NlbGVyb21ldGVyCisgICAgICAgICogYmluZGluZ3MvanMvSlNBY2NlbGVyb21ldGVyRXZlbnRD
dXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhBY2NlbGVy
b21ldGVyRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgICAtIEN1c3RvbSBKUyBiaW5k
aW5nIHRvIHRyYW5zbGF0ZSBwcm9wZXJ0eSBhY2Nlc3MgdGhyb3VnaAorICAgICAgICAgICAgdG8g
dGhlIEFjY2VsZXJvbWV0ZXJEYXRhIG9iamVjdCB0aGF0IHRoZSBFdmVudCBob2xkcworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAgIC0gSW5jbHVkZSB0
aGUgY3VzdG9tIGNvZGUgZm9yIEFjY2VsZXJvbWV0ZXJFdmVudAorICAgICAgICAqIGRvbS9BY2Nl
bGVyb21ldGVyQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAgIC0gUHVyZSB2aXJ0dWFsIGNsaWVu
dCBmb3IgQWNjZWxlcm9tZXRlciBhY2Nlc3MKKyAgICAgICAgKiBkb20vQWNjZWxlcm9tZXRlckNv
bnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBkb20vQWNjZWxlcm9tZXRlckNvbnRyb2xs
ZXIuaDogQWRkZWQuCisgICAgICAgICAgLSBDb250cm9sbGVyIGNsYXNzIHRoYXQgbWFuYWdlcyBl
dmVudCBkaXNwYXRjaAorICAgICAgICAqIGRvbS9BY2NlbGVyb21ldGVyRGF0YS5jcHA6IEFkZGVk
LgorICAgICAgICAqIGRvbS9BY2NlbGVyb21ldGVyRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgICAt
IFJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRhIHRoYXQgY29tZXMgZnJvbSBhbiBhY2NlbGVyb21l
dGVyCisgICAgICAgICAgICBjbGllbnQgdGhhdCBpcyB0aGVuIHVzZWQgd2l0aGluIHRoZSBldmVu
dC4KKyAgICAgICAgKiBkb20vQWNjZWxlcm9tZXRlckV2ZW50LmNwcDogQWRkZWQuCisgICAgICAg
ICogZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vQWNjZWxl
cm9tZXRlckV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICAgLSBUaGUgYWN0dWFsIGV2ZW50IGlt
cGxlbWVudGF0aW9uCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpjcmVhdGVFdmVudCk6CisgICAgICAgICAgLSBVcGRhdGUgY3JlYXRlRXZl
bnQgdG8gYWxsb3cgImFjY2VsZXJvbWV0ZXIiIGV2ZW50cworICAgICAgICAqIGRvbS9FdmVudC5j
cHA6CisgICAgICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAgICAgLSBpc0FjY2VsZXJvbWV0ZXJF
dmVudCB2aXJ0dWFsIG1ldGhvZAorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAg
ICAgLSBuZXcgImFjY2VsZXJvbWV0ZXIiIGV2ZW50IHR5cGUKKyAgICAgICAgKiBwYWdlL0RPTVdp
bmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmFkZEV2ZW50TGlzdGVuZXIp
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cu
aWRsOgorICAgICAgICAgIC0gYWxsb3cgY3JlYXRpb24gb2YgImFjY2VsZXJvbWV0ZXIiIGV2ZW50
cyBhbmQgcGFzcyByZWdpc3RyYXRpb24KKyAgICAgICAgICAgIHRocm91Z2ggdG8gdGhlIFBhZ2Un
cyBhY2NlbGVyb21ldGVyQ29udHJvbGxlciBvYmplY3QKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3Bw
OgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAgIC0gbmV3IFBhZ2VDbGllbnQgZm9y
IGFjY2VsZXJvbWV0ZXJDb250cm9sbGVyCisKIDIwMTAtMDgtMDIgIENocmlzIEZsZWl6YWNoICA8
Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
NjQ0NzYuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCA5ODEwY2Y3Li5hOWJjNDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTYxLDcgKzYxLDggQEAgRU5BQkxFX0RBVEFHUklE
ID0gOwogRU5BQkxFX0RBVEFMSVNUID0gJChFTkFCTEVfREFUQUxJU1RfJChSRUFMX1BMQVRGT1JN
X05BTUUpKTsKIEVOQUJMRV9EQVRBTElTVF9tYWNvc3ggPSBFTkFCTEVfREFUQUxJU1Q7CiAKLUVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04gPSA7CitFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OID0g
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTjsKKwogRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQgPSA7
CiBFTkFCTEVfRE9NX1NUT1JBR0UgPSBFTkFCTEVfRE9NX1NUT1JBR0U7CiBFTkFCTEVfRVZFTlRT
T1VSQ0UgPSBFTkFCTEVfRVZFTlRTT1VSQ0U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZTA1MzM1MC4u
ZTI4ODJmMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNTEsNiArNTEsNyBAQCBWUEFUSCA9IFwKIERP
TV9DTEFTU0VTID0gXAogICAgIEFic3RyYWN0VmlldyBcCiAgICAgQWJzdHJhY3RXb3JrZXIgXAor
ICAgIEFjY2VsZXJvbWV0ZXJFdmVudCBcCiAgICAgQWNjZXNzaWJpbGl0eSBcCiAgICAgQXR0ciBc
CiAgICAgQmFySW5mbyBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA4NTJmM2ViLi4zNjhlMGZlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTk5
LDYgKzk5LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBYnN0cmFjdFdvcmtlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNB
YnN0cmFjdFdvcmtlci5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWNjZWxlcm9tZXRl
ckV2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FjY2VsZXJvbWV0ZXJFdmVu
dC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWNjZXNzaWJpbGl0eS5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBY2Nlc3NpYmlsaXR5LmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNBcnJheUJ1ZmZlci5jcHAgXApAQCAtNjM0LDYgKzYzNiw3IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuaCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdz
L2pzL0dDQ29udHJvbGxlci5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQWNjZWxlcm9tZXRl
ckV2ZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F0dHJDdXN0b20uY3Bw
IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCBcCiAJV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RhdGFHcmlkQ29sdW1uTGlzdEN1c3RvbS5jcHAgXApAQCAtOTcw
LDYgKzk3MywxMyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvY3NzL1dlYktpdENT
U01hdHJpeC5oIFwKIAlXZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgXAog
CVdlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggXAorCVdlYkNvcmUvZG9tL0Fj
Y2VsZXJvbWV0ZXJDbGllbnQuaCBcCisJV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckNvbnRyb2xs
ZXIuY3BwIFwKKwlXZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5oIFwKKwlXZWJD
b3JlL2RvbS9BY2NlbGVyb21ldGVyRGF0YS5jcHAgXAorCVdlYkNvcmUvZG9tL0FjY2VsZXJvbWV0
ZXJEYXRhLmggXAorCVdlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5jcHAgXAorCVdlYkNv
cmUvZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5oIFwKIAlXZWJDb3JlL2RvbS9BY3RpdmVET01PYmpl
Y3QuY3BwIFwKIAlXZWJDb3JlL2RvbS9BY3RpdmVET01PYmplY3QuaCBcCiAJV2ViQ29yZS9kb20v
QXR0ci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCA5MDg1NjU2Li42NjMyZDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzAsNiArMzAsNyBAQAog
ICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmlkbCcsCiAgICAgICAgICAg
ICAnY3NzL1dlYktpdENTU01hdHJpeC5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NU
cmFuc2Zvcm1WYWx1ZS5pZGwnLAorICAgICAgICAgICAgJ2RvbS9BY2NlbGVyb21ldGVyRXZlbnQu
aWRsJywKICAgICAgICAgICAgICdkb20vQXR0ci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9CZWZv
cmVMb2FkRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vQmVmb3JlUHJvY2Vzc0V2ZW50Lmlk
bCcsCkBAIC01MjEsNiArNTIyLDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9HQ0NvbnRy
b2xsZXIuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5oJywKKyAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL2pzL0pTQXR0ckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
QXVkaW9Db25zdHJ1Y3Rvci5oJywKQEAgLTcxMyw2ICs3MTUsNyBAQAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOENhbnZhc1BpeGVsQXJyYXlDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uaCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJDdXN0b20uY3BwJywK
QEAgLTEwNzYsNiArMTA3OSwxMyBAQAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZS5oJywKICAgICAgICAgICAgICdkb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0
Q2hhbm5lbC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBv
cnRDaGFubmVsLmgnLAorICAgICAgICAgICAgJ2RvbS9BY2NlbGVyb21ldGVyQ2xpZW50LmgnLAor
ICAgICAgICAgICAgJ2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAnLAorICAgICAgICAg
ICAgJ2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5oJywKKyAgICAgICAgICAgICdkb20vQWNj
ZWxlcm9tZXRlckRhdGEuY3BwJywKKyAgICAgICAgICAgICdkb20vQWNjZWxlcm9tZXRlckRhdGEu
aCcsCisgICAgICAgICAgICAnZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5jcHAnLAorICAgICAgICAg
ICAgJ2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0FjdGl2ZURP
TU9iamVjdC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9BY3RpdmVET01PYmplY3QuaCcsCiAgICAg
ICAgICAgICAnZG9tL0F0dHIuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8g
Yi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDVkMTczMWYuLjJjYTE0NDEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjgzLDYg
KzI4Myw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGJpbmRpbmdzL2pzL0RPTU9iamVjdEhhc2hUYWJs
ZU1hcC5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHAgXAogICAgIGJp
bmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmNwcCBcCisgICAgYmluZGluZ3MvanMvSlNBY2NlbGVy
b21ldGVyRXZlbnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0F0dHJDdXN0b20uY3Bw
IFwKICAgICBiaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgXAogICAgIGJpbmRp
bmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgXApAQCAtNDU4LDYgKzQ1
OSw5IEBAIFNPVVJDRVMgKz0gXAogICAgIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcCBc
CiAgICAgY3NzL1dlYktpdENTU01hdHJpeC5jcHAgXAogICAgIGNzcy9XZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZS5jcHAgXAorICAgIGRvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAgXAorICAg
IGRvbS9BY2NlbGVyb21ldGVyRGF0YS5jcHAgXAorICAgIGRvbS9BY2NlbGVyb21ldGVyRXZlbnQu
Y3BwIFwKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmNwcCBcCiAgICAgZG9tL0F0dHIuY3BwIFwK
ICAgICBkb20vQXR0cmlidXRlLmNwcCBcCkBAIC0xMjIzLDYgKzEyMjcsMTAgQEAgSEVBREVSUyAr
PSBcCiAgICAgY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaCBcCiAgICAgY3NzL1dlYktpdENT
U01hdHJpeC5oIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBcCisgICAgZG9t
L0FjY2VsZXJvbWV0ZXJDbGllbnQuaCBcCisgICAgZG9tL0FjY2VsZXJvbWV0ZXJEYXRhLmggXAor
ICAgIGRvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5oIFwKKyAgICBkb20vQWNjZWxlcm9tZXRl
ckV2ZW50LmggXAogICAgIGRvbS9BY3RpdmVET01PYmplY3QuaCBcCiAgICAgZG9tL0F0dHIuaCBc
CiAgICAgZG9tL0F0dHJpYnV0ZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CmluZGV4IDcyZmIxZTQuLjUxOWMzY2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtNjAxLDYgKzYwMSw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTQWNjZWxlcm9tZXRlckV2ZW50LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQWNjZWxlcm9tZXRlckV2ZW50LmgiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNBY2Nlc3NpYmlsaXR5LmNwcCIK
IAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0zMjU2OCw2ICszMjYyNCwzNCBAQAog
CQkJTmFtZT0iZG9tIgogCQkJPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxB
Y2NlbGVyb21ldGVyQ2xpZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGRvbVxBY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxBY2NlbGVyb21l
dGVyQ29udHJvbGxlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxkb21cQWNjZWxlcm9tZXRlckRhdGEuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cQWNjZWxlcm9tZXRlckRhdGEuaCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEFj
Y2VsZXJvbWV0ZXJFdmVudC5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGRvbVxBY2NlbGVyb21ldGVyRXZlbnQuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXEFjdGl2ZURPTU9iamVjdC5j
cHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBmMTViYzUzLi4yMjEzMzgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzE1LDYgKzcxNSwxNiBAQAogCQkyRUNGN0FFMjEwMTYy
QjU4MDA0MjdERTcgLyogRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkVDRjdBREYxMDE2MkI1ODAwNDI3REU3IC8qIEVycm9yRXZlbnQu
aCAqLzsgfTsKIAkJMkVENjA5QkMxMTQ1QjA3MTAwQzg2ODRFIC8qIERPTUZvcm1EYXRhLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFRDYwOUJBMTE0
NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5jcHAgKi87IH07CiAJCTJFRDYwOUJEMTE0NUIw
NzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkVENjA5QkIxMTQ1QjA3MTAwQzg2ODRFIC8qIERPTUZvcm1EYXRh
LmggKi87IH07CisJCTMxMDlFRTg4MTFGODZCRjEwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEw
OUVFODUxMUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJFdmVudC5jcHAgKi87IH07CisJ
CTMxMDlFRTg5MTFGODZCRjEwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRXZlbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlFRTg2MTFGODZCRjEw
MDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRXZlbnQuaCAqLzsgfTsKKwkJMzEwOUVGRDAxMUY5RDUx
NDAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlFRkNFMTFGOUQ1MTQwMDZGRUNERiAvKiBBY2Nl
bGVyb21ldGVyRGF0YS5jcHAgKi87IH07CisJCTMxMDlFRkQxMTFGOUQ1MTQwMDZGRUNERiAvKiBB
Y2NlbGVyb21ldGVyRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzEwOUVGQ0YxMUY5RDUxNDAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJEYXRhLmgg
Ki87IH07CisJCTMxMDlGMDFDMTFGOURDRTMwMDZGRUNERiAvKiBKU0FjY2VsZXJvbWV0ZXJFdmVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5
RjAxQTExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnQuY3BwICovOyB9Owor
CQkzMTA5RjAxRDExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlGMDFCMTFGOURD
RTMwMDZGRUNERiAvKiBKU0FjY2VsZXJvbWV0ZXJFdmVudC5oICovOyB9OworCQkzMTA5RjAyMzEx
RjlERDQwMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEwOUYwMjIxMUY5REQ0MDAw
NkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKKwkJMzEwOUYw
MzMxMUY5RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDbGllbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlGMDMwMTFGOUUxOTcwMDZGRUNE
RiAvKiBBY2NlbGVyb21ldGVyQ2xpZW50LmggKi87IH07CisJCTMxMDlGMDM0MTFGOUUxOTcwMDZG
RUNERiAvKiBBY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTA5RjAzMTExRjlFMTk3MDA2RkVDREYgLyogQWNj
ZWxlcm9tZXRlckNvbnRyb2xsZXIuY3BwICovOyB9OworCQkzMTA5RjAzNTExRjlFMTk3MDA2RkVD
REYgLyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDlGMDMyMTFGOUUxOTcwMDZGRUNERiAvKiBBY2NlbGVy
b21ldGVyQ29udHJvbGxlci5oICovOyB9OwogCQkzMTI4OEU3MjBFMzAwNUQ2MDAzNjE5QUUgLyog
V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxMjg4RTZFMEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJLaXRDU1NLZXlm
cmFtZVJ1bGUuY3BwICovOyB9OwogCQkzMTI4OEU3MzBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0
Q1NTS2V5ZnJhbWVSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMTI4OEU2RjBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxl
LmggKi87IH07CiAJCTMxMjg4RTc0MEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJLaXRDU1NLZXlmcmFt
ZXNSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxMjg4RTcwMEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcCAq
LzsgfTsKQEAgLTY0MzQsNiArNjQ0NCwxNyBAQAogCQkyRUNGN0FFMDEwMTYyQjU4MDA0MjdERTcg
LyogRXJyb3JFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXJyb3JFdmVudC5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFRDYwOUJBMTE0NUIwNzEwMEM4Njg0RSAv
KiBET01Gb3JtRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
T01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFRDYwOUJCMTE0
NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01Gb3JtRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTA5
RUU4NTExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckV2ZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2VsZXJvbWV0ZXJFdmVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMDlFRTg2MTFGODZCRjEwMDZGRUNERiAvKiBBY2Nl
bGVyb21ldGVyRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZWxl
cm9tZXRlckV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMDlFRTg3MTFG
ODZCRjEwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEFjY2VsZXJvbWV0ZXJFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTMxMDlFRkNFMTFGOUQ1MTQwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRGF0YS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2NlbGVyb21ldGVyRGF0YS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMDlFRkNGMTFGOUQ1MTQwMDZGRUNERiAv
KiBBY2NlbGVyb21ldGVyRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
Y2NlbGVyb21ldGVyRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTA5RjAx
QTExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBY2NlbGVyb21ldGVyRXZlbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTA5RjAxQjExRjlEQ0UzMDA2RkVDREYgLyogSlNB
Y2NlbGVyb21ldGVyRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNB
Y2NlbGVyb21ldGVyRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwOUYw
MjIxMUY5REQ0MDAwNkZFQ0RGIC8qIEpTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQWNjZWxlcm9tZXRlckV2ZW50Q3Vz
dG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwOUYwMzAxMUY5RTE5NzAw
NkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQWNjZWxlcm9tZXRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkzMTA5RjAzMTExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZWxlcm9tZXRlckNv
bnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTA5RjAzMjExRjlF
MTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzEyODhFNkUwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tl
eWZyYW1lUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJL
aXRDU1NLZXlmcmFtZVJ1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTI4
OEU2RjBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdENTU0tleWZyYW1lUnVsZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMTI4OEU3MDBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE0NzUzLDggKzE0Nzc0LDYgQEAKIAkJCQk5M0Y5QjZERjBCQTBGQjcyMDA4NTQwNjQgLyog
SlNDb21tZW50LmggKi8sCiAJCQkJRkU2RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRp
bmF0ZXMuY3BwICovLAogCQkJCUZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5h
dGVzLmggKi8sCi0JCQkJNTlBODYwMDUxMTlEQUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50
YXRpb25FdmVudC5jcHAgKi8sCi0JCQkJNTlBODYwMDcxMTlEQUZBMTAwREVGMUVGIC8qIEpTRGV2
aWNlT3JpZW50YXRpb25FdmVudC5oICovLAogCQkJCTY1OUREQzgwMDlFMTk4QkEwMDFCRjNDNiAv
KiBKU0RvY3VtZW50LmNwcCAqLywKIAkJCQk2NTlEREM4MTA5RTE5OEJBMDAxQkYzQzYgLyogSlNE
b2N1bWVudC5oICovLAogCQkJCTFBNDk0RURDMEExMjNGNEMwMEZEQUZDMSAvKiBKU0RvY3VtZW50
RnJhZ21lbnQuY3BwICovLApAQCAtMTQ4MDQsNiArMTQ4MjMsOCBAQAogCQlBODNCNzkxMjBDQ0Iw
MDNGMDAwQjA4MjUgLyogRXZlbnRzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKKwkJCQkzMTA5RjAxQTExRjlEQ0UzMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVy
RXZlbnQuY3BwICovLAorCQkJCTMxMDlGMDFCMTFGOURDRTMwMDZGRUNERiAvKiBKU0FjY2VsZXJv
bWV0ZXJFdmVudC5oICovLAogCQkJCUJDOTQ2MzQ1MTA3QTkzNEIwMDg1NzE5MyAvKiBKU0JlZm9y
ZUxvYWRFdmVudC5jcHAgKi8sCiAJCQkJQkM5NDYzNDcxMDdBOTM2NjAwODU3MTkzIC8qIEpTQmVm
b3JlTG9hZEV2ZW50LmggKi8sCiAJCQkJNTE3MjFGRDAxMUQyN0VGMjAwNjM4QjQyIC8qIEpTQmVm
b3JlUHJvY2Vzc0V2ZW50LmNwcCAqLywKQEAgLTE0ODEyLDYgKzE0ODMzLDggQEAKIAkJCQk3OUFD
OTIxNzEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmggKi8sCiAJCQkJRTQ3
NzhCN0QxMTVBNTgxQTAwQjVEMzcyIC8qIEpTQ3VzdG9tRXZlbnQuY3BwICovLAogCQkJCUU0Nzc4
QjdFMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmggKi8sCisJCQkJNTlBODYwMDUx
MTlEQUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgKi8sCisJCQkJ
NTlBODYwMDcxMTlEQUZBMTAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oICov
LAogCQkJCTJFQ0Y3QURBMTAxNjJCMzgwMDQyN0RFNyAvKiBKU0Vycm9yRXZlbnQuY3BwICovLAog
CQkJCTJFQ0Y3QURCMTAxNjJCMzgwMDQyN0RFNyAvKiBKU0Vycm9yRXZlbnQuaCAqLywKIAkJCQkx
NEU4Mzc4MzA5Rjg1RDFDMDBCODVBRTQgLyogSlNFdmVudC5jcHAgKi8sCkBAIC0xNTkwNiw2ICsx
NTkyOSw3IEBACiAJCUJDNEVERUY3MEMwOEY0MTQwMDdFREQ0OSAvKiBDdXN0b20gKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTMxMDlGMDIyMTFGOURENDAw
MDZGRUNERiAvKiBKU0FjY2VsZXJvbWV0ZXJFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyNzVD
QjIxMUM1RTg1QzAwQzkyMDZDIC8qIEpTQXJyYXlCdWZmZXJDdXN0b20uY3BwICovLAogCQkJCTQ5
MjI3M0EyMTA4M0IzQjEwMEVFNUM4NCAvKiBKU0FycmF5QnVmZmVyVmlld0N1c3RvbS5jcHAgKi8s
CiAJCQkJODYyNDNEMDAxMUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlCdWZmZXJWaWV3SGVscGVy
LmggKi8sCkBAIC0xNzAxNCw2ICsxNzAzOCwxNCBAQAogCQlGNTIzRDMyNDAyREU0NDc4MDE4NjM1
Q0EgLyogZG9tICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJ
CQkzMTA5RjAzMDExRjlFMTk3MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckNsaWVudC5oICovLAor
CQkJCTMxMDlGMDMxMTFGOUUxOTcwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ29udHJvbGxlci5j
cHAgKi8sCisJCQkJMzEwOUYwMzIxMUY5RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDb250
cm9sbGVyLmggKi8sCisJCQkJMzEwOUVGQ0UxMUY5RDUxNDAwNkZFQ0RGIC8qIEFjY2VsZXJvbWV0
ZXJEYXRhLmNwcCAqLywKKwkJCQkzMTA5RUZDRjExRjlENTE0MDA2RkVDREYgLyogQWNjZWxlcm9t
ZXRlckRhdGEuaCAqLywKKwkJCQkzMTA5RUU4NTExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9t
ZXRlckV2ZW50LmNwcCAqLywKKwkJCQkzMTA5RUU4NjExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxl
cm9tZXRlckV2ZW50LmggKi8sCisJCQkJMzEwOUVFODcxMUY4NkJGMTAwNkZFQ0RGIC8qIEFjY2Vs
ZXJvbWV0ZXJFdmVudC5pZGwgKi8sCiAJCQkJRTFDNERFNkQwRUE3NUM2NTAwMjNDQ0Q2IC8qIEFj
dGl2ZURPTU9iamVjdC5jcHAgKi8sCiAJCQkJRTFDNERFNjgwRUE3NUMxRTAwMjNDQ0Q2IC8qIEFj
dGl2ZURPTU9iamVjdC5oICovLAogCQkJCUE4QzRBN0ZDMDlENTYzMjcwMDAzQUM4RCAvKiBBdHRy
LmNwcCAqLywKQEAgLTE5OTk2LDYgKzIwMDI4LDExIEBACiAJCQkJQ0UxNzJFMDExMTM2RThDRTAw
NjJBNTMzIC8qIFpvb21Nb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMzlEMDA2RDExRjhFMzA4
MDA2MDQxRjIgLyogUG9wdXBNZW51TWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMzlEMDA5RDEx
RjkwN0U2MDA2MDQxRjIgLyogU2VhcmNoUG9wdXBNZW51TWFjLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkzMTA5RUU4OTExRjg2QkYxMDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckV2ZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQkzMTA5RUZEMTExRjlENTE0MDA2RkVDREYgLyogQWNjZWxlcm9tZXRlckRh
dGEuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxMDlGMDFEMTFGOURDRTMwMDZGRUNERiAvKiBKU0Fj
Y2VsZXJvbWV0ZXJFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzEwOUYwMzMxMUY5RTE5NzAw
NkZFQ0RGIC8qIEFjY2VsZXJvbWV0ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxMDlG
MDM1MTFGOUUxOTcwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyQ29udHJvbGxlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CkBAIC0yMjQwMiw2ICsyMjQ0MCwxMSBAQAogCQkJCTkzRjE5QjA1MDgyNDVFNTkwMDFF
OUFCQyAvKiBYU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUJF
NTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTk3REQ0RDg2MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTMxMDlFRTg4MTFGODZCRjEwMDZGRUNERiAvKiBBY2NlbGVyb21ldGVyRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzEwOUVGRDAxMUY5RDUxNDAwNkZFQ0RGIC8qIEFj
Y2VsZXJvbWV0ZXJEYXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxMDlGMDFDMTFGOURDRTMw
MDZGRUNERiAvKiBKU0FjY2VsZXJvbWV0ZXJFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkz
MTA5RjAyMzExRjlERDQwMDA2RkVDREYgLyogSlNBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMzEwOUYwMzQxMUY5RTE5NzAwNkZFQ0RGIC8qIEFjY2VsZXJv
bWV0ZXJDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9i
aW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwIGIvV2ViQ29yZS9iaW5k
aW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCmluZGV4IGViMDI3YzMuLjU4
ZThjYWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAgYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjppc0luZGV4ZWREQkVuYWJsZWQgPSBmYWxzZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6aXNXZWJHTEVuYWJsZWQgPSBmYWxzZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6aXNQdXNoU3RhdGVFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OmlzVG91Y2hFbmFibGVkID0gdHJ1ZTsKK2Jvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
aXNBY2NlbGVyb21ldGVyRW5hYmxlZCA9IHRydWU7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OmlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6aXNTcGVlY2hJbnB1dEVuYWJsZWQgPSB0cnVlOwogCiAjaWYgRU5BQkxFKFZJ
REVPKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaCBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgKaW5kZXggYzllYjIxZi4uNzRkMWQ5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0xMTQsNiArMTE0LDExIEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgYm9vbCBvbnRvdWNoY2FuY2VsRW5hYmxlZCgpIHsgcmV0dXJuIGlz
VG91Y2hFbmFibGVkOyB9CiAjZW5kaWYKIAorICAgIHN0YXRpYyB2b2lkIHNldEFjY2VsZXJvbWV0
ZXJFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzQWNjZWxlcm9tZXRlckVuYWJsZWQgPSBpc0Vu
YWJsZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBhY2NlbGVyb21ldGVyRW5hYmxlZCgpIHsgcmV0dXJu
IGlzQWNjZWxlcm9tZXRlckVuYWJsZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBhY2NlbGVyb21ldGVy
RXZlbnRFbmFibGVkKCkgeyByZXR1cm4gaXNBY2NlbGVyb21ldGVyRW5hYmxlZDsgfQorICAgIHN0
YXRpYyBib29sIG9uYWNjZWxlcm9tZXRlckVuYWJsZWQoKSB7IHJldHVybiBpc0FjY2VsZXJvbWV0
ZXJFbmFibGVkOyB9CisgICAgCiAgICAgc3RhdGljIHZvaWQgc2V0RGV2aWNlT3JpZW50YXRpb25F
bmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkID0gaXNF
bmFibGVkOyB9CiAgICAgc3RhdGljIGJvb2wgZGV2aWNlT3JpZW50YXRpb25FbmFibGVkKCkgeyBy
ZXR1cm4gaXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQ7IH0KICAgICBzdGF0aWMgYm9vbCBkZXZp
Y2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCgpIHsgcmV0dXJuIGlzRGV2aWNlT3JpZW50YXRpb25F
bmFibGVkOyB9CkBAIC0xMzYsNiArMTQxLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBp
c1dlYkdMRW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc1B1c2hTdGF0ZUVuYWJsZWQ7CiAgICAg
c3RhdGljIGJvb2wgaXNUb3VjaEVuYWJsZWQ7CisgICAgc3RhdGljIGJvb2wgaXNBY2NlbGVyb21l
dGVyRW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZDsK
ICAgICBzdGF0aWMgYm9vbCBpc1NwZWVjaElucHV0RW5hYmxlZDsKIH07CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNBY2NlbGVyb21ldGVyRXZlbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwYTY4NmQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcApAQCAtMCwwICsx
LDkzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNBY2NlbGVy
b21ldGVyRXZlbnQuaCIKKworI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisKKyNpbmNs
dWRlICJBY2NlbGVyb21ldGVyRGF0YS5oIgorI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXJFdmVudC5o
IgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFs
dWUgSlNBY2NlbGVyb21ldGVyRXZlbnQ6OngoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAg
IEFjY2VsZXJvbWV0ZXJFdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8QWNjZWxlcm9tZXRlckV2ZW50
Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWltcC0+YWNjZWxlcm9tZXRlckRhdGEoKS0+Y2FuUHJvdmlk
ZVgoKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVj
LCBpbXAtPmFjY2VsZXJvbWV0ZXJEYXRhKCktPngoKSk7Cit9CisKK0pTVmFsdWUgSlNBY2NlbGVy
b21ldGVyRXZlbnQ6OnkoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIEFjY2VsZXJvbWV0
ZXJFdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8QWNjZWxlcm9tZXRlckV2ZW50Kj4oaW1wbCgpKTsK
KyAgICBpZiAoIWltcC0+YWNjZWxlcm9tZXRlckRhdGEoKS0+Y2FuUHJvdmlkZVkoKSkKKyAgICAg
ICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAtPmFjY2Vs
ZXJvbWV0ZXJEYXRhKCktPnkoKSk7Cit9CisKK0pTVmFsdWUgSlNBY2NlbGVyb21ldGVyRXZlbnQ6
OnooRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIEFjY2VsZXJvbWV0ZXJFdmVudCogaW1w
ID0gc3RhdGljX2Nhc3Q8QWNjZWxlcm9tZXRlckV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWlt
cC0+YWNjZWxlcm9tZXRlckRhdGEoKS0+Y2FuUHJvdmlkZVooKSkKKyAgICAgICAgcmV0dXJuIGpz
TnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAtPmFjY2VsZXJvbWV0ZXJEYXRh
KCktPnooKSk7Cit9CisKK0pTVmFsdWUgSlNBY2NlbGVyb21ldGVyRXZlbnQ6OmludGVydmFsKEV4
ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICBBY2NlbGVyb21ldGVyRXZlbnQqIGltcCA9IHN0
YXRpY19jYXN0PEFjY2VsZXJvbWV0ZXJFdmVudCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAtPmFj
Y2VsZXJvbWV0ZXJEYXRhKCktPmNhblByb3ZpZGVJbnRlcnZhbCgpKQorICAgICAgICByZXR1cm4g
anNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+YWNjZWxlcm9tZXRlckRh
dGEoKS0+aW50ZXJ2YWwoKSk7Cit9CisgICAgCitKU1ZhbHVlIEpTQWNjZWxlcm9tZXRlckV2ZW50
Ojppbml0QWNjZWxlcm9tZXRlckV2ZW50KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBjb25zdCBT
dHJpbmcmIHR5cGUgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmco
ZXhlYykpOworICAgIGJvb2wgYnViYmxlcyA9IGV4ZWMtPmFyZ3VtZW50KDEpLnRvQm9vbGVhbihl
eGVjKTsKKyAgICBib29sIGNhbmNlbGFibGUgPSBleGVjLT5hcmd1bWVudCgyKS50b0Jvb2xlYW4o
ZXhlYyk7CisgICAgLy8gSWYgeCwgeSBvciB6IGFyZSBudWxsIG9yIHVuZGVmaW5lZCwgbWFyayB0
aGVtIGFzIG5vdCBwcm92aWRlZC4KKyAgICAvLyBPdGhlcndpc2UsIHVzZSB0aGUgc3RhbmRhcmQg
SmF2YVNjcmlwdCBjb252ZXJzaW9uLgorICAgIGJvb2wgeFByb3ZpZGVkID0gIWV4ZWMtPmFyZ3Vt
ZW50KDMpLmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAgZG91YmxlIHggPSBleGVjLT5hcmd1bWVu
dCgzKS50b051bWJlcihleGVjKTsKKyAgICBib29sIHlQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVu
dCg0KS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSB5ID0gZXhlYy0+YXJndW1lbnQo
NCkudG9OdW1iZXIoZXhlYyk7CisgICAgYm9vbCB6UHJvdmlkZWQgPSAhZXhlYy0+YXJndW1lbnQo
NSkuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgeiA9IGV4ZWMtPmFyZ3VtZW50KDUp
LnRvTnVtYmVyKGV4ZWMpOworICAgIGJvb2wgaW50ZXJ2YWxQcm92aWRlZCA9ICFleGVjLT5hcmd1
bWVudCg2KS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSBpbnRlcnZhbCA9IGV4ZWMt
PmFyZ3VtZW50KDYpLnRvTnVtYmVyKGV4ZWMpOworICAgIFJlZlB0cjxBY2NlbGVyb21ldGVyRGF0
YT4gYWNjZWxlcm9tZXRlckRhdGEgPSBBY2NlbGVyb21ldGVyRGF0YTo6Y3JlYXRlKHhQcm92aWRl
ZCwgeCwgeVByb3ZpZGVkLCB5LCB6UHJvdmlkZWQsIHosIGludGVydmFsUHJvdmlkZWQsIGludGVy
dmFsKTsKKyAgICBBY2NlbGVyb21ldGVyRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PEFjY2VsZXJv
bWV0ZXJFdmVudCo+KGltcGwoKSk7CisgICAgaW1wLT5pbml0QWNjZWxlcm9tZXRlckV2ZW50KHR5
cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUsIGFjY2VsZXJvbWV0ZXJEYXRhLmdldCgpKTsKKyAgICBy
ZXR1cm4ganNVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRD
dXN0b20uY3BwCmluZGV4IGI2MTkwZmYuLjBjODFkY2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2
ZW50Q3VzdG9tLmNwcApAQCAtMjksMTEgKzI5LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiSlNFdmVudC5oIgogCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckV2ZW50LmgiCiAj
aW5jbHVkZSAiQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2lu
Y2x1ZGUgIkN1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5o
IgogI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiSlNBY2NlbGVyb21ldGVyRXZlbnQuaCIK
ICNpbmNsdWRlICJKU0JlZm9yZUxvYWRFdmVudC5oIgogI2luY2x1ZGUgIkpTQ2xpcGJvYXJkLmgi
CiAjaW5jbHVkZSAiSlNDdXN0b21FdmVudC5oIgpAQCAtMTczLDYgKzE3NSw4IEBAIEpTVmFsdWUg
dG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2
ZW50KiBldmVudCkKICAgICBlbHNlIGlmIChldmVudC0+aXNDdXN0b21FdmVudCgpKQogICAgICAg
ICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3Qs
IEN1c3RvbUV2ZW50LCBldmVudCk7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAg
ICBlbHNlIGlmIChldmVudC0+aXNBY2NlbGVyb21ldGVyRXZlbnQoKSkKKyAgICAgICAgd3JhcHBl
ciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBBY2NlbGVy
b21ldGVyRXZlbnQsIGV2ZW50KTsKICAgICBlbHNlIGlmIChldmVudC0+aXNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50KCkpCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVS
KGV4ZWMsIGdsb2JhbE9iamVjdCwgRGV2aWNlT3JpZW50YXRpb25FdmVudCwgZXZlbnQpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFjY2VsZXJvbWV0
ZXJFdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFjY2VsZXJv
bWV0ZXJFdmVudEN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZWFlNGY0YQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
QWNjZWxlcm9tZXRlckV2ZW50Q3VzdG9tLmNwcApAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4QWNjZWxlcm9tZXRlckV2ZW50LmgiCisK
KyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRl
ckRhdGEuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisK
KyNpbmNsdWRlIDx2OC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6
OlZhbHVlPiBWOEFjY2VsZXJvbWV0ZXJFdmVudDo6eEFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2
ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElO
Q19TVEFUUygiRE9NLkRldmljZU9yaWVudGF0aW9uRXZlbnQueC5fZ2V0Iik7CisgICAgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIEFjY2VsZXJvbWV0
ZXJFdmVudCogaW1wID0gVjhBY2NlbGVyb21ldGVyRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7Cisg
ICAgaWYgKCFpbXAtPmFjY2VsZXJvbWV0ZXIoKS0+Y2FuUHJvdmlkZVgoKSkKKyAgICAgICAgcmV0
dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPmFjY2VsZXJv
bWV0ZXIoKS0+eCgpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4QWNjZWxlcm9tZXRl
ckV2ZW50Ojp5QWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0
IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC55Ll9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRl
ciA9IGluZm8uSG9sZGVyKCk7CisgICAgQWNjZWxlcm9tZXRlckV2ZW50KiBpbXAgPSBWOEFjY2Vs
ZXJvbWV0ZXJFdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKKyAgICBpZiAoIWltcC0+YWNjZWxlcm9t
ZXRlcigpLT5jYW5Qcm92aWRlWSgpKQorICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICBy
ZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+YWNjZWxlcm9tZXRlcigpLT55KCkpOworfQorCit2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhBY2NlbGVyb21ldGVyRXZlbnQ6OnpBY2Nlc3NvckdldHRl
cih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5m
bykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnouX2dldCIp
OworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAg
ICBBY2NlbGVyb21ldGVyRXZlbnQqIGltcCA9IFY4QWNjZWxlcm9tZXRlckV2ZW50Ojp0b05hdGl2
ZShob2xkZXIpOworICAgIGlmICghaW1wLT5hY2NlbGVyb21ldGVyKCktPmNhblByb3ZpZGVaKCkp
CisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXco
aW1wLT5hY2NlbGVyb21ldGVyKCktPnooKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OEFjY2VsZXJvbWV0ZXJFdmVudDo6aW50ZXJ2YWxBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6
OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNf
U1RBVFMoIkRPTS5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmludGVydmFsLl9nZXQiKTsKKyAgICB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAgQWNjZWxl
cm9tZXRlckV2ZW50KiBpbXAgPSBWOEFjY2VsZXJvbWV0ZXJFdmVudDo6dG9OYXRpdmUoaG9sZGVy
KTsKKyAgICBpZiAoIWltcC0+YWNjZWxlcm9tZXRlcigpLT5jYW5Qcm92aWRlSW50ZXJ2YWwoKSkK
KyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhp
bXAtPmFjY2VsZXJvbWV0ZXIoKS0+aW50ZXJ2YWwoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOEFjY2VsZXJvbWV0ZXJFdmVudDo6aW5pdEFjY2VsZXJvbWV0ZXJFdmVudENhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgQWNjZWxlcm9tZXRlckV2ZW50KiBp
bXAgPSBWOEFjY2VsZXJvbWV0ZXJFdmVudDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAg
VjhQYXJhbWV0ZXI8PiB0eXBlID0gYXJnc1swXTsKKyAgICBib29sIGJ1YmJsZXMgPSBhcmdzWzFd
LT5Cb29sZWFuVmFsdWUoKTsKKyAgICBib29sIGNhbmNlbGFibGUgPSBhcmdzWzJdLT5Cb29sZWFu
VmFsdWUoKTsKKyAgICAvLyBJZiB4LCB5LCB6IG9yIGludGVydmFsIGFyZSBudWxsIG9yIHVuZGVm
aW5lZCwgbWFyayB0aGVtIGFzIG5vdCBwcm92aWRlZC4KKyAgICAvLyBPdGhlcndpc2UsIHVzZSB0
aGUgc3RhbmRhcmQgSmF2YVNjcmlwdCBjb252ZXJzaW9uLgorICAgIGJvb2wgeFByb3ZpZGVkID0g
IWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbM10pOworICAgIGRvdWJsZSB4ID0gc3RhdGljX2Nhc3Q8
ZG91YmxlPihhcmdzWzNdLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBib29sIHlQcm92aWRlZCA9ICFp
c1VuZGVmaW5lZE9yTnVsbChhcmdzWzRdKTsKKyAgICBkb3VibGUgeSA9IHN0YXRpY19jYXN0PGRv
dWJsZT4oYXJnc1s0XS0+TnVtYmVyVmFsdWUoKSk7CisgICAgYm9vbCB6UHJvdmlkZWQgPSAhaXNV
bmRlZmluZWRPck51bGwoYXJnc1s1XSk7CisgICAgZG91YmxlIHogPSBzdGF0aWNfY2FzdDxkb3Vi
bGU+KGFyZ3NbNV0tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgaW50ZXJ2YWxQcm92aWRlZCA9
ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzZdKTsKKyAgICBkb3VibGUgaW50ZXJ2YWwgPSBzdGF0
aWNfY2FzdDxkb3VibGU+KGFyZ3NbNl0tPk51bWJlclZhbHVlKCkpOworICAgIFJlZlB0cjxBY2Nl
bGVyb21ldGVyRGF0YT4gYWNjZWxlcm9tZXRlckRhdGEgPSBBY2NlbGVyb21ldGVyRGF0YTo6Y3Jl
YXRlKHhQcm92aWRlZCwgeCwgeVByb3ZpZGVkLCB5LCB6UHJvdmlkZWQsIHosIGludGVydmFsUHJv
dmlkZWQsIGludGVydmFsKTsKKyAgICBpbXAtPmluaXRBY2NlbGVyb21ldGVyRXZlbnQodHlwZSwg
YnViYmxlcywgY2FuY2VsYWJsZSwgYWNjZWxlcm9tZXRlckRhdGEuZ2V0KCkpOworICAgIHJldHVy
biB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0FjY2VsZXJvbWV0ZXJDbGllbnQuaCBiL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJD
bGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2NlZmE0Ci0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckNsaWVudC5oCkBAIC0wLDAg
KzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBBY2NlbGVyb21ldGVyQ2xpZW50X2gKKyNkZWZpbmUgQWNj
ZWxlcm9tZXRlckNsaWVudF9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQWNjZWxl
cm9tZXRlckNvbnRyb2xsZXI7CitjbGFzcyBBY2NlbGVyb21ldGVyRGF0YTsKKworY2xhc3MgQWNj
ZWxlcm9tZXRlckNsaWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+QWNjZWxlcm9tZXRlckNs
aWVudCgpIHt9CisgICAgdmlydHVhbCB2b2lkIHNldENvbnRyb2xsZXIoQWNjZWxlcm9tZXRlckNv
bnRyb2xsZXIqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpID0gMDsKKyAgICB2aXJ0dWFsIEFjY2VsZXJv
bWV0ZXJEYXRhKiBjdXJyZW50QWNjZWxlcmF0aW9uKCkgY29uc3QgPSAwOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQWNjZWxlcm9tZXRlckNsaWVudF9oCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAgYi9XZWJDb3Jl
L2RvbS9BY2NlbGVyb21ldGVyQ29udHJvbGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uY2VmNWYwYwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0FjY2Vs
ZXJvbWV0ZXJDb250cm9sbGVyLmNwcApAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIENvcHlyaWdo
dCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaCIKKworI2luY2x1
ZGUgIkFjY2VsZXJvbWV0ZXJEYXRhLmgiCisjaW5jbHVkZSAiQWNjZWxlcm9tZXRlckNsaWVudC5o
IgorI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXJFdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK0FjY2VsZXJvbWV0ZXJDb250cm9sbGVyOjpBY2NlbGVyb21ldGVyQ29udHJvbGxlcihBY2Nl
bGVyb21ldGVyQ2xpZW50KiBjbGllbnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCisgICAgLCBt
X3RpbWVyKHRoaXMsICZBY2NlbGVyb21ldGVyQ29udHJvbGxlcjo6dGltZXJGaXJlZCkKK3sKK30K
Kwordm9pZCBBY2NlbGVyb21ldGVyQ29udHJvbGxlcjo6dGltZXJGaXJlZChUaW1lcjxBY2NlbGVy
b21ldGVyQ29udHJvbGxlcj4qIHRpbWVyKQoreworICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRp
bWVyID09ICZtX3RpbWVyKTsKKyAgICBBU1NFUlQoIW1fY2xpZW50IHx8IG1fY2xpZW50LT5jdXJy
ZW50QWNjZWxlcmF0aW9uKCkpOworICAgIG1fdGltZXIuc3RvcCgpOworICAgIAorICAgIFJlZlB0
cjxBY2NlbGVyb21ldGVyRGF0YT4gYWNjZWxlcm9tZXRlckRhdGEgPSBtX2NsaWVudCA/IG1fY2xp
ZW50LT5jdXJyZW50QWNjZWxlcmF0aW9uKCkgOiBBY2NlbGVyb21ldGVyRGF0YTo6Y3JlYXRlKCk7
CisgICAgUmVmUHRyPEFjY2VsZXJvbWV0ZXJFdmVudD4gZXZlbnQgPSBBY2NlbGVyb21ldGVyRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYWNjZWxlcm9tZXRlckV2ZW50LCBhY2NlbGVyb21ldGVy
RGF0YS5nZXQoKSk7CisgCisgICAgVmVjdG9yPERPTVdpbmRvdyo+IGxpc3RlbmVyc1ZlY3RvcjsK
KyAgICBjb3B5VG9WZWN0b3IobV9uZXdMaXN0ZW5lcnMsIGxpc3RlbmVyc1ZlY3Rvcik7CisgICAg
bV9uZXdMaXN0ZW5lcnMuY2xlYXIoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3Rl
bmVyc1ZlY3Rvci5zaXplKCk7ICsraSkKKyAgICAgICAgbGlzdGVuZXJzVmVjdG9yW2ldLT5kaXNw
YXRjaEV2ZW50KGV2ZW50KTsKK30KKyAgICAKK3ZvaWQgQWNjZWxlcm9tZXRlckNvbnRyb2xsZXI6
OmFkZExpc3RlbmVyKERPTVdpbmRvdyogd2luZG93KQoreworICAgIC8vIElmIG5vIGNsaWVudCBp
cyBwcmVzZW50IG9yIHRoZSBjbGllbnQgYWxyZWFkeSBoYXMgYW4gYWNjZWxlcmF0aW9uLAorICAg
IC8vIGltbWVkaWF0ZWx5IHRyaWdnZXIgYW4gYXN5bmNocm9ub3VzIHJlc3BvbnNlLgorICAgIGlm
ICghbV9jbGllbnQgfHwgbV9jbGllbnQtPmN1cnJlbnRBY2NlbGVyYXRpb24oKSkgeworICAgICAg
ICBtX25ld0xpc3RlbmVycy5hZGQod2luZG93KTsKKyAgICAgICAgaWYgKCFtX3RpbWVyLmlzQWN0
aXZlKCkpCisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICB9CisgICAg
CisgICAgYm9vbCB3YXNFbXB0eSA9IG1fbGlzdGVuZXJzLmlzRW1wdHkoKTsKKyAgICBtX2xpc3Rl
bmVycy5hZGQod2luZG93KTsKKyAgICBpZiAod2FzRW1wdHkgJiYgbV9jbGllbnQpCisgICAgICAg
IG1fY2xpZW50LT5zdGFydFVwZGF0aW5nKCk7Cit9CisKK3ZvaWQgQWNjZWxlcm9tZXRlckNvbnRy
b2xsZXI6OnJlbW92ZUxpc3RlbmVyKERPTVdpbmRvdyogd2luZG93KQoreworICAgIG1fbGlzdGVu
ZXJzLnJlbW92ZSh3aW5kb3cpOworICAgIG1fbmV3TGlzdGVuZXJzLnJlbW92ZSh3aW5kb3cpOwor
ICAgIGlmIChtX2xpc3RlbmVycy5pc0VtcHR5KCkgJiYgbV9jbGllbnQpCisgICAgICAgIG1fY2xp
ZW50LT5zdG9wVXBkYXRpbmcoKTsKK30KKwordm9pZCBBY2NlbGVyb21ldGVyQ29udHJvbGxlcjo6
cmVtb3ZlQWxsTGlzdGVuZXJzKERPTVdpbmRvdyogd2luZG93KQoreworICAgIC8vIE1heSBiZSBj
YWxsZWQgd2l0aCBhIERPTVdpbmRvdyB0aGF0J3Mgbm90IGEgbGlzdGVuZXIuCisgICAgaWYgKCFt
X2xpc3RlbmVycy5jb250YWlucyh3aW5kb3cpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2xp
c3RlbmVycy5yZW1vdmVBbGwod2luZG93KTsKKyAgICBtX25ld0xpc3RlbmVycy5yZW1vdmUod2lu
ZG93KTsKKyAgICBpZiAobV9saXN0ZW5lcnMuaXNFbXB0eSgpICYmIG1fY2xpZW50KQorICAgICAg
ICBtX2NsaWVudC0+c3RvcFVwZGF0aW5nKCk7Cit9CisKK3ZvaWQgQWNjZWxlcm9tZXRlckNvbnRy
b2xsZXI6OmRpZENoYW5nZUFjY2VsZXJvbWV0ZXIoQWNjZWxlcm9tZXRlckRhdGEqIGFjY2VsZXJv
bWV0ZXJEYXRhKQoreworICAgIFJlZlB0cjxBY2NlbGVyb21ldGVyRXZlbnQ+IGV2ZW50ID0gQWNj
ZWxlcm9tZXRlckV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmFjY2VsZXJvbWV0ZXJFdmVudCwg
YWNjZWxlcm9tZXRlckRhdGEpOworICAgIFZlY3RvcjxET01XaW5kb3cqPiBsaXN0ZW5lcnNWZWN0
b3I7CisgICAgY29weVRvVmVjdG9yKG1fbGlzdGVuZXJzLCBsaXN0ZW5lcnNWZWN0b3IpOworICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdGVuZXJzVmVjdG9yLnNpemUoKTsgKytpKQorICAg
ICAgICBsaXN0ZW5lcnNWZWN0b3JbaV0tPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVy
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmEyOTYyCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDYxIEBA
CisvKgorICogQ29weXJpZ2h0IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgQWNjZWxlcm9tZXRlckNvbnRyb2xsZXJfaAorI2RlZmluZSBBY2NlbGVy
b21ldGVyQ29udHJvbGxlcl9oCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJU
aW1lci5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIEFjY2VsZXJvbWV0ZXJEYXRhOworY2xhc3MgQWNjZWxlcm9tZXRlckNs
aWVudDsKKworY2xhc3MgQWNjZWxlcm9tZXRlckNvbnRyb2xsZXIgeworcHVibGljOgorICAgIEFj
Y2VsZXJvbWV0ZXJDb250cm9sbGVyKEFjY2VsZXJvbWV0ZXJDbGllbnQqKTsKKworICAgIHZvaWQg
YWRkTGlzdGVuZXIoRE9NV2luZG93Kik7CisgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihET01XaW5k
b3cqKTsKKyAgICB2b2lkIHJlbW92ZUFsbExpc3RlbmVycyhET01XaW5kb3cqKTsKKworICAgIHZv
aWQgZGlkQ2hhbmdlQWNjZWxlcm9tZXRlcihBY2NlbGVyb21ldGVyRGF0YSopOworCitwcml2YXRl
OgorICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxBY2NlbGVyb21ldGVyQ29udHJvbGxlcj4qKTsK
KyAgICAKKyAgICBBY2NlbGVyb21ldGVyQ2xpZW50KiBtX2NsaWVudDsKKyAgICB0eXBlZGVmIEhh
c2hDb3VudGVkU2V0PERPTVdpbmRvdyo+IExpc3RlbmVyc0NvdW50ZWRTZXQ7CisgICAgTGlzdGVu
ZXJzQ291bnRlZFNldCBtX2xpc3RlbmVyczsKKyAgICB0eXBlZGVmIEhhc2hTZXQ8RE9NV2luZG93
Kj4gTGlzdGVuZXJzU2V0OworICAgIExpc3RlbmVyc1NldCBtX25ld0xpc3RlbmVyczsKKyAgICBU
aW1lcjxBY2NlbGVyb21ldGVyQ29udHJvbGxlcj4gbV90aW1lcjsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEFjY2VsZXJvbWV0ZXJDb250cm9sbGVyX2gKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJEYXRhLmNwcCBiL1dlYkNvcmUvZG9tL0Fj
Y2VsZXJvbWV0ZXJEYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4z
YzMyNDlhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckRhdGEu
Y3BwCkBAIC0wLDAgKzEsMTAxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiQWNjZWxlcm9tZXRlckRhdGEuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNz
UmVmUHRyPEFjY2VsZXJvbWV0ZXJEYXRhPiBBY2NlbGVyb21ldGVyRGF0YTo6Y3JlYXRlKCkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFjY2VsZXJvbWV0ZXJEYXRhKTsKK30KKworUGFzc1Jl
ZlB0cjxBY2NlbGVyb21ldGVyRGF0YT4gQWNjZWxlcm9tZXRlckRhdGE6OmNyZWF0ZShib29sIGNh
blByb3ZpZGVYLCBkb3VibGUgeCwgYm9vbCBjYW5Qcm92aWRlWSwgZG91YmxlIHksIGJvb2wgY2Fu
UHJvdmlkZVosIGRvdWJsZSB6LCBib29sIGNhblByb3ZpZGVJbnRlcnZhbCwgZG91YmxlIGludGVy
dmFsKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWNjZWxlcm9tZXRlckRhdGEoY2FuUHJv
dmlkZVgsIHgsIGNhblByb3ZpZGVZLCB5LCBjYW5Qcm92aWRlWiwgeiwgY2FuUHJvdmlkZUludGVy
dmFsLCBpbnRlcnZhbCkpOworfQorCitBY2NlbGVyb21ldGVyRGF0YTo6QWNjZWxlcm9tZXRlckRh
dGEoKQorICAgIDogbV9jYW5Qcm92aWRlWChmYWxzZSkKKyAgICAsIG1fY2FuUHJvdmlkZVkoZmFs
c2UpCisgICAgLCBtX2NhblByb3ZpZGVaKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlSW50ZXJ2
YWwoZmFsc2UpCit7Cit9CisKK0FjY2VsZXJvbWV0ZXJEYXRhOjpBY2NlbGVyb21ldGVyRGF0YShi
b29sIGNhblByb3ZpZGVYLCBkb3VibGUgeCwgYm9vbCBjYW5Qcm92aWRlWSwgZG91YmxlIHksIGJv
b2wgY2FuUHJvdmlkZVosIGRvdWJsZSB6LCBib29sIGNhblByb3ZpZGVJbnRlcnZhbCwgZG91Ymxl
IGludGVydmFsKQorICAgIDogbV9jYW5Qcm92aWRlWChjYW5Qcm92aWRlWCkKKyAgICAsIG1fY2Fu
UHJvdmlkZVkoY2FuUHJvdmlkZVkpCisgICAgLCBtX2NhblByb3ZpZGVaKGNhblByb3ZpZGVaKQor
ICAgICwgbV9jYW5Qcm92aWRlSW50ZXJ2YWwoY2FuUHJvdmlkZUludGVydmFsKQorICAgICwgbV94
KHgpCisgICAgLCBtX3koeSkKKyAgICAsIG1feih6KQorICAgICwgbV9pbnRlcnZhbChpbnRlcnZh
bCkKK3sKK30KKworZG91YmxlIEFjY2VsZXJvbWV0ZXJEYXRhOjp4KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV94OworfQorCitkb3VibGUgQWNjZWxlcm9tZXRlckRhdGE6OnkoKSBjb25zdAorewor
ICAgIHJldHVybiBtX3k7Cit9CisKK2RvdWJsZSBBY2NlbGVyb21ldGVyRGF0YTo6eigpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fejsKK30KKworZG91YmxlIEFjY2VsZXJvbWV0ZXJEYXRhOjppbnRl
cnZhbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW50ZXJ2YWw7Cit9CisKK2Jvb2wgQWNjZWxl
cm9tZXRlckRhdGE6OmNhblByb3ZpZGVYKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jYW5Qcm92
aWRlWDsKK30KKworYm9vbCBBY2NlbGVyb21ldGVyRGF0YTo6Y2FuUHJvdmlkZVkoKSBjb25zdAor
eworICAgIHJldHVybiBtX2NhblByb3ZpZGVZOworfQorCitib29sIEFjY2VsZXJvbWV0ZXJEYXRh
OjpjYW5Qcm92aWRlWigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2FuUHJvdmlkZVo7Cit9CisK
K2Jvb2wgQWNjZWxlcm9tZXRlckRhdGE6OmNhblByb3ZpZGVJbnRlcnZhbCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fY2FuUHJvdmlkZUludGVydmFsOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRGF0YS5oIGIvV2ViQ29y
ZS9kb20vQWNjZWxlcm9tZXRlckRhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5kMTdlMmE4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRl
ckRhdGEuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEFjY2VsZXJvbWV0ZXJE
YXRhX2gKKyNkZWZpbmUgQWNjZWxlcm9tZXRlckRhdGFfaAorCisjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEFjY2VsZXJvbWV0ZXJEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8QWNjZWxl
cm9tZXRlckRhdGE+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2NlbGVyb21l
dGVyRGF0YT4gY3JlYXRlKCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QWNjZWxlcm9tZXRlckRh
dGE+IGNyZWF0ZShib29sIGNhblByb3ZpZGVYLCBkb3VibGUgeCwgYm9vbCBjYW5Qcm92aWRlWSwg
ZG91YmxlIHksIGJvb2wgY2FuUHJvdmlkZVosIGRvdWJsZSB6LCBib29sIGNhblByb3ZpZGVJbnRl
cnZhbCwgZG91YmxlIGludGVydmFsKTsKKworICAgIGRvdWJsZSB4KCkgY29uc3Q7CisgICAgZG91
YmxlIHkoKSBjb25zdDsKKyAgICBkb3VibGUgeigpIGNvbnN0OworICAgIGRvdWJsZSBpbnRlcnZh
bCgpIGNvbnN0OworICAgIGJvb2wgY2FuUHJvdmlkZVgoKSBjb25zdDsKKyAgICBib29sIGNhblBy
b3ZpZGVZKCkgY29uc3Q7CisgICAgYm9vbCBjYW5Qcm92aWRlWigpIGNvbnN0OworICAgIGJvb2wg
Y2FuUHJvdmlkZUludGVydmFsKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgQWNjZWxlcm9tZXRl
ckRhdGEoKTsKKyAgICBBY2NlbGVyb21ldGVyRGF0YShib29sIGNhblByb3ZpZGVYLCBkb3VibGUg
eCwgYm9vbCBjYW5Qcm92aWRlWSwgZG91YmxlIHksIGJvb2wgY2FuUHJvdmlkZVosIGRvdWJsZSB6
LCBib29sIGNhblByb3ZpZGVJbnRlcnZhbCwgZG91YmxlIGludGVydmFsKTsKKworICAgIGJvb2wg
bV9jYW5Qcm92aWRlWDsKKyAgICBib29sIG1fY2FuUHJvdmlkZVk7CisgICAgYm9vbCBtX2NhblBy
b3ZpZGVaOworICAgIGJvb2wgbV9jYW5Qcm92aWRlSW50ZXJ2YWw7CisgICAgZG91YmxlIG1feDsK
KyAgICBkb3VibGUgbV95OworICAgIGRvdWJsZSBtX3o7CisgICAgZG91YmxlIG1faW50ZXJ2YWw7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBBY2NlbGVyb21ldGVy
RGF0YV9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuY3BwIGIv
V2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi45MzYzZDNjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vQWNj
ZWxlcm9tZXRlckV2ZW50LmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXJEYXRhLmgiCisjaW5jbHVkZSAiQWNj
ZWxlcm9tZXRlckV2ZW50LmgiCisKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0FjY2VsZXJvbWV0ZXJFdmVudDo6fkFjY2VsZXJvbWV0ZXJF
dmVudCgpCit7Cit9CisKK0FjY2VsZXJvbWV0ZXJFdmVudDo6QWNjZWxlcm9tZXRlckV2ZW50KCkK
KyAgICA6IG1fYWNjZWxlcm9tZXRlckRhdGEoQWNjZWxlcm9tZXRlckRhdGE6OmNyZWF0ZSgpKQor
eworfQorCitBY2NlbGVyb21ldGVyRXZlbnQ6OkFjY2VsZXJvbWV0ZXJFdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSwgQWNjZWxlcm9tZXRlckRhdGEqIGFjY2VsZXJvbWV0ZXJEYXRh
KQorICAgIDogRXZlbnQoZXZlbnRUeXBlLCBmYWxzZSwgZmFsc2UpIC8vIENhbid0IGJ1YmJsZSwg
bm90IGNhbmNlbGFibGUKKyAgICAsIG1fYWNjZWxlcm9tZXRlckRhdGEoYWNjZWxlcm9tZXRlckRh
dGEpCit7Cit9CisKK3ZvaWQgQWNjZWxlcm9tZXRlckV2ZW50Ojppbml0QWNjZWxlcm9tZXRlckV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBidWJibGVzLCBib29sIGNhbmNlbGFi
bGUsIEFjY2VsZXJvbWV0ZXJEYXRhKiBhY2NlbGVyb21ldGVyRGF0YSkKK3sKKyAgICBpZiAoZGlz
cGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbml0RXZlbnQodHlwZSwgYnViYmxl
cywgY2FuY2VsYWJsZSk7CisgICAgbV9hY2NlbGVyb21ldGVyRGF0YSA9IGFjY2VsZXJvbWV0ZXJE
YXRhOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckV2
ZW50LmggYi9XZWJDb3JlL2RvbS9BY2NlbGVyb21ldGVyRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4zYzE3YzI3Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9k
b20vQWNjZWxlcm9tZXRlckV2ZW50LmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5k
ZWYgQWNjZWxlcm9tZXRlckV2ZW50X2gKKyNkZWZpbmUgQWNjZWxlcm9tZXRlckV2ZW50X2gKKwor
I2luY2x1ZGUgIkV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQWNjZWxl
cm9tZXRlckRhdGE7CisKK2NsYXNzIEFjY2VsZXJvbWV0ZXJFdmVudCA6IHB1YmxpYyBFdmVudCB7
CitwdWJsaWM6CisgICAgfkFjY2VsZXJvbWV0ZXJFdmVudCgpOworICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEFjY2VsZXJvbWV0ZXJFdmVudD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgQWNjZWxlcm9tZXRlckV2ZW50KTsKKyAgICB9CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8QWNjZWxlcm9tZXRlckV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVu
dFR5cGUsIEFjY2VsZXJvbWV0ZXJEYXRhKiBhY2NlbGVyb21ldGVyRGF0YSkKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWNjZWxlcm9tZXRlckV2ZW50KGV2ZW50VHlwZSwgYWNj
ZWxlcm9tZXRlckRhdGEpKTsKKyAgICB9CisKKyAgICB2b2lkIGluaXRBY2NlbGVyb21ldGVyRXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGJ1YmJsZXMsIGJvb2wgY2FuY2VsYWJs
ZSwgQWNjZWxlcm9tZXRlckRhdGEqKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc0FjY2VsZXJvbWV0
ZXJFdmVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIEFjY2VsZXJvbWV0ZXJEYXRh
KiBhY2NlbGVyb21ldGVyRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZWxlcm9tZXRlckRhdGEu
Z2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBBY2NlbGVyb21ldGVyRXZlbnQoKTsKKyAgICBBY2Nl
bGVyb21ldGVyRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEFjY2VsZXJvbWV0
ZXJEYXRhKik7CisKKyAgICBSZWZQdHI8QWNjZWxlcm9tZXRlckRhdGE+IG1fYWNjZWxlcm9tZXRl
ckRhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBBY2NlbGVy
b21ldGVyRXZlbnRfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQWNjZWxlcm9tZXRlckV2ZW50
LmlkbCBiL1dlYkNvcmUvZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZjRiZTI2OAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
ZG9tL0FjY2VsZXJvbWV0ZXJFdmVudC5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKK21v
ZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPURFVklD
RV9PUklFTlRBVElPTgorICAgIF0gQWNjZWxlcm9tZXRlckV2ZW50IDogRXZlbnQgeworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIHg7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgeTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFtDdXN0b21dIGRvdWJsZSB6OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0g
ZG91YmxlIGludGVydmFsOworICAgICAgICBbQ3VzdG9tXSB2b2lkIGluaXRBY2NlbGVyb21ldGVy
RXZlbnQoaW4gRE9NU3RyaW5nIHR5cGUsIGluIGJvb2xlYW4gYnViYmxlcywgaW4gYm9vbGVhbiBj
YW5jZWxhYmxlLCBpbiBkb3VibGUgeCwgaW4gZG91YmxlIHksIGluIGRvdWJsZSB6LCBpbiBkb3Vi
bGUgaW50ZXJ2YWwpOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5MWVmZTllLi4yMzMyYzJi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKIAog
I2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKKyNpbmNsdWRlICJBY2NlbGVyb21ldGVyRXZlbnQu
aCIKICNpbmNsdWRlICJBbmltYXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQXR0ci5oIgog
I2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgpAQCAtMzMzMSw2ICszMzMyLDggQEAgUGFzc1JlZlB0cjxF
dmVudD4gRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBFeGNl
cHRpb25Db2RlJgogICAgICAgICBldmVudCA9IFRvdWNoRXZlbnQ6OmNyZWF0ZSgpOwogI2VuZGlm
CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBlbHNlIGlmIChldmVudFR5cGUg
PT0gIkFjY2VsZXJvbWV0ZXJFdmVudCIpCisgICAgICAgIGV2ZW50ID0gQWNjZWxlcm9tZXRlckV2
ZW50OjpjcmVhdGUoKTsKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkRldmljZU9yaWVudGF0
aW9uRXZlbnQiKQogICAgICAgICBldmVudCA9IERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmNyZWF0
ZSgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5jcHAgYi9XZWJDb3Jl
L2RvbS9FdmVudC5jcHAKaW5kZXggNGVhM2UwYy4uMzc4ODkzNiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vRXZlbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmNwcApAQCAtMjEzLDYgKzIx
MywxMSBAQCBib29sIEV2ZW50Ojppc1RvdWNoRXZlbnQoKSBjb25zdAogI2VuZGlmCiAKICNpZiBF
TkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorYm9vbCBFdmVudDo6aXNBY2NlbGVyb21ldGVyRXZl
bnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBFdmVudDo6aXNEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCAyYjU3
MGQ1Li5jYTg2NTQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNv
cmUvZG9tL0V2ZW50LmgKQEAgLTE0MCw2ICsxNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25zdDsKICNlbmRpZgogI2lmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0FjY2VsZXJv
bWV0ZXJFdmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50KCkgY29uc3Q7CiAjZW5kaWYKICAgICAgICAgYm9vbCBmcm9tVXNlckdlc3R1cmUo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaAppbmRleCA2NjIwY2VjLi45MGIzNGFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0zMCw2ICsz
MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNkZWZpbmUgRE9NX0VWRU5UX05BTUVTX0ZPUl9F
QUNIKG1hY3JvKSBcCiAgICAgXAogICAgIG1hY3JvKGFib3J0KSBcCisgICAgbWFjcm8oYWNjZWxl
cm9tZXRlcikgXAogICAgIG1hY3JvKGJlZm9yZWNvcHkpIFwKICAgICBtYWNybyhiZWZvcmVjdXQp
IFwKICAgICBtYWNybyhiZWZvcmVsb2FkKSBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGZjNjk2ZGEuLmFl
MGIwM2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRE9NV2lu
ZG93LmgiCiAKICNpbmNsdWRlICJBYnN0cmFjdERhdGFiYXNlLmgiCisjaW5jbHVkZSAiQWNjZWxl
cm9tZXRlckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYXNlNjQuaCIKICNpbmNsdWRlICJCYXJJ
bmZvLmgiCiAjaW5jbHVkZSAiQmVmb3JlVW5sb2FkRXZlbnQuaCIKQEAgLTE0MzUsNiArMTQzNiw4
IEBAIGJvb2wgRE9NV2luZG93OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYg
ZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS5iZWZvcmV1bmxvYWRFdmVudCAmJiBhbGxvd3NCZWZvcmVVbmxvYWRMaXN0ZW5l
cnModGhpcykpCiAgICAgICAgIGFkZEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXIodGhpcyk7CiAj
aWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0g
ZXZlbnROYW1lcygpLmFjY2VsZXJvbWV0ZXJFdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBh
Z2UoKSAmJiBmcmFtZSgpLT5wYWdlKCktPmFjY2VsZXJvbWV0ZXJDb250cm9sbGVyKCkpCisgICAg
ICAgIGZyYW1lKCktPnBhZ2UoKS0+YWNjZWxlcm9tZXRlckNvbnRyb2xsZXIoKS0+YWRkTGlzdGVu
ZXIodGhpcyk7CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5kZXZpY2Vv
cmllbnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCkt
PnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkpCiAgICAgICAgIGZyYW1lKCkt
PnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCktPmFkZExpc3RlbmVyKHRoaXMp
OwogI2VuZGlmCkBAIC0xNDUyLDYgKzE0NTUsOCBAQCBib29sIERPTVdpbmRvdzo6cmVtb3ZlRXZl
bnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lcgog
ICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuYmVmb3JldW5sb2FkRXZlbnQg
JiYgYWxsb3dzQmVmb3JlVW5sb2FkTGlzdGVuZXJzKHRoaXMpKQogICAgICAgICByZW1vdmVCZWZv
cmVVbmxvYWRFdmVudExpc3RlbmVyKHRoaXMpOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5hY2NlbGVyb21ldGVy
RXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+cGFnZSgpLT5h
Y2NlbGVyb21ldGVyQ29udHJvbGxlcigpKQorICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmFjY2Vs
ZXJvbWV0ZXJDb250cm9sbGVyKCktPnJlbW92ZUxpc3RlbmVyKHRoaXMpOwogICAgIGVsc2UgaWYg
KGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlb3JpZW50YXRpb25FdmVudCAmJiBmcmFt
ZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlcigpKQogICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlcigpLT5yZW1vdmVMaXN0ZW5lcih0aGlzKTsKICNlbmRpZgpAQCAtMTUzMCw2
ICsxNTM1LDggQEAgdm9pZCBET01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCkKICAg
ICBFdmVudFRhcmdldDo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKIAogI2lmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCisgICAgaWYgKGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYm
IGZyYW1lKCktPnBhZ2UoKS0+YWNjZWxlcm9tZXRlckNvbnRyb2xsZXIoKSkKKyAgICAgICAgZnJh
bWUoKS0+cGFnZSgpLT5hY2NlbGVyb21ldGVyQ29udHJvbGxlcigpLT5yZW1vdmVBbGxMaXN0ZW5l
cnModGhpcyk7CiAgICAgaWYgKGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCkt
PnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkpCiAgICAgICAgIGZyYW1lKCkt
PnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCktPnJlbW92ZUFsbExpc3RlbmVy
cyh0aGlzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDUxZDQwN2MuLjcxZTE5ZjUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmgKQEAgLTMzOCw2ICszMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIAogI2lm
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoYWNjZWxlcm9tZXRlcik7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoZGV2aWNlb3JpZW50YXRpb24pOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5k
ZXggYjM1MjIwMi4uNjY2NmM3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTMwNSw4ICszMDUsMTAgQEAg
bW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VE9VQ0hfRVZF
TlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGVuZDsKICAgICAgICAg
YXR0cmlidXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZl
bnRMaXN0ZW5lciBvbnRvdWNoY2FuY2VsOwogCi0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9u
YWw9REVWSUNFX09SSUVOVEFUSU9OLCBFbmFibGVkQXRSdW50aW1lXSBEZXZpY2VPcmllbnRhdGlv
bkV2ZW50Q29uc3RydWN0b3IgRGV2aWNlT3JpZW50YXRpb25FdmVudDsKLSAgICAgICAgYXR0cmli
dXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sIEVuYWJsZWRBdFJ1bnRpbWVdIEV2
ZW50TGlzdGVuZXIgb25kZXZpY2VvcmllbnRhdGlvbjsKKyAgICAgICAgYXR0cmlidXRlIFtDb25k
aXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVudGltZV0gQWNjZWxlcm9tZXRl
ckV2ZW50Q29uc3RydWN0b3IgQWNjZWxlcm9tZXRlckV2ZW50OworICAgICAgICBhdHRyaWJ1dGUg
W0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBFdmVudExp
c3RlbmVyIG9uYWNjZWxlcm9tZXRlcjsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1E
RVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVudGltZV0gRGV2aWNlT3JpZW50YXRpb25FdmVu
dENvbnN0cnVjdG9yIERldmljZU9yaWVudGF0aW9uRXZlbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBb
Q29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlz
dGVuZXIgb25kZXZpY2VvcmllbnRhdGlvbjsKIAogICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRl
cmZhY2UKICAgICAgICAgW0N1c3RvbV0gdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmlu
ZyB0eXBlLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCmluZGV4IDk0ZDI5NDAuLjE3NTJkZDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTIwLDYgKzIwLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAKKyNpbmNsdWRlICJBY2Nl
bGVyb21ldGVyQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5o
IgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIkJhc2U2NC5oIgpAQCAt
MTQxLDYgKzE0Miw3IEBAIFBhZ2U6OlBhZ2UoY29uc3QgUGFnZUNsaWVudHMmIHBhZ2VDbGllbnRz
KQogICAgICwgbV9nZW9sb2NhdGlvbkNvbnRyb2xsZXIobmV3IEdlb2xvY2F0aW9uQ29udHJvbGxl
cih0aGlzLCBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQpKQogI2VuZGlm
CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICAsIG1fYWNjZWxlcm9tZXRlckNv
bnRyb2xsZXIoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6YWNjZWxlcm9tZXRlckVuYWJsZWQoKSA/
IG5ldyBBY2NlbGVyb21ldGVyQ29udHJvbGxlcihwYWdlQ2xpZW50cy5hY2NlbGVyb21ldGVyQ2xp
ZW50KSA6IDApCiAgICAgLCBtX2RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpkZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQoKSA/IG5ldyBEZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXIodGhpcywgcGFnZUNsaWVudHMuZGV2aWNlT3JpZW50YXRpb25DbGll
bnQpIDogMCkKICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvUGFnZS5oIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA2MmFmMGE3Li5k
MDZjOWU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKQEAgLTM3LDYgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorICAgIGNsYXNzIEFjY2VsZXJvbWV0ZXJDbGllbnQ7CisgICAgY2xhc3MgQWNj
ZWxlcm9tZXRlckNvbnRyb2xsZXI7CiAgICAgY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyOwog
ICAgIGNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudDsKICAgICBjbGFzcyBCYWNrRm9y
d2FyZExpc3Q7CkBAIC0xMDEsNiArMTAzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAgICAgICAgICwgaW5zcGVjdG9yQ2xpZW50KDApCiAgICAgICAgICAgICAgICAgLCBwbHVnaW5I
YWx0ZXJDbGllbnQoMCkKICAgICAgICAgICAgICAgICAsIGdlb2xvY2F0aW9uQ29udHJvbGxlckNs
aWVudCgwKQorICAgICAgICAgICAgICAgICwgYWNjZWxlcm9tZXRlckNsaWVudCgwKQogICAgICAg
ICAgICAgICAgICwgZGV2aWNlT3JpZW50YXRpb25DbGllbnQoMCkKICAgICAgICAgICAgICAgICAs
IGJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudCgwKQogICAgICAgICAgICAgICAgICwgc3BlZWNo
SW5wdXRDbGllbnQoMCkKQEAgLTExMyw2ICsxMTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgICAgICBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNsaWVudDsKICAgICAgICAgICAg
IFBsdWdpbkhhbHRlckNsaWVudCogcGx1Z2luSGFsdGVyQ2xpZW50OwogICAgICAgICAgICAgR2Vv
bG9jYXRpb25Db250cm9sbGVyQ2xpZW50KiBnZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQ7Cisg
ICAgICAgICAgICBBY2NlbGVyb21ldGVyQ2xpZW50KiBhY2NlbGVyb21ldGVyQ2xpZW50OwogICAg
ICAgICAgICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGRldmljZU9yaWVudGF0aW9uQ2xpZW50
OwogICAgICAgICAgICAgQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50KiBiYWNrRm9yd2FyZENv
bnRyb2xsZXJDbGllbnQ7CiAgICAgICAgICAgICBTcGVlY2hJbnB1dENsaWVudCogc3BlZWNoSW5w
dXRDbGllbnQ7CkBAIC0xNzksNiArMTgzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBHZW9sb2NhdGlvbkNvbnRyb2xsZXIqIGdlb2xvY2F0aW9uQ29udHJvbGxlcigpIGNvbnN0IHsg
cmV0dXJuIG1fZ2VvbG9jYXRpb25Db250cm9sbGVyLmdldCgpOyB9CiAjZW5kaWYKICNpZiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgICAgICBBY2NlbGVyb21ldGVyQ29udHJvbGxlciog
YWNjZWxlcm9tZXRlckNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2FjY2VsZXJvbWV0ZXJD
b250cm9sbGVyLmdldCgpOyB9CiAgICAgICAgIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciog
ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9kZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXIuZ2V0KCk7IH0KICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVF
Q0gpCkBAIC0zMTMsNiArMzE4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBPd25Q
dHI8R2VvbG9jYXRpb25Db250cm9sbGVyPiBtX2dlb2xvY2F0aW9uQ29udHJvbGxlcjsKICNlbmRp
ZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIE93blB0cjxBY2NlbGVy
b21ldGVyQ29udHJvbGxlcj4gbV9hY2NlbGVyb21ldGVyQ29udHJvbGxlcjsKICAgICAgICAgT3du
UHRyPERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcj4gbV9kZXZpY2VPcmllbnRhdGlvbkNvbnRy
b2xsZXI7CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQo=
</data>
<flag name="review"
          id="51718"
          type_id="1"
          status="-"
          setter="steveblock"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63546</attachid>
            <date>2010-08-04 21:37:14 -0700</date>
            <delta_ts>2010-08-04 21:43:10 -0700</delta_ts>
            <desc>New patch - Accelerometer is now DeviceMotion</desc>
            <filename>devicemotion.patch</filename>
            <type>text/plain</type>
            <size>98480</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhYTRjZGNlLi4yZWJhMmRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTAtMDgt
MDQgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisK
KyAgICAgICAgQWRkIERldmljZU1vdGlvbiBhbmQgb25kZXZpY2Vtb3Rpb24gdGVzdGluZyB0bwor
ICAgICAgICB0aGUgZGV2aWNlLW9yaWVudGF0aW9uIHRlc3QsIGFuZCBtYWtlIHN1cmUgdGhlIERl
dmljZU1vdGlvbgorICAgICAgICBpbnRlcmZhY2UgaXMgbm90IHRlc3RlZCBpbiB0aGUgZ2VuZXJp
YyB3aW5kb3cgb2JqZWN0LgorCisgICAgICAgIE5vdGUgdGhhdCBhdCB0aGlzIHRpbWUgdGhlIHNw
ZWNpZmllZCBldmVudCBpcworICAgICAgICBjYWxsZWQgQWNjZWxlcm9tZXRlciwgYnV0IHRoaXMg
d2lsbCBjaGFuZ2UgdG8gRGV2aWNlTW90aW9uCisgICAgICAgIHdpdGggdGhlIGluY2x1c2lvbiBv
ZiBneXJvc2NvcGljIHJlc3VsdHMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6CisKKyAg
ICAgICAgQWRkIHNvbWUgdGVzdHMgZm9yIHRoZSBEZXZpY2VNb3Rpb25FdmVudCBpbnRlcmZhY2Uu
CisKKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL2NyZWF0ZS1ldmVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvY3JlYXRlLWV2
ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvb3B0aW9u
YWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0FjY2VsZXJvbWV0ZXIvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL3NjcmlwdC10ZXN0cy9URU1QTEFURS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21ldGVyL3NjcmlwdC10ZXN0
cy9jcmVhdGUtZXZlbnQuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0FjY2VsZXJvbWV0
ZXIvc2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanM6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0FjY2VsZXJvbWV0ZXIvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0
eS5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vQWNjZWxlcm9tZXRlci93aW5kb3ctcHJv
cGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9BY2NlbGVyb21l
dGVyL3dpbmRvdy1wcm9wZXJ0eS5odG1sOiBBZGRlZC4KKworICAgICAgICBNYWtlIHN1cmUgdGhl
c2UgYXJlIHNraXBwZWQgb24gTWFjLCBXaW4sIEdUSyBhbmQgUVQuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVk
OgorCiAyMDEwLTA4LTA0ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGM0MGM0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVudC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzMCBAQAorVGVzdHMgdGhhdCBkb2N1bWVudC5jcmVhdGVFdmVudCgpIHdv
cmtzIHdpdGggRGV2aWNlTW90aW5FdmVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgdHlwZW9mIGV2ZW50ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgJ3R5cGUnIGlu
IGV2ZW50IGlzIHRydWUKK1BBU1MgJ2J1YmJsZXMnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2Nh
bmNlbGFibGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3hBY2NlbGVyYXRpb24nIGluIGV2ZW50
IGlzIHRydWUKK1BBU1MgJ3lBY2NlbGVyYXRpb24nIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3pB
Y2NlbGVyYXRpb24nIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3hSb3RhdGlvblJhdGUnIGluIGV2
ZW50IGlzIHRydWUKK1BBU1MgJ3lSb3RhdGlvblJhdGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
J3pSb3RhdGlvblJhdGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2ludGVydmFsJyBpbiBldmVu
dCBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIGlzIHRydWUKK1BB
U1MgdHlwZW9mIGV2ZW50LmJ1YmJsZXMgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9m
IGV2ZW50LmNhbmNlbGFibGUgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50
LnhBY2NlbGVyYXRpb24gPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQueUFj
Y2VsZXJhdGlvbiA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC56QWNjZWxl
cmF0aW9uID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnhSb3RhdGlvblJh
dGUgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQueVJvdGF0aW9uUmF0ZSA9
PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC56Um90YXRpb25SYXRlID09ICdv
YmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmludGVydmFsID09ICdvYmplY3QnIGlz
IHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ1Zjk2MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9jcmVhdGUtZXZl
bnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVy
dGllcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGVh
YmUzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlv
bi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY1IEBA
CitUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VNb3Rpb25FdmVudC4gRWFj
aCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBvciB1
bmRlZmluZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitldmVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUV2ZW50KCdEZXZpY2VNb3Rpb25FdmVudCcpCitQQVNTIGV2ZW50LnhBY2NlbGVy
YXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24gPT0gbnVsbCBp
cyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2
ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJh
dGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0
cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IG51bGwgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmlj
ZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIDAsIDEsIDIsIDMsIDQsIDUsIDYpCitQQVNT
IGV2ZW50LnhBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRp
b24gPT0gMSBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMiBpcyB0cnVlCitQ
QVNTIGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gMyBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlv
blJhdGUgPT0gNCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gNSBpcyB0cnVl
CitQQVNTIGV2ZW50LmludGVydmFsID09IDYgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1vdGlv
bkV2ZW50KCkKK1BBU1MgZXZlbnQueEFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1Mg
ZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuekFjY2VsZXJh
dGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueFJvdGF0aW9uUmF0ZSA9PSBudWxsIGlz
IHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZl
bnQuelJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwgPT0g
bnVsbCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZlbnQoJycsIGZhbHNlLCBmYWxz
ZSwgW10sIFtdLCBbXSwgW10sIFtdLCBbXSwgW10pCitQQVNTIGV2ZW50LnhBY2NlbGVyYXRpb24g
PT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNT
IGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnhSb3RhdGlvblJh
dGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQ
QVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LmludGVydmFs
ID09IDAgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFs
c2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVk
LCB1bmRlZmluZWQsIHVuZGVmaW5lZCkKK1BBU1MgZXZlbnQueEFjY2VsZXJhdGlvbiA9PSBudWxs
IGlzIHRydWUKK1BBU1MgZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1Mg
ZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueFJvdGF0aW9u
UmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIGlz
IHRydWUKK1BBU1MgZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZl
bnQuaW50ZXJ2YWwgPT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZlbnQo
JycsIGZhbHNlLCBmYWxzZSwgJycsICcnLCAnJywgJycsICcnLCAnJywgJycpCitQQVNTIGV2ZW50
LnhBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24gPT0g
MCBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2
ZW50LnhSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJhdGUg
PT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQQVNT
IGV2ZW50LmludGVydmFsID09IDAgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50
KCcnLCBmYWxzZSwgZmFsc2UsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51
bGwpCitQQVNTIGV2ZW50LnhBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50
LnlBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24g
PT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVl
CitQQVNTIGV2ZW50LnlSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnpS
b3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IG51bGwg
aXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9vcHRpb25h
bC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rp
b24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjIxMjY2OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCkBAIC0wLDAg
KzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjMxOTYzZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRt
bApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9u
L3NjcmlwdC10ZXN0cy9jcmVhdGUtZXZlbnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZp
Y2VNb3Rpb24vc2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4xNjczMjlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9jcmVhdGUtZXZlbnQuanMKQEAgLTAs
MCArMSwyOSBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgZG9jdW1lbnQuY3JlYXRlRXZlbnQo
KSB3b3JrcyB3aXRoIERldmljZU1vdGluRXZlbnQuIik7CisKK3ZhciBldmVudCA9IGRvY3VtZW50
LmNyZWF0ZUV2ZW50KCdEZXZpY2VNb3Rpb25FdmVudCcpOworCitzaG91bGRCZVRydWUoInR5cGVv
ZiBldmVudCA9PSAnb2JqZWN0JyIpOworCitzaG91bGRCZVRydWUoIid0eXBlJyBpbiBldmVudCIp
Oworc2hvdWxkQmVUcnVlKCInYnViYmxlcycgaW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ2Nh
bmNlbGFibGUnIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIid4QWNjZWxlcmF0aW9uJyBpbiBl
dmVudCIpOworc2hvdWxkQmVUcnVlKCIneUFjY2VsZXJhdGlvbicgaW4gZXZlbnQiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiJ3pBY2NlbGVyYXRpb24nIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIid4Um90
YXRpb25SYXRlJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCIneVJvdGF0aW9uUmF0ZScgaW4g
ZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3pSb3RhdGlvblJhdGUnIGluIGV2ZW50Iik7CitzaG91
bGRCZVRydWUoIidpbnRlcnZhbCcgaW4gZXZlbnQiKTsKKworc2hvdWxkQmVUcnVlKCJ0eXBlb2Yg
ZXZlbnQudHlwZSA9PSAnc3RyaW5nJyIpOworc2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQuYnVi
YmxlcyA9PSAnYm9vbGVhbiciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LmNhbmNlbGFi
bGUgPT0gJ2Jvb2xlYW4nIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC54QWNjZWxlcmF0
aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC55QWNjZWxlcmF0
aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC56QWNjZWxlcmF0
aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC54Um90YXRpb25S
YXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC55Um90YXRpb25S
YXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC56Um90YXRpb25S
YXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC5pbnRlcnZhbCA9
PSAnb2JqZWN0JyIpOworCit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMvb3B0
aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1v
dGlvbi9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjliNTNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9vcHRpb25hbC1ldmVu
dC1wcm9wZXJ0aWVzLmpzCkBAIC0wLDAgKzEsNjggQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGUg
b3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VNb3Rpb25FdmVudC4gRWFjaCBwcm9wZXJ0eSBz
aG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQuIik7
CisKK3ZhciBldmVudDsKKworZXZhbEFuZExvZygiZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVu
dCgnRGV2aWNlTW90aW9uRXZlbnQnKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54QWNjZWxlcmF0
aW9uID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBudWxs
Iik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVsbCIpOworc2hvdWxk
QmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZl
bnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3RhdGlv
blJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSBudWxsIik7
CisKK2V2YWxBbmRMb2coImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2UsIGZh
bHNlLCAwLCAxLCAyLCAzLCA0LCA1LCA2KSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54QWNjZWxl
cmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9PSAxIik7
CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMiIpOworc2hvdWxkQmVUcnVl
KCJldmVudC54Um90YXRpb25SYXRlID09IDMiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueVJvdGF0
aW9uUmF0ZSA9PSA0Iik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3RhdGlvblJhdGUgPT0gNSIp
Oworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSA2Iik7CisKK2V2YWxBbmRMb2coImV2
ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhBY2Nl
bGVyYXRpb24gPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9uID09
IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIik7Citz
aG91bGRCZVRydWUoImV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVl
KCJldmVudC55Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuelJv
dGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09IG51
bGwiKTsKKworZXZhbEFuZExvZygiZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxz
ZSwgZmFsc2UsIFtdLCBbXSwgW10sIFtdLCBbXSwgW10sIFtdKSIpOworc2hvdWxkQmVUcnVlKCJl
dmVudC54QWNjZWxlcmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJh
dGlvbiA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCIpOwor
c2hvdWxkQmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgi
ZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3RhdGlv
blJhdGUgPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSAwIik7CisKK2V2
YWxBbmRMb2coImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCB1
bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5k
ZWZpbmVkLCB1bmRlZmluZWQpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhBY2NlbGVyYXRpb24g
PT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9uID09IG51bGwiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIik7CitzaG91bGRCZVRy
dWUoImV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55
Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuelJvdGF0aW9uUmF0
ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09IG51bGwiKTsKKwor
ZXZhbEFuZExvZygiZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2Us
ICcnLCAnJywgJycsICcnLCAnJywgJycsICcnKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54QWNj
ZWxlcmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9PSAw
Iik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCIpOworc2hvdWxkQmVU
cnVlKCJldmVudC54Um90YXRpb25SYXRlID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueVJv
dGF0aW9uUmF0ZSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3RhdGlvblJhdGUgPT0g
MCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSAwIik7CisKK2V2YWxBbmRMb2co
ImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCBudWxsLCBudWxs
LCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54
QWNjZWxlcmF0aW9uID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlv
biA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVsbCIp
Oworc2hvdWxkQmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJl
VHJ1ZSgiZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50
LnpSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9
PSBudWxsIik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy93aW5kb3ct
cHJvcGVydHkuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRl
c3RzL3dpbmRvdy1wcm9wZXJ0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5jOTE4NDhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNl
TW90aW9uL3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVydHkuanMKQEAgLTAsMCArMSwzMSBAQAor
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIHdpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCBhbmQg
d2luZG93Lm9uZGV2aWNlbW90aW9uIHByb3BlcnRpZXMgYXJlIHByZXNlbnQuIik7CisKK2Z1bmN0
aW9uIGhhc0RldmljZU1vdGlvbkV2ZW50UHJvcGVydHkoKQoreworICAgIGZvciAodmFyIHByb3Bl
cnR5IGluIHdpbmRvdykgeworICAgICAgICBpZiAocHJvcGVydHkgPT0gIkRldmljZU1vdGlvbkV2
ZW50IikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCA9PSAn
b2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNEZXZpY2VNb3Rpb25FdmVudFByb3BlcnR5KCki
KTsKK3Nob3VsZEJlVHJ1ZSgiJ0RldmljZU1vdGlvbkV2ZW50JyBpbiB3aW5kb3ciKTsKK3Nob3Vs
ZEJlVHJ1ZSgid2luZG93Lmhhc093blByb3BlcnR5KCdEZXZpY2VNb3Rpb25FdmVudCcpIik7CisK
K2Z1bmN0aW9uIGhhc09uRGV2aWNlTW90aW9uUHJvcGVydHkoKQoreworICAgIGZvciAodmFyIHBy
b3BlcnR5IGluIHdpbmRvdykgeworICAgICAgICBpZiAocHJvcGVydHkgPT0gIm9uZGV2aWNlbW90
aW9uIikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdpbmRvdy5vbmRldmljZW1vdGlvbiA9PSAnb2Jq
ZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNPbkRldmljZU1vdGlvblByb3BlcnR5KCkiKTsKK3No
b3VsZEJlVHJ1ZSgiJ29uZGV2aWNlbW90aW9uJyBpbiB3aW5kb3ciKTsKK3Nob3VsZEJlVHJ1ZSgi
d2luZG93Lmhhc093blByb3BlcnR5KCdvbmRldmljZW1vdGlvbicpIik7CisKK3dpbmRvdy5zdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
RGV2aWNlTW90aW9uL3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTUyNjUxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3dpbmRvdy1wcm9wZXJ0eS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdHMgdGhhdCB0aGUgd2luZG93LkRldmljZU1vdGlv
bkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2Vtb3Rpb24gcHJvcGVydGllcyBhcmUgcHJlc2VudC4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIHdpbmRvdy5EZXZp
Y2VNb3Rpb25FdmVudCA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIGhhc0RldmljZU1vdGlvbkV2
ZW50UHJvcGVydHkoKSBpcyB0cnVlCitQQVNTICdEZXZpY2VNb3Rpb25FdmVudCcgaW4gd2luZG93
IGlzIHRydWUKK1BBU1Mgd2luZG93Lmhhc093blByb3BlcnR5KCdEZXZpY2VNb3Rpb25FdmVudCcp
IGlzIHRydWUKK1BBU1MgdHlwZW9mIHdpbmRvdy5vbmRldmljZW1vdGlvbiA9PSAnb2JqZWN0JyBp
cyB0cnVlCitQQVNTIGhhc09uRGV2aWNlTW90aW9uUHJvcGVydHkoKSBpcyB0cnVlCitQQVNTICdv
bmRldmljZW1vdGlvbicgaW4gd2luZG93IGlzIHRydWUKK1BBU1Mgd2luZG93Lmhhc093blByb3Bl
cnR5KCdvbmRldmljZW1vdGlvbicpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZTEyMjAzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHkuaHRtbApAQCAtMCwwICsxLDEyIEBA
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhwZWN0
ZWQudHh0CmluZGV4IDYyODAxZWIuLjBhNGE1YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy1kZXZpY2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNTcgQEAKLVRoaXMg
dGVzdCBkdW1wcyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhY2hhYmxlIGZyb20g
dGhlIHdpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2Vvcmll
bnRhdGlvbiBvYmplY3RzLCBhbG9uZyB3aXRoIHRoZWlyIHR5cGVzLgorVGhpcyB0ZXN0IGR1bXBz
IGFsbCBvZiB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93
LkRldmljZU1vdGlvbkV2ZW50IHdpbmRvdy5vbmRldmljZW1vdGlvbiwgd2luZG93LkRldmljZU9y
aWVudGF0aW9uRXZlbnQgYW5kIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMsIGFs
b25nIHdpdGggdGhlaXIgdHlwZXMuIFRoZXNlIHByb3BlcnRpZXMgYXJlIGN1cnJlbnRseSBndWFy
ZGVkIGJ5IEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04uCiAKLXdpbmRvdy5EZXZpY2VPcmllbnRh
dGlvbkV2ZW50IFtmdW5jdGlvbl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCBbb2JqZWN0IERl
dmljZU1vdGlvbkV2ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQucHJv
dG90eXBlIFtvYmplY3QgRGV2aWNlTW90aW9uRXZlbnRQcm90b3R5cGVdCit3aW5kb3cuRGV2aWNl
TW90aW9uRXZlbnQucHJvdG90eXBlLkFUX1RBUkdFVCBbbnVtYmVyXQord2luZG93LkRldmljZU1v
dGlvbkV2ZW50LnByb3RvdHlwZS5CTFVSIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlTW90aW9uRXZl
bnQucHJvdG90eXBlLkJVQkJMSU5HX1BIQVNFIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlTW90aW9u
RXZlbnQucHJvdG90eXBlLkNBUFRVUklOR19QSEFTRSBbbnVtYmVyXQord2luZG93LkRldmljZU1v
dGlvbkV2ZW50LnByb3RvdHlwZS5DSEFOR0UgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25F
dmVudC5wcm90b3R5cGUuQ0xJQ0sgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5w
cm90b3R5cGUuREJMQ0xJQ0sgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90
b3R5cGUuRFJBR0RST1AgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5
cGUuRk9DVVMgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuS0VZ
RE9XTiBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5LRVlQUkVT
UyBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5LRVlVUCBbbnVt
YmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURPV04gW251bWJl
cl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuTU9VU0VEUkFHIFtudW1iZXJd
Cit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLk1PVVNFTU9WRSBbbnVtYmVyXQor
d2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRU9VVCBbbnVtYmVyXQord2lu
ZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRU9WRVIgW251bWJlcl0KK3dpbmRv
dy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuTU9VU0VVUCBbbnVtYmVyXQord2luZG93LkRl
dmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5TRUxFQ1QgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VN
b3Rpb25FdmVudC5wcm90b3R5cGUuaW5pdERldmljZU1vdGlvbkV2ZW50IFtmdW5jdGlvbl0KK3dp
bmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuaW5pdEV2ZW50IFtmdW5jdGlvbl0KK3dp
bmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUucHJldmVudERlZmF1bHQgW2Z1bmN0aW9u
XQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5zdG9wSW1tZWRpYXRlUHJvcGFn
YXRpb24gW2Z1bmN0aW9uXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5zdG9w
UHJvcGFnYXRpb24gW2Z1bmN0aW9uXQord2luZG93Lm9uZGV2aWNlbW90aW9uIFtudWxsXQord2lu
ZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQgW29iamVjdCBEZXZpY2VPcmllbnRhdGlvbkV2ZW50
Q29uc3RydWN0b3JdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUgW29i
amVjdCBEZXZpY2VPcmllbnRhdGlvbkV2ZW50UHJvdG90eXBlXQord2luZG93LkRldmljZU9yaWVu
dGF0aW9uRXZlbnQucHJvdG90eXBlLkFUX1RBUkdFVCBbbnVtYmVyXQord2luZG93LkRldmljZU9y
aWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkJMVVIgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmll
bnRhdGlvbkV2ZW50LnByb3RvdHlwZS5CVUJCTElOR19QSEFTRSBbbnVtYmVyXQord2luZG93LkRl
dmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNBUFRVUklOR19QSEFTRSBbbnVtYmVyXQor
d2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNIQU5HRSBbbnVtYmVyXQor
d2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNMSUNLIFtudW1iZXJdCit3
aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuREJMQ0xJQ0sgW251bWJlcl0K
K3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5EUkFHRFJPUCBbbnVtYmVy
XQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkZPQ1VTIFtudW1iZXJd
Cit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuS0VZRE9XTiBbbnVtYmVy
XQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLktFWVBSRVNTIFtudW1i
ZXJdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuS0VZVVAgW251bWJl
cl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURPV04gW251
bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURSQUcg
W251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRU1P
VkUgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VT
RU9VVCBbbnVtYmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLk1P
VVNFT1ZFUiBbbnVtYmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBl
Lk1PVVNFVVAgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlw
ZS5TRUxFQ1QgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlw
ZS5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCBbZnVuY3Rpb25dCit3aW5kb3cuRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC5wcm90b3R5cGUuaW5pdEV2ZW50IFtmdW5jdGlvbl0KK3dpbmRvdy5EZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdCBbZnVuY3Rpb25dCit3
aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuc3RvcEltbWVkaWF0ZVByb3Bh
Z2F0aW9uIFtmdW5jdGlvbl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlw
ZS5zdG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQogd2luZG93Lm9uZGV2aWNlb3JpZW50YXRpb24g
W251bGxdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbAppbmRleCA5
N2UwMGJiLi43ZTgzZmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRhdGlvbi5o
dG1sCkBAIC0xLDQgKzEsNSBAQAotPHA+VGhpcyB0ZXN0IGR1bXBzIGFsbCBvZiB0aGUgcHJvcGVy
dGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmljZU9yaWVudGF0aW9u
RXZlbnQgYW5kIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMsIGFsb25nIHdpdGgg
dGhlaXIgdHlwZXMuPC9wPgorPHA+VGhpcyB0ZXN0IGR1bXBzIGFsbCBvZiB0aGUgcHJvcGVydGll
cyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmljZU1vdGlvbkV2ZW50IHdp
bmRvdy5vbmRldmljZW1vdGlvbiwgd2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQgYW5kIHdp
bmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMsIGFsb25nIHdpdGggdGhlaXIgdHlwZXMu
CisgIFRoZXNlIHByb3BlcnRpZXMgYXJlIGN1cnJlbnRseSBndWFyZGVkIGJ5IEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04uPC9wPgogPGhyPgogPHByZSBpZD0icHJlIj48L3ByZT4KIApAQCAtODgs
NiArODksOCBAQCBmdW5jdGlvbiBsb2dQcm9wZXJ0aWVzKG9iamVjdCwgb2JqZWN0TmFtZSkKICAg
ICB9CiB9CiAKK2xvZ1ZhbHVlKCd3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQnKTsKK2xvZ1ZhbHVl
KCd3aW5kb3cub25kZXZpY2Vtb3Rpb24nKTsKIGxvZ1ZhbHVlKCd3aW5kb3cuRGV2aWNlT3JpZW50
YXRpb25FdmVudCcpOwogbG9nVmFsdWUoJ3dpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uJyk7CiBm
bHVzaExvZygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRv
dy1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMuaHRtbAppbmRleCBjMTM1YTliLi5kMDBkMWI1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbApAQCAtODUsNiArODUs
OCBAQCB2YXIgX19za2lwX18gPSB7CiAgICAgIndpbmRvdy5GaWxlUmVhZGVyIiA6IDEsCiAgICAg
IndpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IiA6IDEsCiAgICAgIndpbmRvdy5vbmRldmlj
ZW9yaWVudGF0aW9uIiA6IDEsCisgICAgIndpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCIgOiAxLAor
ICAgICJ3aW5kb3cub25kZXZpY2Vtb3Rpb24iIDogMSwKICAgICAid2luZG93LndlYmtpdFBlcmZv
cm1hbmNlIiA6IDEsCiAKICAgICAvLyBzaG93TW9kYWxEaWFsb2cgaXMgbm90IGltcGxlbWVudGVk
IG9uIGFsbCBwbGF0Zm9ybXMgaW4gRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lw
cGVkCmluZGV4IDdlYTE3MDguLjZkNTNmNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBA
IC0xMDgxLDYgKzEwODEsOSBAQCBmYXN0L2RvbS9jbGllbnQtd2lkdGgtaGVpZ2h0LXF1aXJrcy5o
dG1sCiBmYXN0L2RvbS9jbGllbnQtd2lkdGgtaGVpZ2h0Lmh0bWwKIGZhc3QvZG9tL2Nzc1Rhcmdl
dC1jcmFzaC5odG1sCiBmYXN0L2RvbS9mcmFtZS1sb2FkaW5nLXZpYS1kb2N1bWVudC13cml0ZS5o
dG1sCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50Lmh0bWwKK2Zhc3QvZG9tL0Rl
dmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKK2Zhc3QvZG9tL0Rldmlj
ZU1vdGlvbi93aW5kb3ctcHJvcGVydHkuaHRtbAogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24v
YmFzaWMtb3BlcmF0aW9uLmh0bWwKIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL2NyZWF0ZS1l
dmVudC5odG1sCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9w
ZXJ0aWVzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVk
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggMTk3ZDQ5Ny4uMWUzYjY1
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTI0MCw3ICsyNDAsOCBAQCBjYW52YXMv
cGhpbGlwL3Rlc3RzL3R5cGUucHJvdG90eXBlLmh0bWwKICMgSW5kZXhlZERCIGlzIG5vdCB5ZXQg
ZW5hYmxlZC4KIHN0b3JhZ2UvaW5kZXhlZGRiCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9y
dCBEZXZpY2VPcmllbnRhdGlvbi4KKyMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VN
b3Rpb24gb3IgRGV2aWNlT3JpZW50YXRpb24uCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZhc3Qv
ZG9tL0RldmljZU9yaWVudGF0aW9uCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
ZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggMGIy
NDU4Ny4uYzcwMGZiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC03OCw3ICs3OCw4IEBA
IHBsdWdpbnMvY2xpY2tpbmctbWlzc2luZy1wbHVnaW4tZmlyZXMtZGVsZWdhdGUuaHRtbAogIyAg
ICAgICBGZWF0dXJlIG5vdCBzdXBwb3J0ZWQuLi4geWV0CiAjID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAj
CiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VPcmllbnRhdGlvbi4KKyMgVGhp
cyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VNb3Rpb24gb3IgRGV2aWNlT3JpZW50YXRpb24u
CitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uCiBmYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAwODRhY2FiLi4zOTZkM2FiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vU2tpcHBlZApAQCAtODcxLDcgKzg3MSw4IEBAIGVkaXRpbmcvc3BlbGxpbmcvY29u
dGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwKICMgSW5kZXhlZERCIGlzIG5vdCB5ZXQgZW5hYmxl
ZC4KIHN0b3JhZ2UvaW5kZXhlZGRiCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZp
Y2VPcmllbnRhdGlvbi4KKyMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VNb3Rpb24g
b3IgRGV2aWNlT3JpZW50YXRpb24uCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZhc3QvZG9tL0Rl
dmljZU9yaWVudGF0aW9uCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNl
LW9yaWVudGF0aW9uLmh0bWwKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQu
anNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawpp
bmRleCBiZWEyZTFkLi4xZjU2NWQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZl
ZC5qc2NiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5n
cy5tawpAQCAtMTA0LDYgKzEwNCw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9k
b20vSlNET01Db3JlRXhjZXB0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTRE9N
SW1wbGVtZW50YXRpb24uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNET01TdHJpbmdM
aXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTRGV2aWNlTW90aW9uRXZlbnQuaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggXAog
ICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTRG9jdW1lbnQuaCBcCiAgICAgJChpbnRlcm1lZGlh
dGVzKS9kb20vSlNEb2N1bWVudEZyYWdtZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRy
b2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4Ymlu
ZGluZ3MubWsKaW5kZXggZjdmYThkNi4uNGI1NjhmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRy
b2lkLmRlcml2ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52
OGJpbmRpbmdzLm1rCkBAIC04Niw2ICs4Niw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlh
dGVzKS9iaW5kaW5ncy9WOERPTUNvcmVFeGNlcHRpb24uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9iaW5kaW5ncy9WOERPTUltcGxlbWVudGF0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykv
YmluZGluZ3MvVjhET01TdHJpbmdMaXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGlu
Z3MvVjhEZXZpY2VNb3Rpb25FdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdz
L1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4RG9jdW1lbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERvY3Vt
ZW50RnJhZ21lbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3Mu
bWsgYi9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKaW5kZXggMDFiNWExNi4uNzAxMzA2
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1dlYkNv
cmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawpAQCAtOTMsNiArOTMsNyBAQCBMT0NBTF9TUkNfRklM
RVMgKz0gXAogCWJpbmRpbmdzL2pzL0pTRGF0YWJhc2VDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9q
cy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0Rl
c2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcCBcCisJYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rp
b25FdmVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVu
dEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAliaW5k
aW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9p
ZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRleCBmNzlhYTc0Li5jNWViZGZiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0xMTcs
NiArMTE3LDkgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJZG9t
L0RPTUltcGxlbWVudGF0aW9uLmNwcCBcCiAJZG9tL0RPTVN0cmluZ0xpc3QuY3BwIFwKIAlkb20v
RGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAgXAorCWRvbS9EZXZpY2VNb3Rpb25Db250cm9s
bGVyLmNwcCBcCisJZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwIFwKKwlkb20vRGV2aWNlTW90aW9u
RXZlbnQuY3BwIFwKIAlkb20vRG9jdW1lbnQuY3BwIFwKIAlkb20vRG9jdW1lbnRGcmFnbWVudC5j
cHAgXAogCWRvbS9Eb2N1bWVudFBhcnNlci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRy
b2lkLnY4YmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawppbmRleCBi
MzZiZWFiLi43MDc0NjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5t
aworKysgYi9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawpAQCAtMTA4LDYgKzEwOCw3IEBA
IExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VDYWxs
YmFjay5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFiYXNlQ3VzdG9tLmNwcCBcCiAJ
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgXAor
CWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAogCWJp
bmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZjYxMTU5NC4uZDMz
YTcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC0xNDQsNiArMTQ0LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAg
ICAgZG9tL0NvbW1lbnQuaWRsCiAgICAgZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsCiAgICAgZG9t
L0N1c3RvbUV2ZW50LmlkbAorICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwKICAgICBkb20v
RGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5pZGwK
ICAgICBkb20vRG9jdW1lbnQuaWRsCkBAIC01OTQsNiArNTk1LDcgQEAgU0VUKFdlYkNvcmVfU09V
UkNFUwogICAgIGJpbmRpbmdzL2pzL0pTRGF0YUdyaWREYXRhU291cmNlLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRGVkaWNhdGVk
V29ya2VyQ29udGV4dEN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2
ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAKQEAgLTc5MCw2ICs3OTIsOSBA
QCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcAogICAgIGRvbS9E
YXRhc2V0RE9NU3RyaW5nTWFwLmNwcAogICAgIGRvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2Vy
LmNwcAorICAgIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAorICAgIGRvbS9EZXZpY2VN
b3Rpb25EYXRhLmNwcAorICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKICAgICBkb20vRGV2
aWNlT3JpZW50YXRpb24uY3BwCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5j
cHAKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjhiMDA1ZS4uZDc0YWMzNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw3OCBAQAorMjAxMC0wOC0wNCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODY1CisgICAgICAgIEltcGxlbWVu
dCBBY2NlbGVyb21ldGVyRXZlbnQKKworICAgICAgICBJbXBsZW1lbnQgdGhlIERldmljZU1vdGlv
bkV2ZW50IGludGVyZmFjZSBhcyBkZWZpbmVkCisgICAgICAgIGluIGh0dHA6Ly9kZXYudzMub3Jn
L2dlby9hcGkvc3BlYy1zb3VyY2Utb3JpZW50YXRpb24uaHRtbAorICAgICAgICBUaGlzIGlzIGN1
cnJlbnRseSBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiwgaW4gdGhhdCB0aGVyZSBpcworICAgICAg
ICBubyBtb3Rpb24gY2xpZW50IGNvbm5lY3RlZCAtIHRoZSBwbGF0Zm9ybSBpbXBsZW1lbnRhdGlv
bnMKKyAgICAgICAgd2lsbCBuZWVkIHRvIGRvIHRoYXQuCisKKyAgICAgICAgTm90ZSBhbHNvIHRo
YXQgYXQgdGhpcyB0aW1lIHRoZSBzcGVjaWZpZWQgZXZlbnQgaXMKKyAgICAgICAgY2FsbGVkIEFj
Y2VsZXJvbWV0ZXIsIGJ1dCB0aGlzIHdpbGwgY2hhbmdlIHRvIERldmljZU1vdGlvbgorICAgICAg
ICB3aXRoIHRoZSBpbmNsdXNpb24gb2YgZ3lyb3Njb3BpYyByZXN1bHRzLgorCisgICAgICAgIFRl
c3RzOiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50Lmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvZG9tL0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHkuaHRt
bAorCisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAq
IEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuanNjYmlu
ZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBBbmRyb2lkLnY4Ymlu
ZGluZ3MubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAgIC0gQWRkIG5ldyBmaWxlcyBmb3IgRGV2aWNlTW90aW9uRXZlbnQgYnVpbGQgc3Vw
cG9ydAorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5j
cHA6CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6
CisgICAgICAgICAgLSBuZXcgcnVudGltZSBmbGFncyBmb3IgZGV2aWNlIG1vdGlvbgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHA6
IEFkZGVkLgorICAgICAgICAgIC0gQ3VzdG9tIEpTIGJpbmRpbmcgdG8gdHJhbnNsYXRlIHByb3Bl
cnR5IGFjY2VzcyB0aHJvdWdoCisgICAgICAgICAgICB0byB0aGUgRGV2aWNlTW90aW9uRGF0YSBv
YmplY3QgdGhhdCB0aGUgRXZlbnQgaG9sZHMKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50
Q3VzdG9tLmNwcDoKKyAgICAgICAgICAtIEluY2x1ZGUgdGhlIGN1c3RvbSBjb2RlIGZvciBEZXZp
Y2VNb3Rpb25FdmVudAorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25DbGllbnQuaDogQWRkZWQu
CisgICAgICAgICAgLSBQdXJlIHZpcnR1YWwgY2xpZW50IGZvciBEZXZpY2VNb3Rpb24gYWNjZXNz
CisgICAgICAgICogZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgICAtIENv
bnRyb2xsZXIgY2xhc3MgdGhhdCBtYW5hZ2VzIGV2ZW50IGRpc3BhdGNoCisgICAgICAgICogZG9t
L0RldmljZU1vdGlvbkRhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9u
RGF0YS5oOiBBZGRlZC4KKyAgICAgICAgICAtIFJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRhIHRo
YXQgY29tZXMgZnJvbSBhIGRldmljZSBtb3Rpb24KKyAgICAgICAgICAgIGNsaWVudCB0aGF0IGlz
IHRoZW4gdXNlZCB3aXRoaW4gdGhlIGV2ZW50LgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25F
dmVudC5jcHA6IEFkZGVkLgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5oOiBBZGRl
ZC4KKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAg
ICAtIFRoZSBhY3R1YWwgZXZlbnQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KToKKyAgICAg
ICAgICAtIFVwZGF0ZSBjcmVhdGVFdmVudCB0byBhbGxvdyAiZGV2aWNlbW90aW9uIiBldmVudHMK
KyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAg
ICAgIC0gaXNEZXZpY2VNb3Rpb25FdmVudCB2aXJ0dWFsIG1ldGhvZAorICAgICAgICAqIGRvbS9F
dmVudE5hbWVzLmg6CisgICAgICAgICAgLSBuZXcgImRldmljZW1vdGlvbiIgZXZlbnQgdHlwZQor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRv
dzo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICAgLSBhbGxvdyBjcmVhdGlvbiBvZiAi
ZGV2aWNlbW90aW9uIiBldmVudHMgYW5kIHBhc3MgcmVnaXN0cmF0aW9uCisgICAgICAgICAgICB0
aHJvdWdoIHRvIHRoZSBQYWdlJ3MgZGV2aWNlTW90aW9uQ29udHJvbGxlciBvYmplY3QKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAgIC0g
bmV3IFBhZ2VDbGllbnQgZm9yIGRldmljZU1vdGlvbkNvbnRyb2xsZXIKKwogMjAxMC0wOC0wNCAg
WmhlbnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
QmFydGguCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZTI2M2M3ZS4uMDJkNmVmYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtMTI3LDYgKzEyNyw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIERhdGFiYXNlIFwK
ICAgICBEYXRhYmFzZUNhbGxiYWNrIFwKICAgICBEYXRhYmFzZVN5bmMgXAorICAgIERldmljZU1v
dGlvbkV2ZW50IFwKICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IFwKICAgICBEb2N1bWVudCBc
CiAgICAgRG9jdW1lbnRGcmFnbWVudCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAzZjNjMGRiLi4wNDVkNDM5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KQEAgLTE4MSw2ICsxODEsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNEYXRhR3JpZENvbHVtbkxpc3QuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0RlZGljYXRlZFdvcmtlckNvbnRleHQuY3BwIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRGV2aWNlTW90aW9uRXZlbnQuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRGV2aWNlTW90aW9uRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Rldmlj
ZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNl
T3JpZW50YXRpb25FdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRG9jdW1lbnQu
Y3BwIFwKQEAgLTY3MSw2ICs2NzMsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV3JhcHBlci5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmggXAor
CVdlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgXAogCVdl
YkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwKQEAgLTEwMjEsNiArMTAyNCwxMyBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvZG9tL0RhdGFzZXRET01TdHJpbmdNYXAuaCBcCiAJ
V2ViQ29yZS9kb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAgXAogCVdlYkNvcmUvZG9t
L0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlTW90aW9u
Q2xpZW50LmggXAorCVdlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIFwKKwlX
ZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmggXAorCVdlYkNvcmUvZG9tL0Rldmlj
ZU1vdGlvbkRhdGEuY3BwIFwKKwlXZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25EYXRhLmggXAorCVdl
YkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcCBcCisJV2ViQ29yZS9kb20vRGV2aWNlTW90
aW9uRXZlbnQuaCBcCiAJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uY3BwIFwKIAlXZWJD
b3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oIFwKIAlXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRh
dGlvbkNsaWVudC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKaW5kZXggZDVlZDNkMi4uMDlmMjc1OSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQzLDYgKzQzLDcg
QEAKICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24uaWRsJywKICAgICAgICAgICAg
ICdkb20vRE9NU3RyaW5nTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01TdHJpbmdNYXAu
aWRsJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsJywKICAgICAgICAg
ICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9E
b2N1bWVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Eb2N1bWVudEZyYWdtZW50LmlkbCcsCkBA
IC01NDgsNiArNTQ5LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlZGljYXRlZFdv
cmtlckNvbnRleHRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlYnVn
V3JhcHBlclNldC5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVy
U2V0LmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZl
bnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNET01BcHBsaWNhdGlvbkNhY2hlQ3Vz
dG9tLmNwcCcsCkBAIC03NDQsNiArNzQ2LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhEYXRhYmFzZVN5bmNDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhEYXRhR3JpZENvbHVtbkxpc3RDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCcsCisg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlv
bkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9j
dW1lbnRMb2NhdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcCcsCkBAIC0xMTI3LDYgKzExMzAsMTMgQEAKICAgICAg
ICAgICAgICdkb20vRGF0YXNldERPTVN0cmluZ01hcC5oJywKICAgICAgICAgICAgICdkb20vRGVj
b2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAnLAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0
YURvY3VtZW50UGFyc2VyLmgnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25DbGllbnQu
aCcsCisgICAgICAgICAgICAnZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwJywKKyAgICAg
ICAgICAgICdkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oJywKKyAgICAgICAgICAgICdkb20v
RGV2aWNlTW90aW9uRGF0YS5jcHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25EYXRh
LmgnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAnLAorICAgICAgICAg
ICAgJ2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oJywKICAgICAgICAgICAgICdkb20vRGV2aWNlT3Jp
ZW50YXRpb24uY3BwJywKICAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24uaCcsCiAg
ICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgnLApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMTJkMDU2ZC4u
OTZhMWM2MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dl
YkNvcmUucHJvCkBAIC0zMDEsNiArMzAxLDcgQEAgU09VUkNFUyArPSBcCiAgICAgYmluZGluZ3Mv
anMvSlNEYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0RlYnVnV3Jh
cHBlclNldC5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0
b20uY3BwIFwKKyAgICBiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBc
CiAgICAgYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAg
ICAgYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pT
RE9NRm9ybURhdGFDdXN0b20uY3BwIFwKQEAgLTQ3OSw2ICs0ODAsOSBAQCBTT1VSQ0VTICs9IFwK
ICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uY3BwIFwKICAgICBkb20vQ3Vz
dG9tRXZlbnQuY3BwIFwKICAgICBkb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAgXAor
ICAgIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCBcCisgICAgZG9tL0RldmljZU1vdGlv
bkRhdGEuY3BwIFwKKyAgICBkb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwIFwKICAgICBkb20vRGV2
aWNlT3JpZW50YXRpb24uY3BwIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
LmNwcCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKQEAgLTEyNDMsNiAr
MTI0NywxMCBAQCBIRUFERVJTICs9IFwKICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFy
YXRpb24uaCBcCiAgICAgZG9tL0N1c3RvbUV2ZW50LmggXAogICAgIGRvbS9kZWZhdWx0L1BsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsLmggXAorICAgIGRvbS9EZXZpY2VNb3Rpb25DbGllbnQuaCBc
CisgICAgZG9tL0RldmljZU1vdGlvbkRhdGEuaCBcCisgICAgZG9tL0RldmljZU1vdGlvbkNvbnRy
b2xsZXIuaCBcCisgICAgZG9tL0RldmljZU1vdGlvbkV2ZW50LmggXAogICAgIGRvbS9EZXZpY2VP
cmllbnRhdGlvbi5oIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCBcCiAgICAg
ZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCmluZGV4IGMwZGMzYmUuLjIwOWYxYjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtMjkwNSw2ICsyOTA1LDYyIEBACiAJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAiCisJCQkJ
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RldmljZU1vdGlvbkV2ZW50
LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xKU0RldmljZU9yaWVudGF0
aW9uRXZlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTMyNjUzLDYg
KzMyNzA5LDM0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGRvbVxEZXZpY2VNb3Rpb25DbGllbnQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3Bw
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21c
RGV2aWNlTW90aW9uQ29udHJvbGxlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlTW90aW9uRGF0YS5jcHAiCisJCQkJPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VNb3Rpb25E
YXRhLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGRvbVxEZXZpY2VNb3Rpb25FdmVudC5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VNb3Rpb25FdmVudC5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlT3JpZW50
YXRpb24uY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggZjViOTMwMy4uZDc4MmQyNiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc1MCw2ICs3NTAsMTYgQEAKIAkJMzFDMEZG
NEMwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDYwRTRDRUZERDAw
N0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0RDBF
NENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDcwRTRDRUZERDAwN0Q2
RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSAqLzsgfTsKIAkJMzFDMEZGNEUwRTRD
RUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0ODBFNENFRkRE
MDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJ
MzFGQjFBNTcxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNEYxMjBBNUQwNjAw
REMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oICovOyB9OworCQkzMUZCMUE1ODEyMEE1RDA2
MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE1MDEyMEE1RDA2MDBEQzAyQTAgLyog
RGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgKi87IH07CisJCTMxRkIxQTU5MTIwQTVEMDYwMERD
MDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE1MTEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNl
TW90aW9uQ29udHJvbGxlci5oICovOyB9OworCQkzMUZCMUE1QTEyMEE1RDA2MDBEQzAyQTAgLyog
RGV2aWNlTW90aW9uRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUZCMUE1MjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5j
cHAgKi87IH07CisJCTMxRkIxQTVCMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRh
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE1
MzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5oICovOyB9OworCQkzMUZCMUE1
QzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTQxMjBBNUQwNjAwREMwMkEw
IC8qIERldmljZU1vdGlvbkV2ZW50LmNwcCAqLzsgfTsKKwkJMzFGQjFBNUQxMjBBNUQwNjAwREMw
MkEwIC8qIERldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE1NTEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9u
RXZlbnQuaCAqLzsgfTsKKwkJMzFGQjFBNjUxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90
aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICov
OyB9OworCQkzMUZCMUE2NjEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNjQx
MjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCAqLzsgfTsKKwkJMzFGQjFB
NkMxMjBBNUQ2OTAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNkIxMjBBNUQ2
OTAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovOyB9OwogCQkzMzE0
QUNFQjEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMTRBQ0U5MTA4OTIwODYwMDBGMEU1
NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwICovOyB9OwogCQkzMzE0QUNFQzEwODkyMDg2MDAwRjBF
NTYgLyogSlNFeGNlcHRpb25CYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMzE0QUNFQTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNl
LmggKi87IH07CiAJCTMzNTAzQzlBMTAxNzlBNzQwMDNCNDdFMSAvKiBOb3RpZmljYXRpb25QcmVz
ZW50ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMz
NTAzQzk5MTAxNzlBNzQwMDNCNDdFMSAvKiBOb3RpZmljYXRpb25QcmVzZW50ZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNjQ2OSw2ICs2NDc5
LDE3IEBACiAJCTMxQzBGRjQ2MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9u
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0VHJhbnNp
dGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQzBGRjQ3MEU0Q0VG
REQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQzBGRjQ4MEU0Q0VGREQwMDdENkZFNSAvKiBE
T01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkzMUZCMUE0RjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90
aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZU1vdGlv
bkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUZCMUE1MDEyMEE1RDA2
MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNTExMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1v
dGlvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNl
TW90aW9uQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUZCMUE1
MjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VNb3Rpb25EYXRhLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNTMxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlv
bkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uRGF0
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUZCMUE1NDEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRGV2aWNlTW90aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkzMUZCMUE1NTEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRXZlbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uRXZlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNTYxMjBBNUQwNjAwREMwMkEwIC8qIERldmlj
ZU1vdGlvbkV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBEZXZpY2VNb3Rpb25FdmVu
dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTYzMTIwQTVEM0YwMERD
MDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RldmljZU1vdGlvbkV2ZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTZCMTIwQTVENjkwMERDMDJB
MCAvKiBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkzMzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRp
b25CYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXhjZXB0
aW9uQmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMTRBQ0VBMTA4OTIw
ODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMzM0Y3MDRFMEZCNDlDQTIwMDhFMTJBNiAvKiBOb3RpZmljYXRpb24uaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbmFtZSA9IE5vdGlmaWNhdGlvbi5pZGw7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDczNiw2ICsxNDc1
Nyw4IEBACiAJCQkJOTNGOUI2REYwQkEwRkI3MjAwODU0MDY0IC8qIEpTQ29tbWVudC5oICovLAog
CQkJCUZFNkZENDhCMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCAqLywKIAkJ
CQlGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5oICovLAorCQkJCTMx
RkIxQTYzMTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCAqLywKKwkJ
CQkzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5oICovLAog
CQkJCTU5QTg2MDA1MTE5REFGN0YwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQu
Y3BwICovLAogCQkJCTU5QTg2MDA3MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0
aW9uRXZlbnQuaCAqLywKIAkJCQk2NTlEREM4MDA5RTE5OEJBMDAxQkYzQzYgLyogSlNEb2N1bWVu
dC5jcHAgKi8sCkBAIC0xNTkxOCw2ICsxNTk0MSw3IEBACiAJCQkJQkM3N0QxNTEwRkYxOUM3MzAw
NzA4ODdCIC8qIEpTRGF0YUdyaWRDb2x1bW5MaXN0Q3VzdG9tLmNwcCAqLywKIAkJCQk0MTYyQTQ1
MzEwMTE0NUUzMDBERkYzRUQgLyogSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCAq
LywKIAkJCQkzMzUwM0NCRjEwMTc5QzFBMDAzQjQ3RTEgLyogSlNEZXNrdG9wTm90aWZpY2F0aW9u
c0N1c3RvbS5jcHAgKi8sCisJCQkJMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpTRGV2aWNl
TW90aW9uRXZlbnRDdXN0b20uY3BwICovLAogCQkJCTU5MEUxQjRBMTFFNEVGNzAwMDY5Rjc4NCAv
KiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwICovLAogCQkJCTQ5QzdCQThDMTA0
MkY1QjEwMDA5RDQ0NyAvKiBKU0RvY3VtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQkxQUMyMjYxNjBE
QjY5Rjc0MDA4OUI2NjkgLyogSlNET01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcCAqLywKQEAg
LTE3MDY4LDYgKzE3MDkyLDE0IEBACiAJCQkJQkM2NDY0MUExMUQ3RjQxNjAwNjQ1NUIwIC8qIERh
dGFzZXRET01TdHJpbmdNYXAuaCAqLywKIAkJCQlBOEMyMjhBMDExRDU3MjJFMDBENUE3RDMgLyog
RGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAgKi8sCiAJCQkJQThDMjI4OUYxMUQ1NzIyRTAw
RDVBN0QzIC8qIERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCAqLywKKwkJCQkzMUZCMUE0RjEy
MEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi8sCisJCQkJMzFGQjFBNTAx
MjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwICovLAorCQkJCTMx
RkIxQTUxMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi8sCisJ
CQkJMzFGQjFBNTIxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkRhdGEuY3BwICovLAor
CQkJCTMxRkIxQTUzMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmggKi8sCisJ
CQkJMzFGQjFBNTQxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkV2ZW50LmNwcCAqLywK
KwkJCQkzMUZCMUE1NTEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRXZlbnQuaCAqLywK
KwkJCQkzMUZCMUE1NjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRXZlbnQuaWRsICov
LAogCQkJCTU5RDFDMTAzMTFFQjVEQ0YwMEI2MzhDOCAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAg
Ki8sCiAJCQkJNTkwRTFCNDgxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0aW9uLmgg
Ki8sCiAJCQkJNTlBOEYxRDcxMUE2OTUyMDAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uQ2xp
ZW50LmggKi8sCkBAIC0xOTk5MCw2ICsyMDAyMiwxMSBAQAogCQkJCTk3REQ0RDg3MEZERjRENkUw
MEVDRjlBNCAvKiBYU1NBdWRpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTE3MkUwMTExMzZF
OENFMDA2MkE1MzMgLyogWm9vbU1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QzYxRjAxMTIw
OTVDODcwMDdBM0M2NyAvKiBBdG9taWNTdHJpbmdLZXllZE1SVUNhY2hlLmggaW4gSGVhZGVycyAq
LywKKwkJCQkzMUZCMUE1NzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkzMUZCMUE1OTEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90
aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFGQjFBNUIxMjBBNUQwNjAwREMw
MkEwIC8qIERldmljZU1vdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRkIxQTVEMTIw
QTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MzFGQjFBNjYxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpAQCAtMjAwNDksNiArMjAwODYsNyBAQAogCQkJaXNhID0gUEJYUHJvamVjdDsKIAkJ
CWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDlDMjg0MzA4OTAyQjExMDA4QTlFRkMgLyogQnVp
bGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJDb3JlIiAqLzsKIAkJCWNv
bXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDIuNCI7CisJCQlkZXZlbG9wbWVudFJlZ2lvbiA9
IEVuZ2xpc2g7CiAJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVnaW9u
cyA9ICgKIAkJCQlFbmdsaXNoLApAQCAtMjIzOTQsNiArMjI0MzIsMTEgQEAKIAkJCQk5M0YxOUIw
NTA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5N0RENEQ4NjBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRv
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMUZCMUE1ODEyMEE1RDA2MDBEQzAyQTAgLyogRGV2
aWNlTW90aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMUZCMUE1QTEyMEE1
RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkz
MUZCMUE1QzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMzFGQjFBNjUxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFGQjFBNkMxMjBBNUQ2OTAwREMwMkEwIC8qIEpT
RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAgYi9XZWJD
b3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKaW5kZXggZWIw
MjdjMy4uOTRlOTg0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmNwcApAQCAtNDcsNiArNDcsNyBAQCBib29sIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OmlzSW5kZXhlZERCRW5hYmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjppc1dlYkdMRW5hYmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjppc1B1c2hTdGF0ZUVuYWJsZWQgPSBmYWxzZTsKIGJvb2wgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6aXNUb3VjaEVuYWJsZWQgPSB0cnVlOworYm9vbCBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjppc0RldmljZU1vdGlvbkVuYWJsZWQgPSB0cnVlOwogYm9vbCBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjppc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZCA9IHRydWU7CiBib29sIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OmlzU3BlZWNoSW5wdXRFbmFibGVkID0gdHJ1ZTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBi
L1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXgg
YzllYjIxZi4uY2YxY2ZhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0xMTQsNiArMTE0LDExIEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgYm9vbCBvbnRvdWNoY2FuY2VsRW5hYmxlZCgpIHsgcmV0dXJuIGlzVG91Y2hFbmFibGVk
OyB9CiAjZW5kaWYKIAorICAgIHN0YXRpYyB2b2lkIHNldERldmljZU1vdGlvbkVuYWJsZWQoYm9v
bCBpc0VuYWJsZWQpIHsgaXNEZXZpY2VNb3Rpb25FbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAg
c3RhdGljIGJvb2wgZGV2aWNlTW90aW9uRW5hYmxlZCgpIHsgcmV0dXJuIGlzRGV2aWNlTW90aW9u
RW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIGRldmljZW1vdGlvbkV2ZW50RW5hYmxlZCgpIHsg
cmV0dXJuIGlzRGV2aWNlTW90aW9uRW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIG9uZGV2aWNl
bW90aW9uRW5hYmxlZCgpIHsgcmV0dXJuIGlzRGV2aWNlTW90aW9uRW5hYmxlZDsgfQorICAgIAog
ICAgIHN0YXRpYyB2b2lkIHNldERldmljZU9yaWVudGF0aW9uRW5hYmxlZChib29sIGlzRW5hYmxl
ZCkgeyBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIHN0YXRp
YyBib29sIGRldmljZU9yaWVudGF0aW9uRW5hYmxlZCgpIHsgcmV0dXJuIGlzRGV2aWNlT3JpZW50
YXRpb25FbmFibGVkOyB9CiAgICAgc3RhdGljIGJvb2wgZGV2aWNlT3JpZW50YXRpb25FdmVudEVu
YWJsZWQoKSB7IHJldHVybiBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZDsgfQpAQCAtMTM2LDYg
KzE0MSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgaXNXZWJHTEVuYWJsZWQ7CiAgICAg
c3RhdGljIGJvb2wgaXNQdXNoU3RhdGVFbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzVG91Y2hF
bmFibGVkOworICAgIHN0YXRpYyBib29sIGlzRGV2aWNlTW90aW9uRW5hYmxlZDsKICAgICBzdGF0
aWMgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc1Nw
ZWVjaElucHV0RW5hYmxlZDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rldmlj
ZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4yMjVhNjI2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rldmlj
ZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcApAQCAtMCwwICsxLDEyOSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTRGV2aWNlTW90aW9uRXZlbnQuaCIKKworI2lmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgi
CisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRXZlbnQuaCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZlbnQ6OnhB
Y2NlbGVyYXRpb24oRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERldmljZU1vdGlvbkV2
ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVudCo+KGltcGwoKSk7CisgICAg
aWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVhBY2NlbGVyYXRpb24oKSkK
KyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAt
PmRldmljZU1vdGlvbkRhdGEoKS0+eEFjY2VsZXJhdGlvbigpKTsKK30KKworSlNWYWx1ZSBKU0Rl
dmljZU1vdGlvbkV2ZW50Ojp5QWNjZWxlcmF0aW9uKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sK
KyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlTW90aW9uRXZl
bnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3Zp
ZGVZQWNjZWxlcmF0aW9uKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4g
anNOdW1iZXIoZXhlYywgaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnlBY2NlbGVyYXRpb24oKSk7
Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6ekFjY2VsZXJhdGlvbihFeGVjU3Rh
dGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IHN0YXRpY19j
YXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWltcC0+ZGV2aWNlTW90
aW9uRGF0YSgpLT5jYW5Qcm92aWRlWkFjY2VsZXJhdGlvbigpKQorICAgICAgICByZXR1cm4ganNO
dWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+ZGV2aWNlTW90aW9uRGF0YSgp
LT56QWNjZWxlcmF0aW9uKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZlbnQ6OnhS
b3RhdGlvblJhdGUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERldmljZU1vdGlvbkV2
ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVudCo+KGltcGwoKSk7CisgICAg
aWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVhSb3RhdGlvblJhdGUoKSkK
KyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAt
PmRldmljZU1vdGlvbkRhdGEoKS0+eFJvdGF0aW9uUmF0ZSgpKTsKK30KKworSlNWYWx1ZSBKU0Rl
dmljZU1vdGlvbkV2ZW50Ojp5Um90YXRpb25SYXRlKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sK
KyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlTW90aW9uRXZl
bnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3Zp
ZGVZUm90YXRpb25SYXRlKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4g
anNOdW1iZXIoZXhlYywgaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnlSb3RhdGlvblJhdGUoKSk7
Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6elJvdGF0aW9uUmF0ZShFeGVjU3Rh
dGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IHN0YXRpY19j
YXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWltcC0+ZGV2aWNlTW90
aW9uRGF0YSgpLT5jYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZSgpKQorICAgICAgICByZXR1cm4ganNO
dWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+ZGV2aWNlTW90aW9uRGF0YSgp
LT56Um90YXRpb25SYXRlKCkpOworfQorICAgIAorSlNWYWx1ZSBKU0RldmljZU1vdGlvbkV2ZW50
OjppbnRlcnZhbChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlTW90aW9uRXZl
bnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBp
ZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlSW50ZXJ2YWwoKSkKKyAgICAg
ICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAtPmRldmlj
ZU1vdGlvbkRhdGEoKS0+aW50ZXJ2YWwoKSk7Cit9CisgICAgCitKU1ZhbHVlIEpTRGV2aWNlTW90
aW9uRXZlbnQ6OmluaXREZXZpY2VNb3Rpb25FdmVudChFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAg
Y29uc3QgU3RyaW5nJiB0eXBlID0gdXN0cmluZ1RvU3RyaW5nKGV4ZWMtPmFyZ3VtZW50KDApLnRv
U3RyaW5nKGV4ZWMpKTsKKyAgICBib29sIGJ1YmJsZXMgPSBleGVjLT5hcmd1bWVudCgxKS50b0Jv
b2xlYW4oZXhlYyk7CisgICAgYm9vbCBjYW5jZWxhYmxlID0gZXhlYy0+YXJndW1lbnQoMikudG9C
b29sZWFuKGV4ZWMpOworICAgIC8vIElmIGFueSBvZiB0aGUgcGFyYW1ldGVycyBhcmUgbnVsbCBv
ciB1bmRlZmluZWQsIG1hcmsgdGhlbSBhcyBub3QgcHJvdmlkZWQuCisgICAgLy8gT3RoZXJ3aXNl
LCB1c2UgdGhlIHN0YW5kYXJkIEphdmFTY3JpcHQgY29udmVyc2lvbi4KKyAgICBib29sIHhBY2Nl
bGVyYXRpb25Qcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCgzKS5pc1VuZGVmaW5lZE9yTnVsbCgp
OworICAgIGRvdWJsZSB4QWNjZWxlcmF0aW9uID0gZXhlYy0+YXJndW1lbnQoMykudG9OdW1iZXIo
ZXhlYyk7CisgICAgYm9vbCB5QWNjZWxlcmF0aW9uUHJvdmlkZWQgPSAhZXhlYy0+YXJndW1lbnQo
NCkuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgeUFjY2VsZXJhdGlvbiA9IGV4ZWMt
PmFyZ3VtZW50KDQpLnRvTnVtYmVyKGV4ZWMpOworICAgIGJvb2wgekFjY2VsZXJhdGlvblByb3Zp
ZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDUpLmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAgZG91Ymxl
IHpBY2NlbGVyYXRpb24gPSBleGVjLT5hcmd1bWVudCg1KS50b051bWJlcihleGVjKTsKKyAgICBi
b29sIHhSb3RhdGlvblJhdGVQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg2KS5pc1VuZGVmaW5l
ZE9yTnVsbCgpOworICAgIGRvdWJsZSB4Um90YXRpb25SYXRlID0gZXhlYy0+YXJndW1lbnQoNiku
dG9OdW1iZXIoZXhlYyk7CisgICAgYm9vbCB5Um90YXRpb25SYXRlUHJvdmlkZWQgPSAhZXhlYy0+
YXJndW1lbnQoNykuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgeVJvdGF0aW9uUmF0
ZSA9IGV4ZWMtPmFyZ3VtZW50KDcpLnRvTnVtYmVyKGV4ZWMpOworICAgIGJvb2wgelJvdGF0aW9u
UmF0ZVByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDgpLmlzVW5kZWZpbmVkT3JOdWxsKCk7Cisg
ICAgZG91YmxlIHpSb3RhdGlvblJhdGUgPSBleGVjLT5hcmd1bWVudCg4KS50b051bWJlcihleGVj
KTsKKyAgICBib29sIGludGVydmFsUHJvdmlkZWQgPSAhZXhlYy0+YXJndW1lbnQoOSkuaXNVbmRl
ZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgaW50ZXJ2YWwgPSBleGVjLT5hcmd1bWVudCg5KS50
b051bWJlcihleGVjKTsKKyAgICBSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gZGV2aWNlTW90aW9u
RGF0YSA9IERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZSh4QWNjZWxlcmF0aW9uUHJvdmlkZWQsIHhB
Y2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeUFjY2VsZXJhdGlvblByb3ZpZGVkLCB5QWNj
ZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpBY2NlbGVyYXRpb25Qcm92aWRlZCwgekFjY2Vs
ZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB4Um90YXRpb25SYXRlUHJvdmlkZWQsIHhSb3RhdGlv
blJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeVJvdGF0aW9uUmF0ZVByb3ZpZGVkLCB5Um90YXRpb25S
YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHpSb3RhdGlvblJhdGVQcm92aWRlZCwgelJvdGF0aW9uUmF0
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRlcnZhbFByb3ZpZGVkLCBpbnRlcnZhbCk7CisgICAgRGV2
aWNlTW90aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1w
bCgpKTsKKyAgICBpbXAtPmluaXREZXZpY2VNb3Rpb25FdmVudCh0eXBlLCBidWJibGVzLCBjYW5j
ZWxhYmxlLCBkZXZpY2VNb3Rpb25EYXRhLmdldCgpKTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQo
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKERFVklD
RV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1
c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCmluZGV4IGI2
MTkwZmYuLmE4M2VjMDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1
c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApAQCAt
MjksMTEgKzI5LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNFdmVudC5o
IgogCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRXZlbnQuaCIKICNpbmNsdWRlICJDbGlwYm9hcmQu
aCIKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiQ3VzdG9tRXZlbnQu
aCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQu
aCIKKyNpbmNsdWRlICJKU0RldmljZU1vdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNCZWZvcmVM
b2FkRXZlbnQuaCIKICNpbmNsdWRlICJKU0NsaXBib2FyZC5oIgogI2luY2x1ZGUgIkpTQ3VzdG9t
RXZlbnQuaCIKQEAgLTE3Myw2ICsxNzUsOCBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVj
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAgICAgZWxz
ZSBpZiAoZXZlbnQtPmlzQ3VzdG9tRXZlbnQoKSkKICAgICAgICAgd3JhcHBlciA9IENSRUFURV9E
T01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBDdXN0b21FdmVudCwgZXZlbnQp
OwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgZWxzZSBpZiAoZXZlbnQtPmlz
RGV2aWNlTW90aW9uRXZlbnQoKSkKKyAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNU
X1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBEZXZpY2VNb3Rpb25FdmVudCwgZXZlbnQpOwog
ICAgIGVsc2UgaWYgKGV2ZW50LT5pc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSkKICAgICAgICAg
d3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LCBldmVudCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk2OTJiNgotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20u
Y3BwCkBAIC0wLDAgKzEsMTM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiVjhEZXZpY2VNb3Rpb25FdmVudC5oIgorCisjaWYgRU5BQkxFKERFVklDRV9PUklFTlRB
VElPTikKKworI2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKKyNpbmNsdWRlICJWOEJpbmRp
bmcuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisKKyNpbmNsdWRlIDx2OC5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50
Ojp4QWNjZWxlcmF0aW9uQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUs
IGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uRGV2
aWNlTW90aW9uRXZlbnQueEFjY2VsZXJhdGlvbi5fZ2V0Iik7CisgICAgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERldmljZU1vdGlvbkV2ZW50KiBp
bXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1w
LT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVYQWNjZWxlcmF0aW9uKCkpCisgICAgICAg
IHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5kZXZp
Y2VNb3Rpb25EYXRhKCktPnhBY2NlbGVyYXRpb24oKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOERldmljZU1vdGlvbkV2ZW50Ojp5QWNjZWxlcmF0aW9uQWNjZXNzb3JHZXR0ZXIodjg6
OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7
CisgICAgSU5DX1NUQVRTKCJET00uRGV2aWNlTW90aW9uRXZlbnQueUFjY2VsZXJhdGlvbi5fZ2V0
Iik7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOwor
ICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2
ZShob2xkZXIpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVZ
QWNjZWxlcmF0aW9uKCkpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2
ODo6TnVtYmVyOjpOZXcoaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnlBY2NlbGVyYXRpb24oKSk7
Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50Ojp6QWNjZWxl
cmF0aW9uQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4
OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uRGV2aWNlTW90aW9u
RXZlbnQuekFjY2VsZXJhdGlvbi5fZ2V0Iik7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBo
b2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERl
dmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1wLT5kZXZpY2VN
b3Rpb25EYXRhKCktPmNhblByb3ZpZGVaQWNjZWxlcmF0aW9uKCkpCisgICAgICAgIHJldHVybiB2
ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5kZXZpY2VNb3Rpb25E
YXRhKCktPnpBY2NlbGVyYXRpb24oKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERl
dmljZU1vdGlvbkV2ZW50Ojp4Um90YXRpb25SYXRlQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4
OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5D
X1NUQVRTKCJET00uRGV2aWNlTW90aW9uRXZlbnQueFJvdGF0aW9uUmF0ZS5fZ2V0Iik7CisgICAg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERldmlj
ZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIp
OworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVYUm90YXRpb25S
YXRlKCkpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVy
OjpOZXcoaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnhSb3RhdGlvblJhdGUoKSk7Cit9CisKK3Y4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50Ojp5Um90YXRpb25SYXRlQWNj
ZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3Nv
ckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uRGV2aWNlTW90aW9uRXZlbnQueVJv
dGF0aW9uUmF0ZS5fZ2V0Iik7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBp
bmZvLkhvbGRlcigpOworICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU1vdGlv
bkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRh
KCktPmNhblByb3ZpZGVZUm90YXRpb25SYXRlKCkpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgp
OworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnlS
b3RhdGlvblJhdGUoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlv
bkV2ZW50Ojp6Um90YXRpb25SYXRlQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+
IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJE
T00uRGV2aWNlTW90aW9uRXZlbnQuelJvdGF0aW9uUmF0ZS5fZ2V0Iik7CisgICAgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERldmljZU1vdGlvbkV2
ZW50KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlm
ICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVaUm90YXRpb25SYXRlKCkpCisg
ICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1w
LT5kZXZpY2VNb3Rpb25EYXRhKCktPnpSb3RhdGlvblJhdGUoKSk7Cit9CisKKwordjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OmludGVydmFsQWNjZXNzb3JHZXR0ZXIo
djg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8p
Cit7CisgICAgSU5DX1NUQVRTKCJET00uRGV2aWNlTW90aW9uRXZlbnQuaW50ZXJ2YWwuX2dldCIp
OworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAg
ICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gVjhEZXZpY2VNb3Rpb25FdmVudDo6dG9OYXRpdmUo
aG9sZGVyKTsKKyAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlSW50
ZXJ2YWwoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1i
ZXI6Ok5ldyhpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+aW50ZXJ2YWwoKSk7Cit9CisKK3Y4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50Ojppbml0RGV2aWNlTW90aW9uRXZl
bnRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIERldmljZU1vdGlv
bkV2ZW50KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigp
KTsKKyAgICBWOFBhcmFtZXRlcjw+IHR5cGUgPSBhcmdzWzBdOworICAgIGJvb2wgYnViYmxlcyA9
IGFyZ3NbMV0tPkJvb2xlYW5WYWx1ZSgpOworICAgIGJvb2wgY2FuY2VsYWJsZSA9IGFyZ3NbMl0t
PkJvb2xlYW5WYWx1ZSgpOworICAgIC8vIElmIGFueSBvZiB0aGUgcGFyYW1ldGVycyBhcmUgbnVs
bCBvciB1bmRlZmluZWQsIG1hcmsgdGhlbSBhcyBub3QgcHJvdmlkZWQuCisgICAgLy8gT3RoZXJ3
aXNlLCB1c2UgdGhlIHN0YW5kYXJkIEphdmFTY3JpcHQgY29udmVyc2lvbi4KKyAgICBib29sIHhB
Y2NlbGVyYXRpb25Qcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzNdKTsKKyAgICBk
b3VibGUgeEFjY2VsZXJhdGlvbiA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1szXS0+TnVtYmVy
VmFsdWUoKSk7CisgICAgYm9vbCB5QWNjZWxlcmF0aW9uUHJvdmlkZWQgPSAhaXNVbmRlZmluZWRP
ck51bGwoYXJnc1s0XSk7CisgICAgZG91YmxlIHlBY2NlbGVyYXRpb24gPSBzdGF0aWNfY2FzdDxk
b3VibGU+KGFyZ3NbNF0tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgekFjY2VsZXJhdGlvblBy
b3ZpZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbNV0pOworICAgIGRvdWJsZSB6QWNjZWxl
cmF0aW9uID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihhcmdzWzVdLT5OdW1iZXJWYWx1ZSgpKTsKKyAg
ICBib29sIHhSb3RhdGlvblJhdGVQcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzZd
KTsKKyAgICBkb3VibGUgeFJvdGF0aW9uUmF0ZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1s2
XS0+TnVtYmVyVmFsdWUoKSk7CisgICAgYm9vbCB5Um90YXRpb25SYXRlUHJvdmlkZWQgPSAhaXNV
bmRlZmluZWRPck51bGwoYXJnc1s3XSk7CisgICAgZG91YmxlIHlSb3RhdGlvblJhdGUgPSBzdGF0
aWNfY2FzdDxkb3VibGU+KGFyZ3NbN10tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgelJvdGF0
aW9uUmF0ZVByb3ZpZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbOF0pOworICAgIGRvdWJs
ZSB6Um90YXRpb25SYXRlID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihhcmdzWzhdLT5OdW1iZXJWYWx1
ZSgpKTsKKyAgICBib29sIGludGVydmFsUHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51bGwoYXJn
c1s5XSk7CisgICAgZG91YmxlIGludGVydmFsID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihhcmdzWzld
LT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gZGV2aWNlTW90
aW9uRGF0YSA9IERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZSh4QWNjZWxlcmF0aW9uUHJvdmlkZWQs
IHhBY2NlbGVyYXRpb24sIHlBY2NlbGVyYXRpb25Qcm92aWRlZCwgeUFjY2VsZXJhdGlvbiwgekFj
Y2VsZXJhdGlvblByb3ZpZGVkLCB6QWNjZWxlcmF0aW9uLCB4Um90YXRpb25SYXRlUHJvdmlkZWQs
IHhSb3RhdGlvblJhdGUsIHlSb3RhdGlvblJhdGVQcm92aWRlZCwgeVJvdGF0aW9uUmF0ZSwgelJv
dGF0aW9uUmF0ZVByb3ZpZGVkLCB6Um90YXRpb25SYXRlLCBpbnRlcnZhbFByb3ZpZGVkLCBpbnRl
cnZhbCk7CisgICAgaW1wLT5pbml0RGV2aWNlTW90aW9uRXZlbnQodHlwZSwgYnViYmxlcywgY2Fu
Y2VsYWJsZSwgZGV2aWNlTW90aW9uRGF0YS5nZXQoKSk7CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8
djg6OlZhbHVlPigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRGV2aWNl
TW90aW9uQ2xpZW50LmggYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTlmOTJmCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ2xpZW50LmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIERldmljZU1vdGlvbkNsaWVudF9oCisjZGVmaW5lIERldmljZU1vdGlvbkNsaWVudF9o
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlTW90aW9uQ29udHJvbGxlcjsK
K2NsYXNzIERldmljZU1vdGlvbkRhdGE7CisKK2NsYXNzIERldmljZU1vdGlvbkNsaWVudCB7Citw
dWJsaWM6CisgICAgdmlydHVhbCB+RGV2aWNlTW90aW9uQ2xpZW50KCkge30KKyAgICB2aXJ0dWFs
IHZvaWQgc2V0Q29udHJvbGxlcihEZXZpY2VNb3Rpb25Db250cm9sbGVyKikgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBk
YXRpbmcoKSA9IDA7CisgICAgdmlydHVhbCBEZXZpY2VNb3Rpb25EYXRhKiBjdXJyZW50RGV2aWNl
TW90aW9uKCkgY29uc3QgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRGV2aWNlTW90aW9uQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0Rldmlj
ZU1vdGlvbkNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxl
ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg1ODY5MQotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0w
LDAgKzEsMTA0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXZpY2VN
b3Rpb25Db250cm9sbGVyLmgiCisKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgiCisjaW5j
bHVkZSAiRGV2aWNlTW90aW9uQ2xpZW50LmgiCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRXZlbnQu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpEZXZp
Y2VNb3Rpb25Db250cm9sbGVyKERldmljZU1vdGlvbkNsaWVudCogY2xpZW50KQorICAgIDogbV9j
bGllbnQoY2xpZW50KQorICAgICwgbV90aW1lcih0aGlzLCAmRGV2aWNlTW90aW9uQ29udHJvbGxl
cjo6dGltZXJGaXJlZCkKK3sKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5z
ZXRDb250cm9sbGVyKHRoaXMpOworfQorCit2b2lkIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OnRp
bWVyRmlyZWQoVGltZXI8RGV2aWNlTW90aW9uQ29udHJvbGxlcj4qIHRpbWVyKQoreworICAgIEFT
U0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX3RpbWVyKTsKKyAgICBBU1NFUlQoIW1fY2xp
ZW50IHx8IG1fY2xpZW50LT5jdXJyZW50RGV2aWNlTW90aW9uKCkpOworICAgIG1fdGltZXIuc3Rv
cCgpOworICAgIAorICAgIFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBkZXZpY2VNb3Rpb25EYXRh
ID0gbV9jbGllbnQgPyBtX2NsaWVudC0+Y3VycmVudERldmljZU1vdGlvbigpIDogRGV2aWNlTW90
aW9uRGF0YTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPERldmljZU1vdGlvbkV2ZW50PiBldmVudCA9
IERldmljZU1vdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmRldmljZW1vdGlvbkV2ZW50
LCBkZXZpY2VNb3Rpb25EYXRhLmdldCgpKTsKKyAKKyAgICBWZWN0b3I8RE9NV2luZG93Kj4gbGlz
dGVuZXJzVmVjdG9yOworICAgIGNvcHlUb1ZlY3RvcihtX25ld0xpc3RlbmVycywgbGlzdGVuZXJz
VmVjdG9yKTsKKyAgICBtX25ld0xpc3RlbmVycy5jbGVhcigpOworICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgbGlzdGVuZXJzVmVjdG9yLnNpemUoKTsgKytpKQorICAgICAgICBsaXN0ZW5lcnNW
ZWN0b3JbaV0tPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorICAgIAordm9pZCBEZXZpY2VNb3Rp
b25Db250cm9sbGVyOjphZGRMaXN0ZW5lcihET01XaW5kb3cqIHdpbmRvdykKK3sKKyAgICAvLyBJ
ZiBubyBjbGllbnQgaXMgcHJlc2VudCBvciB0aGUgY2xpZW50IGFscmVhZHkgaGFzIGFuIGFjY2Vs
ZXJhdGlvbiwKKyAgICAvLyBpbW1lZGlhdGVseSB0cmlnZ2VyIGFuIGFzeW5jaHJvbm91cyByZXNw
b25zZS4KKyAgICBpZiAoIW1fY2xpZW50IHx8IG1fY2xpZW50LT5jdXJyZW50RGV2aWNlTW90aW9u
KCkpIHsKKyAgICAgICAgbV9uZXdMaXN0ZW5lcnMuYWRkKHdpbmRvdyk7CisgICAgICAgIGlmICgh
bV90aW1lci5pc0FjdGl2ZSgpKQorICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgfQorICAgIAorICAgIGJvb2wgd2FzRW1wdHkgPSBtX2xpc3RlbmVycy5pc0VtcHR5KCk7
CisgICAgbV9saXN0ZW5lcnMuYWRkKHdpbmRvdyk7CisgICAgaWYgKHdhc0VtcHR5ICYmIG1fY2xp
ZW50KQorICAgICAgICBtX2NsaWVudC0+c3RhcnRVcGRhdGluZygpOworfQorCit2b2lkIERldmlj
ZU1vdGlvbkNvbnRyb2xsZXI6OnJlbW92ZUxpc3RlbmVyKERPTVdpbmRvdyogd2luZG93KQorewor
ICAgIG1fbGlzdGVuZXJzLnJlbW92ZSh3aW5kb3cpOworICAgIG1fbmV3TGlzdGVuZXJzLnJlbW92
ZSh3aW5kb3cpOworICAgIGlmIChtX2xpc3RlbmVycy5pc0VtcHR5KCkgJiYgbV9jbGllbnQpCisg
ICAgICAgIG1fY2xpZW50LT5zdG9wVXBkYXRpbmcoKTsKK30KKwordm9pZCBEZXZpY2VNb3Rpb25D
b250cm9sbGVyOjpyZW1vdmVBbGxMaXN0ZW5lcnMoRE9NV2luZG93KiB3aW5kb3cpCit7CisgICAg
Ly8gTWF5IGJlIGNhbGxlZCB3aXRoIGEgRE9NV2luZG93IHRoYXQncyBub3QgYSBsaXN0ZW5lci4K
KyAgICBpZiAoIW1fbGlzdGVuZXJzLmNvbnRhaW5zKHdpbmRvdykpCisgICAgICAgIHJldHVybjsK
KworICAgIG1fbGlzdGVuZXJzLnJlbW92ZUFsbCh3aW5kb3cpOworICAgIG1fbmV3TGlzdGVuZXJz
LnJlbW92ZSh3aW5kb3cpOworICAgIGlmIChtX2xpc3RlbmVycy5pc0VtcHR5KCkgJiYgbV9jbGll
bnQpCisgICAgICAgIG1fY2xpZW50LT5zdG9wVXBkYXRpbmcoKTsKK30KKwordm9pZCBEZXZpY2VN
b3Rpb25Db250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VNb3Rpb24oRGV2aWNlTW90aW9uRGF0YSog
ZGV2aWNlTW90aW9uRGF0YSkKK3sKKyAgICBSZWZQdHI8RGV2aWNlTW90aW9uRXZlbnQ+IGV2ZW50
ID0gRGV2aWNlTW90aW9uRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZGV2aWNlbW90aW9uRXZl
bnQsIGRldmljZU1vdGlvbkRhdGEpOworICAgIFZlY3RvcjxET01XaW5kb3cqPiBsaXN0ZW5lcnNW
ZWN0b3I7CisgICAgY29weVRvVmVjdG9yKG1fbGlzdGVuZXJzLCBsaXN0ZW5lcnNWZWN0b3IpOwor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdGVuZXJzVmVjdG9yLnNpemUoKTsgKytpKQor
ICAgICAgICBsaXN0ZW5lcnNWZWN0b3JbaV0tPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rp
b25Db250cm9sbGVyLmggYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjY3MGUwNAotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDYxIEBA
CisvKgorICogQ29weXJpZ2h0IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgRGV2aWNlTW90aW9uQ29udHJvbGxlcl9oCisjZGVmaW5lIERldmljZU1v
dGlvbkNvbnRyb2xsZXJfaAorCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiVGlt
ZXIuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBEZXZpY2VNb3Rpb25EYXRhOworY2xhc3MgRGV2aWNlTW90aW9uQ2xpZW50
OworCitjbGFzcyBEZXZpY2VNb3Rpb25Db250cm9sbGVyIHsKK3B1YmxpYzoKKyAgICBEZXZpY2VN
b3Rpb25Db250cm9sbGVyKERldmljZU1vdGlvbkNsaWVudCopOworCisgICAgdm9pZCBhZGRMaXN0
ZW5lcihET01XaW5kb3cqKTsKKyAgICB2b2lkIHJlbW92ZUxpc3RlbmVyKERPTVdpbmRvdyopOwor
ICAgIHZvaWQgcmVtb3ZlQWxsTGlzdGVuZXJzKERPTVdpbmRvdyopOworCisgICAgdm9pZCBkaWRD
aGFuZ2VEZXZpY2VNb3Rpb24oRGV2aWNlTW90aW9uRGF0YSopOworCitwcml2YXRlOgorICAgIHZv
aWQgdGltZXJGaXJlZChUaW1lcjxEZXZpY2VNb3Rpb25Db250cm9sbGVyPiopOworICAgIAorICAg
IERldmljZU1vdGlvbkNsaWVudCogbV9jbGllbnQ7CisgICAgdHlwZWRlZiBIYXNoQ291bnRlZFNl
dDxET01XaW5kb3cqPiBMaXN0ZW5lcnNDb3VudGVkU2V0OworICAgIExpc3RlbmVyc0NvdW50ZWRT
ZXQgbV9saXN0ZW5lcnM7CisgICAgdHlwZWRlZiBIYXNoU2V0PERPTVdpbmRvdyo+IExpc3RlbmVy
c1NldDsKKyAgICBMaXN0ZW5lcnNTZXQgbV9uZXdMaXN0ZW5lcnM7CisgICAgVGltZXI8RGV2aWNl
TW90aW9uQ29udHJvbGxlcj4gbV90aW1lcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIERldmljZU1vdGlvbkNvbnRyb2xsZXJfaApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vRGV2aWNlTW90aW9uRGF0YS5jcHAgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25EYXRh
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGY3ZjM3Ci0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRGF0YS5jcHAKQEAgLTAsMCArMSw4
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRldmljZU1vdGlv
bkRhdGEuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPERldmljZU1vdGlv
bkRhdGE+IERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBEZXZpY2VNb3Rpb25EYXRhKTsKK30KKworICAgIFBhc3NSZWZQdHI8RGV2aWNlTW90aW9u
RGF0YT4gRGV2aWNlTW90aW9uRGF0YTo6Y3JlYXRlKGJvb2wgY2FuUHJvdmlkZVhBY2NlbGVyYXRp
b24sIGRvdWJsZSB4QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVlBY2NlbGVyYXRpb24s
IGRvdWJsZSB5QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVpBY2NlbGVyYXRpb24sIGRv
dWJsZSB6QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVhSb3RhdGlvblJhdGUsIGRvdWJs
ZSB4Um90YXRpb25SYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVlSb3RhdGlvblJhdGUsIGRvdWJsZSB5
Um90YXRpb25SYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVpSb3RhdGlvblJhdGUsIGRvdWJsZSB6Um90
YXRpb25SYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZUludGVydmFsLCBkb3VibGUgaW50ZXJ2YWwpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VNb3Rpb25EYXRhKGNhblByb3ZpZGVYQWNj
ZWxlcmF0aW9uLCB4QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjYW5Qcm92aWRlWUFjY2VsZXJhdGlvbiwgeUFjY2VsZXJhdGlvbiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuUHJvdmlkZVpBY2NlbGVyYXRp
b24sIHpBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNhblByb3ZpZGVYUm90YXRpb25SYXRlLCB4Um90YXRpb25SYXRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZSwgeVJv
dGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fu
UHJvdmlkZVpSb3RhdGlvblJhdGUsIHpSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNhblByb3ZpZGVJbnRlcnZhbCwgaW50ZXJ2YWwpKTsKK30K
KworRGV2aWNlTW90aW9uRGF0YTo6RGV2aWNlTW90aW9uRGF0YSgpCisgICAgOiBtX2NhblByb3Zp
ZGVYQWNjZWxlcmF0aW9uKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlWUFjY2VsZXJhdGlvbihm
YWxzZSkKKyAgICAsIG1fY2FuUHJvdmlkZVpBY2NlbGVyYXRpb24oZmFsc2UpCisgICAgLCBtX2Nh
blByb3ZpZGVYUm90YXRpb25SYXRlKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlWVJvdGF0aW9u
UmF0ZShmYWxzZSkKKyAgICAsIG1fY2FuUHJvdmlkZVpSb3RhdGlvblJhdGUoZmFsc2UpCisgICAg
LCBtX2NhblByb3ZpZGVJbnRlcnZhbChmYWxzZSkKK3sKK30KKworRGV2aWNlTW90aW9uRGF0YTo6
RGV2aWNlTW90aW9uRGF0YShib29sIGNhblByb3ZpZGVYQWNjZWxlcmF0aW9uLCBkb3VibGUgeEFj
Y2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Q
cm92aWRlWUFjY2VsZXJhdGlvbiwgZG91YmxlIHlBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVpBY2NlbGVyYXRpb24sIGRvdWJs
ZSB6QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s
IGNhblByb3ZpZGVYUm90YXRpb25SYXRlLCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZSwg
ZG91YmxlIHlSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2wgY2FuUHJvdmlkZVpSb3RhdGlvblJhdGUsIGRvdWJsZSB6Um90YXRpb25SYXRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVJbnRlcnZhbCwg
ZG91YmxlIGludGVydmFsKQorICAgIDogbV9jYW5Qcm92aWRlWEFjY2VsZXJhdGlvbihjYW5Qcm92
aWRlWEFjY2VsZXJhdGlvbikKKyAgICAsIG1fY2FuUHJvdmlkZVlBY2NlbGVyYXRpb24oY2FuUHJv
dmlkZVlBY2NlbGVyYXRpb24pCisgICAgLCBtX2NhblByb3ZpZGVaQWNjZWxlcmF0aW9uKGNhblBy
b3ZpZGVaQWNjZWxlcmF0aW9uKQorICAgICwgbV9jYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZShjYW5Q
cm92aWRlWFJvdGF0aW9uUmF0ZSkKKyAgICAsIG1fY2FuUHJvdmlkZVlSb3RhdGlvblJhdGUoY2Fu
UHJvdmlkZVlSb3RhdGlvblJhdGUpCisgICAgLCBtX2NhblByb3ZpZGVaUm90YXRpb25SYXRlKGNh
blByb3ZpZGVaUm90YXRpb25SYXRlKQorICAgICwgbV9jYW5Qcm92aWRlSW50ZXJ2YWwoY2FuUHJv
dmlkZUludGVydmFsKQorICAgICwgbV94QWNjZWxlcmF0aW9uKHhBY2NlbGVyYXRpb24pCisgICAg
LCBtX3lBY2NlbGVyYXRpb24oeUFjY2VsZXJhdGlvbikKKyAgICAsIG1fekFjY2VsZXJhdGlvbih6
QWNjZWxlcmF0aW9uKQorICAgICwgbV94Um90YXRpb25SYXRlKHhSb3RhdGlvblJhdGUpCisgICAg
LCBtX3lSb3RhdGlvblJhdGUoeVJvdGF0aW9uUmF0ZSkKKyAgICAsIG1felJvdGF0aW9uUmF0ZSh6
Um90YXRpb25SYXRlKQorICAgICwgbV9pbnRlcnZhbChpbnRlcnZhbCkKK3sKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRGF0
YS5oIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmNkOTAyNDYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9E
ZXZpY2VNb3Rpb25EYXRhLmgKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEZXZp
Y2VNb3Rpb25EYXRhX2gKKyNkZWZpbmUgRGV2aWNlTW90aW9uRGF0YV9oCisKKyNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlTW90aW9uRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVk
PERldmljZU1vdGlvbkRhdGE+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZp
Y2VNb3Rpb25EYXRhPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VNb3Rp
b25EYXRhPiBjcmVhdGUoYm9vbCBjYW5Qcm92aWRlWEFjY2VsZXJhdGlvbiwgZG91YmxlIHhBY2Nl
bGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2wgY2FuUHJvdmlkZVlBY2NlbGVyYXRpb24sIGRvdWJsZSB5QWNjZWxlcmF0aW9uLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3Zp
ZGVaQWNjZWxlcmF0aW9uLCBkb3VibGUgekFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWFJvdGF0aW9uUmF0
ZSwgZG91YmxlIHhSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVlSb3RhdGlvblJhdGUsIGRvdWJsZSB5Um90
YXRpb25SYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBib29sIGNhblByb3ZpZGVaUm90YXRpb25SYXRlLCBkb3VibGUgelJvdGF0aW9uUmF0ZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92
aWRlSW50ZXJ2YWwsIGRvdWJsZSBpbnRlcnZhbCk7CisKKyAgICBkb3VibGUgeEFjY2VsZXJhdGlv
bigpIGNvbnN0IHsgcmV0dXJuIG1feEFjY2VsZXJhdGlvbjsgfQorICAgIGRvdWJsZSB5QWNjZWxl
cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV95QWNjZWxlcmF0aW9uOyB9CisgICAgZG91YmxlIHpB
Y2NlbGVyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3pBY2NlbGVyYXRpb247IH0KKyAgICBkb3Vi
bGUgeFJvdGF0aW9uUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1feFJvdGF0aW9uUmF0ZTsgfQorICAg
IGRvdWJsZSB5Um90YXRpb25SYXRlKCkgY29uc3QgeyByZXR1cm4gbV95Um90YXRpb25SYXRlOyB9
CisgICAgZG91YmxlIHpSb3RhdGlvblJhdGUoKSBjb25zdCB7IHJldHVybiBtX3pSb3RhdGlvblJh
dGU7IH0KKyAgICBkb3VibGUgaW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2ludGVydmFsOyB9
CisKKyAgICBib29sIGNhblByb3ZpZGVYQWNjZWxlcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9j
YW5Qcm92aWRlWEFjY2VsZXJhdGlvbjsgfQorICAgIGJvb2wgY2FuUHJvdmlkZVlBY2NlbGVyYXRp
b24oKSBjb25zdCB7IHJldHVybiBtX2NhblByb3ZpZGVZQWNjZWxlcmF0aW9uOyB9CisgICAgYm9v
bCBjYW5Qcm92aWRlWkFjY2VsZXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuUHJvdmlkZVpB
Y2NlbGVyYXRpb247IH0KKyAgICBib29sIGNhblByb3ZpZGVYUm90YXRpb25SYXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9jYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZTsgfQorICAgIGJvb2wgY2FuUHJvdmlk
ZVlSb3RhdGlvblJhdGUoKSBjb25zdCB7IHJldHVybiBtX2NhblByb3ZpZGVZUm90YXRpb25SYXRl
OyB9CisgICAgYm9vbCBjYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2FuUHJvdmlkZVpSb3RhdGlvblJhdGU7IH0KKyAgICBib29sIGNhblByb3ZpZGVJbnRlcnZhbCgp
IGNvbnN0IHsgcmV0dXJuIG1fY2FuUHJvdmlkZUludGVydmFsOyB9CisKK3ByaXZhdGU6CisgICAg
RGV2aWNlTW90aW9uRGF0YSgpOworICAgIERldmljZU1vdGlvbkRhdGEoYm9vbCBjYW5Qcm92aWRl
WEFjY2VsZXJhdGlvbiwgZG91YmxlIHhBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAg
ICBib29sIGNhblByb3ZpZGVZQWNjZWxlcmF0aW9uLCBkb3VibGUgeUFjY2VsZXJhdGlvbiwKKyAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVpBY2NlbGVyYXRpb24sIGRvdWJsZSB6
QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWFJvdGF0
aW9uUmF0ZSwgZG91YmxlIHhSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICBib29s
IGNhblByb3ZpZGVZUm90YXRpb25SYXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwKKyAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVpSb3RhdGlvblJhdGUsIGRvdWJsZSB6Um90YXRp
b25SYXRlLAorICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlSW50ZXJ2YWwsIGRv
dWJsZSBpbnRlcnZhbCk7CisKKyAgICBib29sIG1fY2FuUHJvdmlkZVhBY2NlbGVyYXRpb247Cisg
ICAgYm9vbCBtX2NhblByb3ZpZGVZQWNjZWxlcmF0aW9uOworICAgIGJvb2wgbV9jYW5Qcm92aWRl
WkFjY2VsZXJhdGlvbjsKKyAgICBib29sIG1fY2FuUHJvdmlkZVhSb3RhdGlvblJhdGU7CisgICAg
Ym9vbCBtX2NhblByb3ZpZGVZUm90YXRpb25SYXRlOworICAgIGJvb2wgbV9jYW5Qcm92aWRlWlJv
dGF0aW9uUmF0ZTsKKyAgICBib29sIG1fY2FuUHJvdmlkZUludGVydmFsOworCisgICAgZG91Ymxl
IG1feEFjY2VsZXJhdGlvbjsKKyAgICBkb3VibGUgbV95QWNjZWxlcmF0aW9uOworICAgIGRvdWJs
ZSBtX3pBY2NlbGVyYXRpb247CisgICAgZG91YmxlIG1feFJvdGF0aW9uUmF0ZTsKKyAgICBkb3Vi
bGUgbV95Um90YXRpb25SYXRlOworICAgIGRvdWJsZSBtX3pSb3RhdGlvblJhdGU7CisgICAgZG91
YmxlIG1faW50ZXJ2YWw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBEZXZpY2VNb3Rpb25EYXRhX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RldmljZU1vdGlv
bkV2ZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZThhNjQ0Ci0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRGF0YS5oIgorI2lu
Y2x1ZGUgIkRldmljZU1vdGlvbkV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRGV2
aWNlTW90aW9uRXZlbnQ6On5EZXZpY2VNb3Rpb25FdmVudCgpCit7Cit9CisKK0RldmljZU1vdGlv
bkV2ZW50OjpEZXZpY2VNb3Rpb25FdmVudCgpCisgICAgOiBtX2RldmljZU1vdGlvbkRhdGEoRGV2
aWNlTW90aW9uRGF0YTo6Y3JlYXRlKCkpCit7Cit9CisKK0RldmljZU1vdGlvbkV2ZW50OjpEZXZp
Y2VNb3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2aWNlTW90aW9u
RGF0YSogZGV2aWNlTW90aW9uRGF0YSkKKyAgICA6IEV2ZW50KGV2ZW50VHlwZSwgZmFsc2UsIGZh
bHNlKSAvLyBDYW4ndCBidWJibGUsIG5vdCBjYW5jZWxhYmxlCisgICAgLCBtX2RldmljZU1vdGlv
bkRhdGEoZGV2aWNlTW90aW9uRGF0YSkKK3sKK30KKwordm9pZCBEZXZpY2VNb3Rpb25FdmVudDo6
aW5pdERldmljZU1vdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBidWJi
bGVzLCBib29sIGNhbmNlbGFibGUsIERldmljZU1vdGlvbkRhdGEqIGRldmljZU1vdGlvbkRhdGEp
Cit7CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdEV2
ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUpOworICAgIG1fZGV2aWNlTW90aW9uRGF0YSA9
IGRldmljZU1vdGlvbkRhdGE7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmggYi9XZWJDb3JlL2RvbS9EZXZpY2VN
b3Rpb25FdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzMmM5M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oCkBAIC0w
LDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIERldmljZU1vdGlvbkV2ZW50X2gKKyNkZWZp
bmUgRGV2aWNlTW90aW9uRXZlbnRfaAorCisjaW5jbHVkZSAiRXZlbnQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VNb3Rpb25EYXRhOworCitjbGFzcyBEZXZpY2VNb3Rp
b25FdmVudCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6CisgICAgfkRldmljZU1vdGlvbkV2ZW50
KCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlTW90aW9uRXZlbnQ+IGNyZWF0ZSgpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmljZU1vdGlvbkV2ZW50KTsKKyAg
ICB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlTW90aW9uRXZlbnQ+IGNyZWF0ZShjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2aWNlTW90aW9uRGF0YSogZGV2aWNlTW90aW9u
RGF0YSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlTW90aW9uRXZl
bnQoZXZlbnRUeXBlLCBkZXZpY2VNb3Rpb25EYXRhKSk7CisgICAgfQorCisgICAgdm9pZCBpbml0
RGV2aWNlTW90aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGJ1YmJsZXMs
IGJvb2wgY2FuY2VsYWJsZSwgRGV2aWNlTW90aW9uRGF0YSopOworCisgICAgdmlydHVhbCBib29s
IGlzRGV2aWNlTW90aW9uRXZlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBEZXZp
Y2VNb3Rpb25EYXRhKiBkZXZpY2VNb3Rpb25EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kZXZpY2VN
b3Rpb25EYXRhLmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAgRGV2aWNlTW90aW9uRXZlbnQoKTsK
KyAgICBEZXZpY2VNb3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2
aWNlTW90aW9uRGF0YSopOworCisgICAgUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IG1fZGV2aWNl
TW90aW9uRGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERl
dmljZU1vdGlvbkV2ZW50X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2
ZW50LmlkbCBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2U4ZTcxCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCitt
b2R1bGUgY29yZSB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1ERVZJ
Q0VfT1JJRU5UQVRJT04KKyAgICBdIERldmljZU1vdGlvbkV2ZW50IDogRXZlbnQgeworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIHhBY2NlbGVyYXRpb247CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgeUFjY2VsZXJhdGlvbjsKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGRvdWJsZSB6QWNjZWxlcmF0aW9uOwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIHhSb3RhdGlvblJhdGU7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgeVJvdGF0aW9uUmF0
ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGRvdWJsZSB6Um90YXRpb25S
YXRlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIGludGVydmFs
OworICAgICAgICBbQ3VzdG9tXSB2b2lkIGluaXREZXZpY2VNb3Rpb25FdmVudChpbiBET01TdHJp
bmcgdHlwZSwgaW4gYm9vbGVhbiBidWJibGVzLCBpbiBib29sZWFuIGNhbmNlbGFibGUsIGluIGRv
dWJsZSB4QWNjZWxlcmF0aW9uLCBpbiBkb3VibGUgeUFjY2VsZXJhdGlvbiwgaW4gZG91YmxlIHpB
Y2NlbGVyYXRpb24sIGluIGRvdWJsZSB4Um90YXRpb25SYXRlLCBpbiBkb3VibGUgeVJvdGF0aW9u
UmF0ZSwgaW4gZG91YmxlIHpSb3RhdGlvblJhdGUsIGluIGRvdWJsZSBpbnRlcnZhbCk7CisgICAg
fTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCmluZGV4IDkxZWZlOWUuLmY1YzQ3YjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTI3
LDYgKzI3LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogCiAjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgorI2luY2x1ZGUgIkRldmljZU1vdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiQW5pbWF0
aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkF0dHIuaCIKICNpbmNsdWRlICJBdHRyaWJ1dGUu
aCIKQEAgLTMzMzEsNiArMzMzMiw4IEBAIFBhc3NSZWZQdHI8RXZlbnQ+IERvY3VtZW50OjpjcmVh
dGVFdmVudChjb25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgRXhjZXB0aW9uQ29kZSYKICAgICAgICAg
ZXZlbnQgPSBUb3VjaEV2ZW50OjpjcmVhdGUoKTsKICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0Vf
T1JJRU5UQVRJT04pCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJEZXZpY2VNb3Rpb25FdmVu
dCIpCisgICAgICAgIGV2ZW50ID0gRGV2aWNlTW90aW9uRXZlbnQ6OmNyZWF0ZSgpOwogICAgIGVs
c2UgaWYgKGV2ZW50VHlwZSA9PSAiRGV2aWNlT3JpZW50YXRpb25FdmVudCIpCiAgICAgICAgIGV2
ZW50ID0gRGV2aWNlT3JpZW50YXRpb25FdmVudDo6Y3JlYXRlKCk7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL0V2ZW50LmNwcCBiL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCA0
ZWEzZTBjLi4xYWFiNWM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKKysrIGIv
V2ViQ29yZS9kb20vRXZlbnQuY3BwCkBAIC0yMTMsNiArMjEzLDExIEBAIGJvb2wgRXZlbnQ6Omlz
VG91Y2hFdmVudCgpIGNvbnN0CiAjZW5kaWYKIAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCitib29sIEV2ZW50Ojppc0RldmljZU1vdGlvbkV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKIGJvb2wgRXZlbnQ6OmlzRGV2aWNlT3JpZW50YXRpb25FdmVudCgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQu
aCBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5kZXggMmI1NzBkNS4uZTE4MjU4YyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vRXZlbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0xNDAs
NiArMTQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNU
b3VjaEV2ZW50KCkgY29uc3Q7CiAjZW5kaWYKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9O
KQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZXZpY2VNb3Rpb25FdmVudCgpIGNvbnN0OwogICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkgY29uc3Q7CiAjZW5k
aWYKICAgICAgICAgYm9vbCBmcm9tVXNlckdlc3R1cmUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaCBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA2NjIwY2Vj
Li4yMzU5ODhhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC01MCw2ICs1MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBtYWNybyhjb3B5KSBcCiAgICAgbWFjcm8oY3V0KSBcCiAgICAgbWFjcm8oZGJsY2xp
Y2spIFwKKyAgICBtYWNybyhkZXZpY2Vtb3Rpb24pIFwKICAgICBtYWNybyhkZXZpY2VvcmllbnRh
dGlvbikgXAogICAgIG1hY3JvKGRpc3BsYXkpIFwKICAgICBtYWNybyhkb3dubG9hZGluZykgXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcAppbmRleCBmYzY5NmRhLi5iYjYxMjY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMjcs
NiArMjcsNyBAQAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogCiAjaW5jbHVkZSAiQWJzdHJhY3RE
YXRhYmFzZS5oIgorI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJCYXNlNjQuaCIKICNpbmNsdWRlICJCYXJJbmZvLmgiCiAjaW5jbHVkZSAiQmVmb3JlVW5sb2Fk
RXZlbnQuaCIKQEAgLTE0MzUsNiArMTQzNiw4IEBAIGJvb2wgRE9NV2luZG93OjphZGRFdmVudExp
c3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50CiAg
ICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5iZWZvcmV1bmxvYWRFdmVudCAm
JiBhbGxvd3NCZWZvcmVVbmxvYWRMaXN0ZW5lcnModGhpcykpCiAgICAgICAgIGFkZEJlZm9yZVVu
bG9hZEV2ZW50TGlzdGVuZXIodGhpcyk7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikK
KyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW1vdGlvbkV2ZW50
ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNl
TW90aW9uQ29udHJvbGxlcigpKQorICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU1vdGlv
bkNvbnRyb2xsZXIoKS0+YWRkTGlzdGVuZXIodGhpcyk7CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBl
ID09IGV2ZW50TmFtZXMoKS5kZXZpY2VvcmllbnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJh
bWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyKCkpCiAgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyKCktPmFkZExpc3RlbmVyKHRoaXMpOwogI2VuZGlmCkBAIC0xNDUyLDYgKzE0NTUsOCBAQCBi
b29sIERPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZW50VHlwZSwgRXZlbnRMaXN0ZW5lcgogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5h
bWVzKCkuYmVmb3JldW5sb2FkRXZlbnQgJiYgYWxsb3dzQmVmb3JlVW5sb2FkTGlzdGVuZXJzKHRo
aXMpKQogICAgICAgICByZW1vdmVCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKHRoaXMpOwogI2lm
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS5kZXZpY2Vtb3Rpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2Uo
KSAmJiBmcmFtZSgpLT5wYWdlKCktPmRldmljZU1vdGlvbkNvbnRyb2xsZXIoKSkKKyAgICAgICAg
ZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VNb3Rpb25Db250cm9sbGVyKCktPnJlbW92ZUxpc3RlbmVy
KHRoaXMpOwogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlb3Jp
ZW50YXRpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgpLT5w
YWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpKQogICAgICAgICBmcmFtZSgpLT5w
YWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5yZW1vdmVMaXN0ZW5lcih0aGlz
KTsKICNlbmRpZgpAQCAtMTUzMCw2ICsxNTM1LDggQEAgdm9pZCBET01XaW5kb3c6OnJlbW92ZUFs
bEV2ZW50TGlzdGVuZXJzKCkKICAgICBFdmVudFRhcmdldDo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5l
cnMoKTsKIAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgaWYgKGZyYW1lKCkg
JiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlTW90aW9uQ29udHJv
bGxlcigpKQorICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU1vdGlvbkNvbnRyb2xsZXIo
KS0+cmVtb3ZlQWxsTGlzdGVuZXJzKHRoaXMpOwogICAgIGlmIChmcmFtZSgpICYmIGZyYW1lKCkt
PnBhZ2UoKSAmJiBmcmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigp
KQogICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigp
LT5yZW1vdmVBbGxMaXN0ZW5lcnModGhpcyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCA1MWQ0MDdj
Li44ZDU3ZGNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0zMzgsNiArMzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogI2VuZGlmCiAKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgICAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRldmljZW1vdGlvbik7CiAgICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZGV2aWNlb3JpZW50YXRpb24pOwogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKaW5kZXggYjM1MjIwMi4uNmJmOTk3YyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAg
LTMwNSw4ICszMDUsMTAgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29u
ZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250
b3VjaGVuZDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5h
YmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoY2FuY2VsOwogCi0gICAgICAgIGF0
dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLCBFbmFibGVkQXRSdW50aW1l
XSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q29uc3RydWN0b3IgRGV2aWNlT3JpZW50YXRpb25FdmVu
dDsKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sIEVu
YWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb25kZXZpY2VvcmllbnRhdGlvbjsKKyAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVu
dGltZV0gRGV2aWNlTW90aW9uRXZlbnRDb25zdHJ1Y3RvciBEZXZpY2VNb3Rpb25FdmVudDsKKyAg
ICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0
UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbmRldmljZW1vdGlvbjsKKyAgICAgICAgYXR0cmlidXRl
IFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVudGltZV0gRGV2aWNl
T3JpZW50YXRpb25FdmVudENvbnN0cnVjdG9yIERldmljZU9yaWVudGF0aW9uRXZlbnQ7CisgICAg
ICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLEVuYWJsZWRBdFJ1
bnRpbWVdIEV2ZW50TGlzdGVuZXIgb25kZXZpY2VvcmllbnRhdGlvbjsKIAogICAgICAgICAvLyBF
dmVudFRhcmdldCBpbnRlcmZhY2UKICAgICAgICAgW0N1c3RvbV0gdm9pZCBhZGRFdmVudExpc3Rl
bmVyKGluIERPTVN0cmluZyB0eXBlLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
IGIvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDk0ZDI5NDAuLjVhYjY0MjUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAg
LTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAK
KyNpbmNsdWRlICJEZXZpY2VNb3Rpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQmFja0Zvcndh
cmRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAi
QmFzZTY0LmgiCkBAIC0xNDEsNiArMTQyLDcgQEAgUGFnZTo6UGFnZShjb25zdCBQYWdlQ2xpZW50
cyYgcGFnZUNsaWVudHMpCiAgICAgLCBtX2dlb2xvY2F0aW9uQ29udHJvbGxlcihuZXcgR2VvbG9j
YXRpb25Db250cm9sbGVyKHRoaXMsIHBhZ2VDbGllbnRzLmdlb2xvY2F0aW9uQ29udHJvbGxlckNs
aWVudCkpCiAjZW5kaWYKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgICwgbV9k
ZXZpY2VNb3Rpb25Db250cm9sbGVyKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRldmljZU1vdGlv
bkVuYWJsZWQoKSA/IG5ldyBEZXZpY2VNb3Rpb25Db250cm9sbGVyKHBhZ2VDbGllbnRzLmRldmlj
ZU1vdGlvbkNsaWVudCkgOiAwKQogICAgICwgbV9kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIo
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGV2aWNlT3JpZW50YXRpb25FbmFibGVkKCkgPyBuZXcg
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKHRoaXMsIHBhZ2VDbGllbnRzLmRldmljZU9yaWVu
dGF0aW9uQ2xpZW50KSA6IDApCiAjZW5kaWYKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXgg
NjJhZjBhNy4uZGRiYWE1NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9X
ZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0zNyw2ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFzcyBEZXZpY2VNb3Rpb25DbGllbnQ7CisgICAg
Y2xhc3MgRGV2aWNlTW90aW9uQ29udHJvbGxlcjsKICAgICBjbGFzcyBCYWNrRm9yd2FyZENvbnRy
b2xsZXI7CiAgICAgY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50OwogICAgIGNsYXNz
IEJhY2tGb3J3YXJkTGlzdDsKQEAgLTEwMSw2ICsxMDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgICAgICAgICAgLCBpbnNwZWN0b3JDbGllbnQoMCkKICAgICAgICAgICAgICAgICAs
IHBsdWdpbkhhbHRlckNsaWVudCgwKQogICAgICAgICAgICAgICAgICwgZ2VvbG9jYXRpb25Db250
cm9sbGVyQ2xpZW50KDApCisgICAgICAgICAgICAgICAgLCBkZXZpY2VNb3Rpb25DbGllbnQoMCkK
ICAgICAgICAgICAgICAgICAsIGRldmljZU9yaWVudGF0aW9uQ2xpZW50KDApCiAgICAgICAgICAg
ICAgICAgLCBiYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQoMCkKICAgICAgICAgICAgICAgICAs
IHNwZWVjaElucHV0Q2xpZW50KDApCkBAIC0xMTMsNiArMTE2LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAgICAgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQ7CiAgICAg
ICAgICAgICBQbHVnaW5IYWx0ZXJDbGllbnQqIHBsdWdpbkhhbHRlckNsaWVudDsKICAgICAgICAg
ICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCogZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xp
ZW50OworICAgICAgICAgICAgRGV2aWNlTW90aW9uQ2xpZW50KiBkZXZpY2VNb3Rpb25DbGllbnQ7
CiAgICAgICAgICAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCogZGV2aWNlT3JpZW50YXRpb25D
bGllbnQ7CiAgICAgICAgICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQqIGJhY2tGb3J3
YXJkQ29udHJvbGxlckNsaWVudDsKICAgICAgICAgICAgIFNwZWVjaElucHV0Q2xpZW50KiBzcGVl
Y2hJbnB1dENsaWVudDsKQEAgLTE3OSw2ICsxODMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlciogZ2VvbG9jYXRpb25Db250cm9sbGVyKCkgY29u
c3QgeyByZXR1cm4gbV9nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZ2V0KCk7IH0KICNlbmRpZgogI2lm
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIERldmljZU1vdGlvbkNvbnRyb2xs
ZXIqIGRldmljZU1vdGlvbkNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2RldmljZU1vdGlv
bkNvbnRyb2xsZXIuZ2V0KCk7IH0KICAgICAgICAgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
KiBkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2RldmljZU9y
aWVudGF0aW9uQ29udHJvbGxlci5nZXQoKTsgfQogI2VuZGlmCiAjaWYgRU5BQkxFKElOUFVUX1NQ
RUVDSCkKQEAgLTMxMyw2ICszMTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIE93
blB0cjxHZW9sb2NhdGlvbkNvbnRyb2xsZXI+IG1fZ2VvbG9jYXRpb25Db250cm9sbGVyOwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICAgICAgT3duUHRyPERldmlj
ZU1vdGlvbkNvbnRyb2xsZXI+IG1fZGV2aWNlTW90aW9uQ29udHJvbGxlcjsKICAgICAgICAgT3du
UHRyPERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcj4gbV9kZXZpY2VPcmllbnRhdGlvbkNvbnRy
b2xsZXI7CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63547</attachid>
            <date>2010-08-04 21:42:05 -0700</date>
            <delta_ts>2010-08-04 22:12:59 -0700</delta_ts>
            <desc>Same as last patch without typo</desc>
            <filename>devicemotion.patch</filename>
            <type>text/plain</type>
            <size>99196</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhYTRjZGNlLi5jYWNiOTAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTAtMDgt
MDQgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisK
KyAgICAgICAgQWRkIERldmljZU1vdGlvbiBhbmQgb25kZXZpY2Vtb3Rpb24gdGVzdGluZyB0bwor
ICAgICAgICB0aGUgZGV2aWNlLW9yaWVudGF0aW9uIHRlc3QsIGFuZCBtYWtlIHN1cmUgdGhlIERl
dmljZU1vdGlvbgorICAgICAgICBpbnRlcmZhY2UgaXMgbm90IHRlc3RlZCBpbiB0aGUgZ2VuZXJp
YyB3aW5kb3cgb2JqZWN0LgorCisgICAgICAgIE5vdGUgdGhhdCBhdCB0aGlzIHRpbWUgdGhlIHNw
ZWNpZmllZCBldmVudCBpcworICAgICAgICBjYWxsZWQgQWNjZWxlcm9tZXRlciwgYnV0IHRoaXMg
d2lsbCBjaGFuZ2UgdG8gRGV2aWNlTW90aW9uCisgICAgICAgIHdpdGggdGhlIGluY2x1c2lvbiBv
ZiBneXJvc2NvcGljIHJlc3VsdHMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6CisKKyAg
ICAgICAgQWRkIHNvbWUgdGVzdHMgZm9yIHRoZSBEZXZpY2VNb3Rpb25FdmVudCBpbnRlcmZhY2Uu
CisKKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwt
ZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9jcmVh
dGUtZXZlbnQuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi9zY3Jp
cHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qczogQWRkZWQuCisgICAgICAgICog
ZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVydHkuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93
LXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGVzZSBhcmUgc2tp
cHBlZCBvbiBNYWMsIFdpbiwgR1RLIGFuZCBRVC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9T
a2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAt
MDgtMDQgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZp
Y2VNb3Rpb24vY3JlYXRlLWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0RldmljZU1vdGlvbi9jcmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmZkYzQwYzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDMwIEBACitUZXN0cyB0aGF0IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCkgd29ya3Mgd2l0aCBE
ZXZpY2VNb3RpbkV2ZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0
eXBlb2YgZXZlbnQgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyAndHlwZScgaW4gZXZlbnQgaXMg
dHJ1ZQorUEFTUyAnYnViYmxlcycgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY2FuY2VsYWJsZScg
aW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAneEFjY2VsZXJhdGlvbicgaW4gZXZlbnQgaXMgdHJ1ZQor
UEFTUyAneUFjY2VsZXJhdGlvbicgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnekFjY2VsZXJhdGlv
bicgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAneFJvdGF0aW9uUmF0ZScgaW4gZXZlbnQgaXMgdHJ1
ZQorUEFTUyAneVJvdGF0aW9uUmF0ZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnelJvdGF0aW9u
UmF0ZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnaW50ZXJ2YWwnIGluIGV2ZW50IGlzIHRydWUK
K1BBU1MgdHlwZW9mIGV2ZW50LnR5cGUgPT0gJ3N0cmluZycgaXMgdHJ1ZQorUEFTUyB0eXBlb2Yg
ZXZlbnQuYnViYmxlcyA9PSAnYm9vbGVhbicgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQuY2Fu
Y2VsYWJsZSA9PSAnYm9vbGVhbicgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQueEFjY2VsZXJh
dGlvbiA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC55QWNjZWxlcmF0aW9u
ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0g
J29iamVjdCcgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQueFJvdGF0aW9uUmF0ZSA9PSAnb2Jq
ZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC55Um90YXRpb25SYXRlID09ICdvYmplY3Qn
IGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gJ29iamVjdCcgaXMg
dHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQuaW50ZXJ2YWwgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9jcmVhdGUtZXZlbnQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9jcmVhdGUtZXZlbnQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDVmOTYyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVudC5odG1sCkBA
IC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY3JlYXRlLWV2ZW50LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0Rldmlj
ZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWFiZTM1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL29wdGlvbmFs
LWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjUgQEAKK1Rlc3RzIHRo
ZSBvcHRpb25hbCBwcm9wZXJ0aWVzIG9mIERldmljZU1vdGlvbkV2ZW50LiBFYWNoIHByb3BlcnR5
IHNob3VsZCBiZSBudWxsIGlmIG5vdCBzZXQsIG9yIHNldCB0byBudWxsIG9yIHVuZGVmaW5lZC4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2V2ZW50ID0gZG9jdW1lbnQuY3JlYXRl
RXZlbnQoJ0RldmljZU1vdGlvbkV2ZW50JykKK1BBU1MgZXZlbnQueEFjY2VsZXJhdGlvbiA9PSBu
dWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BB
U1MgZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueFJvdGF0
aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxs
IGlzIHRydWUKK1BBU1MgZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1Mg
ZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZl
bnQoJycsIGZhbHNlLCBmYWxzZSwgMCwgMSwgMiwgMywgNCwgNSwgNikKK1BBU1MgZXZlbnQueEFj
Y2VsZXJhdGlvbiA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQueUFjY2VsZXJhdGlvbiA9PSAxIGlz
IHRydWUKK1BBU1MgZXZlbnQuekFjY2VsZXJhdGlvbiA9PSAyIGlzIHRydWUKK1BBU1MgZXZlbnQu
eFJvdGF0aW9uUmF0ZSA9PSAzIGlzIHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSA0
IGlzIHRydWUKK1BBU1MgZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSA1IGlzIHRydWUKK1BBU1MgZXZl
bnQuaW50ZXJ2YWwgPT0gNiBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZlbnQoKQor
UEFTUyBldmVudC54QWNjZWxlcmF0aW9uID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC55QWNj
ZWxlcmF0aW9uID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC56QWNjZWxlcmF0aW9uID09IG51
bGwgaXMgdHJ1ZQorUEFTUyBldmVudC54Um90YXRpb25SYXRlID09IG51bGwgaXMgdHJ1ZQorUEFT
UyBldmVudC55Um90YXRpb25SYXRlID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC56Um90YXRp
b25SYXRlID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5pbnRlcnZhbCA9PSBudWxsIGlzIHRy
dWUKK2V2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCBbXSwgW10s
IFtdLCBbXSwgW10sIFtdLCBbXSkKK1BBU1MgZXZlbnQueEFjY2VsZXJhdGlvbiA9PSAwIGlzIHRy
dWUKK1BBU1MgZXZlbnQueUFjY2VsZXJhdGlvbiA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuekFj
Y2VsZXJhdGlvbiA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQueFJvdGF0aW9uUmF0ZSA9PSAwIGlz
IHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQu
elJvdGF0aW9uUmF0ZSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwgPT0gMCBpcyB0
cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZlbnQoJycsIGZhbHNlLCBmYWxzZSwgdW5kZWZp
bmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5l
ZCwgdW5kZWZpbmVkKQorUEFTUyBldmVudC54QWNjZWxlcmF0aW9uID09IG51bGwgaXMgdHJ1ZQor
UEFTUyBldmVudC55QWNjZWxlcmF0aW9uID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC56QWNj
ZWxlcmF0aW9uID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC54Um90YXRpb25SYXRlID09IG51
bGwgaXMgdHJ1ZQorUEFTUyBldmVudC55Um90YXRpb25SYXRlID09IG51bGwgaXMgdHJ1ZQorUEFT
UyBldmVudC56Um90YXRpb25SYXRlID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5pbnRlcnZh
bCA9PSBudWxsIGlzIHRydWUKK2V2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2Us
IGZhbHNlLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJykKK1BBU1MgZXZlbnQueEFjY2VsZXJh
dGlvbiA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQueUFjY2VsZXJhdGlvbiA9PSAwIGlzIHRydWUK
K1BBU1MgZXZlbnQuekFjY2VsZXJhdGlvbiA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQueFJvdGF0
aW9uUmF0ZSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSAwIGlzIHRy
dWUKK1BBU1MgZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50
ZXJ2YWwgPT0gMCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZlbnQoJycsIGZhbHNl
LCBmYWxzZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCkKK1BBU1Mg
ZXZlbnQueEFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueUFjY2VsZXJh
dGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIGlz
IHRydWUKK1BBU1MgZXZlbnQueFJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZl
bnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuelJvdGF0aW9uUmF0
ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCBpcyB0cnVlCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL29wdGlvbmFsLWV2ZW50LXBy
b3BlcnRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9vcHRpb25h
bC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMjEyNjY5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0Rldmlj
ZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1v
dGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0Rl
dmljZU1vdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5iMzE5NjNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCkBAIC0wLDAg
KzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRl
c3RzL2NyZWF0ZS1ldmVudC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9z
Y3JpcHQtdGVzdHMvY3JlYXRlLWV2ZW50LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjE2NzMyOWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9E
ZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcwpAQCAtMCwwICsxLDI5IEBA
CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBkb2N1bWVudC5jcmVhdGVFdmVudCgpIHdvcmtzIHdp
dGggRGV2aWNlTW90aW5FdmVudC4iKTsKKwordmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0RldmljZU1vdGlvbkV2ZW50Jyk7CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50ID09
ICdvYmplY3QnIik7CisKK3Nob3VsZEJlVHJ1ZSgiJ3R5cGUnIGluIGV2ZW50Iik7CitzaG91bGRC
ZVRydWUoIididWJibGVzJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCInY2FuY2VsYWJsZScg
aW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3hBY2NlbGVyYXRpb24nIGluIGV2ZW50Iik7Citz
aG91bGRCZVRydWUoIid5QWNjZWxlcmF0aW9uJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCIn
ekFjY2VsZXJhdGlvbicgaW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3hSb3RhdGlvblJhdGUn
IGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIid5Um90YXRpb25SYXRlJyBpbiBldmVudCIpOwor
c2hvdWxkQmVUcnVlKCInelJvdGF0aW9uUmF0ZScgaW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgi
J2ludGVydmFsJyBpbiBldmVudCIpOworCitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC50eXBl
ID09ICdzdHJpbmcnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC5idWJibGVzID09ICdi
b29sZWFuJyIpOworc2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQuY2FuY2VsYWJsZSA9PSAnYm9v
bGVhbiciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnhBY2NlbGVyYXRpb24gPT0gJ29i
amVjdCciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnlBY2NlbGVyYXRpb24gPT0gJ29i
amVjdCciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gJ29i
amVjdCciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gJ29i
amVjdCciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnlSb3RhdGlvblJhdGUgPT0gJ29i
amVjdCciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gJ29i
amVjdCciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LmludGVydmFsID09ICdvYmplY3Qn
Iik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9vcHRpb25hbC1ldmVu
dC1wcm9wZXJ0aWVzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3Njcmlw
dC10ZXN0cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmFiOWI1M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3BlcnRp
ZXMuanMKQEAgLTAsMCArMSw2OCBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBvcHRpb25hbCBw
cm9wZXJ0aWVzIG9mIERldmljZU1vdGlvbkV2ZW50LiBFYWNoIHByb3BlcnR5IHNob3VsZCBiZSBu
dWxsIGlmIG5vdCBzZXQsIG9yIHNldCB0byBudWxsIG9yIHVuZGVmaW5lZC4iKTsKKwordmFyIGV2
ZW50OworCitldmFsQW5kTG9nKCJldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdEZXZpY2VN
b3Rpb25FdmVudCcpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhBY2NlbGVyYXRpb24gPT0gbnVs
bCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9uID09IG51bGwiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2
ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55Um90YXRp
b25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSBu
dWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09IG51bGwiKTsKKworZXZhbEFu
ZExvZygiZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIDAsIDEs
IDIsIDMsIDQsIDUsIDYpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhBY2NlbGVyYXRpb24gPT0g
MCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9uID09IDEiKTsKK3Nob3VsZEJl
VHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSAyIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhS
b3RhdGlvblJhdGUgPT0gMyIpOworc2hvdWxkQmVUcnVlKCJldmVudC55Um90YXRpb25SYXRlID09
IDQiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSA1Iik7CitzaG91bGRC
ZVRydWUoImV2ZW50LmludGVydmFsID09IDYiKTsKKworZXZhbEFuZExvZygiZXZlbnQuaW5pdERl
dmljZU1vdGlvbkV2ZW50KCkiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueEFjY2VsZXJhdGlvbiA9
PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnlBY2NlbGVyYXRpb24gPT0gbnVsbCIpOwor
c2hvdWxkQmVUcnVlKCJldmVudC56QWNjZWxlcmF0aW9uID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQueFJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnlS
b3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC56Um90YXRpb25SYXRl
ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCIpOworCitl
dmFsQW5kTG9nKCJldmVudC5pbml0RGV2aWNlTW90aW9uRXZlbnQoJycsIGZhbHNlLCBmYWxzZSwg
W10sIFtdLCBbXSwgW10sIFtdLCBbXSwgW10pIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhBY2Nl
bGVyYXRpb24gPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9uID09IDAi
KTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSAwIik7CitzaG91bGRCZVRy
dWUoImV2ZW50LnhSb3RhdGlvblJhdGUgPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55Um90
YXRpb25SYXRlID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSAw
Iik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09IDAiKTsKKworZXZhbEFuZExvZygi
ZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIHVuZGVmaW5lZCwg
dW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVu
ZGVmaW5lZCkiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueEFjY2VsZXJhdGlvbiA9PSBudWxsIik7
CitzaG91bGRCZVRydWUoImV2ZW50LnlBY2NlbGVyYXRpb24gPT0gbnVsbCIpOworc2hvdWxkQmVU
cnVlKCJldmVudC56QWNjZWxlcmF0aW9uID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
eFJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnlSb3RhdGlvblJh
dGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC56Um90YXRpb25SYXRlID09IG51bGwi
KTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCIpOworCitldmFsQW5kTG9n
KCJldmVudC5pbml0RGV2aWNlTW90aW9uRXZlbnQoJycsIGZhbHNlLCBmYWxzZSwgJycsICcnLCAn
JywgJycsICcnLCAnJywgJycpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhBY2NlbGVyYXRpb24g
PT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9uID09IDAiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50
LnhSb3RhdGlvblJhdGUgPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55Um90YXRpb25SYXRl
ID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSAwIik7CitzaG91
bGRCZVRydWUoImV2ZW50LmludGVydmFsID09IDAiKTsKKworZXZhbEFuZExvZygiZXZlbnQuaW5p
dERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIG51bGwsIG51bGwsIG51bGwsIG51
bGwsIG51bGwsIG51bGwsIG51bGwpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhBY2NlbGVyYXRp
b24gPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9uID09IG51bGwi
KTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIik7CitzaG91bGRC
ZVRydWUoImV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVu
dC55Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuelJvdGF0aW9u
UmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09IG51bGwiKTsK
Kword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5q
cyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMvd2luZG93
LXByb3BlcnR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5MTg0OGEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vc2Ny
aXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcwpAQCAtMCwwICsxLDMxIEBACitkZXNjcmlwdGlv
bigiVGVzdHMgdGhhdCB0aGUgd2luZG93LkRldmljZU1vdGlvbkV2ZW50IGFuZCB3aW5kb3cub25k
ZXZpY2Vtb3Rpb24gcHJvcGVydGllcyBhcmUgcHJlc2VudC4iKTsKKworZnVuY3Rpb24gaGFzRGV2
aWNlTW90aW9uRXZlbnRQcm9wZXJ0eSgpCit7CisgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gd2lu
ZG93KSB7CisgICAgICAgIGlmIChwcm9wZXJ0eSA9PSAiRGV2aWNlTW90aW9uRXZlbnQiKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworc2hv
dWxkQmVUcnVlKCJ0eXBlb2Ygd2luZG93LkRldmljZU1vdGlvbkV2ZW50ID09ICdvYmplY3QnIik7
CitzaG91bGRCZVRydWUoImhhc0RldmljZU1vdGlvbkV2ZW50UHJvcGVydHkoKSIpOworc2hvdWxk
QmVUcnVlKCInRGV2aWNlTW90aW9uRXZlbnQnIGluIHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3
aW5kb3cuaGFzT3duUHJvcGVydHkoJ0RldmljZU1vdGlvbkV2ZW50JykiKTsKKworZnVuY3Rpb24g
aGFzT25EZXZpY2VNb3Rpb25Qcm9wZXJ0eSgpCit7CisgICAgZm9yICh2YXIgcHJvcGVydHkgaW4g
d2luZG93KSB7CisgICAgICAgIGlmIChwcm9wZXJ0eSA9PSAib25kZXZpY2Vtb3Rpb24iKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworc2hv
dWxkQmVUcnVlKCJ0eXBlb2Ygd2luZG93Lm9uZGV2aWNlbW90aW9uID09ICdvYmplY3QnIik7Citz
aG91bGRCZVRydWUoImhhc09uRGV2aWNlTW90aW9uUHJvcGVydHkoKSIpOworc2hvdWxkQmVUcnVl
KCInb25kZXZpY2Vtb3Rpb24nIGluIHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFz
T3duUHJvcGVydHkoJ29uZGV2aWNlbW90aW9uJykiKTsKKword2luZG93LnN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rp
b24vd2luZG93LXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0Rl
dmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjE1NTI2NTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE3IEBACitUZXN0cyB0aGF0IHRoZSB3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQgYW5k
IHdpbmRvdy5vbmRldmljZW1vdGlvbiBwcm9wZXJ0aWVzIGFyZSBwcmVzZW50LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0eXBlb2Ygd2luZG93LkRldmljZU1vdGlvbkV2
ZW50ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgaGFzRGV2aWNlTW90aW9uRXZlbnRQcm9wZXJ0
eSgpIGlzIHRydWUKK1BBU1MgJ0RldmljZU1vdGlvbkV2ZW50JyBpbiB3aW5kb3cgaXMgdHJ1ZQor
UEFTUyB3aW5kb3cuaGFzT3duUHJvcGVydHkoJ0RldmljZU1vdGlvbkV2ZW50JykgaXMgdHJ1ZQor
UEFTUyB0eXBlb2Ygd2luZG93Lm9uZGV2aWNlbW90aW9uID09ICdvYmplY3QnIGlzIHRydWUKK1BB
U1MgaGFzT25EZXZpY2VNb3Rpb25Qcm9wZXJ0eSgpIGlzIHRydWUKK1BBU1MgJ29uZGV2aWNlbW90
aW9uJyBpbiB3aW5kb3cgaXMgdHJ1ZQorUEFTUyB3aW5kb3cuaGFzT3duUHJvcGVydHkoJ29uZGV2
aWNlbW90aW9uJykgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1v
dGlvbi93aW5kb3ctcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1v
dGlvbi93aW5kb3ctcHJvcGVydHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5lMTIyMDMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2
aWNlTW90aW9uL3dpbmRvdy1wcm9wZXJ0eS5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvd2luZG93LXByb3BlcnR5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1k
ZXZpY2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRhdGlvbi1leHBlY3RlZC50eHQKaW5k
ZXggNjI4MDFlYi4uMGE0YTVhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRhdGlvbi1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1v
cmllbnRhdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1NyBAQAotVGhpcyB0ZXN0IGR1bXBz
IGFsbCBvZiB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93
LkRldmljZU9yaWVudGF0aW9uRXZlbnQgYW5kIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9i
amVjdHMsIGFsb25nIHdpdGggdGhlaXIgdHlwZXMuCitUaGlzIHRlc3QgZHVtcHMgYWxsIG9mIHRo
ZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIHJlYWNoYWJsZSBmcm9tIHRoZSB3aW5kb3cuRGV2aWNlTW90
aW9uRXZlbnQgd2luZG93Lm9uZGV2aWNlbW90aW9uLCB3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25F
dmVudCBhbmQgd2luZG93Lm9uZGV2aWNlb3JpZW50YXRpb24gb2JqZWN0cywgYWxvbmcgd2l0aCB0
aGVpciB0eXBlcy4gVGhlc2UgcHJvcGVydGllcyBhcmUgY3VycmVudGx5IGd1YXJkZWQgYnkgRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTi4KIAotd2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQg
W2Z1bmN0aW9uXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50IFtvYmplY3QgRGV2aWNlTW90aW9u
RXZlbnRDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUgW29i
amVjdCBEZXZpY2VNb3Rpb25FdmVudFByb3RvdHlwZV0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVu
dC5wcm90b3R5cGUuQVRfVEFSR0VUIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQu
cHJvdG90eXBlLkJMVVIgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5
cGUuQlVCQkxJTkdfUEhBU0UgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90
b3R5cGUuQ0FQVFVSSU5HX1BIQVNFIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQu
cHJvdG90eXBlLkNIQU5HRSBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3Rv
dHlwZS5DTElDSyBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5E
QkxDTElDSyBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5EUkFH
RFJPUCBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5GT0NVUyBb
bnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5LRVlET1dOIFtudW1i
ZXJdCit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLktFWVBSRVNTIFtudW1iZXJd
Cit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLktFWVVQIFtudW1iZXJdCit3aW5k
b3cuRGV2aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLk1PVVNFRE9XTiBbbnVtYmVyXQord2luZG93
LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURSQUcgW251bWJlcl0KK3dpbmRvdy5E
ZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuTU9VU0VNT1ZFIFtudW1iZXJdCit3aW5kb3cuRGV2
aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLk1PVVNFT1VUIFtudW1iZXJdCit3aW5kb3cuRGV2aWNl
TW90aW9uRXZlbnQucHJvdG90eXBlLk1PVVNFT1ZFUiBbbnVtYmVyXQord2luZG93LkRldmljZU1v
dGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRVVQIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlTW90aW9u
RXZlbnQucHJvdG90eXBlLlNFTEVDVCBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50
LnByb3RvdHlwZS5pbml0RGV2aWNlTW90aW9uRXZlbnQgW2Z1bmN0aW9uXQord2luZG93LkRldmlj
ZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5pbml0RXZlbnQgW2Z1bmN0aW9uXQord2luZG93LkRldmlj
ZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdCBbZnVuY3Rpb25dCit3aW5kb3cu
RGV2aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiBbZnVu
Y3Rpb25dCit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlv
biBbZnVuY3Rpb25dCit3aW5kb3cub25kZXZpY2Vtb3Rpb24gW251bGxdCit3aW5kb3cuRGV2aWNl
T3JpZW50YXRpb25FdmVudCBbb2JqZWN0IERldmljZU9yaWVudGF0aW9uRXZlbnRDb25zdHJ1Y3Rv
cl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZSBbb2JqZWN0IERldmlj
ZU9yaWVudGF0aW9uRXZlbnRQcm90b3R5cGVdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVu
dC5wcm90b3R5cGUuQVRfVEFSR0VUIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25F
dmVudC5wcm90b3R5cGUuQkxVUiBbbnVtYmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZl
bnQucHJvdG90eXBlLkJVQkJMSU5HX1BIQVNFIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlT3JpZW50
YXRpb25FdmVudC5wcm90b3R5cGUuQ0FQVFVSSU5HX1BIQVNFIFtudW1iZXJdCit3aW5kb3cuRGV2
aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuQ0hBTkdFIFtudW1iZXJdCit3aW5kb3cuRGV2
aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuQ0xJQ0sgW251bWJlcl0KK3dpbmRvdy5EZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5EQkxDTElDSyBbbnVtYmVyXQord2luZG93LkRl
dmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkRSQUdEUk9QIFtudW1iZXJdCit3aW5kb3cu
RGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuRk9DVVMgW251bWJlcl0KK3dpbmRvdy5E
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5LRVlET1dOIFtudW1iZXJdCit3aW5kb3cu
RGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuS0VZUFJFU1MgW251bWJlcl0KK3dpbmRv
dy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5LRVlVUCBbbnVtYmVyXQord2luZG93
LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLk1PVVNFRE9XTiBbbnVtYmVyXQord2lu
ZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLk1PVVNFRFJBRyBbbnVtYmVyXQor
d2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLk1PVVNFTU9WRSBbbnVtYmVy
XQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLk1PVVNFT1VUIFtudW1i
ZXJdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuTU9VU0VPVkVSIFtu
dW1iZXJdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuTU9VU0VVUCBb
bnVtYmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLlNFTEVDVCBb
bnVtYmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLmluaXREZXZp
Y2VPcmllbnRhdGlvbkV2ZW50IFtmdW5jdGlvbl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2
ZW50LnByb3RvdHlwZS5pbml0RXZlbnQgW2Z1bmN0aW9uXQord2luZG93LkRldmljZU9yaWVudGF0
aW9uRXZlbnQucHJvdG90eXBlLnByZXZlbnREZWZhdWx0IFtmdW5jdGlvbl0KK3dpbmRvdy5EZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24gW2Z1
bmN0aW9uXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLnN0b3BQcm9w
YWdhdGlvbiBbZnVuY3Rpb25dCiB3aW5kb3cub25kZXZpY2VvcmllbnRhdGlvbiBbbnVsbF0KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
LWRldmljZS1vcmllbnRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRhdGlvbi5odG1sCmluZGV4IDk3ZTAwYmIuLjdl
ODNmYjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJv
cGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKQEAgLTEs
NCArMSw1IEBACi08cD5UaGlzIHRlc3QgZHVtcHMgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIHRoYXQg
YXJlIHJlYWNoYWJsZSBmcm9tIHRoZSB3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudCBhbmQg
d2luZG93Lm9uZGV2aWNlb3JpZW50YXRpb24gb2JqZWN0cywgYWxvbmcgd2l0aCB0aGVpciB0eXBl
cy48L3A+Cis8cD5UaGlzIHRlc3QgZHVtcHMgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJl
IHJlYWNoYWJsZSBmcm9tIHRoZSB3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQgd2luZG93Lm9uZGV2
aWNlbW90aW9uLCB3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudCBhbmQgd2luZG93Lm9uZGV2
aWNlb3JpZW50YXRpb24gb2JqZWN0cywgYWxvbmcgd2l0aCB0aGVpciB0eXBlcy4KKyAgVGhlc2Ug
cHJvcGVydGllcyBhcmUgY3VycmVudGx5IGd1YXJkZWQgYnkgRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTi48L3A+CiA8aHI+CiA8cHJlIGlkPSJwcmUiPjwvcHJlPgogCkBAIC04OCw2ICs4OSw4IEBA
IGZ1bmN0aW9uIGxvZ1Byb3BlcnRpZXMob2JqZWN0LCBvYmplY3ROYW1lKQogICAgIH0KIH0KIAor
bG9nVmFsdWUoJ3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCcpOworbG9nVmFsdWUoJ3dpbmRvdy5v
bmRldmljZW1vdGlvbicpOwogbG9nVmFsdWUoJ3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50
Jyk7CiBsb2dWYWx1ZSgnd2luZG93Lm9uZGV2aWNlb3JpZW50YXRpb24nKTsKIGZsdXNoTG9nKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRp
ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5o
dG1sCmluZGV4IGMxMzVhOWIuLmQwMGQxYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sCkBAIC04NSw2ICs4NSw4IEBAIHZhciBf
X3NraXBfXyA9IHsKICAgICAid2luZG93LkZpbGVSZWFkZXIiIDogMSwKICAgICAid2luZG93LkRl
dmljZU9yaWVudGF0aW9uRXZlbnQiIDogMSwKICAgICAid2luZG93Lm9uZGV2aWNlb3JpZW50YXRp
b24iIDogMSwKKyAgICAid2luZG93LkRldmljZU1vdGlvbkV2ZW50IiA6IDEsCisgICAgIndpbmRv
dy5vbmRldmljZW1vdGlvbiIgOiAxLAogICAgICJ3aW5kb3cud2Via2l0UGVyZm9ybWFuY2UiIDog
MSwKIAogICAgIC8vIHNob3dNb2RhbERpYWxvZyBpcyBub3QgaW1wbGVtZW50ZWQgb24gYWxsIHBs
YXRmb3JtcyBpbiBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXgg
N2VhMTcwOC4uNmQ1M2Y2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAgLTEwODEsNiAr
MTA4MSw5IEBAIGZhc3QvZG9tL2NsaWVudC13aWR0aC1oZWlnaHQtcXVpcmtzLmh0bWwKIGZhc3Qv
ZG9tL2NsaWVudC13aWR0aC1oZWlnaHQuaHRtbAogZmFzdC9kb20vY3NzVGFyZ2V0LWNyYXNoLmh0
bWwKIGZhc3QvZG9tL2ZyYW1lLWxvYWRpbmctdmlhLWRvY3VtZW50LXdyaXRlLmh0bWwKK2Zhc3Qv
ZG9tL0RldmljZU1vdGlvbi9jcmVhdGUtZXZlbnQuaHRtbAorZmFzdC9kb20vRGV2aWNlTW90aW9u
L29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbAorZmFzdC9kb20vRGV2aWNlTW90aW9uL3dp
bmRvdy1wcm9wZXJ0eS5odG1sCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9iYXNpYy1vcGVy
YXRpb24uaHRtbAogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vY3JlYXRlLWV2ZW50Lmh0bWwK
IGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCAxOTdkNDk3Li4xZTNiNjVjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtMjQwLDcgKzI0MCw4IEBAIGNhbnZhcy9waGlsaXAvdGVz
dHMvdHlwZS5wcm90b3R5cGUuaHRtbAogIyBJbmRleGVkREIgaXMgbm90IHlldCBlbmFibGVkLgog
c3RvcmFnZS9pbmRleGVkZGIKIAotIyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IERldmljZU9y
aWVudGF0aW9uLgorIyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IERldmljZU1vdGlvbiBvciBE
ZXZpY2VPcmllbnRhdGlvbi4KK2Zhc3QvZG9tL0RldmljZU1vdGlvbgogZmFzdC9kb20vRGV2aWNl
T3JpZW50YXRpb24KIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3Jp
ZW50YXRpb24uaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCAwYjI0NTg3Li5jNzAw
ZmI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTc4LDcgKzc4LDggQEAgcGx1Z2lucy9j
bGlja2luZy1taXNzaW5nLXBsdWdpbi1maXJlcy1kZWxlZ2F0ZS5odG1sCiAjICAgICAgIEZlYXR1
cmUgbm90IHN1cHBvcnRlZC4uLiB5ZXQKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKIAotIyBUaGlz
IHBvcnQgZG9lc24ndCBzdXBwb3J0IERldmljZU9yaWVudGF0aW9uLgorIyBUaGlzIHBvcnQgZG9l
c24ndCBzdXBwb3J0IERldmljZU1vdGlvbiBvciBEZXZpY2VPcmllbnRhdGlvbi4KK2Zhc3QvZG9t
L0RldmljZU1vdGlvbgogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24KIGZhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9Ta2lwcGVkCmluZGV4IDA4NGFjYWIuLjM5NmQzYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9T
a2lwcGVkCkBAIC04NzEsNyArODcxLDggQEAgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUt
c3VnZ2VzdGlvbnMuaHRtbAogIyBJbmRleGVkREIgaXMgbm90IHlldCBlbmFibGVkLgogc3RvcmFn
ZS9pbmRleGVkZGIKIAotIyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IERldmljZU9yaWVudGF0
aW9uLgorIyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IERldmljZU1vdGlvbiBvciBEZXZpY2VP
cmllbnRhdGlvbi4KK2Zhc3QvZG9tL0RldmljZU1vdGlvbgogZmFzdC9kb20vRGV2aWNlT3JpZW50
YXRpb24KIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRp
b24uaHRtbAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5n
cy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCmluZGV4IGJlYTJl
MWQuLjFmNTY1ZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRp
bmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCkBAIC0x
MDQsNiArMTA0LDcgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU0RPTUNv
cmVFeGNlcHRpb24uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNET01JbXBsZW1lbnRh
dGlvbi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9KU0RPTVN0cmluZ0xpc3QuaCBcCisg
ICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNEZXZpY2VNb3Rpb25FdmVudC5oIFwKICAgICAkKGlu
dGVybWVkaWF0ZXMpL2RvbS9KU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBcCiAgICAgJChpbnRl
cm1lZGlhdGVzKS9kb20vSlNEb2N1bWVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2RvbS9K
U0RvY3VtZW50RnJhZ21lbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZl
ZC52OGJpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawpp
bmRleCBmN2ZhOGQ2Li40YjU2OGZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZl
ZC52OGJpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3Mu
bWsKQEAgLTg2LDYgKzg2LDcgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4RE9NQ29yZUV4Y2VwdGlvbi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdz
L1Y4RE9NSW1wbGVtZW50YXRpb24uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9W
OERPTVN0cmluZ0xpc3QuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERldmlj
ZU1vdGlvbkV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhEZXZpY2VP
cmllbnRhdGlvbkV2ZW50LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhEb2N1
bWVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RG9jdW1lbnRGcmFnbWVu
dC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNv
cmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawppbmRleCAwMWI1YTE2Li43MDEzMDY2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lk
LmpzY2JpbmRpbmdzLm1rCkBAIC05Myw2ICs5Myw3IEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJ
YmluZGluZ3MvanMvSlNEYXRhYmFzZUN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGVkaWNh
dGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlm
aWNhdGlvbnNDdXN0b20uY3BwIFwKKwliaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3Vz
dG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNw
cCBcCiAJYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pT
RWxlbWVudEN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLm1rIGIvV2Vi
Q29yZS9BbmRyb2lkLm1rCmluZGV4IGY3OWFhNzQuLmM1ZWJkZmIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQW5kcm9pZC5taworKysgYi9XZWJDb3JlL0FuZHJvaWQubWsKQEAgLTExNyw2ICsxMTcsOSBA
QCBMT0NBTF9TUkNfRklMRVMgOj0gJChMT0NBTF9TUkNfRklMRVMpIFwKIAlkb20vRE9NSW1wbGVt
ZW50YXRpb24uY3BwIFwKIAlkb20vRE9NU3RyaW5nTGlzdC5jcHAgXAogCWRvbS9EZWNvZGVkRGF0
YURvY3VtZW50UGFyc2VyLmNwcCBcCisJZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIFwK
Kwlkb20vRGV2aWNlTW90aW9uRGF0YS5jcHAgXAorCWRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAg
XAogCWRvbS9Eb2N1bWVudC5jcHAgXAogCWRvbS9Eb2N1bWVudEZyYWdtZW50LmNwcCBcCiAJZG9t
L0RvY3VtZW50UGFyc2VyLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQudjhiaW5k
aW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCmluZGV4IGIzNmJlYWIuLjcw
NzQ2MzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCisrKyBiL1dl
YkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCkBAIC0xMDgsNiArMTA4LDcgQEAgTE9DQUxfU1JD
X0ZJTEVTICs9IFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhYmFzZUNhbGxiYWNrLmNwcCBc
CiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VDdXN0b20uY3BwIFwKIAliaW5kaW5ncy92
OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBcCisJYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy92OC9j
dXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1
bWVudExvY2F0aW9uQ3VzdG9tLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBmNjExNTk0Li5kMzNhNzEzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTE0NCw2ICsxNDQsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBkb20vQ29t
bWVudC5pZGwKICAgICBkb20vQ29tcG9zaXRpb25FdmVudC5pZGwKICAgICBkb20vQ3VzdG9tRXZl
bnQuaWRsCisgICAgZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbAogICAgIGRvbS9EZXZpY2VPcmll
bnRhdGlvbkV2ZW50LmlkbAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmlkbAogICAgIGRvbS9E
b2N1bWVudC5pZGwKQEAgLTU5NCw2ICs1OTUsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
YmluZGluZ3MvanMvSlNEYXRhR3JpZERhdGFTb3VyY2UuY3BwCiAgICAgYmluZGluZ3MvanMvSlNE
ZWJ1Z1dyYXBwZXJTZXQuY3BwCiAgICAgYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250
ZXh0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20u
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNE
T01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcApAQCAtNzkwLDYgKzc5Miw5IEBAIFNFVChXZWJD
b3JlX1NPVVJDRVMKICAgICBkb20vQ3VzdG9tRXZlbnQuY3BwCiAgICAgZG9tL0RhdGFzZXRET01T
dHJpbmdNYXAuY3BwCiAgICAgZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwCisgICAg
ZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwCisgICAgZG9tL0RldmljZU1vdGlvbkRhdGEu
Y3BwCisgICAgZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcAogICAgIGRvbS9EZXZpY2VPcmllbnRh
dGlvbi5jcHAKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAogICAgIGRv
bS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyOGIwMDVlLi5kNzRhYzM2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc4
IEBACisyMDEwLTA4LTA0ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NjUKKyAgICAgICAgSW1wbGVtZW50IEFjY2VsZXJv
bWV0ZXJFdmVudAorCisgICAgICAgIEltcGxlbWVudCB0aGUgRGV2aWNlTW90aW9uRXZlbnQgaW50
ZXJmYWNlIGFzIGRlZmluZWQKKyAgICAgICAgaW4gaHR0cDovL2Rldi53My5vcmcvZ2VvL2FwaS9z
cGVjLXNvdXJjZS1vcmllbnRhdGlvbi5odG1sCisgICAgICAgIFRoaXMgaXMgY3VycmVudGx5IGFu
IGVtcHR5IGltcGxlbWVudGF0aW9uLCBpbiB0aGF0IHRoZXJlIGlzCisgICAgICAgIG5vIG1vdGlv
biBjbGllbnQgY29ubmVjdGVkIC0gdGhlIHBsYXRmb3JtIGltcGxlbWVudGF0aW9ucworICAgICAg
ICB3aWxsIG5lZWQgdG8gZG8gdGhhdC4KKworICAgICAgICBOb3RlIGFsc28gdGhhdCBhdCB0aGlz
IHRpbWUgdGhlIHNwZWNpZmllZCBldmVudCBpcworICAgICAgICBjYWxsZWQgQWNjZWxlcm9tZXRl
ciwgYnV0IHRoaXMgd2lsbCBjaGFuZ2UgdG8gRGV2aWNlTW90aW9uCisgICAgICAgIHdpdGggdGhl
IGluY2x1c2lvbiBvZiBneXJvc2NvcGljIHJlc3VsdHMuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
ZG9tL0RldmljZU1vdGlvbi9jcmVhdGUtZXZlbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9k
b20vRGV2aWNlTW90aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9kb20vRGV2aWNlTW90aW9uL3dpbmRvdy1wcm9wZXJ0eS5odG1sCisKKyAgICAg
ICAgKiBBbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5k
ZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoK
KyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIEFuZHJvaWQudjhiaW5kaW5ncy5tazoK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAg
LSBBZGQgbmV3IGZpbGVzIGZvciBEZXZpY2VNb3Rpb25FdmVudCBidWlsZCBzdXBwb3J0CisgICAg
ICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAg
ICAtIG5ldyBydW50aW1lIGZsYWdzIGZvciBkZXZpY2UgbW90aW9uCisgICAgICAgICogYmluZGlu
Z3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisg
ICAgICAgICAgLSBDdXN0b20gSlMgYmluZGluZyB0byB0cmFuc2xhdGUgcHJvcGVydHkgYWNjZXNz
IHRocm91Z2gKKyAgICAgICAgICAgIHRvIHRoZSBEZXZpY2VNb3Rpb25EYXRhIG9iamVjdCB0aGF0
IHRoZSBFdmVudCBob2xkcworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3Bw
OgorICAgICAgICAgIC0gSW5jbHVkZSB0aGUgY3VzdG9tIGNvZGUgZm9yIERldmljZU1vdGlvbkV2
ZW50CisgICAgICAgICogZG9tL0RldmljZU1vdGlvbkNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAg
ICAtIFB1cmUgdmlydHVhbCBjbGllbnQgZm9yIERldmljZU1vdGlvbiBhY2Nlc3MKKyAgICAgICAg
KiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHA6IEFkZGVkLgorICAgICAgICAqIGRvbS9E
ZXZpY2VNb3Rpb25Db250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAgIC0gQ29udHJvbGxlciBj
bGFzcyB0aGF0IG1hbmFnZXMgZXZlbnQgZGlzcGF0Y2gKKyAgICAgICAgKiBkb20vRGV2aWNlTW90
aW9uRGF0YS5jcHA6IEFkZGVkLgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25EYXRhLmg6IEFk
ZGVkLgorICAgICAgICAgIC0gUmVwcmVzZW50YXRpb24gb2YgdGhlIGRhdGEgdGhhdCBjb21lcyBm
cm9tIGEgZGV2aWNlIG1vdGlvbgorICAgICAgICAgICAgY2xpZW50IHRoYXQgaXMgdGhlbiB1c2Vk
IHdpdGhpbiB0aGUgZXZlbnQuCisgICAgICAgICogZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcDog
QWRkZWQuCisgICAgICAgICogZG9tL0RldmljZU1vdGlvbkV2ZW50Lmg6IEFkZGVkLgorICAgICAg
ICAqIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGw6IEFkZGVkLgorICAgICAgICAgIC0gVGhlIGFj
dHVhbCBldmVudCBpbXBsZW1lbnRhdGlvbgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAgIC0gVXBk
YXRlIGNyZWF0ZUV2ZW50IHRvIGFsbG93ICJkZXZpY2Vtb3Rpb24iIGV2ZW50cworICAgICAgICAq
IGRvbS9FdmVudC5jcHA6CisgICAgICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAgICAgLSBpc0Rl
dmljZU1vdGlvbkV2ZW50IHZpcnR1YWwgbWV0aG9kCisgICAgICAgICogZG9tL0V2ZW50TmFtZXMu
aDoKKyAgICAgICAgICAtIG5ldyAiZGV2aWNlbW90aW9uIiBldmVudCB0eXBlCisgICAgICAgICog
cGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjphZGRFdmVu
dExpc3RlbmVyKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2Uv
RE9NV2luZG93LmlkbDoKKyAgICAgICAgICAtIGFsbG93IGNyZWF0aW9uIG9mICJkZXZpY2Vtb3Rp
b24iIGV2ZW50cyBhbmQgcGFzcyByZWdpc3RyYXRpb24KKyAgICAgICAgICAgIHRocm91Z2ggdG8g
dGhlIFBhZ2UncyBkZXZpY2VNb3Rpb25Db250cm9sbGVyIG9iamVjdAorICAgICAgICAqIHBhZ2Uv
UGFnZS5jcHA6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICAgLSBuZXcgUGFnZUNs
aWVudCBmb3IgZGV2aWNlTW90aW9uQ29udHJvbGxlcgorCiAyMDEwLTA4LTA0ICBaaGVueWFvIE1v
ICA8em1vQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQppbmRleCBlMjYzYzdlLi4wMmQ2ZWZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0x
MjcsNiArMTI3LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRGF0YWJhc2UgXAogICAgIERhdGFi
YXNlQ2FsbGJhY2sgXAogICAgIERhdGFiYXNlU3luYyBcCisgICAgRGV2aWNlTW90aW9uRXZlbnQg
XAogICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgXAogICAgIERvY3VtZW50IFwKICAgICBEb2N1
bWVudEZyYWdtZW50IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJD
b3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDNmM2MwZGIuLjA0NWQ0MzkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTgx
LDYgKzE4MSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0RhdGFHcmlkQ29sdW1uTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNE
ZXZpY2VNb3Rpb25FdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VN
b3Rpb25FdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNlT3JpZW50YXRp
b25FdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEb2N1bWVudC5jcHAgXApAQCAt
NjcxLDYgKzY3Myw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd1NoZWxsLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVy
LmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaCBcCisJV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RWxlbWVudEN1c3RvbS5jcHAgXApAQCAtMTAyMSw2ICsxMDI0LDEzIEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJV2ViQ29yZS9kb20vRGF0YXNldERPTVN0cmluZ01hcC5oIFwKIAlXZWJDb3JlL2Rv
bS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCBcCiAJV2ViQ29yZS9kb20vRGVjb2RlZERh
dGFEb2N1bWVudFBhcnNlci5oIFwKKwlXZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaCBc
CisJV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgXAorCVdlYkNvcmUvZG9t
L0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRGF0
YS5jcHAgXAorCVdlYkNvcmUvZG9tL0RldmljZU1vdGlvbkRhdGEuaCBcCisJV2ViQ29yZS9kb20v
RGV2aWNlTW90aW9uRXZlbnQuY3BwIFwKKwlXZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5o
IFwKIAlXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAgXAogCVdlYkNvcmUvZG9tL0Rl
dmljZU9yaWVudGF0aW9uLmggXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50
LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQppbmRleCBkNWVkM2QyLi4wOWYyNzU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNDMsNiArNDMsNyBAQAogICAgICAg
ICAgICAgJ2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01T
dHJpbmdMaXN0LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RPTVN0cmluZ01hcC5pZGwnLAorICAg
ICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9E
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50Lmlk
bCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsJywKQEAgLTU0OCw2ICs1
NDksNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4
dEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCcsCisg
ICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5j
cHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwJywK
QEAgLTc0NCw2ICs3NDYsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERh
dGFiYXNlU3luY0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OERhdGFHcmlkQ29sdW1uTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKKyAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudExvY2F0
aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NRm9y
bURhdGFDdXN0b20uY3BwJywKQEAgLTExMjcsNiArMTEzMCwxMyBAQAogICAgICAgICAgICAgJ2Rv
bS9EYXRhc2V0RE9NU3RyaW5nTWFwLmgnLAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURv
Y3VtZW50UGFyc2VyLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQ
YXJzZXIuaCcsCisgICAgICAgICAgICAnZG9tL0RldmljZU1vdGlvbkNsaWVudC5oJywKKyAgICAg
ICAgICAgICdkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAnLAorICAgICAgICAgICAgJ2Rv
bS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmgnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rp
b25EYXRhLmNwcCcsCisgICAgICAgICAgICAnZG9tL0RldmljZU1vdGlvbkRhdGEuaCcsCisgICAg
ICAgICAgICAnZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9tL0Rl
dmljZU1vdGlvbkV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbi5j
cHAnLAogICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oJywKICAgICAgICAgICAg
ICdkb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAxMmQwNTZkLi45NmExYzYyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8K
QEAgLTMwMSw2ICszMDEsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBiaW5kaW5ncy9qcy9KU0RhdGFH
cmlkRGF0YVNvdXJjZS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNw
cCBcCiAgICAgYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAgXAor
ICAgIGJpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIFwKICAgICBiaW5k
aW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5n
cy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNET01Gb3JtRGF0
YUN1c3RvbS5jcHAgXApAQCAtNDc5LDYgKzQ4MCw5IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9D
U1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbi5jcHAgXAogICAgIGRvbS9DdXN0b21FdmVudC5j
cHAgXAogICAgIGRvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCBcCisgICAgZG9tL0Rl
dmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIFwKKyAgICBkb20vRGV2aWNlTW90aW9uRGF0YS5jcHAg
XAorICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAgXAogICAgIGRvbS9EZXZpY2VPcmllbnRh
dGlvbi5jcHAgXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwIFwKICAg
ICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgXApAQCAtMTI0Myw2ICsxMjQ3LDEwIEBA
IEhFQURFUlMgKz0gXAogICAgIGRvbS9DU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbi5oIFwK
ICAgICBkb20vQ3VzdG9tRXZlbnQuaCBcCiAgICAgZG9tL2RlZmF1bHQvUGxhdGZvcm1NZXNzYWdl
UG9ydENoYW5uZWwuaCBcCisgICAgZG9tL0RldmljZU1vdGlvbkNsaWVudC5oIFwKKyAgICBkb20v
RGV2aWNlTW90aW9uRGF0YS5oIFwKKyAgICBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIFwK
KyAgICBkb20vRGV2aWNlTW90aW9uRXZlbnQuaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9u
LmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIFwKICAgICBkb20vRGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKaW5kZXggYzBkYzNiZS4uMjA5ZjFiMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCkBAIC0yOTA1LDYgKzI5MDUsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0RldmljZU1vdGlvbkV2ZW50LmNwcCINCisJCQkJPg0KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVi
dWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4N
CisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJ
TmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
KwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0
aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RldmljZU1vdGlvbkV2ZW50LmgiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXNcSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50
LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0zMjY1Myw2ICszMjcw
OSwzNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxkb21cRGV2aWNlTW90aW9uQ2xpZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlTW90aW9uQ29udHJvbGxlci5j
cHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
Llxkb21cRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU1vdGlvbkRhdGEuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XERldmljZU1vdGlvbkRhdGEuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VNb3Rpb25FdmVudC5jcHAiDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlTW90
aW9uRXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbi5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+
DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmNWI5MzAz
Li5kNzgyZDI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNzUwLDYgKzc1MCwxNiBAQAogCQkzMUMwRkY0QzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlv
bkV2ZW50LmggKi87IH07CiAJCTMxQzBGRjREMEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRU
cmFuc2l0aW9uRXZlbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2
ZW50Lm1tICovOyB9OwogCQkzMUMwRkY0RTBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJh
bnNpdGlvbkV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxQzBGRjQ4MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0
aW9uRXZlbnRJbnRlcm5hbC5oICovOyB9OworCQkzMUZCMUE1NzEyMEE1RDA2MDBEQzAyQTAgLyog
RGV2aWNlTW90aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUZCMUE0RjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50
LmggKi87IH07CisJCTMxRkIxQTU4MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250
cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxRkIxQTUwMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCAq
LzsgfTsKKwkJMzFGQjFBNTkxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIx
QTUxMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi87IH07CisJ
CTMxRkIxQTVBMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUyMTIwQTVEMDYw
MERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmNwcCAqLzsgfTsKKwkJMzFGQjFBNUIxMjBBNUQw
NjAwREMwMkEwIC8qIERldmljZU1vdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUzMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VN
b3Rpb25EYXRhLmggKi87IH07CisJCTMxRkIxQTVDMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VN
b3Rpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMUZCMUE1NDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRXZlbnQuY3BwICov
OyB9OworCQkzMUZCMUE1RDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRXZlbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTU1MTIw
QTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5oICovOyB9OworCQkzMUZCMUE2NTEy
MEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2MzEyMEE1RDNGMDBEQzAyQTAg
LyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi87IH07CisJCTMxRkIxQTY2MTIwQTVEM0YwMERD
MDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2NDEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VN
b3Rpb25FdmVudC5oICovOyB9OworCQkzMUZCMUE2QzEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZp
Y2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25F
dmVudEN1c3RvbS5jcHAgKi87IH07CiAJCTMzMTRBQ0VCMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4
Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzMxNEFDRTkxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5jcHAgKi87
IH07CiAJCTMzMTRBQ0VDMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMTRBQ0VBMTA4OTIw
ODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLzsgfTsKIAkJMzM1MDNDOUExMDE3OUE3
NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvblByZXNlbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOTkxMDE3OUE3NDAwM0I0N0UxIC8qIE5v
dGlmaWNhdGlvblByZXNlbnRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC02NDY5LDYgKzY0NzksMTcgQEAKIAkJMzFDMEZGNDYwRTRDRUZERDAw
N0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDcwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5z
aXRpb25FdmVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERP
TVdlYktpdFRyYW5zaXRpb25FdmVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzFDMEZGNDgwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVy
bmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRp
b25FdmVudEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTRG
MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxRkIxQTUwMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250
cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmljZU1v
dGlvbkNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUZCMUE1
MTEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTUyMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VN
b3Rpb25EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmlj
ZU1vdGlvbkRhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUZCMUE1MzEy
MEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTMxRkIxQTU0MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VNb3Rpb25FdmVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTU1MTIwQTVEMDYwMERDMDJB
MCAvKiBEZXZpY2VNb3Rpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBEZXZpY2VNb3Rpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUZC
MUE1NjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRXZlbnQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IERldmljZU1vdGlvbkV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25F
dmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTY0MTIwQTVEM0Yw
MERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEZXZpY2VNb3Rp
b25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMTRBQ0U5
MTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNFeGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzMxNEFDRUExMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFz
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4Y2VwdGlvbkJhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzRjcwNEUwRkI0OUNBMjAwOEUxMkE2IC8q
IE5vdGlmaWNhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9uLmlk
bDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE0NzM2LDYgKzE0NzU3LDggQEAKIAkJCQk5M0Y5QjZERjBCQTBGQjcy
MDA4NTQwNjQgLyogSlNDb21tZW50LmggKi8sCiAJCQkJRkU2RkQ0OEIwRjY3NkU5MzAwMDkyODcz
IC8qIEpTQ29vcmRpbmF0ZXMuY3BwICovLAogCQkJCUZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAv
KiBKU0Nvb3JkaW5hdGVzLmggKi8sCisJCQkJMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8qIEpT
RGV2aWNlTW90aW9uRXZlbnQuY3BwICovLAorCQkJCTMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAv
KiBKU0RldmljZU1vdGlvbkV2ZW50LmggKi8sCiAJCQkJNTlBODYwMDUxMTlEQUY3RjAwREVGMUVG
IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgKi8sCiAJCQkJNTlBODYwMDcxMTlEQUZB
MTAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oICovLAogCQkJCTY1OUREQzgw
MDlFMTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmNwcCAqLywKQEAgLTE1OTE4LDYgKzE1OTQx
LDcgQEAKIAkJCQlCQzc3RDE1MTBGRjE5QzczMDA3MDg4N0IgLyogSlNEYXRhR3JpZENvbHVtbkxp
c3RDdXN0b20uY3BwICovLAogCQkJCTQxNjJBNDUzMTAxMTQ1RTMwMERGRjNFRCAvKiBKU0RlZGlj
YXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwICovLAogCQkJCTMzNTAzQ0JGMTAxNzlDMUEwMDNC
NDdFMSAvKiBKU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcCAqLywKKwkJCQkzMUZCMUE2
QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi8sCiAJ
CQkJNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1
c3RvbS5jcHAgKi8sCiAJCQkJNDlDN0JBOEMxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9jdW1lbnRD
dXN0b20uY3BwICovLAogCQkJCTFBQzIyNjE2MERCNjlGNzQwMDg5QjY2OSAvKiBKU0RPTUFwcGxp
Y2F0aW9uQ2FjaGVDdXN0b20uY3BwICovLApAQCAtMTcwNjgsNiArMTcwOTIsMTQgQEAKIAkJCQlC
QzY0NjQxQTExRDdGNDE2MDA2NDU1QjAgLyogRGF0YXNldERPTVN0cmluZ01hcC5oICovLAogCQkJ
CUE4QzIyOEEwMTFENTcyMkUwMEQ1QTdEMyAvKiBEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNw
cCAqLywKIAkJCQlBOEMyMjg5RjExRDU3MjJFMDBENUE3RDMgLyogRGVjb2RlZERhdGFEb2N1bWVu
dFBhcnNlci5oICovLAorCQkJCTMxRkIxQTRGMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rp
b25DbGllbnQuaCAqLywKKwkJCQkzMUZCMUE1MDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90
aW9uQ29udHJvbGxlci5jcHAgKi8sCisJCQkJMzFGQjFBNTExMjBBNUQwNjAwREMwMkEwIC8qIERl
dmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLywKKwkJCQkzMUZCMUE1MjEyMEE1RDA2MDBEQzAyQTAg
LyogRGV2aWNlTW90aW9uRGF0YS5jcHAgKi8sCisJCQkJMzFGQjFBNTMxMjBBNUQwNjAwREMwMkEw
IC8qIERldmljZU1vdGlvbkRhdGEuaCAqLywKKwkJCQkzMUZCMUE1NDEyMEE1RDA2MDBEQzAyQTAg
LyogRGV2aWNlTW90aW9uRXZlbnQuY3BwICovLAorCQkJCTMxRkIxQTU1MTIwQTVEMDYwMERDMDJB
MCAvKiBEZXZpY2VNb3Rpb25FdmVudC5oICovLAorCQkJCTMxRkIxQTU2MTIwQTVEMDYwMERDMDJB
MCAvKiBEZXZpY2VNb3Rpb25FdmVudC5pZGwgKi8sCiAJCQkJNTlEMUMxMDMxMUVCNURDRjAwQjYz
OEM4IC8qIERldmljZU9yaWVudGF0aW9uLmNwcCAqLywKIAkJCQk1OTBFMUI0ODExRTRFRjRCMDA2
OUY3ODQgLyogRGV2aWNlT3JpZW50YXRpb24uaCAqLywKIAkJCQk1OUE4RjFENzExQTY5NTIwMDAx
QUMzNEEgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCAqLywKQEAgLTE5OTkwLDYgKzIwMDIy
LDExIEBACiAJCQkJOTdERDREODcwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3IuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNFMTcyRTAxMTEzNkU4Q0UwMDYyQTUzMyAvKiBab29tTW9kZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzdDNjFGMDExMjA5NUM4NzAwN0EzQzY3IC8qIEF0b21pY1N0cmlu
Z0tleWVkTVJVQ2FjaGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRkIxQTU3MTIwQTVEMDYwMERD
MDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRkIxQTU5
MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKKwkJCQkzMUZCMUE1QjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMzFGQjFBNUQxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlv
bkV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUZCMUE2NjEyMEE1RDNGMDBEQzAyQTAgLyog
SlNEZXZpY2VNb3Rpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMDA0OSw2ICsyMDA4Niw3
IEBACiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0
OUMyODQzMDg5MDJCMTEwMDhBOUVGQyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBC
WFByb2plY3QgIldlYkNvcmUiICovOwogCQkJY29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUg
Mi40IjsKKwkJCWRldmVsb3BtZW50UmVnaW9uID0gRW5nbGlzaDsKIAkJCWhhc1NjYW5uZWRGb3JF
bmNvZGluZ3MgPSAxOwogCQkJa25vd25SZWdpb25zID0gKAogCQkJCUVuZ2xpc2gsCkBAIC0yMjM5
NCw2ICsyMjQzMiwxMSBAQAogCQkJCTkzRjE5QjA1MDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJv
Y2Vzc29yTGlieHNsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAy
RUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3REQ0RDg2
MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMx
RkIxQTU4MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTMxRkIxQTVBMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25E
YXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkIxQTVDMTIwQTVEMDYwMERDMDJBMCAvKiBE
ZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMUZCMUE2NTEyMEE1RDNG
MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkz
MUZCMUE2QzEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmNwcAppbmRleCBlYjAyN2MzLi45NGU5ODRmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCkBAIC00
Nyw2ICs0Nyw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNJbmRleGVkREJFbmFi
bGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzV2ViR0xFbmFibGVk
ID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzUHVzaFN0YXRlRW5hYmxl
ZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1RvdWNoRW5hYmxlZCA9
IHRydWU7Citib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzRGV2aWNlTW90aW9uRW5hYmxl
ZCA9IHRydWU7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzRGV2aWNlT3JpZW50YXRp
b25FbmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNTcGVlY2hJ
bnB1dEVuYWJsZWQgPSB0cnVlOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVy
aWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBjOWViMjFmLi5jZjFjZmFlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTEx
NCw2ICsxMTQsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIG9udG91Y2hjYW5jZWxFbmFi
bGVkKCkgeyByZXR1cm4gaXNUb3VjaEVuYWJsZWQ7IH0KICNlbmRpZgogCisgICAgc3RhdGljIHZv
aWQgc2V0RGV2aWNlTW90aW9uRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBpc0RldmljZU1vdGlv
bkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBkZXZpY2VNb3Rpb25FbmFi
bGVkKCkgeyByZXR1cm4gaXNEZXZpY2VNb3Rpb25FbmFibGVkOyB9CisgICAgc3RhdGljIGJvb2wg
ZGV2aWNlbW90aW9uRXZlbnRFbmFibGVkKCkgeyByZXR1cm4gaXNEZXZpY2VNb3Rpb25FbmFibGVk
OyB9CisgICAgc3RhdGljIGJvb2wgb25kZXZpY2Vtb3Rpb25FbmFibGVkKCkgeyByZXR1cm4gaXNE
ZXZpY2VNb3Rpb25FbmFibGVkOyB9CisgICAgCiAgICAgc3RhdGljIHZvaWQgc2V0RGV2aWNlT3Jp
ZW50YXRpb25FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzRGV2aWNlT3JpZW50YXRpb25FbmFi
bGVkID0gaXNFbmFibGVkOyB9CiAgICAgc3RhdGljIGJvb2wgZGV2aWNlT3JpZW50YXRpb25FbmFi
bGVkKCkgeyByZXR1cm4gaXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQ7IH0KICAgICBzdGF0aWMg
Ym9vbCBkZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCgpIHsgcmV0dXJuIGlzRGV2aWNlT3Jp
ZW50YXRpb25FbmFibGVkOyB9CkBAIC0xMzYsNiArMTQxLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0
aWMgYm9vbCBpc1dlYkdMRW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc1B1c2hTdGF0ZUVuYWJs
ZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNUb3VjaEVuYWJsZWQ7CisgICAgc3RhdGljIGJvb2wgaXNE
ZXZpY2VNb3Rpb25FbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzRGV2aWNlT3JpZW50YXRpb25F
bmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzU3BlZWNoSW5wdXRFbmFibGVkOwogfTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyNWE2MjYKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwCkBAIC0w
LDAgKzEsMTI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNE
ZXZpY2VNb3Rpb25FdmVudC5oIgorCisjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKwor
I2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25FdmVu
dC5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pT
VmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6eEFjY2VsZXJhdGlvbihFeGVjU3RhdGUqIGV4ZWMp
IGNvbnN0Cit7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmlj
ZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgp
LT5jYW5Qcm92aWRlWEFjY2VsZXJhdGlvbigpKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7Cisg
ICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT54QWNjZWxl
cmF0aW9uKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZlbnQ6OnlBY2NlbGVyYXRp
b24oRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAg
PSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVudCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAt
PmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVlBY2NlbGVyYXRpb24oKSkKKyAgICAgICAg
cmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAtPmRldmljZU1v
dGlvbkRhdGEoKS0+eUFjY2VsZXJhdGlvbigpKTsKK30KKworSlNWYWx1ZSBKU0RldmljZU1vdGlv
bkV2ZW50Ojp6QWNjZWxlcmF0aW9uKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICBEZXZp
Y2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBs
KCkpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVaQWNjZWxl
cmF0aW9uKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4ganNOdW1iZXIo
ZXhlYywgaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnpBY2NlbGVyYXRpb24oKSk7Cit9CisKK0pT
VmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6eFJvdGF0aW9uUmF0ZShFeGVjU3RhdGUqIGV4ZWMp
IGNvbnN0Cit7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmlj
ZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgp
LT5jYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZSgpKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7Cisg
ICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT54Um90YXRp
b25SYXRlKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZlbnQ6OnlSb3RhdGlvblJh
dGUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAg
PSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVudCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAt
PmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVlSb3RhdGlvblJhdGUoKSkKKyAgICAgICAg
cmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAtPmRldmljZU1v
dGlvbkRhdGEoKS0+eVJvdGF0aW9uUmF0ZSgpKTsKK30KKworSlNWYWx1ZSBKU0RldmljZU1vdGlv
bkV2ZW50Ojp6Um90YXRpb25SYXRlKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICBEZXZp
Y2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBs
KCkpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVaUm90YXRp
b25SYXRlKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4ganNOdW1iZXIo
ZXhlYywgaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnpSb3RhdGlvblJhdGUoKSk7Cit9CisgICAg
CitKU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZlbnQ6OmludGVydmFsKEV4ZWNTdGF0ZSogZXhlYykg
Y29uc3QKK3sKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNl
TW90aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCkt
PmNhblByb3ZpZGVJbnRlcnZhbCgpKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0
dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5pbnRlcnZhbCgpKTsK
K30KKyAgICAKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6aW5pdERldmljZU1vdGlvbkV2
ZW50KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBjb25zdCBTdHJpbmcmIHR5cGUgPSB1c3RyaW5n
VG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYykpOworICAgIGJvb2wgYnVi
YmxlcyA9IGV4ZWMtPmFyZ3VtZW50KDEpLnRvQm9vbGVhbihleGVjKTsKKyAgICBib29sIGNhbmNl
bGFibGUgPSBleGVjLT5hcmd1bWVudCgyKS50b0Jvb2xlYW4oZXhlYyk7CisgICAgLy8gSWYgYW55
IG9mIHRoZSBwYXJhbWV0ZXJzIGFyZSBudWxsIG9yIHVuZGVmaW5lZCwgbWFyayB0aGVtIGFzIG5v
dCBwcm92aWRlZC4KKyAgICAvLyBPdGhlcndpc2UsIHVzZSB0aGUgc3RhbmRhcmQgSmF2YVNjcmlw
dCBjb252ZXJzaW9uLgorICAgIGJvb2wgeEFjY2VsZXJhdGlvblByb3ZpZGVkID0gIWV4ZWMtPmFy
Z3VtZW50KDMpLmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAgZG91YmxlIHhBY2NlbGVyYXRpb24g
PSBleGVjLT5hcmd1bWVudCgzKS50b051bWJlcihleGVjKTsKKyAgICBib29sIHlBY2NlbGVyYXRp
b25Qcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg0KS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAg
IGRvdWJsZSB5QWNjZWxlcmF0aW9uID0gZXhlYy0+YXJndW1lbnQoNCkudG9OdW1iZXIoZXhlYyk7
CisgICAgYm9vbCB6QWNjZWxlcmF0aW9uUHJvdmlkZWQgPSAhZXhlYy0+YXJndW1lbnQoNSkuaXNV
bmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgekFjY2VsZXJhdGlvbiA9IGV4ZWMtPmFyZ3Vt
ZW50KDUpLnRvTnVtYmVyKGV4ZWMpOworICAgIGJvb2wgeFJvdGF0aW9uUmF0ZVByb3ZpZGVkID0g
IWV4ZWMtPmFyZ3VtZW50KDYpLmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAgZG91YmxlIHhSb3Rh
dGlvblJhdGUgPSBleGVjLT5hcmd1bWVudCg2KS50b051bWJlcihleGVjKTsKKyAgICBib29sIHlS
b3RhdGlvblJhdGVQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg3KS5pc1VuZGVmaW5lZE9yTnVs
bCgpOworICAgIGRvdWJsZSB5Um90YXRpb25SYXRlID0gZXhlYy0+YXJndW1lbnQoNykudG9OdW1i
ZXIoZXhlYyk7CisgICAgYm9vbCB6Um90YXRpb25SYXRlUHJvdmlkZWQgPSAhZXhlYy0+YXJndW1l
bnQoOCkuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgelJvdGF0aW9uUmF0ZSA9IGV4
ZWMtPmFyZ3VtZW50KDgpLnRvTnVtYmVyKGV4ZWMpOworICAgIGJvb2wgaW50ZXJ2YWxQcm92aWRl
ZCA9ICFleGVjLT5hcmd1bWVudCg5KS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSBp
bnRlcnZhbCA9IGV4ZWMtPmFyZ3VtZW50KDkpLnRvTnVtYmVyKGV4ZWMpOworICAgIFJlZlB0cjxE
ZXZpY2VNb3Rpb25EYXRhPiBkZXZpY2VNb3Rpb25EYXRhID0gRGV2aWNlTW90aW9uRGF0YTo6Y3Jl
YXRlKHhBY2NlbGVyYXRpb25Qcm92aWRlZCwgeEFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB5QWNjZWxlcmF0aW9uUHJvdmlkZWQsIHlBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ekFjY2VsZXJhdGlvblByb3ZpZGVkLCB6QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhS
b3RhdGlvblJhdGVQcm92aWRlZCwgeFJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5Um90
YXRpb25SYXRlUHJvdmlkZWQsIHlSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgelJvdGF0
aW9uUmF0ZVByb3ZpZGVkLCB6Um90YXRpb25SYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVydmFs
UHJvdmlkZWQsIGludGVydmFsKTsKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGlj
X2Nhc3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGltcC0+aW5pdERldmljZU1v
dGlvbkV2ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUsIGRldmljZU1vdGlvbkRhdGEuZ2V0
KCkpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNFdmVudEN1c3RvbS5jcHAKaW5kZXggYjYxOTBmZi4uYTgzZWMwMSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCkBAIC0yOSwxMSArMjksMTMgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJKU0V2ZW50LmgiCiAKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25F
dmVudC5oIgogI2luY2x1ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkNvbXBvc2l0aW9uRXZl
bnQuaCIKICNpbmNsdWRlICJDdXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0
aW9uRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIkpTRGV2aWNlTW90aW9u
RXZlbnQuaCIKICNpbmNsdWRlICJKU0JlZm9yZUxvYWRFdmVudC5oIgogI2luY2x1ZGUgIkpTQ2xp
cGJvYXJkLmgiCiAjaW5jbHVkZSAiSlNDdXN0b21FdmVudC5oIgpAQCAtMTczLDYgKzE3NSw4IEBA
IEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEV2ZW50KiBldmVudCkKICAgICBlbHNlIGlmIChldmVudC0+aXNDdXN0b21FdmVudCgp
KQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9i
YWxPYmplY3QsIEN1c3RvbUV2ZW50LCBldmVudCk7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRB
VElPTikKKyAgICBlbHNlIGlmIChldmVudC0+aXNEZXZpY2VNb3Rpb25FdmVudCgpKQorICAgICAg
ICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3Qs
IERldmljZU1vdGlvbkV2ZW50LCBldmVudCk7CiAgICAgZWxzZSBpZiAoZXZlbnQtPmlzRGV2aWNl
T3JpZW50YXRpb25FdmVudCgpKQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1Rf
V1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIERldmljZU9yaWVudGF0aW9uRXZlbnQsIGV2ZW50
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZp
Y2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERl
dmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4zOTY5MmI2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKQEAgLTAsMCArMSwxMzkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBP
V05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWOERldmljZU1vdGlvbkV2ZW50Lmgi
CisKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorCisjaW5jbHVkZSAiRGV2aWNlTW90
aW9uRGF0YS5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIK
KworI2luY2x1ZGUgPHY4Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnhBY2NlbGVyYXRpb25BY2Nlc3NvckdldHRl
cih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5m
bykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VNb3Rpb25FdmVudC54QWNjZWxlcmF0aW9u
Ll9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVy
KCk7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRv
TmF0aXZlKGhvbGRlcik7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJv
dmlkZVhBY2NlbGVyYXRpb24oKSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0
dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+eEFjY2VsZXJhdGlv
bigpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnlB
Y2NlbGVyYXRpb25BY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29u
c3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VN
b3Rpb25FdmVudC55QWNjZWxlcmF0aW9uLl9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9
IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7CisgICAgaWYgKCFpbXAtPmRl
dmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVlBY2NlbGVyYXRpb24oKSkKKyAgICAgICAgcmV0
dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPmRldmljZU1v
dGlvbkRhdGEoKS0+eUFjY2VsZXJhdGlvbigpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnpBY2NlbGVyYXRpb25BY2Nlc3NvckdldHRlcih2ODo6TG9j
YWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAg
ICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VNb3Rpb25FdmVudC56QWNjZWxlcmF0aW9uLl9nZXQiKTsK
KyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAg
RGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVpBY2Nl
bGVyYXRpb24oKSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpO
dW1iZXI6Ok5ldyhpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+ekFjY2VsZXJhdGlvbigpKTsKK30K
Kwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnhSb3RhdGlvblJh
dGVBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFj
Y2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VNb3Rpb25FdmVu
dC54Um90YXRpb25SYXRlLl9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRl
ciA9IGluZm8uSG9sZGVyKCk7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNl
TW90aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlv
bkRhdGEoKS0+Y2FuUHJvdmlkZVhSb3RhdGlvblJhdGUoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpO
dWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPmRldmljZU1vdGlvbkRhdGEo
KS0+eFJvdGF0aW9uUmF0ZSgpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNl
TW90aW9uRXZlbnQ6OnlSb3RhdGlvblJhdGVBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0
cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RB
VFMoIkRPTS5EZXZpY2VNb3Rpb25FdmVudC55Um90YXRpb25SYXRlLl9nZXQiKTsKKyAgICB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAgRGV2aWNlTW90
aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7Cisg
ICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVlSb3RhdGlvblJhdGUo
KSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5l
dyhpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+eVJvdGF0aW9uUmF0ZSgpKTsKK30KKwordjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnpSb3RhdGlvblJhdGVBY2Nlc3Nv
ckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5m
byYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VNb3Rpb25FdmVudC56Um90YXRp
b25SYXRlLl9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8u
SG9sZGVyKCk7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZl
bnQ6OnRvTmF0aXZlKGhvbGRlcik7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+
Y2FuUHJvdmlkZVpSb3RhdGlvblJhdGUoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7Cisg
ICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+elJvdGF0
aW9uUmF0ZSgpKTsKK30KKworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25F
dmVudDo6aW50ZXJ2YWxBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwg
Y29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZp
Y2VNb3Rpb25FdmVudC5pbnRlcnZhbC5fZ2V0Iik7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBW
OERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1wLT5kZXZp
Y2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVJbnRlcnZhbCgpKQorICAgICAgICByZXR1cm4gdjg6
Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+ZGV2aWNlTW90aW9uRGF0
YSgpLT5pbnRlcnZhbCgpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90
aW9uRXZlbnQ6OmluaXREZXZpY2VNb3Rpb25FdmVudENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmIGFyZ3MpCit7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9u
RXZlbnQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOworICAgIFY4UGFyYW1ldGVyPD4gdHlwZSA9
IGFyZ3NbMF07CisgICAgYm9vbCBidWJibGVzID0gYXJnc1sxXS0+Qm9vbGVhblZhbHVlKCk7Cisg
ICAgYm9vbCBjYW5jZWxhYmxlID0gYXJnc1syXS0+Qm9vbGVhblZhbHVlKCk7CisgICAgLy8gSWYg
YW55IG9mIHRoZSBwYXJhbWV0ZXJzIGFyZSBudWxsIG9yIHVuZGVmaW5lZCwgbWFyayB0aGVtIGFz
IG5vdCBwcm92aWRlZC4KKyAgICAvLyBPdGhlcndpc2UsIHVzZSB0aGUgc3RhbmRhcmQgSmF2YVNj
cmlwdCBjb252ZXJzaW9uLgorICAgIGJvb2wgeEFjY2VsZXJhdGlvblByb3ZpZGVkID0gIWlzVW5k
ZWZpbmVkT3JOdWxsKGFyZ3NbM10pOworICAgIGRvdWJsZSB4QWNjZWxlcmF0aW9uID0gc3RhdGlj
X2Nhc3Q8ZG91YmxlPihhcmdzWzNdLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBib29sIHlBY2NlbGVy
YXRpb25Qcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzRdKTsKKyAgICBkb3VibGUg
eUFjY2VsZXJhdGlvbiA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1s0XS0+TnVtYmVyVmFsdWUo
KSk7CisgICAgYm9vbCB6QWNjZWxlcmF0aW9uUHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51bGwo
YXJnc1s1XSk7CisgICAgZG91YmxlIHpBY2NlbGVyYXRpb24gPSBzdGF0aWNfY2FzdDxkb3VibGU+
KGFyZ3NbNV0tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgeFJvdGF0aW9uUmF0ZVByb3ZpZGVk
ID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbNl0pOworICAgIGRvdWJsZSB4Um90YXRpb25SYXRl
ID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihhcmdzWzZdLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBib29s
IHlSb3RhdGlvblJhdGVQcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzddKTsKKyAg
ICBkb3VibGUgeVJvdGF0aW9uUmF0ZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1s3XS0+TnVt
YmVyVmFsdWUoKSk7CisgICAgYm9vbCB6Um90YXRpb25SYXRlUHJvdmlkZWQgPSAhaXNVbmRlZmlu
ZWRPck51bGwoYXJnc1s4XSk7CisgICAgZG91YmxlIHpSb3RhdGlvblJhdGUgPSBzdGF0aWNfY2Fz
dDxkb3VibGU+KGFyZ3NbOF0tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgaW50ZXJ2YWxQcm92
aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzldKTsKKyAgICBkb3VibGUgaW50ZXJ2YWwg
PSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbOV0tPk51bWJlclZhbHVlKCkpOworICAgIFJlZlB0
cjxEZXZpY2VNb3Rpb25EYXRhPiBkZXZpY2VNb3Rpb25EYXRhID0gRGV2aWNlTW90aW9uRGF0YTo6
Y3JlYXRlKHhBY2NlbGVyYXRpb25Qcm92aWRlZCwgeEFjY2VsZXJhdGlvbiwgeUFjY2VsZXJhdGlv
blByb3ZpZGVkLCB5QWNjZWxlcmF0aW9uLCB6QWNjZWxlcmF0aW9uUHJvdmlkZWQsIHpBY2NlbGVy
YXRpb24sIHhSb3RhdGlvblJhdGVQcm92aWRlZCwgeFJvdGF0aW9uUmF0ZSwgeVJvdGF0aW9uUmF0
ZVByb3ZpZGVkLCB5Um90YXRpb25SYXRlLCB6Um90YXRpb25SYXRlUHJvdmlkZWQsIHpSb3RhdGlv
blJhdGUsIGludGVydmFsUHJvdmlkZWQsIGludGVydmFsKTsKKyAgICBpbXAtPmluaXREZXZpY2VN
b3Rpb25FdmVudCh0eXBlLCBidWJibGVzLCBjYW5jZWxhYmxlLCBkZXZpY2VNb3Rpb25EYXRhLmdl
dCgpKTsKKyAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaCBiL1dlYkNvcmUvZG9t
L0RldmljZU1vdGlvbkNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmQxOWY5MmYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25DbGll
bnQuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGV2aWNlTW90aW9uQ2xpZW50X2gK
KyNkZWZpbmUgRGV2aWNlTW90aW9uQ2xpZW50X2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBEZXZpY2VNb3Rpb25Db250cm9sbGVyOworY2xhc3MgRGV2aWNlTW90aW9uRGF0YTsKKwor
Y2xhc3MgRGV2aWNlTW90aW9uQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5EZXZpY2VN
b3Rpb25DbGllbnQoKSB7fQorICAgIHZpcnR1YWwgdm9pZCBzZXRDb250cm9sbGVyKERldmljZU1v
dGlvbkNvbnRyb2xsZXIqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpID0gMDsKKyAgICB2aXJ0dWFsIERl
dmljZU1vdGlvbkRhdGEqIGN1cnJlbnREZXZpY2VNb3Rpb24oKSBjb25zdCA9IDA7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBEZXZpY2VNb3Rpb25DbGllbnRfaApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgYi9XZWJD
b3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi41ZjYzNmJlCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vRGV2
aWNlTW90aW9uQ29udHJvbGxlci5jcHAKQEAgLTAsMCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmln
aHQgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKKworI2luY2x1
ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25DbGllbnQuaCIK
KyNpbmNsdWRlICJEZXZpY2VNb3Rpb25FdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0RldmljZU1vdGlvbkNvbnRyb2xsZXI6OkRldmljZU1vdGlvbkNvbnRyb2xsZXIoRGV2aWNlTW90
aW9uQ2xpZW50KiBjbGllbnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCisgICAgLCBtX3RpbWVy
KHRoaXMsICZEZXZpY2VNb3Rpb25Db250cm9sbGVyOjp0aW1lckZpcmVkKQoreworICAgIGlmICht
X2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPnNldENvbnRyb2xsZXIodGhpcyk7Cit9CisKK3Zv
aWQgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6dGltZXJGaXJlZChUaW1lcjxEZXZpY2VNb3Rpb25D
b250cm9sbGVyPiogdGltZXIpCit7CisgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0g
Jm1fdGltZXIpOworICAgIEFTU0VSVCghbV9jbGllbnQgfHwgbV9jbGllbnQtPmN1cnJlbnREZXZp
Y2VNb3Rpb24oKSk7CisgICAgbV90aW1lci5zdG9wKCk7CisgICAgCisgICAgUmVmUHRyPERldmlj
ZU1vdGlvbkRhdGE+IGRldmljZU1vdGlvbkRhdGEgPSBtX2NsaWVudCA/IG1fY2xpZW50LT5jdXJy
ZW50RGV2aWNlTW90aW9uKCkgOiBEZXZpY2VNb3Rpb25EYXRhOjpjcmVhdGUoKTsKKyAgICBSZWZQ
dHI8RGV2aWNlTW90aW9uRXZlbnQ+IGV2ZW50ID0gRGV2aWNlTW90aW9uRXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkuZGV2aWNlbW90aW9uRXZlbnQsIGRldmljZU1vdGlvbkRhdGEuZ2V0KCkpOwor
IAorICAgIFZlY3RvcjxET01XaW5kb3cqPiBsaXN0ZW5lcnNWZWN0b3I7CisgICAgY29weVRvVmVj
dG9yKG1fbmV3TGlzdGVuZXJzLCBsaXN0ZW5lcnNWZWN0b3IpOworICAgIG1fbmV3TGlzdGVuZXJz
LmNsZWFyKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0ZW5lcnNWZWN0b3Iuc2l6
ZSgpOyArK2kpCisgICAgICAgIGxpc3RlbmVyc1ZlY3RvcltpXS0+ZGlzcGF0Y2hFdmVudChldmVu
dCk7Cit9CisgICAgCit2b2lkIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OmFkZExpc3RlbmVyKERP
TVdpbmRvdyogd2luZG93KQoreworICAgIC8vIElmIG5vIGNsaWVudCBpcyBwcmVzZW50IG9yIHRo
ZSBjbGllbnQgYWxyZWFkeSBoYXMgbW90aW9uIGRhdGEsCisgICAgLy8gaW1tZWRpYXRlbHkgdHJp
Z2dlciBhbiBhc3luY2hyb25vdXMgcmVzcG9uc2UuCisgICAgaWYgKCFtX2NsaWVudCB8fCBtX2Ns
aWVudC0+Y3VycmVudERldmljZU1vdGlvbigpKSB7CisgICAgICAgIG1fbmV3TGlzdGVuZXJzLmFk
ZCh3aW5kb3cpOworICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIH0KKyAgICAKKyAgICBib29sIHdhc0VtcHR5
ID0gbV9saXN0ZW5lcnMuaXNFbXB0eSgpOworICAgIG1fbGlzdGVuZXJzLmFkZCh3aW5kb3cpOwor
ICAgIGlmICh3YXNFbXB0eSAmJiBtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPnN0YXJ0VXBk
YXRpbmcoKTsKK30KKwordm9pZCBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpyZW1vdmVMaXN0ZW5l
cihET01XaW5kb3cqIHdpbmRvdykKK3sKKyAgICBtX2xpc3RlbmVycy5yZW1vdmUod2luZG93KTsK
KyAgICBtX25ld0xpc3RlbmVycy5yZW1vdmUod2luZG93KTsKKyAgICBpZiAobV9saXN0ZW5lcnMu
aXNFbXB0eSgpICYmIG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c3RvcFVwZGF0aW5nKCk7
Cit9CisKK3ZvaWQgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6cmVtb3ZlQWxsTGlzdGVuZXJzKERP
TVdpbmRvdyogd2luZG93KQoreworICAgIC8vIE1heSBiZSBjYWxsZWQgd2l0aCBhIERPTVdpbmRv
dyB0aGF0J3Mgbm90IGEgbGlzdGVuZXIuCisgICAgaWYgKCFtX2xpc3RlbmVycy5jb250YWlucyh3
aW5kb3cpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2xpc3RlbmVycy5yZW1vdmVBbGwod2lu
ZG93KTsKKyAgICBtX25ld0xpc3RlbmVycy5yZW1vdmUod2luZG93KTsKKyAgICBpZiAobV9saXN0
ZW5lcnMuaXNFbXB0eSgpICYmIG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c3RvcFVwZGF0
aW5nKCk7Cit9CisKK3ZvaWQgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6ZGlkQ2hhbmdlRGV2aWNl
TW90aW9uKERldmljZU1vdGlvbkRhdGEqIGRldmljZU1vdGlvbkRhdGEpCit7CisgICAgUmVmUHRy
PERldmljZU1vdGlvbkV2ZW50PiBldmVudCA9IERldmljZU1vdGlvbkV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmRldmljZW1vdGlvbkV2ZW50LCBkZXZpY2VNb3Rpb25EYXRhKTsKKyAgICBWZWN0
b3I8RE9NV2luZG93Kj4gbGlzdGVuZXJzVmVjdG9yOworICAgIGNvcHlUb1ZlY3RvcihtX2xpc3Rl
bmVycywgbGlzdGVuZXJzVmVjdG9yKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3Rl
bmVyc1ZlY3Rvci5zaXplKCk7ICsraSkKKyAgICAgICAgbGlzdGVuZXJzVmVjdG9yW2ldLT5kaXNw
YXRjaEV2ZW50KGV2ZW50KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRGV2
aWNlTW90aW9uQ29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjI2NzBlMDQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250
cm9sbGVyLmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZU1vdGlvbkNvbnRy
b2xsZXJfaAorI2RlZmluZSBEZXZpY2VNb3Rpb25Db250cm9sbGVyX2gKKworI2luY2x1ZGUgIkRP
TVdpbmRvdy5oIgorI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVk
U2V0Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlTW90aW9uRGF0YTsK
K2NsYXNzIERldmljZU1vdGlvbkNsaWVudDsKKworY2xhc3MgRGV2aWNlTW90aW9uQ29udHJvbGxl
ciB7CitwdWJsaWM6CisgICAgRGV2aWNlTW90aW9uQ29udHJvbGxlcihEZXZpY2VNb3Rpb25DbGll
bnQqKTsKKworICAgIHZvaWQgYWRkTGlzdGVuZXIoRE9NV2luZG93Kik7CisgICAgdm9pZCByZW1v
dmVMaXN0ZW5lcihET01XaW5kb3cqKTsKKyAgICB2b2lkIHJlbW92ZUFsbExpc3RlbmVycyhET01X
aW5kb3cqKTsKKworICAgIHZvaWQgZGlkQ2hhbmdlRGV2aWNlTW90aW9uKERldmljZU1vdGlvbkRh
dGEqKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8RGV2aWNlTW90aW9u
Q29udHJvbGxlcj4qKTsKKyAgICAKKyAgICBEZXZpY2VNb3Rpb25DbGllbnQqIG1fY2xpZW50Owor
ICAgIHR5cGVkZWYgSGFzaENvdW50ZWRTZXQ8RE9NV2luZG93Kj4gTGlzdGVuZXJzQ291bnRlZFNl
dDsKKyAgICBMaXN0ZW5lcnNDb3VudGVkU2V0IG1fbGlzdGVuZXJzOworICAgIHR5cGVkZWYgSGFz
aFNldDxET01XaW5kb3cqPiBMaXN0ZW5lcnNTZXQ7CisgICAgTGlzdGVuZXJzU2V0IG1fbmV3TGlz
dGVuZXJzOworICAgIFRpbWVyPERldmljZU1vdGlvbkNvbnRyb2xsZXI+IG1fdGltZXI7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBEZXZpY2VNb3Rpb25Db250cm9s
bGVyX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwIGIvV2Vi
Q29yZS9kb20vRGV2aWNlTW90aW9uRGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYzhmN2YzNwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0RldmljZU1v
dGlvbkRhdGEuY3BwCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBEZXZpY2VNb3Rpb25EYXRhOjpjcmVhdGUo
KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlTW90aW9uRGF0YSk7Cit9CisKKyAg
ICBQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZShi
b29sIGNhblByb3ZpZGVYQWNjZWxlcmF0aW9uLCBkb3VibGUgeEFjY2VsZXJhdGlvbiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s
IGNhblByb3ZpZGVZQWNjZWxlcmF0aW9uLCBkb3VibGUgeUFjY2VsZXJhdGlvbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNh
blByb3ZpZGVaQWNjZWxlcmF0aW9uLCBkb3VibGUgekFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblBy
b3ZpZGVYUm90YXRpb25SYXRlLCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3Zp
ZGVZUm90YXRpb25SYXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVa
Um90YXRpb25SYXRlLCBkb3VibGUgelJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVJbnRl
cnZhbCwgZG91YmxlIGludGVydmFsKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNl
TW90aW9uRGF0YShjYW5Qcm92aWRlWEFjY2VsZXJhdGlvbiwgeEFjY2VsZXJhdGlvbiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuUHJvdmlkZVlBY2NlbGVyYXRp
b24sIHlBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNhblByb3ZpZGVaQWNjZWxlcmF0aW9uLCB6QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZSwgeFJv
dGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fu
UHJvdmlkZVlSb3RhdGlvblJhdGUsIHlSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNhblByb3ZpZGVaUm90YXRpb25SYXRlLCB6Um90YXRpb25S
YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5Qcm92aWRl
SW50ZXJ2YWwsIGludGVydmFsKSk7Cit9CisKK0RldmljZU1vdGlvbkRhdGE6OkRldmljZU1vdGlv
bkRhdGEoKQorICAgIDogbV9jYW5Qcm92aWRlWEFjY2VsZXJhdGlvbihmYWxzZSkKKyAgICAsIG1f
Y2FuUHJvdmlkZVlBY2NlbGVyYXRpb24oZmFsc2UpCisgICAgLCBtX2NhblByb3ZpZGVaQWNjZWxl
cmF0aW9uKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZShmYWxzZSkKKyAg
ICAsIG1fY2FuUHJvdmlkZVlSb3RhdGlvblJhdGUoZmFsc2UpCisgICAgLCBtX2NhblByb3ZpZGVa
Um90YXRpb25SYXRlKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlSW50ZXJ2YWwoZmFsc2UpCit7
Cit9CisKK0RldmljZU1vdGlvbkRhdGE6OkRldmljZU1vdGlvbkRhdGEoYm9vbCBjYW5Qcm92aWRl
WEFjY2VsZXJhdGlvbiwgZG91YmxlIHhBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVlBY2NlbGVyYXRpb24sIGRvdWJsZSB5QWNj
ZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblBy
b3ZpZGVaQWNjZWxlcmF0aW9uLCBkb3VibGUgekFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZSwgZG91Ymxl
IHhSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg
Y2FuUHJvdmlkZVlSb3RhdGlvblJhdGUsIGRvdWJsZSB5Um90YXRpb25SYXRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVaUm90YXRpb25SYXRlLCBk
b3VibGUgelJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym9vbCBjYW5Qcm92aWRlSW50ZXJ2YWwsIGRvdWJsZSBpbnRlcnZhbCkKKyAgICA6IG1fY2FuUHJv
dmlkZVhBY2NlbGVyYXRpb24oY2FuUHJvdmlkZVhBY2NlbGVyYXRpb24pCisgICAgLCBtX2NhblBy
b3ZpZGVZQWNjZWxlcmF0aW9uKGNhblByb3ZpZGVZQWNjZWxlcmF0aW9uKQorICAgICwgbV9jYW5Q
cm92aWRlWkFjY2VsZXJhdGlvbihjYW5Qcm92aWRlWkFjY2VsZXJhdGlvbikKKyAgICAsIG1fY2Fu
UHJvdmlkZVhSb3RhdGlvblJhdGUoY2FuUHJvdmlkZVhSb3RhdGlvblJhdGUpCisgICAgLCBtX2Nh
blByb3ZpZGVZUm90YXRpb25SYXRlKGNhblByb3ZpZGVZUm90YXRpb25SYXRlKQorICAgICwgbV9j
YW5Qcm92aWRlWlJvdGF0aW9uUmF0ZShjYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZSkKKyAgICAsIG1f
Y2FuUHJvdmlkZUludGVydmFsKGNhblByb3ZpZGVJbnRlcnZhbCkKKyAgICAsIG1feEFjY2VsZXJh
dGlvbih4QWNjZWxlcmF0aW9uKQorICAgICwgbV95QWNjZWxlcmF0aW9uKHlBY2NlbGVyYXRpb24p
CisgICAgLCBtX3pBY2NlbGVyYXRpb24oekFjY2VsZXJhdGlvbikKKyAgICAsIG1feFJvdGF0aW9u
UmF0ZSh4Um90YXRpb25SYXRlKQorICAgICwgbV95Um90YXRpb25SYXRlKHlSb3RhdGlvblJhdGUp
CisgICAgLCBtX3pSb3RhdGlvblJhdGUoelJvdGF0aW9uUmF0ZSkKKyAgICAsIG1faW50ZXJ2YWwo
aW50ZXJ2YWwpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0RldmljZU1vdGlvbkRhdGEuaCBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkRh
dGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDkwMjQ2Ci0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRGF0YS5oCkBAIC0wLDAgKzEsOTAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgRGV2aWNlTW90aW9uRGF0YV9oCisjZGVmaW5lIERldmljZU1v
dGlvbkRhdGFfaAorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERldmljZU1vdGlv
bkRhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxEZXZpY2VNb3Rpb25EYXRhPiB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gY3JlYXRlKCk7CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gY3JlYXRlKGJvb2wgY2FuUHJvdmlkZVhB
Y2NlbGVyYXRpb24sIGRvdWJsZSB4QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVZQWNjZWxlcmF0aW9uLCBk
b3VibGUgeUFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWkFjY2VsZXJhdGlvbiwgZG91YmxlIHpBY2NlbGVy
YXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv
b2wgY2FuUHJvdmlkZVhSb3RhdGlvblJhdGUsIGRvdWJsZSB4Um90YXRpb25SYXRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVZ
Um90YXRpb25SYXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZSwg
ZG91YmxlIHpSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZUludGVydmFsLCBkb3VibGUgaW50ZXJ2YWwpOwor
CisgICAgZG91YmxlIHhBY2NlbGVyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3hBY2NlbGVyYXRp
b247IH0KKyAgICBkb3VibGUgeUFjY2VsZXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1feUFjY2Vs
ZXJhdGlvbjsgfQorICAgIGRvdWJsZSB6QWNjZWxlcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV96
QWNjZWxlcmF0aW9uOyB9CisgICAgZG91YmxlIHhSb3RhdGlvblJhdGUoKSBjb25zdCB7IHJldHVy
biBtX3hSb3RhdGlvblJhdGU7IH0KKyAgICBkb3VibGUgeVJvdGF0aW9uUmF0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1feVJvdGF0aW9uUmF0ZTsgfQorICAgIGRvdWJsZSB6Um90YXRpb25SYXRlKCkgY29u
c3QgeyByZXR1cm4gbV96Um90YXRpb25SYXRlOyB9CisgICAgZG91YmxlIGludGVydmFsKCkgY29u
c3QgeyByZXR1cm4gbV9pbnRlcnZhbDsgfQorCisgICAgYm9vbCBjYW5Qcm92aWRlWEFjY2VsZXJh
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuUHJvdmlkZVhBY2NlbGVyYXRpb247IH0KKyAgICBi
b29sIGNhblByb3ZpZGVZQWNjZWxlcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Qcm92aWRl
WUFjY2VsZXJhdGlvbjsgfQorICAgIGJvb2wgY2FuUHJvdmlkZVpBY2NlbGVyYXRpb24oKSBjb25z
dCB7IHJldHVybiBtX2NhblByb3ZpZGVaQWNjZWxlcmF0aW9uOyB9CisgICAgYm9vbCBjYW5Qcm92
aWRlWFJvdGF0aW9uUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FuUHJvdmlkZVhSb3RhdGlvblJh
dGU7IH0KKyAgICBib29sIGNhblByb3ZpZGVZUm90YXRpb25SYXRlKCkgY29uc3QgeyByZXR1cm4g
bV9jYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZTsgfQorICAgIGJvb2wgY2FuUHJvdmlkZVpSb3RhdGlv
blJhdGUoKSBjb25zdCB7IHJldHVybiBtX2NhblByb3ZpZGVaUm90YXRpb25SYXRlOyB9CisgICAg
Ym9vbCBjYW5Qcm92aWRlSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2NhblByb3ZpZGVJbnRl
cnZhbDsgfQorCitwcml2YXRlOgorICAgIERldmljZU1vdGlvbkRhdGEoKTsKKyAgICBEZXZpY2VN
b3Rpb25EYXRhKGJvb2wgY2FuUHJvdmlkZVhBY2NlbGVyYXRpb24sIGRvdWJsZSB4QWNjZWxlcmF0
aW9uLAorICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWUFjY2VsZXJhdGlvbiwg
ZG91YmxlIHlBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3Zp
ZGVaQWNjZWxlcmF0aW9uLCBkb3VibGUgekFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAg
ICAgIGJvb2wgY2FuUHJvdmlkZVhSb3RhdGlvblJhdGUsIGRvdWJsZSB4Um90YXRpb25SYXRlLAor
ICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZSwgZG91Ymxl
IHlSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVaUm90
YXRpb25SYXRlLCBkb3VibGUgelJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgIGJv
b2wgY2FuUHJvdmlkZUludGVydmFsLCBkb3VibGUgaW50ZXJ2YWwpOworCisgICAgYm9vbCBtX2Nh
blByb3ZpZGVYQWNjZWxlcmF0aW9uOworICAgIGJvb2wgbV9jYW5Qcm92aWRlWUFjY2VsZXJhdGlv
bjsKKyAgICBib29sIG1fY2FuUHJvdmlkZVpBY2NlbGVyYXRpb247CisgICAgYm9vbCBtX2NhblBy
b3ZpZGVYUm90YXRpb25SYXRlOworICAgIGJvb2wgbV9jYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZTsK
KyAgICBib29sIG1fY2FuUHJvdmlkZVpSb3RhdGlvblJhdGU7CisgICAgYm9vbCBtX2NhblByb3Zp
ZGVJbnRlcnZhbDsKKworICAgIGRvdWJsZSBtX3hBY2NlbGVyYXRpb247CisgICAgZG91YmxlIG1f
eUFjY2VsZXJhdGlvbjsKKyAgICBkb3VibGUgbV96QWNjZWxlcmF0aW9uOworICAgIGRvdWJsZSBt
X3hSb3RhdGlvblJhdGU7CisgICAgZG91YmxlIG1feVJvdGF0aW9uUmF0ZTsKKyAgICBkb3VibGUg
bV96Um90YXRpb25SYXRlOworICAgIGRvdWJsZSBtX2ludGVydmFsOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRGV2aWNlTW90aW9uRGF0YV9oCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9EZXZpY2VN
b3Rpb25FdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U4YTY0
NAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcApA
QCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkRldmljZU1vdGlvbkRhdGEuaCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25FdmVudC5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0RldmljZU1vdGlvbkV2ZW50Ojp+RGV2aWNlTW90aW9uRXZl
bnQoKQoreworfQorCitEZXZpY2VNb3Rpb25FdmVudDo6RGV2aWNlTW90aW9uRXZlbnQoKQorICAg
IDogbV9kZXZpY2VNb3Rpb25EYXRhKERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZSgpKQoreworfQor
CitEZXZpY2VNb3Rpb25FdmVudDo6RGV2aWNlTW90aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUsIERldmljZU1vdGlvbkRhdGEqIGRldmljZU1vdGlvbkRhdGEpCisgICAgOiBF
dmVudChldmVudFR5cGUsIGZhbHNlLCBmYWxzZSkgLy8gQ2FuJ3QgYnViYmxlLCBub3QgY2FuY2Vs
YWJsZQorICAgICwgbV9kZXZpY2VNb3Rpb25EYXRhKGRldmljZU1vdGlvbkRhdGEpCit7Cit9CisK
K3ZvaWQgRGV2aWNlTW90aW9uRXZlbnQ6OmluaXREZXZpY2VNb3Rpb25FdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGJvb2wgYnViYmxlcywgYm9vbCBjYW5jZWxhYmxlLCBEZXZpY2VNb3Rp
b25EYXRhKiBkZXZpY2VNb3Rpb25EYXRhKQoreworICAgIGlmIChkaXNwYXRjaGVkKCkpCisgICAg
ICAgIHJldHVybjsKKworICAgIGluaXRFdmVudCh0eXBlLCBidWJibGVzLCBjYW5jZWxhYmxlKTsK
KyAgICBtX2RldmljZU1vdGlvbkRhdGEgPSBkZXZpY2VNb3Rpb25EYXRhOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVu
dC5oIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5mMzJjOTNiCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20v
RGV2aWNlTW90aW9uRXZlbnQuaApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBE
ZXZpY2VNb3Rpb25FdmVudF9oCisjZGVmaW5lIERldmljZU1vdGlvbkV2ZW50X2gKKworI2luY2x1
ZGUgIkV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlTW90aW9u
RGF0YTsKKworY2xhc3MgRGV2aWNlTW90aW9uRXZlbnQgOiBwdWJsaWMgRXZlbnQgeworcHVibGlj
OgorICAgIH5EZXZpY2VNb3Rpb25FdmVudCgpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmlj
ZU1vdGlvbkV2ZW50PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBEZXZpY2VNb3Rpb25FdmVudCk7CisgICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmlj
ZU1vdGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIERldmlj
ZU1vdGlvbkRhdGEqIGRldmljZU1vdGlvbkRhdGEpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IERldmljZU1vdGlvbkV2ZW50KGV2ZW50VHlwZSwgZGV2aWNlTW90aW9uRGF0YSkp
OworICAgIH0KKworICAgIHZvaWQgaW5pdERldmljZU1vdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSwgYm9vbCBidWJibGVzLCBib29sIGNhbmNlbGFibGUsIERldmljZU1vdGlvbkRh
dGEqKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc0RldmljZU1vdGlvbkV2ZW50KCkgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQorCisgICAgRGV2aWNlTW90aW9uRGF0YSogZGV2aWNlTW90aW9uRGF0YSgp
IGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNlTW90aW9uRGF0YS5nZXQoKTsgfQorCitwcml2YXRlOgor
ICAgIERldmljZU1vdGlvbkV2ZW50KCk7CisgICAgRGV2aWNlTW90aW9uRXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiBldmVudFR5cGUsIERldmljZU1vdGlvbkRhdGEqKTsKKworICAgIFJlZlB0cjxE
ZXZpY2VNb3Rpb25EYXRhPiBtX2RldmljZU1vdGlvbkRhdGE7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBEZXZpY2VNb3Rpb25FdmVudF9oCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rp
b25FdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdlOGU3MQot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbApAQCAt
MCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIGNvcmUgeworCisgICAgaW50ZXJmYWNlIFsK
KyAgICAgICAgQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OCisgICAgXSBEZXZpY2VNb3Rp
b25FdmVudCA6IEV2ZW50IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGRv
dWJsZSB4QWNjZWxlcmF0aW9uOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0g
ZG91YmxlIHlBY2NlbGVyYXRpb247CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9t
XSBkb3VibGUgekFjY2VsZXJhdGlvbjsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0
b21dIGRvdWJsZSB4Um90YXRpb25SYXRlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1
c3RvbV0gZG91YmxlIHlSb3RhdGlvblJhdGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBb
Q3VzdG9tXSBkb3VibGUgelJvdGF0aW9uUmF0ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFtDdXN0b21dIGRvdWJsZSBpbnRlcnZhbDsKKyAgICAgICAgW0N1c3RvbV0gdm9pZCBpbml0RGV2
aWNlTW90aW9uRXZlbnQoaW4gRE9NU3RyaW5nIHR5cGUsIGluIGJvb2xlYW4gYnViYmxlcywgaW4g
Ym9vbGVhbiBjYW5jZWxhYmxlLCBpbiBkb3VibGUgeEFjY2VsZXJhdGlvbiwgaW4gZG91YmxlIHlB
Y2NlbGVyYXRpb24sIGluIGRvdWJsZSB6QWNjZWxlcmF0aW9uLCBpbiBkb3VibGUgeFJvdGF0aW9u
UmF0ZSwgaW4gZG91YmxlIHlSb3RhdGlvblJhdGUsIGluIGRvdWJsZSB6Um90YXRpb25SYXRlLCBp
biBkb3VibGUgaW50ZXJ2YWwpOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2RvbS9EZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IDExMTU3N2YuLjViODZlNmIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcApAQCAtMzcsOCArMzcsOCBAQCBE
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihQ
YWdlKiBwYWdlLCBEZXZpY2VPcmllbgogICAgICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV90
aW1lcih0aGlzLCAmRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjp0aW1lckZpcmVkKQogewot
ICAgIEFTU0VSVChtX2NsaWVudCk7Ci0gICAgbV9jbGllbnQtPnNldENvbnRyb2xsZXIodGhpcyk7
CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c2V0Q29udHJvbGxlcih0aGlz
KTsKIH0KIAogdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OnRpbWVyRmlyZWQoVGlt
ZXI8RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyPiogdGltZXIpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggOTFl
ZmU5ZS4uZjVjNDdiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBi
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCisjaW5jbHVkZSAiRGV2aWNl
TW90aW9uRXZlbnQuaCIKICNpbmNsdWRlICJBbmltYXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVk
ZSAiQXR0ci5oIgogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgpAQCAtMzMzMSw2ICszMzMyLDggQEAg
UGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KGNvbnN0IFN0cmluZyYgZXZl
bnRUeXBlLCBFeGNlcHRpb25Db2RlJgogICAgICAgICBldmVudCA9IFRvdWNoRXZlbnQ6OmNyZWF0
ZSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBlbHNlIGlm
IChldmVudFR5cGUgPT0gIkRldmljZU1vdGlvbkV2ZW50IikKKyAgICAgICAgZXZlbnQgPSBEZXZp
Y2VNb3Rpb25FdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50IikKICAgICAgICAgZXZlbnQgPSBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50OjpjcmVhdGUoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuY3Bw
IGIvV2ViQ29yZS9kb20vRXZlbnQuY3BwCmluZGV4IDRlYTNlMGMuLjFhYWI1YzcgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAg
LTIxMyw2ICsyMTMsMTEgQEAgYm9vbCBFdmVudDo6aXNUb3VjaEV2ZW50KCkgY29uc3QKICNlbmRp
ZgogCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKK2Jvb2wgRXZlbnQ6OmlzRGV2aWNl
TW90aW9uRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBFdmVu
dDo6aXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaApp
bmRleCAyYjU3MGQ1Li5lMTgyNThjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisr
KyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTE0MCw2ICsxNDAsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25zdDsKICNlbmRp
ZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIHZpcnR1YWwgYm9vbCBp
c0RldmljZU1vdGlvbkV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Rldmlj
ZU9yaWVudGF0aW9uRXZlbnQoKSBjb25zdDsKICNlbmRpZgogICAgICAgICBib29sIGZyb21Vc2Vy
R2VzdHVyZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvV2ViQ29y
ZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDY2MjBjZWMuLjIzNTk4OGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAg
LTUwLDYgKzUwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGNvcHkpIFwKICAg
ICBtYWNybyhjdXQpIFwKICAgICBtYWNybyhkYmxjbGljaykgXAorICAgIG1hY3JvKGRldmljZW1v
dGlvbikgXAogICAgIG1hY3JvKGRldmljZW9yaWVudGF0aW9uKSBcCiAgICAgbWFjcm8oZGlzcGxh
eSkgXAogICAgIG1hY3JvKGRvd25sb2FkaW5nKSBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGZjNjk2ZGEu
LmJiNjEyNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRE9N
V2luZG93LmgiCiAKICNpbmNsdWRlICJBYnN0cmFjdERhdGFiYXNlLmgiCisjaW5jbHVkZSAiRGV2
aWNlTW90aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkJhc2U2NC5oIgogI2luY2x1ZGUgIkJh
ckluZm8uaCIKICNpbmNsdWRlICJCZWZvcmVVbmxvYWRFdmVudC5oIgpAQCAtMTQzNSw2ICsxNDM2
LDggQEAgYm9vbCBET01XaW5kb3c6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnQKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0g
ZXZlbnROYW1lcygpLmJlZm9yZXVubG9hZEV2ZW50ICYmIGFsbG93c0JlZm9yZVVubG9hZExpc3Rl
bmVycyh0aGlzKSkKICAgICAgICAgYWRkQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcih0aGlzKTsK
ICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9
PSBldmVudE5hbWVzKCkuZGV2aWNlbW90aW9uRXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5w
YWdlKCkgJiYgZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VNb3Rpb25Db250cm9sbGVyKCkpCisgICAg
ICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlTW90aW9uQ29udHJvbGxlcigpLT5hZGRMaXN0ZW5l
cih0aGlzKTsKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW9y
aWVudGF0aW9uRXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+
cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKSkKICAgICAgICAgZnJhbWUoKS0+
cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKS0+YWRkTGlzdGVuZXIodGhpcyk7
CiAjZW5kaWYKQEAgLTE0NTIsNiArMTQ1NSw4IEBAIGJvb2wgRE9NV2luZG93OjpyZW1vdmVFdmVu
dExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyCiAg
ICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5iZWZvcmV1bmxvYWRFdmVudCAm
JiBhbGxvd3NCZWZvcmVVbmxvYWRMaXN0ZW5lcnModGhpcykpCiAgICAgICAgIHJlbW92ZUJlZm9y
ZVVubG9hZEV2ZW50TGlzdGVuZXIodGhpcyk7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElP
TikKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW1vdGlvbkV2
ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2
aWNlTW90aW9uQ29udHJvbGxlcigpKQorICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU1v
dGlvbkNvbnRyb2xsZXIoKS0+cmVtb3ZlTGlzdGVuZXIodGhpcyk7CiAgICAgZWxzZSBpZiAoZXZl
bnRUeXBlID09IGV2ZW50TmFtZXMoKS5kZXZpY2VvcmllbnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkg
JiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyKCkpCiAgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyKCktPnJlbW92ZUxpc3RlbmVyKHRoaXMpOwogI2VuZGlmCkBAIC0xNTMwLDYgKzE1
MzUsOCBAQCB2b2lkIERPTVdpbmRvdzo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQogICAgIEV2
ZW50VGFyZ2V0OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycygpOwogCiAjaWYgRU5BQkxFKERFVklD
RV9PUklFTlRBVElPTikKKyAgICBpZiAoZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJh
bWUoKS0+cGFnZSgpLT5kZXZpY2VNb3Rpb25Db250cm9sbGVyKCkpCisgICAgICAgIGZyYW1lKCkt
PnBhZ2UoKS0+ZGV2aWNlTW90aW9uQ29udHJvbGxlcigpLT5yZW1vdmVBbGxMaXN0ZW5lcnModGhp
cyk7CiAgICAgaWYgKGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2Uo
KS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkpCiAgICAgICAgIGZyYW1lKCktPnBhZ2Uo
KS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCktPnJlbW92ZUFsbExpc3RlbmVycyh0aGlz
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDUxZDQwN2MuLjhkNTdkY2MgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAg
LTMzOCw2ICszMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIAogI2lmIEVOQUJM
RShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoZGV2aWNlbW90aW9uKTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihkZXZpY2VvcmllbnRhdGlvbik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBiMzUy
MjAyLi42YmY5OTdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysg
Yi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMzA1LDggKzMwNSwxMCBAQCBtb2R1bGUg
d2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5h
YmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoZW5kOwogICAgICAgICBhdHRyaWJ1
dGUgW0NvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3Rl
bmVyIG9udG91Y2hjYW5jZWw7CiAKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJ
Q0VfT1JJRU5UQVRJT04sIEVuYWJsZWRBdFJ1bnRpbWVdIERldmljZU9yaWVudGF0aW9uRXZlbnRD
b25zdHJ1Y3RvciBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OwotICAgICAgICBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTiwgRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0
ZW5lciBvbmRldmljZW9yaWVudGF0aW9uOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PURFVklDRV9PUklFTlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBEZXZpY2VNb3Rpb25FdmVudENv
bnN0cnVjdG9yIERldmljZU1vdGlvbkV2ZW50OworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlv
bmFsPURFVklDRV9PUklFTlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9u
ZGV2aWNlbW90aW9uOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklF
TlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q29uc3RydWN0
b3IgRGV2aWNlT3JpZW50YXRpb25FdmVudDsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25h
bD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbmRl
dmljZW9yaWVudGF0aW9uOwogCiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQogICAg
ICAgICBbQ3VzdG9tXSB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
aW5kZXggOTRkMjk0MC4uNWFiNjQyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKIAorI2luY2x1ZGUgIkRldmljZU1vdGlvbkNv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJCYXNlNjQuaCIKQEAgLTE0MSw2ICsxNDIs
NyBAQCBQYWdlOjpQYWdlKGNvbnN0IFBhZ2VDbGllbnRzJiBwYWdlQ2xpZW50cykKICAgICAsIG1f
Z2VvbG9jYXRpb25Db250cm9sbGVyKG5ldyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIodGhpcywgcGFn
ZUNsaWVudHMuZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KSkKICNlbmRpZgogI2lmIEVOQUJM
RShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgLCBtX2RldmljZU1vdGlvbkNvbnRyb2xsZXIoUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6ZGV2aWNlTW90aW9uRW5hYmxlZCgpID8gbmV3IERldmljZU1v
dGlvbkNvbnRyb2xsZXIocGFnZUNsaWVudHMuZGV2aWNlTW90aW9uQ2xpZW50KSA6IDApCiAgICAg
LCBtX2RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpk
ZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQoKSA/IG5ldyBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xs
ZXIodGhpcywgcGFnZUNsaWVudHMuZGV2aWNlT3JpZW50YXRpb25DbGllbnQpIDogMCkKICNlbmRp
ZgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA2MmFmMGE3Li5kZGJhYTU2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTM3
LDYgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorICAg
IGNsYXNzIERldmljZU1vdGlvbkNsaWVudDsKKyAgICBjbGFzcyBEZXZpY2VNb3Rpb25Db250cm9s
bGVyOwogICAgIGNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlcjsKICAgICBjbGFzcyBCYWNrRm9y
d2FyZENvbnRyb2xsZXJDbGllbnQ7CiAgICAgY2xhc3MgQmFja0ZvcndhcmRMaXN0OwpAQCAtMTAx
LDYgKzEwMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICAgICAsIGluc3Bl
Y3RvckNsaWVudCgwKQogICAgICAgICAgICAgICAgICwgcGx1Z2luSGFsdGVyQ2xpZW50KDApCiAg
ICAgICAgICAgICAgICAgLCBnZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQoMCkKKyAgICAgICAg
ICAgICAgICAsIGRldmljZU1vdGlvbkNsaWVudCgwKQogICAgICAgICAgICAgICAgICwgZGV2aWNl
T3JpZW50YXRpb25DbGllbnQoMCkKICAgICAgICAgICAgICAgICAsIGJhY2tGb3J3YXJkQ29udHJv
bGxlckNsaWVudCgwKQogICAgICAgICAgICAgICAgICwgc3BlZWNoSW5wdXRDbGllbnQoMCkKQEAg
LTExMyw2ICsxMTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBJbnNwZWN0
b3JDbGllbnQqIGluc3BlY3RvckNsaWVudDsKICAgICAgICAgICAgIFBsdWdpbkhhbHRlckNsaWVu
dCogcGx1Z2luSGFsdGVyQ2xpZW50OwogICAgICAgICAgICAgR2VvbG9jYXRpb25Db250cm9sbGVy
Q2xpZW50KiBnZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQ7CisgICAgICAgICAgICBEZXZpY2VN
b3Rpb25DbGllbnQqIGRldmljZU1vdGlvbkNsaWVudDsKICAgICAgICAgICAgIERldmljZU9yaWVu
dGF0aW9uQ2xpZW50KiBkZXZpY2VPcmllbnRhdGlvbkNsaWVudDsKICAgICAgICAgICAgIEJhY2tG
b3J3YXJkQ29udHJvbGxlckNsaWVudCogYmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50OwogICAg
ICAgICAgICAgU3BlZWNoSW5wdXRDbGllbnQqIHNwZWVjaElucHV0Q2xpZW50OwpAQCAtMTc5LDYg
KzE4Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgR2VvbG9jYXRpb25Db250cm9s
bGVyKiBnZW9sb2NhdGlvbkNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2dlb2xvY2F0aW9u
Q29udHJvbGxlci5nZXQoKTsgfQogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElP
TikKKyAgICAgICAgRGV2aWNlTW90aW9uQ29udHJvbGxlciogZGV2aWNlTW90aW9uQ29udHJvbGxl
cigpIGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNlTW90aW9uQ29udHJvbGxlci5nZXQoKTsgfQogICAg
ICAgICBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIqIGRldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmdldCgp
OyB9CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQpAQCAtMzEzLDYgKzMxOCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgT3duUHRyPEdlb2xvY2F0aW9uQ29udHJvbGxl
cj4gbV9nZW9sb2NhdGlvbkNvbnRyb2xsZXI7CiAjZW5kaWYKICNpZiBFTkFCTEUoREVWSUNFX09S
SUVOVEFUSU9OKQorICAgICAgICBPd25QdHI8RGV2aWNlTW90aW9uQ29udHJvbGxlcj4gbV9kZXZp
Y2VNb3Rpb25Db250cm9sbGVyOwogICAgICAgICBPd25QdHI8RGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyPiBtX2RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjsKICNlbmRpZgogI2lmIEVOQUJM
RShJTlBVVF9TUEVFQ0gpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63550</attachid>
            <date>2010-08-04 22:12:59 -0700</date>
            <delta_ts>2010-08-04 22:59:44 -0700</delta_ts>
            <desc>Stylebot fixes, plus VS project file was missing a file</desc>
            <filename>devicemotion.patch</filename>
            <type>text/plain</type>
            <size>100603</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NGMxMTFmLi45OGNiMDNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTAtMDgt
MDQgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisK
KyAgICAgICAgQWRkIERldmljZU1vdGlvbiBhbmQgb25kZXZpY2Vtb3Rpb24gdGVzdGluZyB0bwor
ICAgICAgICB0aGUgZGV2aWNlLW9yaWVudGF0aW9uIHRlc3QsIGFuZCBtYWtlIHN1cmUgdGhlIERl
dmljZU1vdGlvbgorICAgICAgICBpbnRlcmZhY2UgaXMgbm90IHRlc3RlZCBpbiB0aGUgZ2VuZXJp
YyB3aW5kb3cgb2JqZWN0LgorCisgICAgICAgIE5vdGUgdGhhdCBhdCB0aGlzIHRpbWUgdGhlIHNw
ZWNpZmllZCBldmVudCBpcworICAgICAgICBjYWxsZWQgQWNjZWxlcm9tZXRlciwgYnV0IHRoaXMg
d2lsbCBjaGFuZ2UgdG8gRGV2aWNlTW90aW9uCisgICAgICAgIHdpdGggdGhlIGluY2x1c2lvbiBv
ZiBneXJvc2NvcGljIHJlc3VsdHMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6CisKKyAg
ICAgICAgQWRkIHNvbWUgdGVzdHMgZm9yIHRoZSBEZXZpY2VNb3Rpb25FdmVudCBpbnRlcmZhY2Uu
CisKKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwt
ZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9jcmVh
dGUtZXZlbnQuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi9zY3Jp
cHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qczogQWRkZWQuCisgICAgICAgICog
ZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVydHkuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93
LXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGVzZSBhcmUgc2tp
cHBlZCBvbiBNYWMsIFdpbiwgR1RLIGFuZCBRVC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9T
a2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAt
MDgtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHRlc3QgZXhwZWN0YXRpb24gdXBkYXRlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGM0MGM0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVudC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzMCBAQAorVGVzdHMgdGhhdCBkb2N1bWVudC5jcmVhdGVFdmVudCgp
IHdvcmtzIHdpdGggRGV2aWNlTW90aW5FdmVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgdHlwZW9mIGV2ZW50ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgJ3R5cGUn
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2J1YmJsZXMnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
J2NhbmNlbGFibGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3hBY2NlbGVyYXRpb24nIGluIGV2
ZW50IGlzIHRydWUKK1BBU1MgJ3lBY2NlbGVyYXRpb24nIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
J3pBY2NlbGVyYXRpb24nIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3hSb3RhdGlvblJhdGUnIGlu
IGV2ZW50IGlzIHRydWUKK1BBU1MgJ3lSb3RhdGlvblJhdGUnIGluIGV2ZW50IGlzIHRydWUKK1BB
U1MgJ3pSb3RhdGlvblJhdGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2ludGVydmFsJyBpbiBl
dmVudCBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIGlzIHRydWUK
K1BBU1MgdHlwZW9mIGV2ZW50LmJ1YmJsZXMgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlw
ZW9mIGV2ZW50LmNhbmNlbGFibGUgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2
ZW50LnhBY2NlbGVyYXRpb24gPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQu
eUFjY2VsZXJhdGlvbiA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC56QWNj
ZWxlcmF0aW9uID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnhSb3RhdGlv
blJhdGUgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQueVJvdGF0aW9uUmF0
ZSA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC56Um90YXRpb25SYXRlID09
ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmludGVydmFsID09ICdvYmplY3Qn
IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRl
LWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2
ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ1Zjk2MgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9jcmVhdGUt
ZXZlbnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJv
cGVydGllcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MGVhYmUzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1v
dGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY1
IEBACitUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VNb3Rpb25FdmVudC4g
RWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBv
ciB1bmRlZmluZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitldmVudCA9IGRv
Y3VtZW50LmNyZWF0ZUV2ZW50KCdEZXZpY2VNb3Rpb25FdmVudCcpCitQQVNTIGV2ZW50LnhBY2Nl
bGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24gPT0gbnVs
bCBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNT
IGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlv
blJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gbnVsbCBp
cyB0cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IG51bGwgaXMgdHJ1ZQorZXZlbnQuaW5pdERl
dmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIDAsIDEsIDIsIDMsIDQsIDUsIDYpCitQ
QVNTIGV2ZW50LnhBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVy
YXRpb24gPT0gMSBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMiBpcyB0cnVl
CitQQVNTIGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gMyBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3Rh
dGlvblJhdGUgPT0gNCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gNSBpcyB0
cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IDYgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1v
dGlvbkV2ZW50KCkKK1BBU1MgZXZlbnQueEFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BB
U1MgZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuekFjY2Vs
ZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueFJvdGF0aW9uUmF0ZSA9PSBudWxs
IGlzIHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1Mg
ZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwg
PT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZlbnQoJycsIGZhbHNlLCBm
YWxzZSwgW10sIFtdLCBbXSwgW10sIFtdLCBbXSwgW10pCitQQVNTIGV2ZW50LnhBY2NlbGVyYXRp
b24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQ
QVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnhSb3RhdGlv
blJhdGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVl
CitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LmludGVy
dmFsID09IDAgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwg
ZmFsc2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZp
bmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkKK1BBU1MgZXZlbnQueEFjY2VsZXJhdGlvbiA9PSBu
dWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BB
U1MgZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueFJvdGF0
aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxs
IGlzIHRydWUKK1BBU1MgZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1Mg
ZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZl
bnQoJycsIGZhbHNlLCBmYWxzZSwgJycsICcnLCAnJywgJycsICcnLCAnJywgJycpCitQQVNTIGV2
ZW50LnhBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24g
PT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNT
IGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJh
dGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQ
QVNTIGV2ZW50LmludGVydmFsID09IDAgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1vdGlvbkV2
ZW50KCcnLCBmYWxzZSwgZmFsc2UsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGws
IG51bGwpCitQQVNTIGV2ZW50LnhBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2
ZW50LnlBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRp
b24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0
cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50
LnpSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IG51
bGwgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9vcHRp
b25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VN
b3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjIxMjY2OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCkBAIC0w
LDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjMxOTYzZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90
aW9uL3NjcmlwdC10ZXN0cy9jcmVhdGUtZXZlbnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9E
ZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4xNjczMjlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9jcmVhdGUtZXZlbnQuanMKQEAg
LTAsMCArMSwyOSBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgZG9jdW1lbnQuY3JlYXRlRXZl
bnQoKSB3b3JrcyB3aXRoIERldmljZU1vdGluRXZlbnQuIik7CisKK3ZhciBldmVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUV2ZW50KCdEZXZpY2VNb3Rpb25FdmVudCcpOworCitzaG91bGRCZVRydWUoInR5
cGVvZiBldmVudCA9PSAnb2JqZWN0JyIpOworCitzaG91bGRCZVRydWUoIid0eXBlJyBpbiBldmVu
dCIpOworc2hvdWxkQmVUcnVlKCInYnViYmxlcycgaW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgi
J2NhbmNlbGFibGUnIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIid4QWNjZWxlcmF0aW9uJyBp
biBldmVudCIpOworc2hvdWxkQmVUcnVlKCIneUFjY2VsZXJhdGlvbicgaW4gZXZlbnQiKTsKK3No
b3VsZEJlVHJ1ZSgiJ3pBY2NlbGVyYXRpb24nIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIid4
Um90YXRpb25SYXRlJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCIneVJvdGF0aW9uUmF0ZScg
aW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3pSb3RhdGlvblJhdGUnIGluIGV2ZW50Iik7Citz
aG91bGRCZVRydWUoIidpbnRlcnZhbCcgaW4gZXZlbnQiKTsKKworc2hvdWxkQmVUcnVlKCJ0eXBl
b2YgZXZlbnQudHlwZSA9PSAnc3RyaW5nJyIpOworc2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQu
YnViYmxlcyA9PSAnYm9vbGVhbiciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LmNhbmNl
bGFibGUgPT0gJ2Jvb2xlYW4nIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC54QWNjZWxl
cmF0aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC55QWNjZWxl
cmF0aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC56QWNjZWxl
cmF0aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC54Um90YXRp
b25SYXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC55Um90YXRp
b25SYXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC56Um90YXRp
b25SYXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC5pbnRlcnZh
bCA9PSAnb2JqZWN0JyIpOworCit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMv
b3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0Rldmlj
ZU1vdGlvbi9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjliNTNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9vcHRpb25hbC1l
dmVudC1wcm9wZXJ0aWVzLmpzCkBAIC0wLDAgKzEsNjggQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0
aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VNb3Rpb25FdmVudC4gRWFjaCBwcm9wZXJ0
eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQu
Iik7CisKK3ZhciBldmVudDsKKworZXZhbEFuZExvZygiZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVF
dmVudCgnRGV2aWNlTW90aW9uRXZlbnQnKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54QWNjZWxl
cmF0aW9uID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBu
dWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVsbCIpOworc2hv
dWxkQmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgi
ZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3Rh
dGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSBudWxs
Iik7CisKK2V2YWxBbmRMb2coImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2Us
IGZhbHNlLCAwLCAxLCAyLCAzLCA0LCA1LCA2KSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54QWNj
ZWxlcmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9PSAx
Iik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMiIpOworc2hvdWxkQmVU
cnVlKCJldmVudC54Um90YXRpb25SYXRlID09IDMiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueVJv
dGF0aW9uUmF0ZSA9PSA0Iik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3RhdGlvblJhdGUgPT0g
NSIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSA2Iik7CisKK2V2YWxBbmRMb2co
ImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhB
Y2NlbGVyYXRpb24gPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9u
ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIik7
CitzaG91bGRCZVRydWUoImV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVU
cnVlKCJldmVudC55Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
elJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09
IG51bGwiKTsKKworZXZhbEFuZExvZygiZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBm
YWxzZSwgZmFsc2UsIFtdLCBbXSwgW10sIFtdLCBbXSwgW10sIFtdKSIpOworc2hvdWxkQmVUcnVl
KCJldmVudC54QWNjZWxlcmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2Vs
ZXJhdGlvbiA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCIp
Oworc2hvdWxkQmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IDAiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3Rh
dGlvblJhdGUgPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSAwIik7CisK
K2V2YWxBbmRMb2coImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2UsIGZhbHNl
LCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwg
dW5kZWZpbmVkLCB1bmRlZmluZWQpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhBY2NlbGVyYXRp
b24gPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9uID09IG51bGwi
KTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIik7CitzaG91bGRC
ZVRydWUoImV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVu
dC55Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuelJvdGF0aW9u
UmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09IG51bGwiKTsK
KworZXZhbEFuZExvZygiZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFs
c2UsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54
QWNjZWxlcmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9
PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCIpOworc2hvdWxk
QmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
eVJvdGF0aW9uUmF0ZSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3RhdGlvblJhdGUg
PT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSAwIik7CisKK2V2YWxBbmRM
b2coImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCBudWxsLCBu
dWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsKSIpOworc2hvdWxkQmVUcnVlKCJldmVu
dC54QWNjZWxlcmF0aW9uID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJh
dGlvbiA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVs
bCIpOworc2hvdWxkQmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2
ZW50LnpSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZh
bCA9PSBudWxsIik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy93aW5k
b3ctcHJvcGVydHkuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0
LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5jOTE4NDhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2
aWNlTW90aW9uL3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVydHkuanMKQEAgLTAsMCArMSwzMSBA
QAorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIHdpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCBh
bmQgd2luZG93Lm9uZGV2aWNlbW90aW9uIHByb3BlcnRpZXMgYXJlIHByZXNlbnQuIik7CisKK2Z1
bmN0aW9uIGhhc0RldmljZU1vdGlvbkV2ZW50UHJvcGVydHkoKQoreworICAgIGZvciAodmFyIHBy
b3BlcnR5IGluIHdpbmRvdykgeworICAgICAgICBpZiAocHJvcGVydHkgPT0gIkRldmljZU1vdGlv
bkV2ZW50IikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCA9
PSAnb2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNEZXZpY2VNb3Rpb25FdmVudFByb3BlcnR5
KCkiKTsKK3Nob3VsZEJlVHJ1ZSgiJ0RldmljZU1vdGlvbkV2ZW50JyBpbiB3aW5kb3ciKTsKK3No
b3VsZEJlVHJ1ZSgid2luZG93Lmhhc093blByb3BlcnR5KCdEZXZpY2VNb3Rpb25FdmVudCcpIik7
CisKK2Z1bmN0aW9uIGhhc09uRGV2aWNlTW90aW9uUHJvcGVydHkoKQoreworICAgIGZvciAodmFy
IHByb3BlcnR5IGluIHdpbmRvdykgeworICAgICAgICBpZiAocHJvcGVydHkgPT0gIm9uZGV2aWNl
bW90aW9uIikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdpbmRvdy5vbmRldmljZW1vdGlvbiA9PSAn
b2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNPbkRldmljZU1vdGlvblByb3BlcnR5KCkiKTsK
K3Nob3VsZEJlVHJ1ZSgiJ29uZGV2aWNlbW90aW9uJyBpbiB3aW5kb3ciKTsKK3Nob3VsZEJlVHJ1
ZSgid2luZG93Lmhhc093blByb3BlcnR5KCdvbmRldmljZW1vdGlvbicpIik7CisKK3dpbmRvdy5z
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vRGV2aWNlTW90aW9uL3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTUyNjUxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3dpbmRvdy1wcm9wZXJ0eS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdHMgdGhhdCB0aGUgd2luZG93LkRldmljZU1v
dGlvbkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2Vtb3Rpb24gcHJvcGVydGllcyBhcmUgcHJlc2Vu
dC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIHdpbmRvdy5E
ZXZpY2VNb3Rpb25FdmVudCA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIGhhc0RldmljZU1vdGlv
bkV2ZW50UHJvcGVydHkoKSBpcyB0cnVlCitQQVNTICdEZXZpY2VNb3Rpb25FdmVudCcgaW4gd2lu
ZG93IGlzIHRydWUKK1BBU1Mgd2luZG93Lmhhc093blByb3BlcnR5KCdEZXZpY2VNb3Rpb25FdmVu
dCcpIGlzIHRydWUKK1BBU1MgdHlwZW9mIHdpbmRvdy5vbmRldmljZW1vdGlvbiA9PSAnb2JqZWN0
JyBpcyB0cnVlCitQQVNTIGhhc09uRGV2aWNlTW90aW9uUHJvcGVydHkoKSBpcyB0cnVlCitQQVNT
ICdvbmRldmljZW1vdGlvbicgaW4gd2luZG93IGlzIHRydWUKK1BBU1Mgd2luZG93Lmhhc093blBy
b3BlcnR5KCdvbmRldmljZW1vdGlvbicpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZTEyMjAzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHkuaHRtbApAQCAtMCwwICsxLDEy
IEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhw
ZWN0ZWQudHh0CmluZGV4IDYyODAxZWIuLjBhNGE1YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNTcgQEAKLVRo
aXMgdGVzdCBkdW1wcyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhY2hhYmxlIGZy
b20gdGhlIHdpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2Vv
cmllbnRhdGlvbiBvYmplY3RzLCBhbG9uZyB3aXRoIHRoZWlyIHR5cGVzLgorVGhpcyB0ZXN0IGR1
bXBzIGFsbCBvZiB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2lu
ZG93LkRldmljZU1vdGlvbkV2ZW50IHdpbmRvdy5vbmRldmljZW1vdGlvbiwgd2luZG93LkRldmlj
ZU9yaWVudGF0aW9uRXZlbnQgYW5kIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMs
IGFsb25nIHdpdGggdGhlaXIgdHlwZXMuIFRoZXNlIHByb3BlcnRpZXMgYXJlIGN1cnJlbnRseSBn
dWFyZGVkIGJ5IEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04uCiAKLXdpbmRvdy5EZXZpY2VPcmll
bnRhdGlvbkV2ZW50IFtmdW5jdGlvbl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCBbb2JqZWN0
IERldmljZU1vdGlvbkV2ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQu
cHJvdG90eXBlIFtvYmplY3QgRGV2aWNlTW90aW9uRXZlbnRQcm90b3R5cGVdCit3aW5kb3cuRGV2
aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLkFUX1RBUkdFVCBbbnVtYmVyXQord2luZG93LkRldmlj
ZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5CTFVSIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlTW90aW9u
RXZlbnQucHJvdG90eXBlLkJVQkJMSU5HX1BIQVNFIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlTW90
aW9uRXZlbnQucHJvdG90eXBlLkNBUFRVUklOR19QSEFTRSBbbnVtYmVyXQord2luZG93LkRldmlj
ZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5DSEFOR0UgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rp
b25FdmVudC5wcm90b3R5cGUuQ0xJQ0sgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVu
dC5wcm90b3R5cGUuREJMQ0xJQ0sgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5w
cm90b3R5cGUuRFJBR0RST1AgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90
b3R5cGUuRk9DVVMgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUu
S0VZRE9XTiBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5LRVlQ
UkVTUyBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5LRVlVUCBb
bnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURPV04gW251
bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuTU9VU0VEUkFHIFtudW1i
ZXJdCit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLk1PVVNFTU9WRSBbbnVtYmVy
XQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRU9VVCBbbnVtYmVyXQor
d2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRU9WRVIgW251bWJlcl0KK3dp
bmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuTU9VU0VVUCBbbnVtYmVyXQord2luZG93
LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5TRUxFQ1QgW251bWJlcl0KK3dpbmRvdy5EZXZp
Y2VNb3Rpb25FdmVudC5wcm90b3R5cGUuaW5pdERldmljZU1vdGlvbkV2ZW50IFtmdW5jdGlvbl0K
K3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuaW5pdEV2ZW50IFtmdW5jdGlvbl0K
K3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUucHJldmVudERlZmF1bHQgW2Z1bmN0
aW9uXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5zdG9wSW1tZWRpYXRlUHJv
cGFnYXRpb24gW2Z1bmN0aW9uXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5z
dG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQord2luZG93Lm9uZGV2aWNlbW90aW9uIFtudWxsXQor
d2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQgW29iamVjdCBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUg
W29iamVjdCBEZXZpY2VPcmllbnRhdGlvbkV2ZW50UHJvdG90eXBlXQord2luZG93LkRldmljZU9y
aWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkFUX1RBUkdFVCBbbnVtYmVyXQord2luZG93LkRldmlj
ZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkJMVVIgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VP
cmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5CVUJCTElOR19QSEFTRSBbbnVtYmVyXQord2luZG93
LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNBUFRVUklOR19QSEFTRSBbbnVtYmVy
XQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNIQU5HRSBbbnVtYmVy
XQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNMSUNLIFtudW1iZXJd
Cit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuREJMQ0xJQ0sgW251bWJl
cl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5EUkFHRFJPUCBbbnVt
YmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkZPQ1VTIFtudW1i
ZXJdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuS0VZRE9XTiBbbnVt
YmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLktFWVBSRVNTIFtu
dW1iZXJdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuS0VZVVAgW251
bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURPV04g
W251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURS
QUcgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VT
RU1PVkUgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5N
T1VTRU9VVCBbbnVtYmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBl
Lk1PVVNFT1ZFUiBbbnVtYmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90
eXBlLk1PVVNFVVAgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3Rv
dHlwZS5TRUxFQ1QgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3Rv
dHlwZS5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCBbZnVuY3Rpb25dCit3aW5kb3cuRGV2aWNl
T3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuaW5pdEV2ZW50IFtmdW5jdGlvbl0KK3dpbmRvdy5E
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdCBbZnVuY3Rpb25d
Cit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuc3RvcEltbWVkaWF0ZVBy
b3BhZ2F0aW9uIFtmdW5jdGlvbl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3Rv
dHlwZS5zdG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQogd2luZG93Lm9uZGV2aWNlb3JpZW50YXRp
b24gW251bGxdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbAppbmRl
eCA5N2UwMGJiLi43ZTgzZmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRhdGlv
bi5odG1sCkBAIC0xLDQgKzEsNSBAQAotPHA+VGhpcyB0ZXN0IGR1bXBzIGFsbCBvZiB0aGUgcHJv
cGVydGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmljZU9yaWVudGF0
aW9uRXZlbnQgYW5kIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMsIGFsb25nIHdp
dGggdGhlaXIgdHlwZXMuPC9wPgorPHA+VGhpcyB0ZXN0IGR1bXBzIGFsbCBvZiB0aGUgcHJvcGVy
dGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmljZU1vdGlvbkV2ZW50
IHdpbmRvdy5vbmRldmljZW1vdGlvbiwgd2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQgYW5k
IHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMsIGFsb25nIHdpdGggdGhlaXIgdHlw
ZXMuCisgIFRoZXNlIHByb3BlcnRpZXMgYXJlIGN1cnJlbnRseSBndWFyZGVkIGJ5IEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04uPC9wPgogPGhyPgogPHByZSBpZD0icHJlIj48L3ByZT4KIApAQCAt
ODgsNiArODksOCBAQCBmdW5jdGlvbiBsb2dQcm9wZXJ0aWVzKG9iamVjdCwgb2JqZWN0TmFtZSkK
ICAgICB9CiB9CiAKK2xvZ1ZhbHVlKCd3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQnKTsKK2xvZ1Zh
bHVlKCd3aW5kb3cub25kZXZpY2Vtb3Rpb24nKTsKIGxvZ1ZhbHVlKCd3aW5kb3cuRGV2aWNlT3Jp
ZW50YXRpb25FdmVudCcpOwogbG9nVmFsdWUoJ3dpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uJyk7
CiBmbHVzaExvZygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMuaHRtbAppbmRleCBjMTM1YTliLi5kMDBkMWI1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbApAQCAtODUsNiAr
ODUsOCBAQCB2YXIgX19za2lwX18gPSB7CiAgICAgIndpbmRvdy5GaWxlUmVhZGVyIiA6IDEsCiAg
ICAgIndpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IiA6IDEsCiAgICAgIndpbmRvdy5vbmRl
dmljZW9yaWVudGF0aW9uIiA6IDEsCisgICAgIndpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCIgOiAx
LAorICAgICJ3aW5kb3cub25kZXZpY2Vtb3Rpb24iIDogMSwKICAgICAid2luZG93LndlYmtpdFBl
cmZvcm1hbmNlIiA6IDEsCiAKICAgICAvLyBzaG93TW9kYWxEaWFsb2cgaXMgbm90IGltcGxlbWVu
dGVkIG9uIGFsbCBwbGF0Zm9ybXMgaW4gRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkCmluZGV4IDdlYTE3MDguLjZkNTNmNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVk
CkBAIC0xMDgxLDYgKzEwODEsOSBAQCBmYXN0L2RvbS9jbGllbnQtd2lkdGgtaGVpZ2h0LXF1aXJr
cy5odG1sCiBmYXN0L2RvbS9jbGllbnQtd2lkdGgtaGVpZ2h0Lmh0bWwKIGZhc3QvZG9tL2Nzc1Rh
cmdldC1jcmFzaC5odG1sCiBmYXN0L2RvbS9mcmFtZS1sb2FkaW5nLXZpYS1kb2N1bWVudC13cml0
ZS5odG1sCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50Lmh0bWwKK2Zhc3QvZG9t
L0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKK2Zhc3QvZG9tL0Rl
dmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHkuaHRtbAogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRp
b24vYmFzaWMtb3BlcmF0aW9uLmh0bWwKIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL2NyZWF0
ZS1ldmVudC5odG1sCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1w
cm9wZXJ0aWVzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggMTk3ZDQ5Ny4uMWUz
YjY1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTI0MCw3ICsyNDAsOCBAQCBjYW52
YXMvcGhpbGlwL3Rlc3RzL3R5cGUucHJvdG90eXBlLmh0bWwKICMgSW5kZXhlZERCIGlzIG5vdCB5
ZXQgZW5hYmxlZC4KIHN0b3JhZ2UvaW5kZXhlZGRiCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3Vw
cG9ydCBEZXZpY2VPcmllbnRhdGlvbi4KKyMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZp
Y2VNb3Rpb24gb3IgRGV2aWNlT3JpZW50YXRpb24uCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZh
c3QvZG9tL0RldmljZU9yaWVudGF0aW9uCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRp
ZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXgg
MGIyNDU4Ny4uYzcwMGZiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC03OCw3ICs3OCw4
IEBAIHBsdWdpbnMvY2xpY2tpbmctbWlzc2luZy1wbHVnaW4tZmlyZXMtZGVsZWdhdGUuaHRtbAog
IyAgICAgICBGZWF0dXJlIG5vdCBzdXBwb3J0ZWQuLi4geWV0CiAjID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PSAjCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VPcmllbnRhdGlvbi4KKyMg
VGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VNb3Rpb24gb3IgRGV2aWNlT3JpZW50YXRp
b24uCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uCiBm
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAwODRhY2FiLi4zOTZkM2FiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtODcxLDcgKzg3MSw4IEBAIGVkaXRpbmcvc3BlbGxpbmcv
Y29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwKICMgSW5kZXhlZERCIGlzIG5vdCB5ZXQgZW5h
YmxlZC4KIHN0b3JhZ2UvaW5kZXhlZGRiCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBE
ZXZpY2VPcmllbnRhdGlvbi4KKyMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VNb3Rp
b24gb3IgRGV2aWNlT3JpZW50YXRpb24uCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZhc3QvZG9t
L0RldmljZU9yaWVudGF0aW9uCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2
aWNlLW9yaWVudGF0aW9uLmh0bWwKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQuanNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5t
awppbmRleCBiZWEyZTFkLi4xZjU2NWQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVy
aXZlZC5qc2NiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5k
aW5ncy5tawpAQCAtMTA0LDYgKzEwNCw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9kb20vSlNET01Db3JlRXhjZXB0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pT
RE9NSW1wbGVtZW50YXRpb24uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNET01TdHJp
bmdMaXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTRGV2aWNlTW90aW9uRXZlbnQu
aCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Lmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTRG9jdW1lbnQuaCBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9kb20vSlNEb2N1bWVudEZyYWdtZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9B
bmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4
YmluZGluZ3MubWsKaW5kZXggZjdmYThkNi4uNGI1NjhmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9B
bmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZl
ZC52OGJpbmRpbmdzLm1rCkBAIC04Niw2ICs4Niw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9iaW5kaW5ncy9WOERPTUNvcmVFeGNlcHRpb24uaCBcCiAgICAgJChpbnRlcm1lZGlh
dGVzKS9iaW5kaW5ncy9WOERPTUltcGxlbWVudGF0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRl
cykvYmluZGluZ3MvVjhET01TdHJpbmdMaXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmlu
ZGluZ3MvVjhEZXZpY2VNb3Rpb25FdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2Jp
bmRpbmdzL1Y4RG9jdW1lbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERv
Y3VtZW50RnJhZ21lbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGlu
Z3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKaW5kZXggMDFiNWExNi4uNzAx
MzA2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1dl
YkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawpAQCAtOTMsNiArOTMsNyBAQCBMT0NBTF9TUkNf
RklMRVMgKz0gXAogCWJpbmRpbmdzL2pzL0pTRGF0YWJhc2VDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9K
U0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcCBcCisJYmluZGluZ3MvanMvSlNEZXZpY2VN
b3Rpb25FdmVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25F
dmVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAli
aW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5k
cm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRleCBmNzlhYTc0Li5jNWViZGZiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0x
MTcsNiArMTE3LDkgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJ
ZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBcCiAJZG9tL0RPTVN0cmluZ0xpc3QuY3BwIFwKIAlk
b20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAgXAorCWRvbS9EZXZpY2VNb3Rpb25Db250
cm9sbGVyLmNwcCBcCisJZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwIFwKKwlkb20vRGV2aWNlTW90
aW9uRXZlbnQuY3BwIFwKIAlkb20vRG9jdW1lbnQuY3BwIFwKIAlkb20vRG9jdW1lbnRGcmFnbWVu
dC5jcHAgXAogCWRvbS9Eb2N1bWVudFBhcnNlci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9B
bmRyb2lkLnY4YmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawppbmRl
eCBiMzZiZWFiLi43MDc0NjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5n
cy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawpAQCAtMTA4LDYgKzEwOCw3
IEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VD
YWxsYmFjay5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFiYXNlQ3VzdG9tLmNwcCBc
CiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAg
XAorCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJ
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZjYxMTU5NC4u
ZDMzYTcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC0xNDQsNiArMTQ0LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVT
CiAgICAgZG9tL0NvbW1lbnQuaWRsCiAgICAgZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsCiAgICAg
ZG9tL0N1c3RvbUV2ZW50LmlkbAorICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwKICAgICBk
b20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5p
ZGwKICAgICBkb20vRG9jdW1lbnQuaWRsCkBAIC01OTQsNiArNTk1LDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTRGF0YUdyaWREYXRhU291cmNlLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRGVkaWNh
dGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlv
bkV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVu
dEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAKQEAgLTc5MCw2ICs3OTIs
OSBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcAogICAgIGRv
bS9EYXRhc2V0RE9NU3RyaW5nTWFwLmNwcAogICAgIGRvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFy
c2VyLmNwcAorICAgIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAorICAgIGRvbS9EZXZp
Y2VNb3Rpb25EYXRhLmNwcAorICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKICAgICBkb20v
RGV2aWNlT3JpZW50YXRpb24uY3BwCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5jcHAKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJmY2M4ZC4uOTFlZjBh
MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw3OCBAQAorMjAxMC0wOC0wNCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODY1CisgICAgICAgIEltcGxl
bWVudCBBY2NlbGVyb21ldGVyRXZlbnQKKworICAgICAgICBJbXBsZW1lbnQgdGhlIERldmljZU1v
dGlvbkV2ZW50IGludGVyZmFjZSBhcyBkZWZpbmVkCisgICAgICAgIGluIGh0dHA6Ly9kZXYudzMu
b3JnL2dlby9hcGkvc3BlYy1zb3VyY2Utb3JpZW50YXRpb24uaHRtbAorICAgICAgICBUaGlzIGlz
IGN1cnJlbnRseSBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiwgaW4gdGhhdCB0aGVyZSBpcworICAg
ICAgICBubyBtb3Rpb24gY2xpZW50IGNvbm5lY3RlZCAtIHRoZSBwbGF0Zm9ybSBpbXBsZW1lbnRh
dGlvbnMKKyAgICAgICAgd2lsbCBuZWVkIHRvIGRvIHRoYXQuCisKKyAgICAgICAgTm90ZSBhbHNv
IHRoYXQgYXQgdGhpcyB0aW1lIHRoZSBzcGVjaWZpZWQgZXZlbnQgaXMKKyAgICAgICAgY2FsbGVk
IEFjY2VsZXJvbWV0ZXIsIGJ1dCB0aGlzIHdpbGwgY2hhbmdlIHRvIERldmljZU1vdGlvbgorICAg
ICAgICB3aXRoIHRoZSBpbmNsdXNpb24gb2YgZ3lyb3Njb3BpYyByZXN1bHRzLgorCisgICAgICAg
IFRlc3RzOiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvZG9tL0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHku
aHRtbAorCisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rOgorICAgICAg
ICAqIEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuanNj
YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBBbmRyb2lkLnY4
YmluZGluZ3MubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAgIC0gQWRkIG5ldyBmaWxlcyBmb3IgRGV2aWNlTW90aW9uRXZlbnQgYnVpbGQg
c3VwcG9ydAorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5jcHA6CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
Lmg6CisgICAgICAgICAgLSBuZXcgcnVudGltZSBmbGFncyBmb3IgZGV2aWNlIG1vdGlvbgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4K
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5j
cHA6IEFkZGVkLgorICAgICAgICAgIC0gQ3VzdG9tIEpTIGJpbmRpbmcgdG8gdHJhbnNsYXRlIHBy
b3BlcnR5IGFjY2VzcyB0aHJvdWdoCisgICAgICAgICAgICB0byB0aGUgRGV2aWNlTW90aW9uRGF0
YSBvYmplY3QgdGhhdCB0aGUgRXZlbnQgaG9sZHMKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2
ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgICAtIEluY2x1ZGUgdGhlIGN1c3RvbSBjb2RlIGZvciBE
ZXZpY2VNb3Rpb25FdmVudAorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25DbGllbnQuaDogQWRk
ZWQuCisgICAgICAgICAgLSBQdXJlIHZpcnR1YWwgY2xpZW50IGZvciBEZXZpY2VNb3Rpb24gYWNj
ZXNzCisgICAgICAgICogZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgICAt
IENvbnRyb2xsZXIgY2xhc3MgdGhhdCBtYW5hZ2VzIGV2ZW50IGRpc3BhdGNoCisgICAgICAgICog
ZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBkb20vRGV2aWNlTW90
aW9uRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgICAtIFJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRh
IHRoYXQgY29tZXMgZnJvbSBhIGRldmljZSBtb3Rpb24KKyAgICAgICAgICAgIGNsaWVudCB0aGF0
IGlzIHRoZW4gdXNlZCB3aXRoaW4gdGhlIGV2ZW50LgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rp
b25FdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5oOiBB
ZGRlZC4KKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAg
ICAgICAtIFRoZSBhY3R1YWwgZXZlbnQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KToKKyAg
ICAgICAgICAtIFVwZGF0ZSBjcmVhdGVFdmVudCB0byBhbGxvdyAiZGV2aWNlbW90aW9uIiBldmVu
dHMKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAg
ICAgICAgIC0gaXNEZXZpY2VNb3Rpb25FdmVudCB2aXJ0dWFsIG1ldGhvZAorICAgICAgICAqIGRv
bS9FdmVudE5hbWVzLmg6CisgICAgICAgICAgLSBuZXcgImRldmljZW1vdGlvbiIgZXZlbnQgdHlw
ZQorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICAgLSBhbGxvdyBjcmVhdGlvbiBv
ZiAiZGV2aWNlbW90aW9uIiBldmVudHMgYW5kIHBhc3MgcmVnaXN0cmF0aW9uCisgICAgICAgICAg
ICB0aHJvdWdoIHRvIHRoZSBQYWdlJ3MgZGV2aWNlTW90aW9uQ29udHJvbGxlciBvYmplY3QKKyAg
ICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAg
IC0gbmV3IFBhZ2VDbGllbnQgZm9yIGRldmljZU1vdGlvbkNvbnRyb2xsZXIKKwogMjAxMC0wOC0w
NCAgQW50b25pbyBHb21lcyAgPHRvbmlraXRvb0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhbmllbCBCYXRlcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBlMjYzYzdlLi4wMmQ2ZWZi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMjcsNiArMTI3LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAg
ICAgRGF0YWJhc2UgXAogICAgIERhdGFiYXNlQ2FsbGJhY2sgXAogICAgIERhdGFiYXNlU3luYyBc
CisgICAgRGV2aWNlTW90aW9uRXZlbnQgXAogICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgXAog
ICAgIERvY3VtZW50IFwKICAgICBEb2N1bWVudEZyYWdtZW50IFwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDNmM2MwZGIu
LjA0NWQ0MzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTgxLDYgKzE4MSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNl
cyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RhdGFHcmlkQ29sdW1uTGlzdC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmggXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgXAorCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VNb3Rpb25FdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNEb2N1bWVudC5jcHAgXApAQCAtNjcxLDYgKzY3Myw3IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmggXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdyYXBwZXIuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3Vz
dG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRD
dXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwK
IAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAgXApAQCAtMTAyMSw2ICsx
MDI0LDEzIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9kb20vRGF0YXNldERPTVN0
cmluZ01hcC5oIFwKIAlXZWJDb3JlL2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCBc
CiAJV2ViQ29yZS9kb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5oIFwKKwlXZWJDb3JlL2Rv
bS9EZXZpY2VNb3Rpb25DbGllbnQuaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJv
bGxlci5jcHAgXAorCVdlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBcCisJV2Vi
Q29yZS9kb20vRGV2aWNlTW90aW9uRGF0YS5jcHAgXAorCVdlYkNvcmUvZG9tL0RldmljZU1vdGlv
bkRhdGEuaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwIFwKKwlXZWJDb3Jl
L2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oIFwKIAlXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bi5jcHAgXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmggXAogCVdlYkNvcmUvZG9t
L0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBkNWVkM2QyLi4wOWYyNzU5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtNDMsNiArNDMsNyBAQAogICAgICAgICAgICAgJ2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwn
LAogICAgICAgICAgICAgJ2RvbS9ET01TdHJpbmdMaXN0LmlkbCcsCiAgICAgICAgICAgICAnZG9t
L0RPTVN0cmluZ01hcC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25FdmVudC5p
ZGwnLAogICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL0RvY3VtZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50RnJh
Z21lbnQuaWRsJywKQEAgLTU0OCw2ICs1NDksNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNEZWJ1Z1dyYXBwZXJTZXQuaCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEZXZpY2VN
b3Rpb25FdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2aWNl
T3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
RG9jdW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTUFwcGxp
Y2F0aW9uQ2FjaGVDdXN0b20uY3BwJywKQEAgLTc0NCw2ICs3NDYsNyBAQAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFiYXNlU3luY0N1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFHcmlkQ29sdW1uTGlzdEN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRD
dXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rp
b25FdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERl
dmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhEb2N1bWVudExvY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwJywKQEAgLTExMjcsNiArMTEz
MCwxMyBAQAogICAgICAgICAgICAgJ2RvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmgnLAogICAgICAg
ICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCcsCisgICAgICAgICAgICAnZG9tL0Rldmlj
ZU1vdGlvbkNsaWVudC5oJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlTW90aW9uQ29udHJvbGxl
ci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmgnLAorICAg
ICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25EYXRhLmNwcCcsCisgICAgICAgICAgICAnZG9tL0Rl
dmljZU1vdGlvbkRhdGEuaCcsCisgICAgICAgICAgICAnZG9tL0RldmljZU1vdGlvbkV2ZW50LmNw
cCcsCisgICAgICAgICAgICAnZG9tL0RldmljZU1vdGlvbkV2ZW50LmgnLAogICAgICAgICAgICAg
J2RvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmll
bnRhdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCcs
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpp
bmRleCAxMmQwNTZkLi45NmExYzYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisr
KyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTMwMSw2ICszMDEsNyBAQCBTT1VSQ0VTICs9IFwK
ICAgICBiaW5kaW5ncy9qcy9KU0RhdGFHcmlkRGF0YVNvdXJjZS5jcHAgXAogICAgIGJpbmRpbmdz
L2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNEZXNrdG9wTm90
aWZpY2F0aW9uc0N1c3RvbS5jcHAgXAorICAgIGJpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZl
bnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRD
dXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcCBcCiAgICAg
YmluZGluZ3MvanMvSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgXApAQCAtNDc5LDYgKzQ4MCw5IEBA
IFNPVVJDRVMgKz0gXAogICAgIGRvbS9DU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbi5jcHAg
XAogICAgIGRvbS9DdXN0b21FdmVudC5jcHAgXAogICAgIGRvbS9EZWNvZGVkRGF0YURvY3VtZW50
UGFyc2VyLmNwcCBcCisgICAgZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIFwKKyAgICBk
b20vRGV2aWNlTW90aW9uRGF0YS5jcHAgXAorICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAg
XAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAgXAogICAgIGRvbS9EZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIuY3BwIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAg
XApAQCAtMTI0Myw2ICsxMjQ3LDEwIEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9DU1NNYXBwZWRB
dHRyaWJ1dGVEZWNsYXJhdGlvbi5oIFwKICAgICBkb20vQ3VzdG9tRXZlbnQuaCBcCiAgICAgZG9t
L2RlZmF1bHQvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuaCBcCisgICAgZG9tL0RldmljZU1v
dGlvbkNsaWVudC5oIFwKKyAgICBkb20vRGV2aWNlTW90aW9uRGF0YS5oIFwKKyAgICBkb20vRGV2
aWNlTW90aW9uQ29udHJvbGxlci5oIFwKKyAgICBkb20vRGV2aWNlTW90aW9uRXZlbnQuaCBcCiAg
ICAgZG9tL0RldmljZU9yaWVudGF0aW9uLmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudC5oIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmggXApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYzBkYzNiZS4uM2ZhOWMyMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yOTA1LDYgKzI5MDUsNjIgQEAKIAkJ
CQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RldmljZU1vdGlv
bkV2ZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0Rldmlj
ZU1vdGlvbkV2ZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVs
YXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXNc
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCkBAIC0zMjY1Myw2ICszMjcwOSwzNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlTW90aW9uQ2xpZW50LmgiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21c
RGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XERldmljZU1vdGlvbkRhdGEuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU1vdGlvbkRhdGEuaCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VNb3Rp
b25FdmVudC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxkb21cRGV2aWNlTW90aW9uRXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbi5j
cHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtNDI0NDgsNiArNDI1MzIsNTggQEAKIAkJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCIN
CisJCQkJCT4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnfFdp
bjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8
VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQor
CQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQor
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxl
YXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
CT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
CS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8L0Zp
bGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGV2
aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAiDQogCQkJCQk+DQogCQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGY1YjkzMDMuLmQ3ODJkMjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC03NTAsNiArNzUwLDE2IEBACiAJCTMxQzBGRjRDMEU0Q0VGREQwMDdENkZFNSAv
KiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ2MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFDMEZGNEQwRTRDRUZERDAwN0Q2RkU1IC8qIERP
TVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ3MEU0Q0VGREQwMDdENkZFNSAvKiBET01XZWJLaXRUcmFu
c2l0aW9uRXZlbnQubW0gKi87IH07CiAJCTMxQzBGRjRFMEU0Q0VGREQwMDdENkZFNSAvKiBET01X
ZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGNDgwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktp
dFRyYW5zaXRpb25FdmVudEludGVybmFsLmggKi87IH07CisJCTMxRkIxQTU3MTIwQTVEMDYwMERD
MDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTRGMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rp
b25DbGllbnQuaCAqLzsgfTsKKwkJMzFGQjFBNTgxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1v
dGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzFGQjFBNTAxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xs
ZXIuY3BwICovOyB9OworCQkzMUZCMUE1OTEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9u
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzFGQjFBNTExMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAq
LzsgfTsKKwkJMzFGQjFBNUExMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkRhdGEuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTIx
MjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkRhdGEuY3BwICovOyB9OworCQkzMUZCMUE1
QjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFGQjFBNTMxMjBBNUQwNjAwREMwMkEwIC8q
IERldmljZU1vdGlvbkRhdGEuaCAqLzsgfTsKKwkJMzFGQjFBNUMxMjBBNUQwNjAwREMwMkEwIC8q
IERldmljZU1vdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxRkIxQTU0MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVu
dC5jcHAgKi87IH07CisJCTMxRkIxQTVEMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25F
dmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFG
QjFBNTUxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkV2ZW50LmggKi87IH07CisJCTMx
RkIxQTY1MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTYzMTIwQTVEM0Yw
MERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCAqLzsgfTsKKwkJMzFGQjFBNjYxMjBB
NUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBK
U0RldmljZU1vdGlvbkV2ZW50LmggKi87IH07CisJCTMxRkIxQTZDMTIwQTVENjkwMERDMDJBMCAv
KiBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTZCMTIwQTVENjkwMERDMDJBMCAvKiBKU0Rldmlj
ZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKIAkJMzMxNEFDRUIxMDg5MjA4NjAwMEYwRTU2
IC8qIEpTRXhjZXB0aW9uQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNl
LmNwcCAqLzsgfTsKIAkJMzMxNEFDRUMxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFz
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFD
RUExMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICovOyB9OwogCQkzMzUwM0M5
QTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3
RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTY0NjksNiArNjQ3OSwxNyBAQAogCQkzMUMwRkY0NjBF
NENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyogRE9NV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzMUMwRkY0ODBFNENFRkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2
ZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0
VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MzFGQjFBNEYxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25DbGllbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNTAxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1v
dGlvbkNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTMxRkIxQTUxMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNvbnRyb2xsZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNTIxMjBBNUQwNjAwREMwMkEwIC8q
IERldmljZU1vdGlvbkRhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRGV2aWNlTW90aW9uRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMx
RkIxQTUzMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkRhdGEuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNTQxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkV2
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmljZU1vdGlv
bkV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNTUxMjBBNUQw
NjAwREMwMkEwIC8qIERldmljZU1vdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERldmljZU1vdGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTMxRkIxQTU2MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gRGV2aWNlTW90aW9uRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUZCMUE2MzEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rp
b25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Rldmlj
ZU1vdGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNjQx
MjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25F
dmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Rl
dmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzMxNEFDRTkxMDg5MjA4NjAwMEYwRTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0V4Y2VwdGlvbkJhc2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMzE0QUNFQTEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNl
cHRpb25CYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXhjZXB0aW9u
QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzNGNzA0RTBGQjQ5Q0EyMDA4
RTEyQTYgLyogTm90aWZpY2F0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOb3RpZmlj
YXRpb24uaWRsOyBwYXRoID0gbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ3MzYsNiArMTQ3NTcsOCBAQAogCQkJCTkzRjlCNkRG
MEJBMEZCNzIwMDg1NDA2NCAvKiBKU0NvbW1lbnQuaCAqLywKIAkJCQlGRTZGRDQ4QjBGNjc2RTkz
MDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5jcHAgKi8sCiAJCQkJRkU2RkQ0OEMwRjY3NkU5MzAw
MDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuaCAqLywKKwkJCQkzMUZCMUE2MzEyMEE1RDNGMDBEQzAy
QTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi8sCisJCQkJMzFGQjFBNjQxMjBBNUQzRjAw
REMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCAqLywKIAkJCQk1OUE4NjAwNTExOURBRjdG
MDBERUYxRUYgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCAqLywKIAkJCQk1OUE4NjAw
NzExOURBRkExMDBERUYxRUYgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggKi8sCiAJCQkJ
NjU5RERDODAwOUUxOThCQTAwMUJGM0M2IC8qIEpTRG9jdW1lbnQuY3BwICovLApAQCAtMTU5MTgs
NiArMTU5NDEsNyBAQAogCQkJCUJDNzdEMTUxMEZGMTlDNzMwMDcwODg3QiAvKiBKU0RhdGFHcmlk
Q29sdW1uTGlzdEN1c3RvbS5jcHAgKi8sCiAJCQkJNDE2MkE0NTMxMDExNDVFMzAwREZGM0VEIC8q
IEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgKi8sCiAJCQkJMzM1MDNDQkYxMDE3
OUMxQTAwM0I0N0UxIC8qIEpTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwICovLAorCQkJ
CTMxRkIxQTZCMTIwQTVENjkwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNw
cCAqLywKIAkJCQk1OTBFMUI0QTExRTRFRjcwMDA2OUY3ODQgLyogSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyogSlNE
b2N1bWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJMUFDMjI2MTYwREI2OUY3NDAwODlCNjY5IC8qIEpT
RE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAgKi8sCkBAIC0xNzA2OCw2ICsxNzA5MiwxNCBA
QAogCQkJCUJDNjQ2NDFBMTFEN0Y0MTYwMDY0NTVCMCAvKiBEYXRhc2V0RE9NU3RyaW5nTWFwLmgg
Ki8sCiAJCQkJQThDMjI4QTAxMUQ1NzIyRTAwRDVBN0QzIC8qIERlY29kZWREYXRhRG9jdW1lbnRQ
YXJzZXIuY3BwICovLAogCQkJCUE4QzIyODlGMTFENTcyMkUwMEQ1QTdEMyAvKiBEZWNvZGVkRGF0
YURvY3VtZW50UGFyc2VyLmggKi8sCisJCQkJMzFGQjFBNEYxMjBBNUQwNjAwREMwMkEwIC8qIERl
dmljZU1vdGlvbkNsaWVudC5oICovLAorCQkJCTMxRkIxQTUwMTIwQTVEMDYwMERDMDJBMCAvKiBE
ZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCAqLywKKwkJCQkzMUZCMUE1MTEyMEE1RDA2MDBEQzAy
QTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5oICovLAorCQkJCTMxRkIxQTUyMTIwQTVEMDYw
MERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmNwcCAqLywKKwkJCQkzMUZCMUE1MzEyMEE1RDA2
MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5oICovLAorCQkJCTMxRkIxQTU0MTIwQTVEMDYw
MERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi8sCisJCQkJMzFGQjFBNTUxMjBBNUQw
NjAwREMwMkEwIC8qIERldmljZU1vdGlvbkV2ZW50LmggKi8sCisJCQkJMzFGQjFBNTYxMjBBNUQw
NjAwREMwMkEwIC8qIERldmljZU1vdGlvbkV2ZW50LmlkbCAqLywKIAkJCQk1OUQxQzEwMzExRUI1
RENGMDBCNjM4QzggLyogRGV2aWNlT3JpZW50YXRpb24uY3BwICovLAogCQkJCTU5MEUxQjQ4MTFF
NEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbi5oICovLAogCQkJCTU5QThGMUQ3MTFB
Njk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oICovLApAQCAtMTk5OTAs
NiArMjAwMjIsMTEgQEAKIAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxNzJFMDExMTM2RThDRTAwNjJBNTMzIC8qIFpvb21N
b2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0M2MUYwMTEyMDk1Qzg3MDA3QTNDNjcgLyogQXRv
bWljU3RyaW5nS2V5ZWRNUlVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFGQjFBNTcxMjBB
NUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MzFGQjFBNTkxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTMxRkIxQTVCMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25E
YXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUZCMUE1RDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2
aWNlTW90aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRkIxQTY2MTIwQTVEM0YwMERD
MDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIwMDQ5LDYg
KzIwMDg2LDcgQEAKIAkJCWlzYSA9IFBCWFByb2plY3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25M
aXN0ID0gMTQ5QzI4NDMwODkwMkIxMTAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlz
dCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIgKi87CiAJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9
ICJYY29kZSAyLjQiOworCQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOwogCQkJaGFzU2Nh
bm5lZEZvckVuY29kaW5ncyA9IDE7CiAJCQlrbm93blJlZ2lvbnMgPSAoCiAJCQkJRW5nbGlzaCwK
QEAgLTIyMzk0LDYgKzIyNDMyLDExIEBACiAJCQkJOTNGMTlCMDUwODI0NUU1OTAwMUU5QUJDIC8q
IFhTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxQkU1MTJEMENG
NkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OTdERDREODYwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3IuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMzFGQjFBNTgxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFGQjFBNUExMjBBNUQwNjAwREMwMkEwIC8qIERldmlj
ZU1vdGlvbkRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzFGQjFBNUMxMjBBNUQwNjAwREMw
MkEwIC8qIERldmljZU1vdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkIxQTY1
MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTMxRkIxQTZDMTIwQTVENjkwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50Q3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9nZW5l
cmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCmluZGV4IGViMDI3YzMuLjk0ZTk4NGYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNw
cAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5j
cHAKQEAgLTQ3LDYgKzQ3LDcgQEAgYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0luZGV4
ZWREQkVuYWJsZWQgPSBmYWxzZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNXZWJH
TEVuYWJsZWQgPSBmYWxzZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNQdXNoU3Rh
dGVFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzVG91Y2hF
bmFibGVkID0gdHJ1ZTsKK2Jvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNEZXZpY2VNb3Rp
b25FbmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNEZXZpY2VP
cmllbnRhdGlvbkVuYWJsZWQgPSB0cnVlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpp
c1NwZWVjaElucHV0RW5hYmxlZCA9IHRydWU7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9XZWJDb3JlL2JpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IGM5ZWIyMWYuLmNmMWNmYWUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aApAQCAtMTE0LDYgKzExNCwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgb250b3VjaGNh
bmNlbEVuYWJsZWQoKSB7IHJldHVybiBpc1RvdWNoRW5hYmxlZDsgfQogI2VuZGlmCiAKKyAgICBz
dGF0aWMgdm9pZCBzZXREZXZpY2VNb3Rpb25FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzRGV2
aWNlTW90aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIGRldmljZU1v
dGlvbkVuYWJsZWQoKSB7IHJldHVybiBpc0RldmljZU1vdGlvbkVuYWJsZWQ7IH0KKyAgICBzdGF0
aWMgYm9vbCBkZXZpY2Vtb3Rpb25FdmVudEVuYWJsZWQoKSB7IHJldHVybiBpc0RldmljZU1vdGlv
bkVuYWJsZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBvbmRldmljZW1vdGlvbkVuYWJsZWQoKSB7IHJl
dHVybiBpc0RldmljZU1vdGlvbkVuYWJsZWQ7IH0KKyAgICAKICAgICBzdGF0aWMgdm9pZCBzZXRE
ZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNEZXZpY2VPcmllbnRh
dGlvbkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBzdGF0aWMgYm9vbCBkZXZpY2VPcmllbnRh
dGlvbkVuYWJsZWQoKSB7IHJldHVybiBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZDsgfQogICAg
IHN0YXRpYyBib29sIGRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkKCkgeyByZXR1cm4gaXNE
ZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQ7IH0KQEAgLTEzNiw2ICsxNDEsNyBAQCBwcml2YXRlOgog
ICAgIHN0YXRpYyBib29sIGlzV2ViR0xFbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzUHVzaFN0
YXRlRW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc1RvdWNoRW5hYmxlZDsKKyAgICBzdGF0aWMg
Ym9vbCBpc0RldmljZU1vdGlvbkVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNEZXZpY2VPcmll
bnRhdGlvbkVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNTcGVlY2hJbnB1dEVuYWJsZWQ7CiB9
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3Vz
dG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI1YTYyNgotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5j
cHAKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJKU0RldmljZU1vdGlvbkV2ZW50LmgiCisKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFU
SU9OKQorCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRGF0YS5oIgorI2luY2x1ZGUgIkRldmljZU1v
dGlvbkV2ZW50LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworSlNWYWx1ZSBKU0RldmljZU1vdGlvbkV2ZW50Ojp4QWNjZWxlcmF0aW9uKEV4ZWNTdGF0
ZSogZXhlYykgY29uc3QKK3sKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nh
c3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rp
b25EYXRhKCktPmNhblByb3ZpZGVYQWNjZWxlcmF0aW9uKCkpCisgICAgICAgIHJldHVybiBqc051
bGwoKTsKKyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCkt
PnhBY2NlbGVyYXRpb24oKSk7Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6eUFj
Y2VsZXJhdGlvbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlTW90aW9uRXZl
bnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBp
ZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlWUFjY2VsZXJhdGlvbigpKQor
ICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+
ZGV2aWNlTW90aW9uRGF0YSgpLT55QWNjZWxlcmF0aW9uKCkpOworfQorCitKU1ZhbHVlIEpTRGV2
aWNlTW90aW9uRXZlbnQ6OnpBY2NlbGVyYXRpb24oRXhlY1N0YXRlKiBleGVjKSBjb25zdAorewor
ICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVu
dCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlk
ZVpBY2NlbGVyYXRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBq
c051bWJlcihleGVjLCBpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+ekFjY2VsZXJhdGlvbigpKTsK
K30KKworSlNWYWx1ZSBKU0RldmljZU1vdGlvbkV2ZW50Ojp4Um90YXRpb25SYXRlKEV4ZWNTdGF0
ZSogZXhlYykgY29uc3QKK3sKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nh
c3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rp
b25EYXRhKCktPmNhblByb3ZpZGVYUm90YXRpb25SYXRlKCkpCisgICAgICAgIHJldHVybiBqc051
bGwoKTsKKyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCkt
PnhSb3RhdGlvblJhdGUoKSk7Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6eVJv
dGF0aW9uUmF0ZShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlTW90aW9uRXZl
bnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBp
ZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZSgpKQor
ICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+
ZGV2aWNlTW90aW9uRGF0YSgpLT55Um90YXRpb25SYXRlKCkpOworfQorCitKU1ZhbHVlIEpTRGV2
aWNlTW90aW9uRXZlbnQ6OnpSb3RhdGlvblJhdGUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAorewor
ICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVu
dCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlk
ZVpSb3RhdGlvblJhdGUoKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBq
c051bWJlcihleGVjLCBpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+elJvdGF0aW9uUmF0ZSgpKTsK
K30KKyAgICAKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6aW50ZXJ2YWwoRXhlY1N0YXRl
KiBleGVjKSBjb25zdAoreworICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2Fz
dDxEZXZpY2VNb3Rpb25FdmVudCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlv
bkRhdGEoKS0+Y2FuUHJvdmlkZUludGVydmFsKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmludGVy
dmFsKCkpOworfQorICAgIAorSlNWYWx1ZSBKU0RldmljZU1vdGlvbkV2ZW50Ojppbml0RGV2aWNl
TW90aW9uRXZlbnQoRXhlY1N0YXRlKiBleGVjKQoreworICAgIGNvbnN0IFN0cmluZyYgdHlwZSA9
IHVzdHJpbmdUb1N0cmluZyhleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKSk7CisgICAg
Ym9vbCBidWJibGVzID0gZXhlYy0+YXJndW1lbnQoMSkudG9Cb29sZWFuKGV4ZWMpOworICAgIGJv
b2wgY2FuY2VsYWJsZSA9IGV4ZWMtPmFyZ3VtZW50KDIpLnRvQm9vbGVhbihleGVjKTsKKyAgICAv
LyBJZiBhbnkgb2YgdGhlIHBhcmFtZXRlcnMgYXJlIG51bGwgb3IgdW5kZWZpbmVkLCBtYXJrIHRo
ZW0gYXMgbm90IHByb3ZpZGVkLgorICAgIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBzdGFuZGFyZCBK
YXZhU2NyaXB0IGNvbnZlcnNpb24uCisgICAgYm9vbCB4QWNjZWxlcmF0aW9uUHJvdmlkZWQgPSAh
ZXhlYy0+YXJndW1lbnQoMykuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgeEFjY2Vs
ZXJhdGlvbiA9IGV4ZWMtPmFyZ3VtZW50KDMpLnRvTnVtYmVyKGV4ZWMpOworICAgIGJvb2wgeUFj
Y2VsZXJhdGlvblByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDQpLmlzVW5kZWZpbmVkT3JOdWxs
KCk7CisgICAgZG91YmxlIHlBY2NlbGVyYXRpb24gPSBleGVjLT5hcmd1bWVudCg0KS50b051bWJl
cihleGVjKTsKKyAgICBib29sIHpBY2NlbGVyYXRpb25Qcm92aWRlZCA9ICFleGVjLT5hcmd1bWVu
dCg1KS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSB6QWNjZWxlcmF0aW9uID0gZXhl
Yy0+YXJndW1lbnQoNSkudG9OdW1iZXIoZXhlYyk7CisgICAgYm9vbCB4Um90YXRpb25SYXRlUHJv
dmlkZWQgPSAhZXhlYy0+YXJndW1lbnQoNikuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3Vi
bGUgeFJvdGF0aW9uUmF0ZSA9IGV4ZWMtPmFyZ3VtZW50KDYpLnRvTnVtYmVyKGV4ZWMpOworICAg
IGJvb2wgeVJvdGF0aW9uUmF0ZVByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDcpLmlzVW5kZWZp
bmVkT3JOdWxsKCk7CisgICAgZG91YmxlIHlSb3RhdGlvblJhdGUgPSBleGVjLT5hcmd1bWVudCg3
KS50b051bWJlcihleGVjKTsKKyAgICBib29sIHpSb3RhdGlvblJhdGVQcm92aWRlZCA9ICFleGVj
LT5hcmd1bWVudCg4KS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSB6Um90YXRpb25S
YXRlID0gZXhlYy0+YXJndW1lbnQoOCkudG9OdW1iZXIoZXhlYyk7CisgICAgYm9vbCBpbnRlcnZh
bFByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDkpLmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAg
ZG91YmxlIGludGVydmFsID0gZXhlYy0+YXJndW1lbnQoOSkudG9OdW1iZXIoZXhlYyk7CisgICAg
UmVmUHRyPERldmljZU1vdGlvbkRhdGE+IGRldmljZU1vdGlvbkRhdGEgPSBEZXZpY2VNb3Rpb25E
YXRhOjpjcmVhdGUoeEFjY2VsZXJhdGlvblByb3ZpZGVkLCB4QWNjZWxlcmF0aW9uLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHlBY2NlbGVyYXRpb25Qcm92aWRlZCwgeUFjY2VsZXJhdGlvbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB6QWNjZWxlcmF0aW9uUHJvdmlkZWQsIHpBY2NlbGVyYXRpb24sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeFJvdGF0aW9uUmF0ZVByb3ZpZGVkLCB4Um90YXRpb25SYXRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHlSb3RhdGlvblJhdGVQcm92aWRlZCwgeVJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB6Um90YXRpb25SYXRlUHJvdmlkZWQsIHpSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50ZXJ2YWxQcm92aWRlZCwgaW50ZXJ2YWwpOworICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAg
PSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVudCo+KGltcGwoKSk7CisgICAgaW1wLT5pbml0
RGV2aWNlTW90aW9uRXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2VsYWJsZSwgZGV2aWNlTW90aW9u
RGF0YS5nZXQoKSk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAppbmRleCBiNjE5MGZmLi5hODNlYzAxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKQEAgLTI5LDExICsyOSwxMyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTRXZlbnQuaCIKIAorI2luY2x1ZGUgIkRldmlj
ZU1vdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiQ29tcG9z
aXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkN1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiRGV2aWNl
T3JpZW50YXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiSlNEZXZp
Y2VNb3Rpb25FdmVudC5oIgogI2luY2x1ZGUgIkpTQmVmb3JlTG9hZEV2ZW50LmgiCiAjaW5jbHVk
ZSAiSlNDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmgiCkBAIC0xNzMsNiAr
MTc1LDggQEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgRXZlbnQqIGV2ZW50KQogICAgIGVsc2UgaWYgKGV2ZW50LT5pc0N1c3Rv
bUV2ZW50KCkpCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4
ZWMsIGdsb2JhbE9iamVjdCwgQ3VzdG9tRXZlbnQsIGV2ZW50KTsKICNpZiBFTkFCTEUoREVWSUNF
X09SSUVOVEFUSU9OKQorICAgIGVsc2UgaWYgKGV2ZW50LT5pc0RldmljZU1vdGlvbkV2ZW50KCkp
CisgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2Jh
bE9iamVjdCwgRGV2aWNlTW90aW9uRXZlbnQsIGV2ZW50KTsKICAgICBlbHNlIGlmIChldmVudC0+
aXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkpCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9N
X09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgRGV2aWNlT3JpZW50YXRpb25FdmVu
dCwgZXZlbnQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjM5NjkyYjYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcApAQCAtMCwwICsxLDEzOSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4RGV2aWNlTW90aW9u
RXZlbnQuaCIKKworI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisKKyNpbmNsdWRlICJE
ZXZpY2VNb3Rpb25EYXRhLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhQ
cm94eS5oIgorCisjaW5jbHVkZSA8djguaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6eEFjY2VsZXJhdGlvbkFjY2Vz
c29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJ
bmZvJiBpbmZvKQoreworICAgIElOQ19TVEFUUygiRE9NLkRldmljZU1vdGlvbkV2ZW50LnhBY2Nl
bGVyYXRpb24uX2dldCIpOworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5m
by5Ib2xkZXIoKTsKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gVjhEZXZpY2VNb3Rpb25F
dmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKKyAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgp
LT5jYW5Qcm92aWRlWEFjY2VsZXJhdGlvbigpKQorICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsK
KyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT54QWNj
ZWxlcmF0aW9uKCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25F
dmVudDo6eUFjY2VsZXJhdGlvbkFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBu
YW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFUUygiRE9N
LkRldmljZU1vdGlvbkV2ZW50LnlBY2NlbGVyYXRpb24uX2dldCIpOworICAgIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VNb3Rpb25FdmVu
dCogaW1wID0gVjhEZXZpY2VNb3Rpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKKyAgICBpZiAo
IWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlWUFjY2VsZXJhdGlvbigpKQorICAg
ICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+
ZGV2aWNlTW90aW9uRGF0YSgpLT55QWNjZWxlcmF0aW9uKCkpOworfQorCit2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6ekFjY2VsZXJhdGlvbkFjY2Vzc29yR2V0dGVy
KHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZv
KQoreworICAgIElOQ19TVEFUUygiRE9NLkRldmljZU1vdGlvbkV2ZW50LnpBY2NlbGVyYXRpb24u
X2dldCIpOworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIo
KTsKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gVjhEZXZpY2VNb3Rpb25FdmVudDo6dG9O
YXRpdmUoaG9sZGVyKTsKKyAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92
aWRlWkFjY2VsZXJhdGlvbigpKQorICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1
cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT56QWNjZWxlcmF0aW9u
KCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6eFJv
dGF0aW9uUmF0ZUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25z
dCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFUUygiRE9NLkRldmljZU1v
dGlvbkV2ZW50LnhSb3RhdGlvblJhdGUuX2dldCIpOworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0g
VjhEZXZpY2VNb3Rpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKKyAgICBpZiAoIWltcC0+ZGV2
aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZSgpKQorICAgICAgICByZXR1
cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+ZGV2aWNlTW90
aW9uRGF0YSgpLT54Um90YXRpb25SYXRlKCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhEZXZpY2VNb3Rpb25FdmVudDo6eVJvdGF0aW9uUmF0ZUFjY2Vzc29yR2V0dGVyKHY4OjpMb2Nh
bDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAg
IElOQ19TVEFUUygiRE9NLkRldmljZU1vdGlvbkV2ZW50LnlSb3RhdGlvblJhdGUuX2dldCIpOwor
ICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBE
ZXZpY2VNb3Rpb25FdmVudCogaW1wID0gVjhEZXZpY2VNb3Rpb25FdmVudDo6dG9OYXRpdmUoaG9s
ZGVyKTsKKyAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlWVJvdGF0
aW9uUmF0ZSgpKQorICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51
bWJlcjo6TmV3KGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT55Um90YXRpb25SYXRlKCkpOworfQor
Cit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6elJvdGF0aW9uUmF0
ZUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNj
ZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFUUygiRE9NLkRldmljZU1vdGlvbkV2ZW50
LnpSb3RhdGlvblJhdGUuX2dldCIpOworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVy
ID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gVjhEZXZpY2VN
b3Rpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKKyAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9u
RGF0YSgpLT5jYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZSgpKQorICAgICAgICByZXR1cm4gdjg6Ok51
bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+ZGV2aWNlTW90aW9uRGF0YSgp
LT56Um90YXRpb25SYXRlKCkpOworfQorCisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmlj
ZU1vdGlvbkV2ZW50OjppbnRlcnZhbEFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5n
PiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFUUygi
RE9NLkRldmljZU1vdGlvbkV2ZW50LmludGVydmFsLl9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAgRGV2aWNlTW90aW9uRXZlbnQq
IGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7CisgICAgaWYgKCFp
bXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZUludGVydmFsKCkpCisgICAgICAgIHJl
dHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5kZXZpY2VN
b3Rpb25EYXRhKCktPmludGVydmFsKCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhE
ZXZpY2VNb3Rpb25FdmVudDo6aW5pdERldmljZU1vdGlvbkV2ZW50Q2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gVjhEZXZp
Y2VNb3Rpb25FdmVudDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgVjhQYXJhbWV0ZXI8
PiB0eXBlID0gYXJnc1swXTsKKyAgICBib29sIGJ1YmJsZXMgPSBhcmdzWzFdLT5Cb29sZWFuVmFs
dWUoKTsKKyAgICBib29sIGNhbmNlbGFibGUgPSBhcmdzWzJdLT5Cb29sZWFuVmFsdWUoKTsKKyAg
ICAvLyBJZiBhbnkgb2YgdGhlIHBhcmFtZXRlcnMgYXJlIG51bGwgb3IgdW5kZWZpbmVkLCBtYXJr
IHRoZW0gYXMgbm90IHByb3ZpZGVkLgorICAgIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBzdGFuZGFy
ZCBKYXZhU2NyaXB0IGNvbnZlcnNpb24uCisgICAgYm9vbCB4QWNjZWxlcmF0aW9uUHJvdmlkZWQg
PSAhaXNVbmRlZmluZWRPck51bGwoYXJnc1szXSk7CisgICAgZG91YmxlIHhBY2NlbGVyYXRpb24g
PSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbM10tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wg
eUFjY2VsZXJhdGlvblByb3ZpZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbNF0pOworICAg
IGRvdWJsZSB5QWNjZWxlcmF0aW9uID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihhcmdzWzRdLT5OdW1i
ZXJWYWx1ZSgpKTsKKyAgICBib29sIHpBY2NlbGVyYXRpb25Qcm92aWRlZCA9ICFpc1VuZGVmaW5l
ZE9yTnVsbChhcmdzWzVdKTsKKyAgICBkb3VibGUgekFjY2VsZXJhdGlvbiA9IHN0YXRpY19jYXN0
PGRvdWJsZT4oYXJnc1s1XS0+TnVtYmVyVmFsdWUoKSk7CisgICAgYm9vbCB4Um90YXRpb25SYXRl
UHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51bGwoYXJnc1s2XSk7CisgICAgZG91YmxlIHhSb3Rh
dGlvblJhdGUgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbNl0tPk51bWJlclZhbHVlKCkpOwor
ICAgIGJvb2wgeVJvdGF0aW9uUmF0ZVByb3ZpZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3Nb
N10pOworICAgIGRvdWJsZSB5Um90YXRpb25SYXRlID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihhcmdz
WzddLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBib29sIHpSb3RhdGlvblJhdGVQcm92aWRlZCA9ICFp
c1VuZGVmaW5lZE9yTnVsbChhcmdzWzhdKTsKKyAgICBkb3VibGUgelJvdGF0aW9uUmF0ZSA9IHN0
YXRpY19jYXN0PGRvdWJsZT4oYXJnc1s4XS0+TnVtYmVyVmFsdWUoKSk7CisgICAgYm9vbCBpbnRl
cnZhbFByb3ZpZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbOV0pOworICAgIGRvdWJsZSBp
bnRlcnZhbCA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1s5XS0+TnVtYmVyVmFsdWUoKSk7Cisg
ICAgUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IGRldmljZU1vdGlvbkRhdGEgPSBEZXZpY2VNb3Rp
b25EYXRhOjpjcmVhdGUoeEFjY2VsZXJhdGlvblByb3ZpZGVkLCB4QWNjZWxlcmF0aW9uLCB5QWNj
ZWxlcmF0aW9uUHJvdmlkZWQsIHlBY2NlbGVyYXRpb24sIHpBY2NlbGVyYXRpb25Qcm92aWRlZCwg
ekFjY2VsZXJhdGlvbiwgeFJvdGF0aW9uUmF0ZVByb3ZpZGVkLCB4Um90YXRpb25SYXRlLCB5Um90
YXRpb25SYXRlUHJvdmlkZWQsIHlSb3RhdGlvblJhdGUsIHpSb3RhdGlvblJhdGVQcm92aWRlZCwg
elJvdGF0aW9uUmF0ZSwgaW50ZXJ2YWxQcm92aWRlZCwgaW50ZXJ2YWwpOworICAgIGltcC0+aW5p
dERldmljZU1vdGlvbkV2ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUsIGRldmljZU1vdGlv
bkRhdGEuZ2V0KCkpOworICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKERFVklDRV9PUklFTlRB
VElPTikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVudC5oIGIvV2Vi
Q29yZS9kb20vRGV2aWNlTW90aW9uQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZDE5ZjkyZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0RldmljZU1v
dGlvbkNsaWVudC5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEZXZpY2VNb3Rpb25D
bGllbnRfaAorI2RlZmluZSBEZXZpY2VNb3Rpb25DbGllbnRfaAorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIERldmljZU1vdGlvbkNvbnRyb2xsZXI7CitjbGFzcyBEZXZpY2VNb3Rpb25E
YXRhOworCitjbGFzcyBEZXZpY2VNb3Rpb25DbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwg
fkRldmljZU1vdGlvbkNsaWVudCgpIHt9CisgICAgdmlydHVhbCB2b2lkIHNldENvbnRyb2xsZXIo
RGV2aWNlTW90aW9uQ29udHJvbGxlciopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRh
dGluZygpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCkgPSAwOworICAgIHZp
cnR1YWwgRGV2aWNlTW90aW9uRGF0YSogY3VycmVudERldmljZU1vdGlvbigpIGNvbnN0ID0gMDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU1vdGlvbkNs
aWVudF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNw
cCBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4Nzk4OWYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcApAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAq
IENvcHlyaWdodCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIgor
CisjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ2xpZW50LmgiCisjaW5jbHVkZSAiRGV2aWNlTW90aW9u
RGF0YS5oIgorI2luY2x1ZGUgIkRldmljZU1vdGlvbkV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6RGV2aWNlTW90aW9uQ29udHJvbGxlcihE
ZXZpY2VNb3Rpb25DbGllbnQqIGNsaWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKKyAgICAs
IG1fdGltZXIodGhpcywgJkRldmljZU1vdGlvbkNvbnRyb2xsZXI6OnRpbWVyRmlyZWQpCit7Cisg
ICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c2V0Q29udHJvbGxlcih0aGlzKTsK
K30KKwordm9pZCBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjp0aW1lckZpcmVkKFRpbWVyPERldmlj
ZU1vdGlvbkNvbnRyb2xsZXI+KiB0aW1lcikKK3sKKyAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0
aW1lciA9PSAmbV90aW1lcik7CisgICAgQVNTRVJUKCFtX2NsaWVudCB8fCBtX2NsaWVudC0+Y3Vy
cmVudERldmljZU1vdGlvbigpKTsKKyAgICBtX3RpbWVyLnN0b3AoKTsKKyAgICAKKyAgICBSZWZQ
dHI8RGV2aWNlTW90aW9uRGF0YT4gZGV2aWNlTW90aW9uRGF0YSA9IG1fY2xpZW50ID8gbV9jbGll
bnQtPmN1cnJlbnREZXZpY2VNb3Rpb24oKSA6IERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZSgpOwor
ICAgIFJlZlB0cjxEZXZpY2VNb3Rpb25FdmVudD4gZXZlbnQgPSBEZXZpY2VNb3Rpb25FdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5kZXZpY2Vtb3Rpb25FdmVudCwgZGV2aWNlTW90aW9uRGF0YS5n
ZXQoKSk7CisgCisgICAgVmVjdG9yPERPTVdpbmRvdyo+IGxpc3RlbmVyc1ZlY3RvcjsKKyAgICBj
b3B5VG9WZWN0b3IobV9uZXdMaXN0ZW5lcnMsIGxpc3RlbmVyc1ZlY3Rvcik7CisgICAgbV9uZXdM
aXN0ZW5lcnMuY2xlYXIoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3RlbmVyc1Zl
Y3Rvci5zaXplKCk7ICsraSkKKyAgICAgICAgbGlzdGVuZXJzVmVjdG9yW2ldLT5kaXNwYXRjaEV2
ZW50KGV2ZW50KTsKK30KKyAgICAKK3ZvaWQgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6YWRkTGlz
dGVuZXIoRE9NV2luZG93KiB3aW5kb3cpCit7CisgICAgLy8gSWYgbm8gY2xpZW50IGlzIHByZXNl
bnQgb3IgdGhlIGNsaWVudCBhbHJlYWR5IGhhcyBtb3Rpb24gZGF0YSwKKyAgICAvLyBpbW1lZGlh
dGVseSB0cmlnZ2VyIGFuIGFzeW5jaHJvbm91cyByZXNwb25zZS4KKyAgICBpZiAoIW1fY2xpZW50
IHx8IG1fY2xpZW50LT5jdXJyZW50RGV2aWNlTW90aW9uKCkpIHsKKyAgICAgICAgbV9uZXdMaXN0
ZW5lcnMuYWRkKHdpbmRvdyk7CisgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQorICAg
ICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgfQorICAgIAorICAgIGJvb2wg
d2FzRW1wdHkgPSBtX2xpc3RlbmVycy5pc0VtcHR5KCk7CisgICAgbV9saXN0ZW5lcnMuYWRkKHdp
bmRvdyk7CisgICAgaWYgKHdhc0VtcHR5ICYmIG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+
c3RhcnRVcGRhdGluZygpOworfQorCit2b2lkIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OnJlbW92
ZUxpc3RlbmVyKERPTVdpbmRvdyogd2luZG93KQoreworICAgIG1fbGlzdGVuZXJzLnJlbW92ZSh3
aW5kb3cpOworICAgIG1fbmV3TGlzdGVuZXJzLnJlbW92ZSh3aW5kb3cpOworICAgIGlmIChtX2xp
c3RlbmVycy5pc0VtcHR5KCkgJiYgbV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5zdG9wVXBk
YXRpbmcoKTsKK30KKwordm9pZCBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpyZW1vdmVBbGxMaXN0
ZW5lcnMoRE9NV2luZG93KiB3aW5kb3cpCit7CisgICAgLy8gTWF5IGJlIGNhbGxlZCB3aXRoIGEg
RE9NV2luZG93IHRoYXQncyBub3QgYSBsaXN0ZW5lci4KKyAgICBpZiAoIW1fbGlzdGVuZXJzLmNv
bnRhaW5zKHdpbmRvdykpCisgICAgICAgIHJldHVybjsKKworICAgIG1fbGlzdGVuZXJzLnJlbW92
ZUFsbCh3aW5kb3cpOworICAgIG1fbmV3TGlzdGVuZXJzLnJlbW92ZSh3aW5kb3cpOworICAgIGlm
IChtX2xpc3RlbmVycy5pc0VtcHR5KCkgJiYgbV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5z
dG9wVXBkYXRpbmcoKTsKK30KKwordm9pZCBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpkaWRDaGFu
Z2VEZXZpY2VNb3Rpb24oRGV2aWNlTW90aW9uRGF0YSogZGV2aWNlTW90aW9uRGF0YSkKK3sKKyAg
ICBSZWZQdHI8RGV2aWNlTW90aW9uRXZlbnQ+IGV2ZW50ID0gRGV2aWNlTW90aW9uRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkuZGV2aWNlbW90aW9uRXZlbnQsIGRldmljZU1vdGlvbkRhdGEpOwor
ICAgIFZlY3RvcjxET01XaW5kb3cqPiBsaXN0ZW5lcnNWZWN0b3I7CisgICAgY29weVRvVmVjdG9y
KG1fbGlzdGVuZXJzLCBsaXN0ZW5lcnNWZWN0b3IpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgbGlzdGVuZXJzVmVjdG9yLnNpemUoKTsgKytpKQorICAgICAgICBsaXN0ZW5lcnNWZWN0b3Jb
aV0tPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmggYi9XZWJDb3Jl
L2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uMjY3MGUwNAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0RldmljZU1v
dGlvbkNvbnRyb2xsZXIuaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGV2aWNlTW90
aW9uQ29udHJvbGxlcl9oCisjZGVmaW5lIERldmljZU1vdGlvbkNvbnRyb2xsZXJfaAorCisjaW5j
bHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlIDx3dGYvSGFz
aENvdW50ZWRTZXQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VNb3Rp
b25EYXRhOworY2xhc3MgRGV2aWNlTW90aW9uQ2xpZW50OworCitjbGFzcyBEZXZpY2VNb3Rpb25D
b250cm9sbGVyIHsKK3B1YmxpYzoKKyAgICBEZXZpY2VNb3Rpb25Db250cm9sbGVyKERldmljZU1v
dGlvbkNsaWVudCopOworCisgICAgdm9pZCBhZGRMaXN0ZW5lcihET01XaW5kb3cqKTsKKyAgICB2
b2lkIHJlbW92ZUxpc3RlbmVyKERPTVdpbmRvdyopOworICAgIHZvaWQgcmVtb3ZlQWxsTGlzdGVu
ZXJzKERPTVdpbmRvdyopOworCisgICAgdm9pZCBkaWRDaGFuZ2VEZXZpY2VNb3Rpb24oRGV2aWNl
TW90aW9uRGF0YSopOworCitwcml2YXRlOgorICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxEZXZp
Y2VNb3Rpb25Db250cm9sbGVyPiopOworICAgIAorICAgIERldmljZU1vdGlvbkNsaWVudCogbV9j
bGllbnQ7CisgICAgdHlwZWRlZiBIYXNoQ291bnRlZFNldDxET01XaW5kb3cqPiBMaXN0ZW5lcnND
b3VudGVkU2V0OworICAgIExpc3RlbmVyc0NvdW50ZWRTZXQgbV9saXN0ZW5lcnM7CisgICAgdHlw
ZWRlZiBIYXNoU2V0PERPTVdpbmRvdyo+IExpc3RlbmVyc1NldDsKKyAgICBMaXN0ZW5lcnNTZXQg
bV9uZXdMaXN0ZW5lcnM7CisgICAgVGltZXI8RGV2aWNlTW90aW9uQ29udHJvbGxlcj4gbV90aW1l
cjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU1vdGlv
bkNvbnRyb2xsZXJfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRGF0YS5j
cHAgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25EYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5jZjRiNDY2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20v
RGV2aWNlTW90aW9uRGF0YS5jcHAKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IERldmljZU1vdGlvbkRhdGE6
OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VNb3Rpb25EYXRhKTsK
K30KKworUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBEZXZpY2VNb3Rpb25EYXRhOjpjcmVh
dGUoYm9vbCBjYW5Qcm92aWRlWEFjY2VsZXJhdGlvbiwgZG91YmxlIHhBY2NlbGVyYXRpb24sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s
IGNhblByb3ZpZGVZQWNjZWxlcmF0aW9uLCBkb3VibGUgeUFjY2VsZXJhdGlvbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJv
dmlkZVpBY2NlbGVyYXRpb24sIGRvdWJsZSB6QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWFJv
dGF0aW9uUmF0ZSwgZG91YmxlIHhSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVZUm90YXRpb25S
YXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVpSb3RhdGlvblJhdGUsIGRv
dWJsZSB6Um90YXRpb25SYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlSW50ZXJ2YWwsIGRvdWJsZSBpbnRlcnZh
bCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmljZU1vdGlvbkRhdGEoY2FuUHJvdmlk
ZVhBY2NlbGVyYXRpb24sIHhBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNhblByb3ZpZGVZQWNjZWxlcmF0aW9uLCB5QWNjZWxlcmF0aW9uLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5Qcm92aWRlWkFjY2Vs
ZXJhdGlvbiwgekFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY2FuUHJvdmlkZVhSb3RhdGlvblJhdGUsIHhSb3RhdGlvblJhdGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhblByb3ZpZGVZUm90YXRpb25SYXRl
LCB5Um90YXRpb25SYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZSwgelJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuUHJvdmlkZUludGVydmFsLCBpbnRlcnZhbCkp
OworfQorCitEZXZpY2VNb3Rpb25EYXRhOjpEZXZpY2VNb3Rpb25EYXRhKCkKKyAgICA6IG1fY2Fu
UHJvdmlkZVhBY2NlbGVyYXRpb24oZmFsc2UpCisgICAgLCBtX2NhblByb3ZpZGVZQWNjZWxlcmF0
aW9uKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlWkFjY2VsZXJhdGlvbihmYWxzZSkKKyAgICAs
IG1fY2FuUHJvdmlkZVhSb3RhdGlvblJhdGUoZmFsc2UpCisgICAgLCBtX2NhblByb3ZpZGVZUm90
YXRpb25SYXRlKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZShmYWxzZSkK
KyAgICAsIG1fY2FuUHJvdmlkZUludGVydmFsKGZhbHNlKQoreworfQorCitEZXZpY2VNb3Rpb25E
YXRhOjpEZXZpY2VNb3Rpb25EYXRhKGJvb2wgY2FuUHJvdmlkZVhBY2NlbGVyYXRpb24sIGRvdWJs
ZSB4QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s
IGNhblByb3ZpZGVZQWNjZWxlcmF0aW9uLCBkb3VibGUgeUFjY2VsZXJhdGlvbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWkFjY2VsZXJhdGlvbiwg
ZG91YmxlIHpBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2wgY2FuUHJvdmlkZVhSb3RhdGlvblJhdGUsIGRvdWJsZSB4Um90YXRpb25SYXRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVZUm90YXRpb25S
YXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbCBjYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZSwgZG91YmxlIHpSb3RhdGlvblJhdGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZUludGVy
dmFsLCBkb3VibGUgaW50ZXJ2YWwpCisgICAgOiBtX2NhblByb3ZpZGVYQWNjZWxlcmF0aW9uKGNh
blByb3ZpZGVYQWNjZWxlcmF0aW9uKQorICAgICwgbV9jYW5Qcm92aWRlWUFjY2VsZXJhdGlvbihj
YW5Qcm92aWRlWUFjY2VsZXJhdGlvbikKKyAgICAsIG1fY2FuUHJvdmlkZVpBY2NlbGVyYXRpb24o
Y2FuUHJvdmlkZVpBY2NlbGVyYXRpb24pCisgICAgLCBtX2NhblByb3ZpZGVYUm90YXRpb25SYXRl
KGNhblByb3ZpZGVYUm90YXRpb25SYXRlKQorICAgICwgbV9jYW5Qcm92aWRlWVJvdGF0aW9uUmF0
ZShjYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZSkKKyAgICAsIG1fY2FuUHJvdmlkZVpSb3RhdGlvblJh
dGUoY2FuUHJvdmlkZVpSb3RhdGlvblJhdGUpCisgICAgLCBtX2NhblByb3ZpZGVJbnRlcnZhbChj
YW5Qcm92aWRlSW50ZXJ2YWwpCisgICAgLCBtX3hBY2NlbGVyYXRpb24oeEFjY2VsZXJhdGlvbikK
KyAgICAsIG1feUFjY2VsZXJhdGlvbih5QWNjZWxlcmF0aW9uKQorICAgICwgbV96QWNjZWxlcmF0
aW9uKHpBY2NlbGVyYXRpb24pCisgICAgLCBtX3hSb3RhdGlvblJhdGUoeFJvdGF0aW9uUmF0ZSkK
KyAgICAsIG1feVJvdGF0aW9uUmF0ZSh5Um90YXRpb25SYXRlKQorICAgICwgbV96Um90YXRpb25S
YXRlKHpSb3RhdGlvblJhdGUpCisgICAgLCBtX2ludGVydmFsKGludGVydmFsKQoreworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rp
b25EYXRhLmggYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25EYXRhLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q5MDI0NgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
ZG9tL0RldmljZU1vdGlvbkRhdGEuaApAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IERldmljZU1vdGlvbkRhdGFfaAorI2RlZmluZSBEZXZpY2VNb3Rpb25EYXRhX2gKKworI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VNb3Rpb25EYXRhIDogcHVibGljIFJlZkNv
dW50ZWQ8RGV2aWNlTW90aW9uRGF0YT4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PERldmljZU1vdGlvbkRhdGE+IGNyZWF0ZSgpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmlj
ZU1vdGlvbkRhdGE+IGNyZWF0ZShib29sIGNhblByb3ZpZGVYQWNjZWxlcmF0aW9uLCBkb3VibGUg
eEFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbCBjYW5Qcm92aWRlWUFjY2VsZXJhdGlvbiwgZG91YmxlIHlBY2NlbGVyYXRpb24s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2Fu
UHJvdmlkZVpBY2NlbGVyYXRpb24sIGRvdWJsZSB6QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVYUm90YXRp
b25SYXRlLCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZSwgZG91Ymxl
IHlSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJvb2wgY2FuUHJvdmlkZVpSb3RhdGlvblJhdGUsIGRvdWJsZSB6Um90YXRpb25SYXRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNh
blByb3ZpZGVJbnRlcnZhbCwgZG91YmxlIGludGVydmFsKTsKKworICAgIGRvdWJsZSB4QWNjZWxl
cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV94QWNjZWxlcmF0aW9uOyB9CisgICAgZG91YmxlIHlB
Y2NlbGVyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3lBY2NlbGVyYXRpb247IH0KKyAgICBkb3Vi
bGUgekFjY2VsZXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fekFjY2VsZXJhdGlvbjsgfQorICAg
IGRvdWJsZSB4Um90YXRpb25SYXRlKCkgY29uc3QgeyByZXR1cm4gbV94Um90YXRpb25SYXRlOyB9
CisgICAgZG91YmxlIHlSb3RhdGlvblJhdGUoKSBjb25zdCB7IHJldHVybiBtX3lSb3RhdGlvblJh
dGU7IH0KKyAgICBkb3VibGUgelJvdGF0aW9uUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1felJvdGF0
aW9uUmF0ZTsgfQorICAgIGRvdWJsZSBpbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJ2
YWw7IH0KKworICAgIGJvb2wgY2FuUHJvdmlkZVhBY2NlbGVyYXRpb24oKSBjb25zdCB7IHJldHVy
biBtX2NhblByb3ZpZGVYQWNjZWxlcmF0aW9uOyB9CisgICAgYm9vbCBjYW5Qcm92aWRlWUFjY2Vs
ZXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuUHJvdmlkZVlBY2NlbGVyYXRpb247IH0KKyAg
ICBib29sIGNhblByb3ZpZGVaQWNjZWxlcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Qcm92
aWRlWkFjY2VsZXJhdGlvbjsgfQorICAgIGJvb2wgY2FuUHJvdmlkZVhSb3RhdGlvblJhdGUoKSBj
b25zdCB7IHJldHVybiBtX2NhblByb3ZpZGVYUm90YXRpb25SYXRlOyB9CisgICAgYm9vbCBjYW5Q
cm92aWRlWVJvdGF0aW9uUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FuUHJvdmlkZVlSb3RhdGlv
blJhdGU7IH0KKyAgICBib29sIGNhblByb3ZpZGVaUm90YXRpb25SYXRlKCkgY29uc3QgeyByZXR1
cm4gbV9jYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZTsgfQorICAgIGJvb2wgY2FuUHJvdmlkZUludGVy
dmFsKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Qcm92aWRlSW50ZXJ2YWw7IH0KKworcHJpdmF0ZToK
KyAgICBEZXZpY2VNb3Rpb25EYXRhKCk7CisgICAgRGV2aWNlTW90aW9uRGF0YShib29sIGNhblBy
b3ZpZGVYQWNjZWxlcmF0aW9uLCBkb3VibGUgeEFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgIGJvb2wgY2FuUHJvdmlkZVlBY2NlbGVyYXRpb24sIGRvdWJsZSB5QWNjZWxlcmF0aW9u
LAorICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWkFjY2VsZXJhdGlvbiwgZG91
YmxlIHpBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVY
Um90YXRpb25SYXRlLCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAg
IGJvb2wgY2FuUHJvdmlkZVlSb3RhdGlvblJhdGUsIGRvdWJsZSB5Um90YXRpb25SYXRlLAorICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZSwgZG91YmxlIHpS
b3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVJbnRlcnZh
bCwgZG91YmxlIGludGVydmFsKTsKKworICAgIGJvb2wgbV9jYW5Qcm92aWRlWEFjY2VsZXJhdGlv
bjsKKyAgICBib29sIG1fY2FuUHJvdmlkZVlBY2NlbGVyYXRpb247CisgICAgYm9vbCBtX2NhblBy
b3ZpZGVaQWNjZWxlcmF0aW9uOworICAgIGJvb2wgbV9jYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZTsK
KyAgICBib29sIG1fY2FuUHJvdmlkZVlSb3RhdGlvblJhdGU7CisgICAgYm9vbCBtX2NhblByb3Zp
ZGVaUm90YXRpb25SYXRlOworICAgIGJvb2wgbV9jYW5Qcm92aWRlSW50ZXJ2YWw7CisKKyAgICBk
b3VibGUgbV94QWNjZWxlcmF0aW9uOworICAgIGRvdWJsZSBtX3lBY2NlbGVyYXRpb247CisgICAg
ZG91YmxlIG1fekFjY2VsZXJhdGlvbjsKKyAgICBkb3VibGUgbV94Um90YXRpb25SYXRlOworICAg
IGRvdWJsZSBtX3lSb3RhdGlvblJhdGU7CisgICAgZG91YmxlIG1felJvdGF0aW9uUmF0ZTsKKyAg
ICBkb3VibGUgbV9pbnRlcnZhbDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIERldmljZU1vdGlvbkRhdGFfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRGV2aWNl
TW90aW9uRXZlbnQuY3BwIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2MGNjYTIKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25FdmVudC5o
IgorCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRGF0YS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK0RldmljZU1vdGlvbkV2ZW50Ojp+RGV2aWNlTW90aW9uRXZlbnQoKQoreworfQorCitEZXZp
Y2VNb3Rpb25FdmVudDo6RGV2aWNlTW90aW9uRXZlbnQoKQorICAgIDogbV9kZXZpY2VNb3Rpb25E
YXRhKERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZSgpKQoreworfQorCitEZXZpY2VNb3Rpb25FdmVu
dDo6RGV2aWNlTW90aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIERldmlj
ZU1vdGlvbkRhdGEqIGRldmljZU1vdGlvbkRhdGEpCisgICAgOiBFdmVudChldmVudFR5cGUsIGZh
bHNlLCBmYWxzZSkgLy8gQ2FuJ3QgYnViYmxlLCBub3QgY2FuY2VsYWJsZQorICAgICwgbV9kZXZp
Y2VNb3Rpb25EYXRhKGRldmljZU1vdGlvbkRhdGEpCit7Cit9CisKK3ZvaWQgRGV2aWNlTW90aW9u
RXZlbnQ6OmluaXREZXZpY2VNb3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJv
b2wgYnViYmxlcywgYm9vbCBjYW5jZWxhYmxlLCBEZXZpY2VNb3Rpb25EYXRhKiBkZXZpY2VNb3Rp
b25EYXRhKQoreworICAgIGlmIChkaXNwYXRjaGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IGluaXRFdmVudCh0eXBlLCBidWJibGVzLCBjYW5jZWxhYmxlKTsKKyAgICBtX2RldmljZU1vdGlv
bkRhdGEgPSBkZXZpY2VNb3Rpb25EYXRhOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oIGIvV2ViQ29yZS9kb20v
RGV2aWNlTW90aW9uRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5m
MzJjOTNiCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQu
aApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBEZXZpY2VNb3Rpb25FdmVudF9o
CisjZGVmaW5lIERldmljZU1vdGlvbkV2ZW50X2gKKworI2luY2x1ZGUgIkV2ZW50LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlTW90aW9uRGF0YTsKKworY2xhc3MgRGV2
aWNlTW90aW9uRXZlbnQgOiBwdWJsaWMgRXZlbnQgeworcHVibGljOgorICAgIH5EZXZpY2VNb3Rp
b25FdmVudCgpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmljZU1vdGlvbkV2ZW50PiBjcmVh
dGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VNb3Rpb25FdmVu
dCk7CisgICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmljZU1vdGlvbkV2ZW50PiBjcmVh
dGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIERldmljZU1vdGlvbkRhdGEqIGRldmlj
ZU1vdGlvbkRhdGEpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmljZU1v
dGlvbkV2ZW50KGV2ZW50VHlwZSwgZGV2aWNlTW90aW9uRGF0YSkpOworICAgIH0KKworICAgIHZv
aWQgaW5pdERldmljZU1vdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBi
dWJibGVzLCBib29sIGNhbmNlbGFibGUsIERldmljZU1vdGlvbkRhdGEqKTsKKworICAgIHZpcnR1
YWwgYm9vbCBpc0RldmljZU1vdGlvbkV2ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCisg
ICAgRGV2aWNlTW90aW9uRGF0YSogZGV2aWNlTW90aW9uRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZGV2aWNlTW90aW9uRGF0YS5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIERldmljZU1vdGlvbkV2
ZW50KCk7CisgICAgRGV2aWNlTW90aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIERldmljZU1vdGlvbkRhdGEqKTsKKworICAgIFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBt
X2RldmljZU1vdGlvbkRhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBEZXZpY2VNb3Rpb25FdmVudF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9EZXZpY2VN
b3Rpb25FdmVudC5pZGwgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdlOGU3MQotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbApAQCAtMCwwICsxLDQxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVS
LCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIs
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworbW9kdWxlIGNvcmUgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9u
YWw9REVWSUNFX09SSUVOVEFUSU9OCisgICAgXSBEZXZpY2VNb3Rpb25FdmVudCA6IEV2ZW50IHsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGRvdWJsZSB4QWNjZWxlcmF0aW9u
OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIHlBY2NlbGVyYXRp
b247CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgekFjY2VsZXJh
dGlvbjsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGRvdWJsZSB4Um90YXRp
b25SYXRlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIHlSb3Rh
dGlvblJhdGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgelJv
dGF0aW9uUmF0ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGRvdWJsZSBp
bnRlcnZhbDsKKyAgICAgICAgW0N1c3RvbV0gdm9pZCBpbml0RGV2aWNlTW90aW9uRXZlbnQoaW4g
RE9NU3RyaW5nIHR5cGUsIGluIGJvb2xlYW4gYnViYmxlcywgaW4gYm9vbGVhbiBjYW5jZWxhYmxl
LCBpbiBkb3VibGUgeEFjY2VsZXJhdGlvbiwgaW4gZG91YmxlIHlBY2NlbGVyYXRpb24sIGluIGRv
dWJsZSB6QWNjZWxlcmF0aW9uLCBpbiBkb3VibGUgeFJvdGF0aW9uUmF0ZSwgaW4gZG91YmxlIHlS
b3RhdGlvblJhdGUsIGluIGRvdWJsZSB6Um90YXRpb25SYXRlLCBpbiBkb3VibGUgaW50ZXJ2YWwp
OworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIu
Y3BwCmluZGV4IDExMTU3N2YuLjViODZlNmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50
YXRpb25Db250cm9sbGVyLmNwcApAQCAtMzcsOCArMzcsOCBAQCBEZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXI6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihQYWdlKiBwYWdlLCBEZXZpY2VP
cmllbgogICAgICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV90aW1lcih0aGlzLCAmRGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyOjp0aW1lckZpcmVkKQogewotICAgIEFTU0VSVChtX2NsaWVu
dCk7Ci0gICAgbV9jbGllbnQtPnNldENvbnRyb2xsZXIodGhpcyk7CisgICAgaWYgKG1fY2xpZW50
KQorICAgICAgICBtX2NsaWVudC0+c2V0Q29udHJvbGxlcih0aGlzKTsKIH0KIAogdm9pZCBEZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OnRpbWVyRmlyZWQoVGltZXI8RGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyPiogdGltZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggOTFlZmU5ZS4uZjVjNDdiOSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAKICNpbmNs
dWRlICJBWE9iamVjdENhY2hlLmgiCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRXZlbnQuaCIKICNp
bmNsdWRlICJBbmltYXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQXR0ci5oIgogI2luY2x1
ZGUgIkF0dHJpYnV0ZS5oIgpAQCAtMzMzMSw2ICszMzMyLDggQEAgUGFzc1JlZlB0cjxFdmVudD4g
RG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25D
b2RlJgogICAgICAgICBldmVudCA9IFRvdWNoRXZlbnQ6OmNyZWF0ZSgpOwogI2VuZGlmCiAjaWYg
RU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkRl
dmljZU1vdGlvbkV2ZW50IikKKyAgICAgICAgZXZlbnQgPSBEZXZpY2VNb3Rpb25FdmVudDo6Y3Jl
YXRlKCk7CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJEZXZpY2VPcmllbnRhdGlvbkV2ZW50
IikKICAgICAgICAgZXZlbnQgPSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpjcmVhdGUoKTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvV2ViQ29yZS9kb20vRXZl
bnQuY3BwCmluZGV4IDRlYTNlMGMuLjFhYWI1YzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2
ZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTIxMyw2ICsyMTMsMTEgQEAg
Ym9vbCBFdmVudDo6aXNUb3VjaEV2ZW50KCkgY29uc3QKICNlbmRpZgogCiAjaWYgRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikKK2Jvb2wgRXZlbnQ6OmlzRGV2aWNlTW90aW9uRXZlbnQoKSBjb25z
dAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBFdmVudDo6aXNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCAyYjU3MGQ1Li5lMTgy
NThjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2
ZW50LmgKQEAgLTE0MCw2ICsxNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZp
cnR1YWwgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25zdDsKICNlbmRpZgogI2lmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RldmljZU1vdGlvbkV2ZW50
KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRXZlbnQo
KSBjb25zdDsKICNlbmRpZgogICAgICAgICBib29sIGZyb21Vc2VyR2VzdHVyZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CmluZGV4IDY2MjBjZWMuLjIzNTk4OGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTUwLDYgKzUwLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGNvcHkpIFwKICAgICBtYWNybyhjdXQpIFwKICAg
ICBtYWNybyhkYmxjbGljaykgXAorICAgIG1hY3JvKGRldmljZW1vdGlvbikgXAogICAgIG1hY3Jv
KGRldmljZW9yaWVudGF0aW9uKSBcCiAgICAgbWFjcm8oZGlzcGxheSkgXAogICAgIG1hY3JvKGRv
d25sb2FkaW5nKSBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGZjNjk2ZGEuLmJiNjEyNjkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAKICNpbmNs
dWRlICJBYnN0cmFjdERhdGFiYXNlLmgiCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIkJhc2U2NC5oIgogI2luY2x1ZGUgIkJhckluZm8uaCIKICNpbmNsdWRl
ICJCZWZvcmVVbmxvYWRFdmVudC5oIgpAQCAtMTQzNSw2ICsxNDM2LDggQEAgYm9vbCBET01XaW5k
b3c6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NS
ZWZQdHI8RXZlbnQKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmJlZm9y
ZXVubG9hZEV2ZW50ICYmIGFsbG93c0JlZm9yZVVubG9hZExpc3RlbmVycyh0aGlzKSkKICAgICAg
ICAgYWRkQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcih0aGlzKTsKICNpZiBFTkFCTEUoREVWSUNF
X09SSUVOVEFUSU9OKQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2
aWNlbW90aW9uRXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+
cGFnZSgpLT5kZXZpY2VNb3Rpb25Db250cm9sbGVyKCkpCisgICAgICAgIGZyYW1lKCktPnBhZ2Uo
KS0+ZGV2aWNlTW90aW9uQ29udHJvbGxlcigpLT5hZGRMaXN0ZW5lcih0aGlzKTsKICAgICBlbHNl
IGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW9yaWVudGF0aW9uRXZlbnQgJiYg
ZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXIoKSkKICAgICAgICAgZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXIoKS0+YWRkTGlzdGVuZXIodGhpcyk7CiAjZW5kaWYKQEAgLTE0NTIs
NiArMTQ1NSw4IEBAIGJvb2wgRE9NV2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyCiAgICAgZWxzZSBpZiAoZXZlbnRU
eXBlID09IGV2ZW50TmFtZXMoKS5iZWZvcmV1bmxvYWRFdmVudCAmJiBhbGxvd3NCZWZvcmVVbmxv
YWRMaXN0ZW5lcnModGhpcykpCiAgICAgICAgIHJlbW92ZUJlZm9yZVVubG9hZEV2ZW50TGlzdGVu
ZXIodGhpcyk7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBlbHNlIGlmIChl
dmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW1vdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYg
ZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlTW90aW9uQ29udHJvbGxl
cigpKQorICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU1vdGlvbkNvbnRyb2xsZXIoKS0+
cmVtb3ZlTGlzdGVuZXIodGhpcyk7CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFt
ZXMoKS5kZXZpY2VvcmllbnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgp
ICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkpCiAgICAg
ICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCktPnJlbW92
ZUxpc3RlbmVyKHRoaXMpOwogI2VuZGlmCkBAIC0xNTMwLDYgKzE1MzUsOCBAQCB2b2lkIERPTVdp
bmRvdzo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQogICAgIEV2ZW50VGFyZ2V0OjpyZW1vdmVB
bGxFdmVudExpc3RlbmVycygpOwogCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAg
ICBpZiAoZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+cGFnZSgpLT5kZXZp
Y2VNb3Rpb25Db250cm9sbGVyKCkpCisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlTW90
aW9uQ29udHJvbGxlcigpLT5yZW1vdmVBbGxMaXN0ZW5lcnModGhpcyk7CiAgICAgaWYgKGZyYW1l
KCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyKCkpCiAgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyKCktPnJlbW92ZUFsbExpc3RlbmVycyh0aGlzKTsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5o
CmluZGV4IDUxZDQwN2MuLjhkNTdkY2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTMzOCw2ICszMzgsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZGV2aWNlbW90aW9u
KTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkZXZpY2VvcmllbnRh
dGlvbik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwg
Yi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBiMzUyMjAyLi42YmY5OTdjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbApAQCAtMzA1LDggKzMwNSwxMCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAg
YXR0cmlidXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZl
bnRMaXN0ZW5lciBvbnRvdWNoZW5kOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRP
VUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hjYW5jZWw7
CiAKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sIEVu
YWJsZWRBdFJ1bnRpbWVdIERldmljZU9yaWVudGF0aW9uRXZlbnRDb25zdHJ1Y3RvciBEZXZpY2VP
cmllbnRhdGlvbkV2ZW50OwotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9P
UklFTlRBVElPTiwgRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbmRldmljZW9yaWVu
dGF0aW9uOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElP
TixFbmFibGVkQXRSdW50aW1lXSBEZXZpY2VNb3Rpb25FdmVudENvbnN0cnVjdG9yIERldmljZU1v
dGlvbkV2ZW50OworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRB
VElPTixFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9uZGV2aWNlbW90aW9uOworICAg
ICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTixFbmFibGVkQXRS
dW50aW1lXSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q29uc3RydWN0b3IgRGV2aWNlT3JpZW50YXRp
b25FdmVudDsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJ
T04sRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbmRldmljZW9yaWVudGF0aW9uOwog
CiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQogICAgICAgICBbQ3VzdG9tXSB2b2lk
IGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAgYi9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggOTRkMjk0MC4uNWFi
NjQyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcApAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKIAorI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3Qu
aCIKICNpbmNsdWRlICJCYXNlNjQuaCIKQEAgLTE0MSw2ICsxNDIsNyBAQCBQYWdlOjpQYWdlKGNv
bnN0IFBhZ2VDbGllbnRzJiBwYWdlQ2xpZW50cykKICAgICAsIG1fZ2VvbG9jYXRpb25Db250cm9s
bGVyKG5ldyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIodGhpcywgcGFnZUNsaWVudHMuZ2VvbG9jYXRp
b25Db250cm9sbGVyQ2xpZW50KSkKICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCisgICAgLCBtX2RldmljZU1vdGlvbkNvbnRyb2xsZXIoUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6ZGV2aWNlTW90aW9uRW5hYmxlZCgpID8gbmV3IERldmljZU1vdGlvbkNvbnRyb2xsZXIocGFn
ZUNsaWVudHMuZGV2aWNlTW90aW9uQ2xpZW50KSA6IDApCiAgICAgLCBtX2RldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlcihSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkZXZpY2VPcmllbnRhdGlvbkVu
YWJsZWQoKSA/IG5ldyBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIodGhpcywgcGFnZUNsaWVu
dHMuZGV2aWNlT3JpZW50YXRpb25DbGllbnQpIDogMCkKICNlbmRpZgogI2lmIEVOQUJMRShJTlBV
VF9TUEVFQ0gpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvV2ViQ29yZS9wYWdl
L1BhZ2UuaAppbmRleCA2MmFmMGE3Li5kZGJhYTU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
UGFnZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTM3LDYgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorICAgIGNsYXNzIERldmljZU1vdGlv
bkNsaWVudDsKKyAgICBjbGFzcyBEZXZpY2VNb3Rpb25Db250cm9sbGVyOwogICAgIGNsYXNzIEJh
Y2tGb3J3YXJkQ29udHJvbGxlcjsKICAgICBjbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGll
bnQ7CiAgICAgY2xhc3MgQmFja0ZvcndhcmRMaXN0OwpAQCAtMTAxLDYgKzEwMyw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICAgICAsIGluc3BlY3RvckNsaWVudCgwKQogICAg
ICAgICAgICAgICAgICwgcGx1Z2luSGFsdGVyQ2xpZW50KDApCiAgICAgICAgICAgICAgICAgLCBn
ZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQoMCkKKyAgICAgICAgICAgICAgICAsIGRldmljZU1v
dGlvbkNsaWVudCgwKQogICAgICAgICAgICAgICAgICwgZGV2aWNlT3JpZW50YXRpb25DbGllbnQo
MCkKICAgICAgICAgICAgICAgICAsIGJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudCgwKQogICAg
ICAgICAgICAgICAgICwgc3BlZWNoSW5wdXRDbGllbnQoMCkKQEAgLTExMyw2ICsxMTYsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3Rv
ckNsaWVudDsKICAgICAgICAgICAgIFBsdWdpbkhhbHRlckNsaWVudCogcGx1Z2luSGFsdGVyQ2xp
ZW50OwogICAgICAgICAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KiBnZW9sb2NhdGlv
bkNvbnRyb2xsZXJDbGllbnQ7CisgICAgICAgICAgICBEZXZpY2VNb3Rpb25DbGllbnQqIGRldmlj
ZU1vdGlvbkNsaWVudDsKICAgICAgICAgICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBkZXZp
Y2VPcmllbnRhdGlvbkNsaWVudDsKICAgICAgICAgICAgIEJhY2tGb3J3YXJkQ29udHJvbGxlckNs
aWVudCogYmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50OwogICAgICAgICAgICAgU3BlZWNoSW5w
dXRDbGllbnQqIHNwZWVjaElucHV0Q2xpZW50OwpAQCAtMTc5LDYgKzE4Myw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKiBnZW9sb2NhdGlvbkNv
bnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2dlb2xvY2F0aW9uQ29udHJvbGxlci5nZXQoKTsg
fQogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICAgICAgRGV2aWNl
TW90aW9uQ29udHJvbGxlciogZGV2aWNlTW90aW9uQ29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJu
IG1fZGV2aWNlTW90aW9uQ29udHJvbGxlci5nZXQoKTsgfQogICAgICAgICBEZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIqIGRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpIGNvbnN0IHsgcmV0
dXJuIG1fZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmdldCgpOyB9CiAjZW5kaWYKICNpZiBF
TkFCTEUoSU5QVVRfU1BFRUNIKQpAQCAtMzEzLDYgKzMxOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgT3duUHRyPEdlb2xvY2F0aW9uQ29udHJvbGxlcj4gbV9nZW9sb2NhdGlvbkNv
bnRyb2xsZXI7CiAjZW5kaWYKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgICAg
ICBPd25QdHI8RGV2aWNlTW90aW9uQ29udHJvbGxlcj4gbV9kZXZpY2VNb3Rpb25Db250cm9sbGVy
OwogICAgICAgICBPd25QdHI8RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyPiBtX2RldmljZU9y
aWVudGF0aW9uQ29udHJvbGxlcjsKICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63555</attachid>
            <date>2010-08-04 22:59:44 -0700</date>
            <delta_ts>2010-08-04 23:06:16 -0700</delta_ts>
            <desc>QT and crlinux build fixes</desc>
            <filename>devicemotion.patch</filename>
            <type>text/plain</type>
            <size>101911</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NGMxMTFmLi45OGNiMDNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTAtMDgt
MDQgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisK
KyAgICAgICAgQWRkIERldmljZU1vdGlvbiBhbmQgb25kZXZpY2Vtb3Rpb24gdGVzdGluZyB0bwor
ICAgICAgICB0aGUgZGV2aWNlLW9yaWVudGF0aW9uIHRlc3QsIGFuZCBtYWtlIHN1cmUgdGhlIERl
dmljZU1vdGlvbgorICAgICAgICBpbnRlcmZhY2UgaXMgbm90IHRlc3RlZCBpbiB0aGUgZ2VuZXJp
YyB3aW5kb3cgb2JqZWN0LgorCisgICAgICAgIE5vdGUgdGhhdCBhdCB0aGlzIHRpbWUgdGhlIHNw
ZWNpZmllZCBldmVudCBpcworICAgICAgICBjYWxsZWQgQWNjZWxlcm9tZXRlciwgYnV0IHRoaXMg
d2lsbCBjaGFuZ2UgdG8gRGV2aWNlTW90aW9uCisgICAgICAgIHdpdGggdGhlIGluY2x1c2lvbiBv
ZiBneXJvc2NvcGljIHJlc3VsdHMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6CisKKyAg
ICAgICAgQWRkIHNvbWUgdGVzdHMgZm9yIHRoZSBEZXZpY2VNb3Rpb25FdmVudCBpbnRlcmZhY2Uu
CisKKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwt
ZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9jcmVh
dGUtZXZlbnQuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi9zY3Jp
cHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qczogQWRkZWQuCisgICAgICAgICog
ZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVydHkuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93
LXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGVzZSBhcmUgc2tp
cHBlZCBvbiBNYWMsIFdpbiwgR1RLIGFuZCBRVC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9T
a2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAt
MDgtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHRlc3QgZXhwZWN0YXRpb24gdXBkYXRlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGM0MGM0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVudC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzMCBAQAorVGVzdHMgdGhhdCBkb2N1bWVudC5jcmVhdGVFdmVudCgp
IHdvcmtzIHdpdGggRGV2aWNlTW90aW5FdmVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgdHlwZW9mIGV2ZW50ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgJ3R5cGUn
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2J1YmJsZXMnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
J2NhbmNlbGFibGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3hBY2NlbGVyYXRpb24nIGluIGV2
ZW50IGlzIHRydWUKK1BBU1MgJ3lBY2NlbGVyYXRpb24nIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
J3pBY2NlbGVyYXRpb24nIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3hSb3RhdGlvblJhdGUnIGlu
IGV2ZW50IGlzIHRydWUKK1BBU1MgJ3lSb3RhdGlvblJhdGUnIGluIGV2ZW50IGlzIHRydWUKK1BB
U1MgJ3pSb3RhdGlvblJhdGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2ludGVydmFsJyBpbiBl
dmVudCBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIGlzIHRydWUK
K1BBU1MgdHlwZW9mIGV2ZW50LmJ1YmJsZXMgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlw
ZW9mIGV2ZW50LmNhbmNlbGFibGUgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2
ZW50LnhBY2NlbGVyYXRpb24gPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQu
eUFjY2VsZXJhdGlvbiA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC56QWNj
ZWxlcmF0aW9uID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnhSb3RhdGlv
blJhdGUgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQueVJvdGF0aW9uUmF0
ZSA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC56Um90YXRpb25SYXRlID09
ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmludGVydmFsID09ICdvYmplY3Qn
IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRl
LWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2
ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ1Zjk2MgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9jcmVhdGUt
ZXZlbnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJv
cGVydGllcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MGVhYmUzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1v
dGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY1
IEBACitUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VNb3Rpb25FdmVudC4g
RWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBv
ciB1bmRlZmluZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitldmVudCA9IGRv
Y3VtZW50LmNyZWF0ZUV2ZW50KCdEZXZpY2VNb3Rpb25FdmVudCcpCitQQVNTIGV2ZW50LnhBY2Nl
bGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24gPT0gbnVs
bCBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNT
IGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlv
blJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gbnVsbCBp
cyB0cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IG51bGwgaXMgdHJ1ZQorZXZlbnQuaW5pdERl
dmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIDAsIDEsIDIsIDMsIDQsIDUsIDYpCitQ
QVNTIGV2ZW50LnhBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVy
YXRpb24gPT0gMSBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMiBpcyB0cnVl
CitQQVNTIGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gMyBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3Rh
dGlvblJhdGUgPT0gNCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gNSBpcyB0
cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IDYgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1v
dGlvbkV2ZW50KCkKK1BBU1MgZXZlbnQueEFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BB
U1MgZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuekFjY2Vs
ZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueFJvdGF0aW9uUmF0ZSA9PSBudWxs
IGlzIHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1Mg
ZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwg
PT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZlbnQoJycsIGZhbHNlLCBm
YWxzZSwgW10sIFtdLCBbXSwgW10sIFtdLCBbXSwgW10pCitQQVNTIGV2ZW50LnhBY2NlbGVyYXRp
b24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQ
QVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnhSb3RhdGlv
blJhdGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVl
CitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LmludGVy
dmFsID09IDAgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwg
ZmFsc2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZp
bmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkKK1BBU1MgZXZlbnQueEFjY2VsZXJhdGlvbiA9PSBu
dWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BB
U1MgZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueFJvdGF0
aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxs
IGlzIHRydWUKK1BBU1MgZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1Mg
ZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZl
bnQoJycsIGZhbHNlLCBmYWxzZSwgJycsICcnLCAnJywgJycsICcnLCAnJywgJycpCitQQVNTIGV2
ZW50LnhBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24g
PT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNT
IGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJh
dGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQ
QVNTIGV2ZW50LmludGVydmFsID09IDAgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1vdGlvbkV2
ZW50KCcnLCBmYWxzZSwgZmFsc2UsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGws
IG51bGwpCitQQVNTIGV2ZW50LnhBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2
ZW50LnlBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRp
b24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0
cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50
LnpSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IG51
bGwgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9vcHRp
b25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VN
b3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjIxMjY2OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCkBAIC0w
LDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjMxOTYzZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90
aW9uL3NjcmlwdC10ZXN0cy9jcmVhdGUtZXZlbnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9E
ZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4xNjczMjlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9jcmVhdGUtZXZlbnQuanMKQEAg
LTAsMCArMSwyOSBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgZG9jdW1lbnQuY3JlYXRlRXZl
bnQoKSB3b3JrcyB3aXRoIERldmljZU1vdGluRXZlbnQuIik7CisKK3ZhciBldmVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUV2ZW50KCdEZXZpY2VNb3Rpb25FdmVudCcpOworCitzaG91bGRCZVRydWUoInR5
cGVvZiBldmVudCA9PSAnb2JqZWN0JyIpOworCitzaG91bGRCZVRydWUoIid0eXBlJyBpbiBldmVu
dCIpOworc2hvdWxkQmVUcnVlKCInYnViYmxlcycgaW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgi
J2NhbmNlbGFibGUnIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIid4QWNjZWxlcmF0aW9uJyBp
biBldmVudCIpOworc2hvdWxkQmVUcnVlKCIneUFjY2VsZXJhdGlvbicgaW4gZXZlbnQiKTsKK3No
b3VsZEJlVHJ1ZSgiJ3pBY2NlbGVyYXRpb24nIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIid4
Um90YXRpb25SYXRlJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCIneVJvdGF0aW9uUmF0ZScg
aW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3pSb3RhdGlvblJhdGUnIGluIGV2ZW50Iik7Citz
aG91bGRCZVRydWUoIidpbnRlcnZhbCcgaW4gZXZlbnQiKTsKKworc2hvdWxkQmVUcnVlKCJ0eXBl
b2YgZXZlbnQudHlwZSA9PSAnc3RyaW5nJyIpOworc2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQu
YnViYmxlcyA9PSAnYm9vbGVhbiciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LmNhbmNl
bGFibGUgPT0gJ2Jvb2xlYW4nIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC54QWNjZWxl
cmF0aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC55QWNjZWxl
cmF0aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC56QWNjZWxl
cmF0aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC54Um90YXRp
b25SYXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC55Um90YXRp
b25SYXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC56Um90YXRp
b25SYXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC5pbnRlcnZh
bCA9PSAnb2JqZWN0JyIpOworCit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMv
b3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0Rldmlj
ZU1vdGlvbi9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjliNTNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9vcHRpb25hbC1l
dmVudC1wcm9wZXJ0aWVzLmpzCkBAIC0wLDAgKzEsNjggQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0
aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VNb3Rpb25FdmVudC4gRWFjaCBwcm9wZXJ0
eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQu
Iik7CisKK3ZhciBldmVudDsKKworZXZhbEFuZExvZygiZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVF
dmVudCgnRGV2aWNlTW90aW9uRXZlbnQnKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54QWNjZWxl
cmF0aW9uID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBu
dWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVsbCIpOworc2hv
dWxkQmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgi
ZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3Rh
dGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSBudWxs
Iik7CisKK2V2YWxBbmRMb2coImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2Us
IGZhbHNlLCAwLCAxLCAyLCAzLCA0LCA1LCA2KSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54QWNj
ZWxlcmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9PSAx
Iik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMiIpOworc2hvdWxkQmVU
cnVlKCJldmVudC54Um90YXRpb25SYXRlID09IDMiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueVJv
dGF0aW9uUmF0ZSA9PSA0Iik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3RhdGlvblJhdGUgPT0g
NSIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSA2Iik7CisKK2V2YWxBbmRMb2co
ImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhB
Y2NlbGVyYXRpb24gPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9u
ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIik7
CitzaG91bGRCZVRydWUoImV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVU
cnVlKCJldmVudC55Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
elJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09
IG51bGwiKTsKKworZXZhbEFuZExvZygiZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBm
YWxzZSwgZmFsc2UsIFtdLCBbXSwgW10sIFtdLCBbXSwgW10sIFtdKSIpOworc2hvdWxkQmVUcnVl
KCJldmVudC54QWNjZWxlcmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2Vs
ZXJhdGlvbiA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCIp
Oworc2hvdWxkQmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IDAiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3Rh
dGlvblJhdGUgPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSAwIik7CisK
K2V2YWxBbmRMb2coImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2UsIGZhbHNl
LCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwg
dW5kZWZpbmVkLCB1bmRlZmluZWQpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhBY2NlbGVyYXRp
b24gPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9uID09IG51bGwi
KTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIik7CitzaG91bGRC
ZVRydWUoImV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVu
dC55Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuelJvdGF0aW9u
UmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09IG51bGwiKTsK
KworZXZhbEFuZExvZygiZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFs
c2UsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54
QWNjZWxlcmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9
PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCIpOworc2hvdWxk
QmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
eVJvdGF0aW9uUmF0ZSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3RhdGlvblJhdGUg
PT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSAwIik7CisKK2V2YWxBbmRM
b2coImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCBudWxsLCBu
dWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsKSIpOworc2hvdWxkQmVUcnVlKCJldmVu
dC54QWNjZWxlcmF0aW9uID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJh
dGlvbiA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVs
bCIpOworc2hvdWxkQmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2
ZW50LnpSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZh
bCA9PSBudWxsIik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy93aW5k
b3ctcHJvcGVydHkuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0
LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5jOTE4NDhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2
aWNlTW90aW9uL3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVydHkuanMKQEAgLTAsMCArMSwzMSBA
QAorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIHdpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCBh
bmQgd2luZG93Lm9uZGV2aWNlbW90aW9uIHByb3BlcnRpZXMgYXJlIHByZXNlbnQuIik7CisKK2Z1
bmN0aW9uIGhhc0RldmljZU1vdGlvbkV2ZW50UHJvcGVydHkoKQoreworICAgIGZvciAodmFyIHBy
b3BlcnR5IGluIHdpbmRvdykgeworICAgICAgICBpZiAocHJvcGVydHkgPT0gIkRldmljZU1vdGlv
bkV2ZW50IikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCA9
PSAnb2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNEZXZpY2VNb3Rpb25FdmVudFByb3BlcnR5
KCkiKTsKK3Nob3VsZEJlVHJ1ZSgiJ0RldmljZU1vdGlvbkV2ZW50JyBpbiB3aW5kb3ciKTsKK3No
b3VsZEJlVHJ1ZSgid2luZG93Lmhhc093blByb3BlcnR5KCdEZXZpY2VNb3Rpb25FdmVudCcpIik7
CisKK2Z1bmN0aW9uIGhhc09uRGV2aWNlTW90aW9uUHJvcGVydHkoKQoreworICAgIGZvciAodmFy
IHByb3BlcnR5IGluIHdpbmRvdykgeworICAgICAgICBpZiAocHJvcGVydHkgPT0gIm9uZGV2aWNl
bW90aW9uIikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdpbmRvdy5vbmRldmljZW1vdGlvbiA9PSAn
b2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNPbkRldmljZU1vdGlvblByb3BlcnR5KCkiKTsK
K3Nob3VsZEJlVHJ1ZSgiJ29uZGV2aWNlbW90aW9uJyBpbiB3aW5kb3ciKTsKK3Nob3VsZEJlVHJ1
ZSgid2luZG93Lmhhc093blByb3BlcnR5KCdvbmRldmljZW1vdGlvbicpIik7CisKK3dpbmRvdy5z
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vRGV2aWNlTW90aW9uL3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTUyNjUxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3dpbmRvdy1wcm9wZXJ0eS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdHMgdGhhdCB0aGUgd2luZG93LkRldmljZU1v
dGlvbkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2Vtb3Rpb24gcHJvcGVydGllcyBhcmUgcHJlc2Vu
dC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIHdpbmRvdy5E
ZXZpY2VNb3Rpb25FdmVudCA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIGhhc0RldmljZU1vdGlv
bkV2ZW50UHJvcGVydHkoKSBpcyB0cnVlCitQQVNTICdEZXZpY2VNb3Rpb25FdmVudCcgaW4gd2lu
ZG93IGlzIHRydWUKK1BBU1Mgd2luZG93Lmhhc093blByb3BlcnR5KCdEZXZpY2VNb3Rpb25FdmVu
dCcpIGlzIHRydWUKK1BBU1MgdHlwZW9mIHdpbmRvdy5vbmRldmljZW1vdGlvbiA9PSAnb2JqZWN0
JyBpcyB0cnVlCitQQVNTIGhhc09uRGV2aWNlTW90aW9uUHJvcGVydHkoKSBpcyB0cnVlCitQQVNT
ICdvbmRldmljZW1vdGlvbicgaW4gd2luZG93IGlzIHRydWUKK1BBU1Mgd2luZG93Lmhhc093blBy
b3BlcnR5KCdvbmRldmljZW1vdGlvbicpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZTEyMjAzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHkuaHRtbApAQCAtMCwwICsxLDEy
IEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhw
ZWN0ZWQudHh0CmluZGV4IDYyODAxZWIuLjBhNGE1YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNTcgQEAKLVRo
aXMgdGVzdCBkdW1wcyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhY2hhYmxlIGZy
b20gdGhlIHdpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2Vv
cmllbnRhdGlvbiBvYmplY3RzLCBhbG9uZyB3aXRoIHRoZWlyIHR5cGVzLgorVGhpcyB0ZXN0IGR1
bXBzIGFsbCBvZiB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2lu
ZG93LkRldmljZU1vdGlvbkV2ZW50IHdpbmRvdy5vbmRldmljZW1vdGlvbiwgd2luZG93LkRldmlj
ZU9yaWVudGF0aW9uRXZlbnQgYW5kIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMs
IGFsb25nIHdpdGggdGhlaXIgdHlwZXMuIFRoZXNlIHByb3BlcnRpZXMgYXJlIGN1cnJlbnRseSBn
dWFyZGVkIGJ5IEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04uCiAKLXdpbmRvdy5EZXZpY2VPcmll
bnRhdGlvbkV2ZW50IFtmdW5jdGlvbl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCBbb2JqZWN0
IERldmljZU1vdGlvbkV2ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQu
cHJvdG90eXBlIFtvYmplY3QgRGV2aWNlTW90aW9uRXZlbnRQcm90b3R5cGVdCit3aW5kb3cuRGV2
aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLkFUX1RBUkdFVCBbbnVtYmVyXQord2luZG93LkRldmlj
ZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5CTFVSIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlTW90aW9u
RXZlbnQucHJvdG90eXBlLkJVQkJMSU5HX1BIQVNFIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlTW90
aW9uRXZlbnQucHJvdG90eXBlLkNBUFRVUklOR19QSEFTRSBbbnVtYmVyXQord2luZG93LkRldmlj
ZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5DSEFOR0UgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rp
b25FdmVudC5wcm90b3R5cGUuQ0xJQ0sgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVu
dC5wcm90b3R5cGUuREJMQ0xJQ0sgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5w
cm90b3R5cGUuRFJBR0RST1AgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90
b3R5cGUuRk9DVVMgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUu
S0VZRE9XTiBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5LRVlQ
UkVTUyBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5LRVlVUCBb
bnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURPV04gW251
bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuTU9VU0VEUkFHIFtudW1i
ZXJdCit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLk1PVVNFTU9WRSBbbnVtYmVy
XQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRU9VVCBbbnVtYmVyXQor
d2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRU9WRVIgW251bWJlcl0KK3dp
bmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuTU9VU0VVUCBbbnVtYmVyXQord2luZG93
LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5TRUxFQ1QgW251bWJlcl0KK3dpbmRvdy5EZXZp
Y2VNb3Rpb25FdmVudC5wcm90b3R5cGUuaW5pdERldmljZU1vdGlvbkV2ZW50IFtmdW5jdGlvbl0K
K3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuaW5pdEV2ZW50IFtmdW5jdGlvbl0K
K3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUucHJldmVudERlZmF1bHQgW2Z1bmN0
aW9uXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5zdG9wSW1tZWRpYXRlUHJv
cGFnYXRpb24gW2Z1bmN0aW9uXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5z
dG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQord2luZG93Lm9uZGV2aWNlbW90aW9uIFtudWxsXQor
d2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQgW29iamVjdCBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUg
W29iamVjdCBEZXZpY2VPcmllbnRhdGlvbkV2ZW50UHJvdG90eXBlXQord2luZG93LkRldmljZU9y
aWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkFUX1RBUkdFVCBbbnVtYmVyXQord2luZG93LkRldmlj
ZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkJMVVIgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VP
cmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5CVUJCTElOR19QSEFTRSBbbnVtYmVyXQord2luZG93
LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNBUFRVUklOR19QSEFTRSBbbnVtYmVy
XQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNIQU5HRSBbbnVtYmVy
XQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNMSUNLIFtudW1iZXJd
Cit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuREJMQ0xJQ0sgW251bWJl
cl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5EUkFHRFJPUCBbbnVt
YmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkZPQ1VTIFtudW1i
ZXJdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuS0VZRE9XTiBbbnVt
YmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLktFWVBSRVNTIFtu
dW1iZXJdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuS0VZVVAgW251
bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURPV04g
W251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURS
QUcgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VT
RU1PVkUgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5N
T1VTRU9VVCBbbnVtYmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBl
Lk1PVVNFT1ZFUiBbbnVtYmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90
eXBlLk1PVVNFVVAgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3Rv
dHlwZS5TRUxFQ1QgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3Rv
dHlwZS5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCBbZnVuY3Rpb25dCit3aW5kb3cuRGV2aWNl
T3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuaW5pdEV2ZW50IFtmdW5jdGlvbl0KK3dpbmRvdy5E
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdCBbZnVuY3Rpb25d
Cit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuc3RvcEltbWVkaWF0ZVBy
b3BhZ2F0aW9uIFtmdW5jdGlvbl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3Rv
dHlwZS5zdG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQogd2luZG93Lm9uZGV2aWNlb3JpZW50YXRp
b24gW251bGxdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbAppbmRl
eCA5N2UwMGJiLi43ZTgzZmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRhdGlv
bi5odG1sCkBAIC0xLDQgKzEsNSBAQAotPHA+VGhpcyB0ZXN0IGR1bXBzIGFsbCBvZiB0aGUgcHJv
cGVydGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmljZU9yaWVudGF0
aW9uRXZlbnQgYW5kIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMsIGFsb25nIHdp
dGggdGhlaXIgdHlwZXMuPC9wPgorPHA+VGhpcyB0ZXN0IGR1bXBzIGFsbCBvZiB0aGUgcHJvcGVy
dGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmljZU1vdGlvbkV2ZW50
IHdpbmRvdy5vbmRldmljZW1vdGlvbiwgd2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQgYW5k
IHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMsIGFsb25nIHdpdGggdGhlaXIgdHlw
ZXMuCisgIFRoZXNlIHByb3BlcnRpZXMgYXJlIGN1cnJlbnRseSBndWFyZGVkIGJ5IEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04uPC9wPgogPGhyPgogPHByZSBpZD0icHJlIj48L3ByZT4KIApAQCAt
ODgsNiArODksOCBAQCBmdW5jdGlvbiBsb2dQcm9wZXJ0aWVzKG9iamVjdCwgb2JqZWN0TmFtZSkK
ICAgICB9CiB9CiAKK2xvZ1ZhbHVlKCd3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQnKTsKK2xvZ1Zh
bHVlKCd3aW5kb3cub25kZXZpY2Vtb3Rpb24nKTsKIGxvZ1ZhbHVlKCd3aW5kb3cuRGV2aWNlT3Jp
ZW50YXRpb25FdmVudCcpOwogbG9nVmFsdWUoJ3dpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uJyk7
CiBmbHVzaExvZygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMuaHRtbAppbmRleCBjMTM1YTliLi5kMDBkMWI1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbApAQCAtODUsNiAr
ODUsOCBAQCB2YXIgX19za2lwX18gPSB7CiAgICAgIndpbmRvdy5GaWxlUmVhZGVyIiA6IDEsCiAg
ICAgIndpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IiA6IDEsCiAgICAgIndpbmRvdy5vbmRl
dmljZW9yaWVudGF0aW9uIiA6IDEsCisgICAgIndpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCIgOiAx
LAorICAgICJ3aW5kb3cub25kZXZpY2Vtb3Rpb24iIDogMSwKICAgICAid2luZG93LndlYmtpdFBl
cmZvcm1hbmNlIiA6IDEsCiAKICAgICAvLyBzaG93TW9kYWxEaWFsb2cgaXMgbm90IGltcGxlbWVu
dGVkIG9uIGFsbCBwbGF0Zm9ybXMgaW4gRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkCmluZGV4IDdlYTE3MDguLjZkNTNmNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVk
CkBAIC0xMDgxLDYgKzEwODEsOSBAQCBmYXN0L2RvbS9jbGllbnQtd2lkdGgtaGVpZ2h0LXF1aXJr
cy5odG1sCiBmYXN0L2RvbS9jbGllbnQtd2lkdGgtaGVpZ2h0Lmh0bWwKIGZhc3QvZG9tL2Nzc1Rh
cmdldC1jcmFzaC5odG1sCiBmYXN0L2RvbS9mcmFtZS1sb2FkaW5nLXZpYS1kb2N1bWVudC13cml0
ZS5odG1sCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50Lmh0bWwKK2Zhc3QvZG9t
L0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKK2Zhc3QvZG9tL0Rl
dmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHkuaHRtbAogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRp
b24vYmFzaWMtb3BlcmF0aW9uLmh0bWwKIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL2NyZWF0
ZS1ldmVudC5odG1sCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1w
cm9wZXJ0aWVzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggMTk3ZDQ5Ny4uMWUz
YjY1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTI0MCw3ICsyNDAsOCBAQCBjYW52
YXMvcGhpbGlwL3Rlc3RzL3R5cGUucHJvdG90eXBlLmh0bWwKICMgSW5kZXhlZERCIGlzIG5vdCB5
ZXQgZW5hYmxlZC4KIHN0b3JhZ2UvaW5kZXhlZGRiCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3Vw
cG9ydCBEZXZpY2VPcmllbnRhdGlvbi4KKyMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZp
Y2VNb3Rpb24gb3IgRGV2aWNlT3JpZW50YXRpb24uCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZh
c3QvZG9tL0RldmljZU9yaWVudGF0aW9uCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRp
ZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXgg
MGIyNDU4Ny4uYzcwMGZiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC03OCw3ICs3OCw4
IEBAIHBsdWdpbnMvY2xpY2tpbmctbWlzc2luZy1wbHVnaW4tZmlyZXMtZGVsZWdhdGUuaHRtbAog
IyAgICAgICBGZWF0dXJlIG5vdCBzdXBwb3J0ZWQuLi4geWV0CiAjID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PSAjCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VPcmllbnRhdGlvbi4KKyMg
VGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VNb3Rpb24gb3IgRGV2aWNlT3JpZW50YXRp
b24uCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uCiBm
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAwODRhY2FiLi4zOTZkM2FiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtODcxLDcgKzg3MSw4IEBAIGVkaXRpbmcvc3BlbGxpbmcv
Y29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwKICMgSW5kZXhlZERCIGlzIG5vdCB5ZXQgZW5h
YmxlZC4KIHN0b3JhZ2UvaW5kZXhlZGRiCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBE
ZXZpY2VPcmllbnRhdGlvbi4KKyMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VNb3Rp
b24gb3IgRGV2aWNlT3JpZW50YXRpb24uCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZhc3QvZG9t
L0RldmljZU9yaWVudGF0aW9uCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2
aWNlLW9yaWVudGF0aW9uLmh0bWwKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQuanNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5t
awppbmRleCBiZWEyZTFkLi4xZjU2NWQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVy
aXZlZC5qc2NiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5k
aW5ncy5tawpAQCAtMTA0LDYgKzEwNCw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9kb20vSlNET01Db3JlRXhjZXB0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pT
RE9NSW1wbGVtZW50YXRpb24uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNET01TdHJp
bmdMaXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTRGV2aWNlTW90aW9uRXZlbnQu
aCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Lmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTRG9jdW1lbnQuaCBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9kb20vSlNEb2N1bWVudEZyYWdtZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9B
bmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4
YmluZGluZ3MubWsKaW5kZXggZjdmYThkNi4uNGI1NjhmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9B
bmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZl
ZC52OGJpbmRpbmdzLm1rCkBAIC04Niw2ICs4Niw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9iaW5kaW5ncy9WOERPTUNvcmVFeGNlcHRpb24uaCBcCiAgICAgJChpbnRlcm1lZGlh
dGVzKS9iaW5kaW5ncy9WOERPTUltcGxlbWVudGF0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRl
cykvYmluZGluZ3MvVjhET01TdHJpbmdMaXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmlu
ZGluZ3MvVjhEZXZpY2VNb3Rpb25FdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2Jp
bmRpbmdzL1Y4RG9jdW1lbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERv
Y3VtZW50RnJhZ21lbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGlu
Z3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKaW5kZXggMDFiNWExNi4uNzAx
MzA2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1dl
YkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawpAQCAtOTMsNiArOTMsNyBAQCBMT0NBTF9TUkNf
RklMRVMgKz0gXAogCWJpbmRpbmdzL2pzL0pTRGF0YWJhc2VDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9K
U0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcCBcCisJYmluZGluZ3MvanMvSlNEZXZpY2VN
b3Rpb25FdmVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25F
dmVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAli
aW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5k
cm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRleCBmNzlhYTc0Li5jNWViZGZiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0x
MTcsNiArMTE3LDkgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJ
ZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBcCiAJZG9tL0RPTVN0cmluZ0xpc3QuY3BwIFwKIAlk
b20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAgXAorCWRvbS9EZXZpY2VNb3Rpb25Db250
cm9sbGVyLmNwcCBcCisJZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwIFwKKwlkb20vRGV2aWNlTW90
aW9uRXZlbnQuY3BwIFwKIAlkb20vRG9jdW1lbnQuY3BwIFwKIAlkb20vRG9jdW1lbnRGcmFnbWVu
dC5jcHAgXAogCWRvbS9Eb2N1bWVudFBhcnNlci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9B
bmRyb2lkLnY4YmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawppbmRl
eCBiMzZiZWFiLi43MDc0NjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5n
cy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawpAQCAtMTA4LDYgKzEwOCw3
IEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VD
YWxsYmFjay5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFiYXNlQ3VzdG9tLmNwcCBc
CiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAg
XAorCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJ
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZjYxMTU5NC4u
ZDMzYTcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC0xNDQsNiArMTQ0LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVT
CiAgICAgZG9tL0NvbW1lbnQuaWRsCiAgICAgZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsCiAgICAg
ZG9tL0N1c3RvbUV2ZW50LmlkbAorICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwKICAgICBk
b20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5p
ZGwKICAgICBkb20vRG9jdW1lbnQuaWRsCkBAIC01OTQsNiArNTk1LDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTRGF0YUdyaWREYXRhU291cmNlLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRGVkaWNh
dGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlv
bkV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVu
dEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAKQEAgLTc5MCw2ICs3OTIs
OSBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcAogICAgIGRv
bS9EYXRhc2V0RE9NU3RyaW5nTWFwLmNwcAogICAgIGRvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFy
c2VyLmNwcAorICAgIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAorICAgIGRvbS9EZXZp
Y2VNb3Rpb25EYXRhLmNwcAorICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKICAgICBkb20v
RGV2aWNlT3JpZW50YXRpb24uY3BwCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5jcHAKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJmY2M4ZC4uOTFlZjBh
MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw3OCBAQAorMjAxMC0wOC0wNCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODY1CisgICAgICAgIEltcGxl
bWVudCBBY2NlbGVyb21ldGVyRXZlbnQKKworICAgICAgICBJbXBsZW1lbnQgdGhlIERldmljZU1v
dGlvbkV2ZW50IGludGVyZmFjZSBhcyBkZWZpbmVkCisgICAgICAgIGluIGh0dHA6Ly9kZXYudzMu
b3JnL2dlby9hcGkvc3BlYy1zb3VyY2Utb3JpZW50YXRpb24uaHRtbAorICAgICAgICBUaGlzIGlz
IGN1cnJlbnRseSBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiwgaW4gdGhhdCB0aGVyZSBpcworICAg
ICAgICBubyBtb3Rpb24gY2xpZW50IGNvbm5lY3RlZCAtIHRoZSBwbGF0Zm9ybSBpbXBsZW1lbnRh
dGlvbnMKKyAgICAgICAgd2lsbCBuZWVkIHRvIGRvIHRoYXQuCisKKyAgICAgICAgTm90ZSBhbHNv
IHRoYXQgYXQgdGhpcyB0aW1lIHRoZSBzcGVjaWZpZWQgZXZlbnQgaXMKKyAgICAgICAgY2FsbGVk
IEFjY2VsZXJvbWV0ZXIsIGJ1dCB0aGlzIHdpbGwgY2hhbmdlIHRvIERldmljZU1vdGlvbgorICAg
ICAgICB3aXRoIHRoZSBpbmNsdXNpb24gb2YgZ3lyb3Njb3BpYyByZXN1bHRzLgorCisgICAgICAg
IFRlc3RzOiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvZG9tL0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHku
aHRtbAorCisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rOgorICAgICAg
ICAqIEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuanNj
YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBBbmRyb2lkLnY4
YmluZGluZ3MubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAgIC0gQWRkIG5ldyBmaWxlcyBmb3IgRGV2aWNlTW90aW9uRXZlbnQgYnVpbGQg
c3VwcG9ydAorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5jcHA6CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
Lmg6CisgICAgICAgICAgLSBuZXcgcnVudGltZSBmbGFncyBmb3IgZGV2aWNlIG1vdGlvbgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4K
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5j
cHA6IEFkZGVkLgorICAgICAgICAgIC0gQ3VzdG9tIEpTIGJpbmRpbmcgdG8gdHJhbnNsYXRlIHBy
b3BlcnR5IGFjY2VzcyB0aHJvdWdoCisgICAgICAgICAgICB0byB0aGUgRGV2aWNlTW90aW9uRGF0
YSBvYmplY3QgdGhhdCB0aGUgRXZlbnQgaG9sZHMKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2
ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgICAtIEluY2x1ZGUgdGhlIGN1c3RvbSBjb2RlIGZvciBE
ZXZpY2VNb3Rpb25FdmVudAorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25DbGllbnQuaDogQWRk
ZWQuCisgICAgICAgICAgLSBQdXJlIHZpcnR1YWwgY2xpZW50IGZvciBEZXZpY2VNb3Rpb24gYWNj
ZXNzCisgICAgICAgICogZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgICAt
IENvbnRyb2xsZXIgY2xhc3MgdGhhdCBtYW5hZ2VzIGV2ZW50IGRpc3BhdGNoCisgICAgICAgICog
ZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBkb20vRGV2aWNlTW90
aW9uRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgICAtIFJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRh
IHRoYXQgY29tZXMgZnJvbSBhIGRldmljZSBtb3Rpb24KKyAgICAgICAgICAgIGNsaWVudCB0aGF0
IGlzIHRoZW4gdXNlZCB3aXRoaW4gdGhlIGV2ZW50LgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rp
b25FdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5oOiBB
ZGRlZC4KKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAg
ICAgICAtIFRoZSBhY3R1YWwgZXZlbnQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KToKKyAg
ICAgICAgICAtIFVwZGF0ZSBjcmVhdGVFdmVudCB0byBhbGxvdyAiZGV2aWNlbW90aW9uIiBldmVu
dHMKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAg
ICAgICAgIC0gaXNEZXZpY2VNb3Rpb25FdmVudCB2aXJ0dWFsIG1ldGhvZAorICAgICAgICAqIGRv
bS9FdmVudE5hbWVzLmg6CisgICAgICAgICAgLSBuZXcgImRldmljZW1vdGlvbiIgZXZlbnQgdHlw
ZQorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICAgLSBhbGxvdyBjcmVhdGlvbiBv
ZiAiZGV2aWNlbW90aW9uIiBldmVudHMgYW5kIHBhc3MgcmVnaXN0cmF0aW9uCisgICAgICAgICAg
ICB0aHJvdWdoIHRvIHRoZSBQYWdlJ3MgZGV2aWNlTW90aW9uQ29udHJvbGxlciBvYmplY3QKKyAg
ICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAg
IC0gbmV3IFBhZ2VDbGllbnQgZm9yIGRldmljZU1vdGlvbkNvbnRyb2xsZXIKKwogMjAxMC0wOC0w
NCAgQW50b25pbyBHb21lcyAgPHRvbmlraXRvb0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhbmllbCBCYXRlcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBlMjYzYzdlLi4wMmQ2ZWZi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMjcsNiArMTI3LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAg
ICAgRGF0YWJhc2UgXAogICAgIERhdGFiYXNlQ2FsbGJhY2sgXAogICAgIERhdGFiYXNlU3luYyBc
CisgICAgRGV2aWNlTW90aW9uRXZlbnQgXAogICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgXAog
ICAgIERvY3VtZW50IFwKICAgICBEb2N1bWVudEZyYWdtZW50IFwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDNmM2MwZGIu
LjA0NWQ0MzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTgxLDYgKzE4MSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNl
cyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RhdGFHcmlkQ29sdW1uTGlzdC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmggXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgXAorCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VNb3Rpb25FdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNEb2N1bWVudC5jcHAgXApAQCAtNjcxLDYgKzY3Myw3IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmggXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdyYXBwZXIuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3Vz
dG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRD
dXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwK
IAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAgXApAQCAtMTAyMSw2ICsx
MDI0LDEzIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9kb20vRGF0YXNldERPTVN0
cmluZ01hcC5oIFwKIAlXZWJDb3JlL2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCBc
CiAJV2ViQ29yZS9kb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5oIFwKKwlXZWJDb3JlL2Rv
bS9EZXZpY2VNb3Rpb25DbGllbnQuaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJv
bGxlci5jcHAgXAorCVdlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBcCisJV2Vi
Q29yZS9kb20vRGV2aWNlTW90aW9uRGF0YS5jcHAgXAorCVdlYkNvcmUvZG9tL0RldmljZU1vdGlv
bkRhdGEuaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwIFwKKwlXZWJDb3Jl
L2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oIFwKIAlXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bi5jcHAgXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmggXAogCVdlYkNvcmUvZG9t
L0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbiBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYzA3YTViOC4uOWYxMDI3NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCkBAIC00MDQsNiArNDA0LDcgQEAgX19aTjdXZWJDb3JlMTZpc0VuZE9mUGFyYWdyYXBo
RVJLTlNfMTVWaXNpYmxlUG9zaXRpb25FCiBfX1pON1dlYkNvcmUxNmpzU3RyaW5nU2xvd0Nhc2VF
UE4zSlNDOUV4ZWNTdGF0ZUVSTlMwXzlXZWFrR0NNYXBJUE5TXzEwU3RyaW5nSW1wbEVQTlMwXzhK
U1N0cmluZ0VFRVM1XwogX19aTjdXZWJDb3JlMTdDcmVkZW50aWFsU3RvcmFnZTNnZXRFUktOU18x
NVByb3RlY3Rpb25TcGFjZUUKIF9fWk43V2ViQ29yZTE3RE9NSW1wbGVtZW50YXRpb24xNGlzVGV4
dE1JTUVUeXBlRVJLTlNfNlN0cmluZ0UKK19fWk43V2ViQ29yZTE2RGV2aWNlTW90aW9uRGF0YTZj
cmVhdGVFYmRiZGJkYmRiZGJkYmQKIF9fWk43V2ViQ29yZTE3RGV2aWNlT3JpZW50YXRpb242Y3Jl
YXRlRWJkYmRiZAogX19aTjdXZWJDb3JlMTdHbHlwaFBhZ2VUcmVlTm9kZTE4dHJlZUdseXBoUGFn
ZUNvdW50RXYKIF9fWk43V2ViQ29yZTE3SFRNTFBsdWdJbkVsZW1lbnQxMWdldE5QT2JqZWN0RXYK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
aW5kZXggZDVlZDNkMi4uMDlmMjc1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQzLDYgKzQzLDcgQEAKICAgICAgICAgICAg
ICdkb20vRE9NSW1wbGVtZW50YXRpb24uaWRsJywKICAgICAgICAgICAgICdkb20vRE9NU3RyaW5n
TGlzdC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01TdHJpbmdNYXAuaWRsJywKKyAgICAgICAg
ICAgICdkb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vRGV2aWNl
T3JpZW50YXRpb25FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Eb2N1bWVudC5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9Eb2N1bWVudEZyYWdtZW50LmlkbCcsCkBAIC01NDgsNiArNTQ5LDcg
QEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgnLAorICAgICAg
ICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNET01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcCcsCkBAIC03
NDQsNiArNzQ2LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhYmFz
ZVN5bmNDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEYXRh
R3JpZENvbHVtbkxpc3RDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRh
Q3VzdG9tLmNwcCcsCkBAIC0xMTI3LDYgKzExMzAsMTMgQEAKICAgICAgICAgICAgICdkb20vRGF0
YXNldERPTVN0cmluZ01hcC5oJywKICAgICAgICAgICAgICdkb20vRGVjb2RlZERhdGFEb2N1bWVu
dFBhcnNlci5jcHAnLAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2Vy
LmgnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaCcsCisgICAgICAgICAg
ICAnZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwJywKKyAgICAgICAgICAgICdkb20vRGV2
aWNlTW90aW9uQ29udHJvbGxlci5oJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlTW90aW9uRGF0
YS5jcHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25EYXRhLmgnLAorICAgICAgICAg
ICAgJ2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VN
b3Rpb25FdmVudC5oJywKICAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwJywK
ICAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24uaCcsCiAgICAgICAgICAgICAnZG9t
L0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggY2UwZjcwMS4uMzdlNGY5MiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0y
OTMsNiArMjkzLDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vQ29tbWVudC5pZGwgXAog
ICAgIGRvbS9Db21wb3NpdGlvbkV2ZW50LmlkbCBcCiAgICAgZG9tL0N1c3RvbUV2ZW50LmlkbCBc
CisgICAgZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuaWRsIFwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5pZGwgXAogICAgIGRvbS9E
b2N1bWVudC5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUv
V2ViQ29yZS5wcm8KaW5kZXggMTJkMDU2ZC4uOTZhMWM2MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMDEsNiArMzAxLDcgQEAg
U09VUkNFUyArPSBcCiAgICAgYmluZGluZ3MvanMvSlNEYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwK
ICAgICBiaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAgXAogICAgIGJpbmRpbmdzL2pz
L0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwIFwKKyAgICBiaW5kaW5ncy9qcy9KU0Rl
dmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3Rv
bS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFDdXN0b20uY3BwIFwKQEAgLTQ3
OSw2ICs0ODAsOSBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVj
bGFyYXRpb24uY3BwIFwKICAgICBkb20vQ3VzdG9tRXZlbnQuY3BwIFwKICAgICBkb20vRGVjb2Rl
ZERhdGFEb2N1bWVudFBhcnNlci5jcHAgXAorICAgIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVy
LmNwcCBcCisgICAgZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwIFwKKyAgICBkb20vRGV2aWNlTW90
aW9uRXZlbnQuY3BwIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwIFwKICAgICBkb20v
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuY3BwIFwKQEAgLTEyNDMsNiArMTI0NywxMCBAQCBIRUFERVJTICs9IFwKICAgICBk
b20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uaCBcCiAgICAgZG9tL0N1c3RvbUV2ZW50
LmggXAogICAgIGRvbS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmggXAorICAg
IGRvbS9EZXZpY2VNb3Rpb25DbGllbnQuaCBcCisgICAgZG9tL0RldmljZU1vdGlvbkRhdGEuaCBc
CisgICAgZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBcCisgICAgZG9tL0RldmljZU1vdGlv
bkV2ZW50LmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5oIFwKICAgICBkb20vRGV2aWNl
T3JpZW50YXRpb25DbGllbnQuaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGMwZGMzYmUuLjNm
YTljMjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjkwNSw2ICsy
OTA1LDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNEZXZpY2VNb3Rpb25FdmVudC5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
KwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0
aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVi
dWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNEZXZpY2VNb3Rpb25FdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialxXZWJDb3JlXERl
cml2ZWRTb3VyY2VzXEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAiDQogCQkJCT4NCiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMzI2NTMsNiArMzI3MDksMzQgQEAKIAkJCQk+DQogCQkJ
PC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU1vdGlv
bkNsaWVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU1vdGlvbkNv
bnRyb2xsZXIuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGRvbVxEZXZpY2VNb3Rpb25EYXRhLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VNb3Rpb25EYXRhLmgi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxk
b21cRGV2aWNlTW90aW9uRXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU1vdGlvbkV2ZW50LmgiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNl
T3JpZW50YXRpb24uY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTQyNDQ4LDYgKzQyNTMy
LDU4IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZp
bGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNEZXZpY2VNb3Rpb25FdmVu
dEN1c3RvbS5jcHAiDQorCQkJCQk+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJ
CQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQor
CQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5k
aW5nc1xqc1xKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIg0KIAkJCQkJPg0KIAkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBmNWI5MzAzLi5kNzgyZDI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzUwLDYgKzc1MCwxNiBAQAogCQkzMUMwRkY0QzBFNENF
RkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUg
LyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi87IH07CiAJCTMxQzBGRjREMEU0Q0VGREQw
MDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyog
RE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tICovOyB9OwogCQkzMUMwRkY0RTBFNENFRkREMDA3
RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ4MEU0Q0VGREQwMDdENkZF
NSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oICovOyB9OworCQkzMUZCMUE1
NzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE0RjEyMEE1RDA2MDBEQzAyQTAg
LyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi87IH07CisJCTMxRkIxQTU4MTIwQTVEMDYwMERDMDJB
MCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUwMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VN
b3Rpb25Db250cm9sbGVyLmNwcCAqLzsgfTsKKwkJMzFGQjFBNTkxMjBBNUQwNjAwREMwMkEwIC8q
IERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUxMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25D
b250cm9sbGVyLmggKi87IH07CisJCTMxRkIxQTVBMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VN
b3Rpb25EYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxRkIxQTUyMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmNwcCAqLzsg
fTsKKwkJMzFGQjFBNUIxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkRhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUzMTIwQTVE
MDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmggKi87IH07CisJCTMxRkIxQTVDMTIwQTVE
MDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE1NDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2
aWNlTW90aW9uRXZlbnQuY3BwICovOyB9OworCQkzMUZCMUE1RDEyMEE1RDA2MDBEQzAyQTAgLyog
RGV2aWNlTW90aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxRkIxQTU1MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5o
ICovOyB9OworCQkzMUZCMUE2NTEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZC
MUE2MzEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi87IH07CisJ
CTMxRkIxQTY2MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2NDEyMEE1RDNG
MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5oICovOyB9OworCQkzMUZCMUE2QzEyMEE1
RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2QjEyMEE1RDY5MDBEQzAy
QTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi87IH07CiAJCTMzMTRBQ0VCMTA4
OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRTkxMDg5MjA4NjAwMEYwRTU2IC8qIEpT
RXhjZXB0aW9uQmFzZS5jcHAgKi87IH07CiAJCTMzMTRBQ0VDMTA4OTIwODYwMDBGMEU1NiAvKiBK
U0V4Y2VwdGlvbkJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMzMTRBQ0VBMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLzsg
fTsKIAkJMzM1MDNDOUExMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvblByZXNlbnRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOTkx
MDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvblByZXNlbnRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC02NDY5LDYgKzY0NzksMTcgQEAK
IAkJMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZl
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDcwRTRDRUZERDAwN0Q2
RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDgwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktp
dFRyYW5zaXRpb25FdmVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxRkIxQTRGMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGll
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uQ2xpZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTUwMTIwQTVEMDYwMERDMDJB
MCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUZCMUE1MTEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29u
dHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25D
b250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTUyMTIwQTVE
MDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERldmljZU1vdGlvbkRhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkzMUZCMUE1MzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25EYXRhLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTU0MTIwQTVEMDYwMERDMDJBMCAvKiBE
ZXZpY2VNb3Rpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBEZXZpY2VNb3Rpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMx
RkIxQTU1MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25FdmVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUZCMUE1NjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9u
RXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERldmljZU1vdGlvbkV2ZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8q
IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpT
RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMzMTRBQ0U5MTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFeGNlcHRpb25CYXNl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMxNEFDRUExMDg5MjA4NjAwMEYw
RTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0V4Y2VwdGlvbkJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzRjcw
NEUwRkI0OUNBMjAwOEUxMkE2IC8qIE5vdGlmaWNhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBu
YW1lID0gTm90aWZpY2F0aW9uLmlkbDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NzM2LDYgKzE0NzU3LDggQEAK
IAkJCQk5M0Y5QjZERjBCQTBGQjcyMDA4NTQwNjQgLyogSlNDb21tZW50LmggKi8sCiAJCQkJRkU2
RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwICovLAogCQkJCUZFNkZE
NDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmggKi8sCisJCQkJMzFGQjFBNjMx
MjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovLAorCQkJCTMxRkIx
QTY0MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggKi8sCiAJCQkJNTlB
ODYwMDUxMTlEQUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgKi8s
CiAJCQkJNTlBODYwMDcxMTlEQUZBMTAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVu
dC5oICovLAogCQkJCTY1OUREQzgwMDlFMTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmNwcCAq
LywKQEAgLTE1OTE4LDYgKzE1OTQxLDcgQEAKIAkJCQlCQzc3RDE1MTBGRjE5QzczMDA3MDg4N0Ig
LyogSlNEYXRhR3JpZENvbHVtbkxpc3RDdXN0b20uY3BwICovLAogCQkJCTQxNjJBNDUzMTAxMTQ1
RTMwMERGRjNFRCAvKiBKU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwICovLAogCQkJ
CTMzNTAzQ0JGMTAxNzlDMUEwMDNCNDdFMSAvKiBKU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9t
LmNwcCAqLywKKwkJCQkzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25F
dmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2
aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNDlDN0JBOEMxMDQyRjVCMTAw
MDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0b20uY3BwICovLAogCQkJCTFBQzIyNjE2MERCNjlGNzQw
MDg5QjY2OSAvKiBKU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwICovLApAQCAtMTcwNjgs
NiArMTcwOTIsMTQgQEAKIAkJCQlCQzY0NjQxQTExRDdGNDE2MDA2NDU1QjAgLyogRGF0YXNldERP
TVN0cmluZ01hcC5oICovLAogCQkJCUE4QzIyOEEwMTFENTcyMkUwMEQ1QTdEMyAvKiBEZWNvZGVk
RGF0YURvY3VtZW50UGFyc2VyLmNwcCAqLywKIAkJCQlBOEMyMjg5RjExRDU3MjJFMDBENUE3RDMg
LyogRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5oICovLAorCQkJCTMxRkIxQTRGMTIwQTVEMDYw
MERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLywKKwkJCQkzMUZCMUE1MDEyMEE1RDA2
MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgKi8sCisJCQkJMzFGQjFBNTEx
MjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLywKKwkJCQkzMUZC
MUE1MjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5jcHAgKi8sCisJCQkJMzFG
QjFBNTMxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkRhdGEuaCAqLywKKwkJCQkzMUZC
MUE1NDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRXZlbnQuY3BwICovLAorCQkJCTMx
RkIxQTU1MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5oICovLAorCQkJCTMx
RkIxQTU2MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5pZGwgKi8sCiAJCQkJ
NTlEMUMxMDMxMUVCNURDRjAwQjYzOEM4IC8qIERldmljZU9yaWVudGF0aW9uLmNwcCAqLywKIAkJ
CQk1OTBFMUI0ODExRTRFRjRCMDA2OUY3ODQgLyogRGV2aWNlT3JpZW50YXRpb24uaCAqLywKIAkJ
CQk1OUE4RjFENzExQTY5NTIwMDAxQUMzNEEgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCAq
LywKQEAgLTE5OTkwLDYgKzIwMDIyLDExIEBACiAJCQkJOTdERDREODcwRkRGNEQ2RTAwRUNGOUE0
IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMTcyRTAxMTEzNkU4Q0UwMDYy
QTUzMyAvKiBab29tTW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdDNjFGMDExMjA5NUM4NzAw
N0EzQzY3IC8qIEF0b21pY1N0cmluZ0tleWVkTVJVQ2FjaGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTMxRkIxQTU3MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTMxRkIxQTU5MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250
cm9sbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUZCMUE1QjEyMEE1RDA2MDBEQzAyQTAgLyog
RGV2aWNlTW90aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFGQjFBNUQxMjBBNUQwNjAw
REMwMkEwIC8qIERldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUZCMUE2
NjEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CkBAIC0yMDA0OSw2ICsyMDA4Niw3IEBACiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJYnVpbGRD
b25maWd1cmF0aW9uTGlzdCA9IDE0OUMyODQzMDg5MDJCMTEwMDhBOUVGQyAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIldlYkNvcmUiICovOwogCQkJY29tcGF0aWJp
bGl0eVZlcnNpb24gPSAiWGNvZGUgMi40IjsKKwkJCWRldmVsb3BtZW50UmVnaW9uID0gRW5nbGlz
aDsKIAkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAxOwogCQkJa25vd25SZWdpb25zID0gKAog
CQkJCUVuZ2xpc2gsCkBAIC0yMjM5NCw2ICsyMjQzMiwxMSBAQAogCQkJCTkzRjE5QjA1MDgyNDVF
NTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTk3REQ0RDg2MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTMxRkIxQTU4MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rp
b25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkIxQTVBMTIwQTVEMDYwMERD
MDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkIxQTVD
MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkzMUZCMUE2NTEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkzMUZCMUE2QzEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VN
b3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1dlYkNvcmUvYmlu
ZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAppbmRleCBlYjAyN2MzLi45
NGU5ODRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuY3BwCkBAIC00Nyw2ICs0Nyw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6aXNJbmRleGVkREJFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OmlzV2ViR0xFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OmlzUHVzaFN0YXRlRW5hYmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjppc1RvdWNoRW5hYmxlZCA9IHRydWU7Citib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OmlzRGV2aWNlTW90aW9uRW5hYmxlZCA9IHRydWU7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OmlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6aXNTcGVlY2hJbnB1dEVuYWJsZWQgPSB0cnVlOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvV2ViQ29y
ZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBjOWViMjFm
Li5mZDczMDhlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgKQEAgLTExNCw2ICsxMTQsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyBi
b29sIG9udG91Y2hjYW5jZWxFbmFibGVkKCkgeyByZXR1cm4gaXNUb3VjaEVuYWJsZWQ7IH0KICNl
bmRpZgogCisgICAgc3RhdGljIHZvaWQgc2V0RGV2aWNlTW90aW9uRW5hYmxlZChib29sIGlzRW5h
YmxlZCkgeyBpc0RldmljZU1vdGlvbkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBzdGF0aWMg
Ym9vbCBkZXZpY2VNb3Rpb25FbmFibGVkKCkgeyByZXR1cm4gaXNEZXZpY2VNb3Rpb25FbmFibGVk
OyB9CisgICAgc3RhdGljIGJvb2wgZGV2aWNlTW90aW9uRXZlbnRFbmFibGVkKCkgeyByZXR1cm4g
aXNEZXZpY2VNb3Rpb25FbmFibGVkOyB9CisgICAgc3RhdGljIGJvb2wgb25kZXZpY2Vtb3Rpb25F
bmFibGVkKCkgeyByZXR1cm4gaXNEZXZpY2VNb3Rpb25FbmFibGVkOyB9CisgICAgCiAgICAgc3Rh
dGljIHZvaWQgc2V0RGV2aWNlT3JpZW50YXRpb25FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlz
RGV2aWNlT3JpZW50YXRpb25FbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgc3RhdGljIGJvb2wg
ZGV2aWNlT3JpZW50YXRpb25FbmFibGVkKCkgeyByZXR1cm4gaXNEZXZpY2VPcmllbnRhdGlvbkVu
YWJsZWQ7IH0KICAgICBzdGF0aWMgYm9vbCBkZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCgp
IHsgcmV0dXJuIGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkOyB9CkBAIC0xMzYsNiArMTQxLDcg
QEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBpc1dlYkdMRW5hYmxlZDsKICAgICBzdGF0aWMg
Ym9vbCBpc1B1c2hTdGF0ZUVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNUb3VjaEVuYWJsZWQ7
CisgICAgc3RhdGljIGJvb2wgaXNEZXZpY2VNb3Rpb25FbmFibGVkOwogICAgIHN0YXRpYyBib29s
IGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzU3BlZWNoSW5w
dXRFbmFibGVkOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VN
b3Rpb25FdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9u
RXZlbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyNWE2
MjYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9u
RXZlbnRDdXN0b20uY3BwCkBAIC0wLDAgKzEsMTI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiSlNEZXZpY2VNb3Rpb25FdmVudC5oIgorCisjaWYgRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKKyNpbmNs
dWRlICJEZXZpY2VNb3Rpb25FdmVudC5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6eEFjY2VsZXJh
dGlvbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGlt
cCA9IHN0YXRpY19jYXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWlt
cC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlWEFjY2VsZXJhdGlvbigpKQorICAgICAg
ICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+ZGV2aWNl
TW90aW9uRGF0YSgpLT54QWNjZWxlcmF0aW9uKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlTW90
aW9uRXZlbnQ6OnlBY2NlbGVyYXRpb24oRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERl
dmljZU1vdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVudCo+KGlt
cGwoKSk7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVlBY2Nl
bGVyYXRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJl
cihleGVjLCBpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+eUFjY2VsZXJhdGlvbigpKTsKK30KKwor
SlNWYWx1ZSBKU0RldmljZU1vdGlvbkV2ZW50Ojp6QWNjZWxlcmF0aW9uKEV4ZWNTdGF0ZSogZXhl
YykgY29uc3QKK3sKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2
aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRh
KCktPmNhblByb3ZpZGVaQWNjZWxlcmF0aW9uKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnpBY2Nl
bGVyYXRpb24oKSk7Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6eFJvdGF0aW9u
UmF0ZShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGlt
cCA9IHN0YXRpY19jYXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWlt
cC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZSgpKQorICAgICAg
ICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+ZGV2aWNl
TW90aW9uRGF0YSgpLT54Um90YXRpb25SYXRlKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlTW90
aW9uRXZlbnQ6OnlSb3RhdGlvblJhdGUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERl
dmljZU1vdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVudCo+KGlt
cGwoKSk7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVlSb3Rh
dGlvblJhdGUoKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJl
cihleGVjLCBpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+eVJvdGF0aW9uUmF0ZSgpKTsKK30KKwor
SlNWYWx1ZSBKU0RldmljZU1vdGlvbkV2ZW50Ojp6Um90YXRpb25SYXRlKEV4ZWNTdGF0ZSogZXhl
YykgY29uc3QKK3sKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2
aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRh
KCktPmNhblByb3ZpZGVaUm90YXRpb25SYXRlKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnpSb3Rh
dGlvblJhdGUoKSk7Cit9CisgICAgCitKU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZlbnQ6OmludGVy
dmFsKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1w
ID0gc3RhdGljX2Nhc3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1w
LT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVJbnRlcnZhbCgpKQorICAgICAgICByZXR1
cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+ZGV2aWNlTW90aW9u
RGF0YSgpLT5pbnRlcnZhbCgpKTsKK30KKyAgICAKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVu
dDo6aW5pdERldmljZU1vdGlvbkV2ZW50KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBjb25zdCBT
dHJpbmcmIHR5cGUgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmco
ZXhlYykpOworICAgIGJvb2wgYnViYmxlcyA9IGV4ZWMtPmFyZ3VtZW50KDEpLnRvQm9vbGVhbihl
eGVjKTsKKyAgICBib29sIGNhbmNlbGFibGUgPSBleGVjLT5hcmd1bWVudCgyKS50b0Jvb2xlYW4o
ZXhlYyk7CisgICAgLy8gSWYgYW55IG9mIHRoZSBwYXJhbWV0ZXJzIGFyZSBudWxsIG9yIHVuZGVm
aW5lZCwgbWFyayB0aGVtIGFzIG5vdCBwcm92aWRlZC4KKyAgICAvLyBPdGhlcndpc2UsIHVzZSB0
aGUgc3RhbmRhcmQgSmF2YVNjcmlwdCBjb252ZXJzaW9uLgorICAgIGJvb2wgeEFjY2VsZXJhdGlv
blByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDMpLmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAg
ZG91YmxlIHhBY2NlbGVyYXRpb24gPSBleGVjLT5hcmd1bWVudCgzKS50b051bWJlcihleGVjKTsK
KyAgICBib29sIHlBY2NlbGVyYXRpb25Qcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg0KS5pc1Vu
ZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSB5QWNjZWxlcmF0aW9uID0gZXhlYy0+YXJndW1l
bnQoNCkudG9OdW1iZXIoZXhlYyk7CisgICAgYm9vbCB6QWNjZWxlcmF0aW9uUHJvdmlkZWQgPSAh
ZXhlYy0+YXJndW1lbnQoNSkuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgekFjY2Vs
ZXJhdGlvbiA9IGV4ZWMtPmFyZ3VtZW50KDUpLnRvTnVtYmVyKGV4ZWMpOworICAgIGJvb2wgeFJv
dGF0aW9uUmF0ZVByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDYpLmlzVW5kZWZpbmVkT3JOdWxs
KCk7CisgICAgZG91YmxlIHhSb3RhdGlvblJhdGUgPSBleGVjLT5hcmd1bWVudCg2KS50b051bWJl
cihleGVjKTsKKyAgICBib29sIHlSb3RhdGlvblJhdGVQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVu
dCg3KS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSB5Um90YXRpb25SYXRlID0gZXhl
Yy0+YXJndW1lbnQoNykudG9OdW1iZXIoZXhlYyk7CisgICAgYm9vbCB6Um90YXRpb25SYXRlUHJv
dmlkZWQgPSAhZXhlYy0+YXJndW1lbnQoOCkuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3Vi
bGUgelJvdGF0aW9uUmF0ZSA9IGV4ZWMtPmFyZ3VtZW50KDgpLnRvTnVtYmVyKGV4ZWMpOworICAg
IGJvb2wgaW50ZXJ2YWxQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg5KS5pc1VuZGVmaW5lZE9y
TnVsbCgpOworICAgIGRvdWJsZSBpbnRlcnZhbCA9IGV4ZWMtPmFyZ3VtZW50KDkpLnRvTnVtYmVy
KGV4ZWMpOworICAgIFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBkZXZpY2VNb3Rpb25EYXRhID0g
RGV2aWNlTW90aW9uRGF0YTo6Y3JlYXRlKHhBY2NlbGVyYXRpb25Qcm92aWRlZCwgeEFjY2VsZXJh
dGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB5QWNjZWxlcmF0aW9uUHJvdmlkZWQsIHlBY2NlbGVyYXRp
b24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgekFjY2VsZXJhdGlvblByb3ZpZGVkLCB6QWNjZWxlcmF0aW9u
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHhSb3RhdGlvblJhdGVQcm92aWRlZCwgeFJvdGF0aW9uUmF0ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB5Um90YXRpb25SYXRlUHJvdmlkZWQsIHlSb3RhdGlvblJhdGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgelJvdGF0aW9uUmF0ZVByb3ZpZGVkLCB6Um90YXRpb25SYXRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludGVydmFsUHJvdmlkZWQsIGludGVydmFsKTsKKyAgICBEZXZpY2VNb3Rp
b25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOwor
ICAgIGltcC0+aW5pdERldmljZU1vdGlvbkV2ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUs
IGRldmljZU1vdGlvbkRhdGEuZ2V0KCkpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoREVWSUNFX09SSUVO
VEFUSU9OKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNw
cCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKaW5kZXggYjYxOTBmZi4u
YTJhOTUzMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNw
cAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCkBAIC0zMiwxMiAr
MzIsMTUgQEAKICNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2
ZW50LmgiCiAjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25F
dmVudC5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJF
dmVudC5oIgorI2luY2x1ZGUgIkpTRGV2aWNlTW90aW9uRXZlbnQuaCIKICNpbmNsdWRlICJKU0Jl
Zm9yZUxvYWRFdmVudC5oIgogI2luY2x1ZGUgIkpTQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiSlND
dXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkpTQ29tcG9zaXRpb25FdmVudC5oIgorI2luY2x1ZGUg
IkpTRGV2aWNlTW90aW9uRXZlbnQuaCIKICNpbmNsdWRlICJKU0RldmljZU9yaWVudGF0aW9uRXZl
bnQuaCIKICNpbmNsdWRlICJKU0Vycm9yRXZlbnQuaCIKICNpbmNsdWRlICJKU0tleWJvYXJkRXZl
bnQuaCIKQEAgLTE3Myw2ICsxNzYsOCBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAgICAgZWxzZSBp
ZiAoZXZlbnQtPmlzQ3VzdG9tRXZlbnQoKSkKICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01f
T0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBDdXN0b21FdmVudCwgZXZlbnQpOwog
I2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgZWxzZSBpZiAoZXZlbnQtPmlzRGV2
aWNlTW90aW9uRXZlbnQoKSkKKyAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dS
QVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBEZXZpY2VNb3Rpb25FdmVudCwgZXZlbnQpOwogICAg
IGVsc2UgaWYgKGV2ZW50LT5pc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSkKICAgICAgICAgd3Jh
cHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LCBldmVudCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk2OTJiNgotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3Bw
CkBAIC0wLDAgKzEsMTM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiVjhEZXZpY2VNb3Rpb25FdmVudC5oIgorCisjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElP
TikKKworI2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcu
aCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisKKyNpbmNsdWRlIDx2OC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50Ojp4
QWNjZWxlcmF0aW9uQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNv
bnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uRGV2aWNl
TW90aW9uRXZlbnQueEFjY2VsZXJhdGlvbi5fZ2V0Iik7CisgICAgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAg
PSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1wLT5k
ZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVYQWNjZWxlcmF0aW9uKCkpCisgICAgICAgIHJl
dHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5kZXZpY2VN
b3Rpb25EYXRhKCktPnhBY2NlbGVyYXRpb24oKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOERldmljZU1vdGlvbkV2ZW50Ojp5QWNjZWxlcmF0aW9uQWNjZXNzb3JHZXR0ZXIodjg6Okxv
Y2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7Cisg
ICAgSU5DX1NUQVRTKCJET00uRGV2aWNlTW90aW9uRXZlbnQueUFjY2VsZXJhdGlvbi5fZ2V0Iik7
CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAg
IERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZSho
b2xkZXIpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVZQWNj
ZWxlcmF0aW9uKCkpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6
TnVtYmVyOjpOZXcoaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnlBY2NlbGVyYXRpb24oKSk7Cit9
CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50Ojp6QWNjZWxlcmF0
aW9uQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpB
Y2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uRGV2aWNlTW90aW9uRXZl
bnQuekFjY2VsZXJhdGlvbi5fZ2V0Iik7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xk
ZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmlj
ZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rp
b25EYXRhKCktPmNhblByb3ZpZGVaQWNjZWxlcmF0aW9uKCkpCisgICAgICAgIHJldHVybiB2ODo6
TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5kZXZpY2VNb3Rpb25EYXRh
KCktPnpBY2NlbGVyYXRpb24oKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmlj
ZU1vdGlvbkV2ZW50Ojp4Um90YXRpb25SYXRlQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpT
dHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NU
QVRTKCJET00uRGV2aWNlTW90aW9uRXZlbnQueFJvdGF0aW9uUmF0ZS5fZ2V0Iik7CisgICAgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERldmljZU1v
dGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOwor
ICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVYUm90YXRpb25SYXRl
KCkpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpO
ZXcoaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnhSb3RhdGlvblJhdGUoKSk7Cit9CisKK3Y4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50Ojp5Um90YXRpb25SYXRlQWNjZXNz
b3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3Nvcklu
Zm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uRGV2aWNlTW90aW9uRXZlbnQueVJvdGF0
aW9uUmF0ZS5fZ2V0Iik7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZv
LkhvbGRlcigpOworICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU1vdGlvbkV2
ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCkt
PmNhblByb3ZpZGVZUm90YXRpb25SYXRlKCkpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwor
ICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnlSb3Rh
dGlvblJhdGUoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2
ZW50Ojp6Um90YXRpb25SYXRlQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5h
bWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00u
RGV2aWNlTW90aW9uRXZlbnQuelJvdGF0aW9uUmF0ZS5fZ2V0Iik7CisgICAgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERldmljZU1vdGlvbkV2ZW50
KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICgh
aW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVaUm90YXRpb25SYXRlKCkpCisgICAg
ICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5k
ZXZpY2VNb3Rpb25EYXRhKCktPnpSb3RhdGlvblJhdGUoKSk7Cit9CisKKwordjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OmludGVydmFsQWNjZXNzb3JHZXR0ZXIodjg6
OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7
CisgICAgSU5DX1NUQVRTKCJET00uRGV2aWNlTW90aW9uRXZlbnQuaW50ZXJ2YWwuX2dldCIpOwor
ICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBE
ZXZpY2VNb3Rpb25FdmVudCogaW1wID0gVjhEZXZpY2VNb3Rpb25FdmVudDo6dG9OYXRpdmUoaG9s
ZGVyKTsKKyAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlSW50ZXJ2
YWwoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6
Ok5ldyhpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+aW50ZXJ2YWwoKSk7Cit9CisKK3Y4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50Ojppbml0RGV2aWNlTW90aW9uRXZlbnRD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIERldmljZU1vdGlvbkV2
ZW50KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsK
KyAgICBWOFBhcmFtZXRlcjw+IHR5cGUgPSBhcmdzWzBdOworICAgIGJvb2wgYnViYmxlcyA9IGFy
Z3NbMV0tPkJvb2xlYW5WYWx1ZSgpOworICAgIGJvb2wgY2FuY2VsYWJsZSA9IGFyZ3NbMl0tPkJv
b2xlYW5WYWx1ZSgpOworICAgIC8vIElmIGFueSBvZiB0aGUgcGFyYW1ldGVycyBhcmUgbnVsbCBv
ciB1bmRlZmluZWQsIG1hcmsgdGhlbSBhcyBub3QgcHJvdmlkZWQuCisgICAgLy8gT3RoZXJ3aXNl
LCB1c2UgdGhlIHN0YW5kYXJkIEphdmFTY3JpcHQgY29udmVyc2lvbi4KKyAgICBib29sIHhBY2Nl
bGVyYXRpb25Qcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzNdKTsKKyAgICBkb3Vi
bGUgeEFjY2VsZXJhdGlvbiA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1szXS0+TnVtYmVyVmFs
dWUoKSk7CisgICAgYm9vbCB5QWNjZWxlcmF0aW9uUHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51
bGwoYXJnc1s0XSk7CisgICAgZG91YmxlIHlBY2NlbGVyYXRpb24gPSBzdGF0aWNfY2FzdDxkb3Vi
bGU+KGFyZ3NbNF0tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgekFjY2VsZXJhdGlvblByb3Zp
ZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbNV0pOworICAgIGRvdWJsZSB6QWNjZWxlcmF0
aW9uID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihhcmdzWzVdLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBi
b29sIHhSb3RhdGlvblJhdGVQcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzZdKTsK
KyAgICBkb3VibGUgeFJvdGF0aW9uUmF0ZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1s2XS0+
TnVtYmVyVmFsdWUoKSk7CisgICAgYm9vbCB5Um90YXRpb25SYXRlUHJvdmlkZWQgPSAhaXNVbmRl
ZmluZWRPck51bGwoYXJnc1s3XSk7CisgICAgZG91YmxlIHlSb3RhdGlvblJhdGUgPSBzdGF0aWNf
Y2FzdDxkb3VibGU+KGFyZ3NbN10tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgelJvdGF0aW9u
UmF0ZVByb3ZpZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbOF0pOworICAgIGRvdWJsZSB6
Um90YXRpb25SYXRlID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihhcmdzWzhdLT5OdW1iZXJWYWx1ZSgp
KTsKKyAgICBib29sIGludGVydmFsUHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51bGwoYXJnc1s5
XSk7CisgICAgZG91YmxlIGludGVydmFsID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihhcmdzWzldLT5O
dW1iZXJWYWx1ZSgpKTsKKyAgICBSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gZGV2aWNlTW90aW9u
RGF0YSA9IERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZSh4QWNjZWxlcmF0aW9uUHJvdmlkZWQsIHhB
Y2NlbGVyYXRpb24sIHlBY2NlbGVyYXRpb25Qcm92aWRlZCwgeUFjY2VsZXJhdGlvbiwgekFjY2Vs
ZXJhdGlvblByb3ZpZGVkLCB6QWNjZWxlcmF0aW9uLCB4Um90YXRpb25SYXRlUHJvdmlkZWQsIHhS
b3RhdGlvblJhdGUsIHlSb3RhdGlvblJhdGVQcm92aWRlZCwgeVJvdGF0aW9uUmF0ZSwgelJvdGF0
aW9uUmF0ZVByb3ZpZGVkLCB6Um90YXRpb25SYXRlLCBpbnRlcnZhbFByb3ZpZGVkLCBpbnRlcnZh
bCk7CisgICAgaW1wLT5pbml0RGV2aWNlTW90aW9uRXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2Vs
YWJsZSwgZGV2aWNlTW90aW9uRGF0YS5nZXQoKSk7CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6
OlZhbHVlPigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRGV2aWNlTW90
aW9uQ2xpZW50LmggYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTlmOTJmCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9kb20vRGV2aWNlTW90aW9uQ2xpZW50LmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENv
cHlyaWdodCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIERldmljZU1vdGlvbkNsaWVudF9oCisjZGVmaW5lIERldmljZU1vdGlvbkNsaWVudF9oCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlTW90aW9uQ29udHJvbGxlcjsKK2Ns
YXNzIERldmljZU1vdGlvbkRhdGE7CisKK2NsYXNzIERldmljZU1vdGlvbkNsaWVudCB7CitwdWJs
aWM6CisgICAgdmlydHVhbCB+RGV2aWNlTW90aW9uQ2xpZW50KCkge30KKyAgICB2aXJ0dWFsIHZv
aWQgc2V0Q29udHJvbGxlcihEZXZpY2VNb3Rpb25Db250cm9sbGVyKikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBzdGFydFVwZGF0aW5nKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRp
bmcoKSA9IDA7CisgICAgdmlydHVhbCBEZXZpY2VNb3Rpb25EYXRhKiBjdXJyZW50RGV2aWNlTW90
aW9uKCkgY29uc3QgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRGV2aWNlTW90aW9uQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RldmljZU1v
dGlvbkNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg3OTg5ZgotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0wLDAg
KzEsMTA0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rp
b25Db250cm9sbGVyLmgiCisKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25DbGllbnQuaCIKKyNpbmNs
dWRlICJEZXZpY2VNb3Rpb25EYXRhLmgiCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRXZlbnQuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpEZXZpY2VN
b3Rpb25Db250cm9sbGVyKERldmljZU1vdGlvbkNsaWVudCogY2xpZW50KQorICAgIDogbV9jbGll
bnQoY2xpZW50KQorICAgICwgbV90aW1lcih0aGlzLCAmRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6
dGltZXJGaXJlZCkKK3sKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5zZXRD
b250cm9sbGVyKHRoaXMpOworfQorCit2b2lkIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OnRpbWVy
RmlyZWQoVGltZXI8RGV2aWNlTW90aW9uQ29udHJvbGxlcj4qIHRpbWVyKQoreworICAgIEFTU0VS
VF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX3RpbWVyKTsKKyAgICBBU1NFUlQoIW1fY2xpZW50
IHx8IG1fY2xpZW50LT5jdXJyZW50RGV2aWNlTW90aW9uKCkpOworICAgIG1fdGltZXIuc3RvcCgp
OworICAgIAorICAgIFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBkZXZpY2VNb3Rpb25EYXRhID0g
bV9jbGllbnQgPyBtX2NsaWVudC0+Y3VycmVudERldmljZU1vdGlvbigpIDogRGV2aWNlTW90aW9u
RGF0YTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPERldmljZU1vdGlvbkV2ZW50PiBldmVudCA9IERl
dmljZU1vdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmRldmljZW1vdGlvbkV2ZW50LCBk
ZXZpY2VNb3Rpb25EYXRhLmdldCgpKTsKKyAKKyAgICBWZWN0b3I8RE9NV2luZG93Kj4gbGlzdGVu
ZXJzVmVjdG9yOworICAgIGNvcHlUb1ZlY3RvcihtX25ld0xpc3RlbmVycywgbGlzdGVuZXJzVmVj
dG9yKTsKKyAgICBtX25ld0xpc3RlbmVycy5jbGVhcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgbGlzdGVuZXJzVmVjdG9yLnNpemUoKTsgKytpKQorICAgICAgICBsaXN0ZW5lcnNWZWN0
b3JbaV0tPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorICAgIAordm9pZCBEZXZpY2VNb3Rpb25D
b250cm9sbGVyOjphZGRMaXN0ZW5lcihET01XaW5kb3cqIHdpbmRvdykKK3sKKyAgICAvLyBJZiBu
byBjbGllbnQgaXMgcHJlc2VudCBvciB0aGUgY2xpZW50IGFscmVhZHkgaGFzIG1vdGlvbiBkYXRh
LAorICAgIC8vIGltbWVkaWF0ZWx5IHRyaWdnZXIgYW4gYXN5bmNocm9ub3VzIHJlc3BvbnNlLgor
ICAgIGlmICghbV9jbGllbnQgfHwgbV9jbGllbnQtPmN1cnJlbnREZXZpY2VNb3Rpb24oKSkgewor
ICAgICAgICBtX25ld0xpc3RlbmVycy5hZGQod2luZG93KTsKKyAgICAgICAgaWYgKCFtX3RpbWVy
LmlzQWN0aXZlKCkpCisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICB9
CisgICAgCisgICAgYm9vbCB3YXNFbXB0eSA9IG1fbGlzdGVuZXJzLmlzRW1wdHkoKTsKKyAgICBt
X2xpc3RlbmVycy5hZGQod2luZG93KTsKKyAgICBpZiAod2FzRW1wdHkgJiYgbV9jbGllbnQpCisg
ICAgICAgIG1fY2xpZW50LT5zdGFydFVwZGF0aW5nKCk7Cit9CisKK3ZvaWQgRGV2aWNlTW90aW9u
Q29udHJvbGxlcjo6cmVtb3ZlTGlzdGVuZXIoRE9NV2luZG93KiB3aW5kb3cpCit7CisgICAgbV9s
aXN0ZW5lcnMucmVtb3ZlKHdpbmRvdyk7CisgICAgbV9uZXdMaXN0ZW5lcnMucmVtb3ZlKHdpbmRv
dyk7CisgICAgaWYgKG1fbGlzdGVuZXJzLmlzRW1wdHkoKSAmJiBtX2NsaWVudCkKKyAgICAgICAg
bV9jbGllbnQtPnN0b3BVcGRhdGluZygpOworfQorCit2b2lkIERldmljZU1vdGlvbkNvbnRyb2xs
ZXI6OnJlbW92ZUFsbExpc3RlbmVycyhET01XaW5kb3cqIHdpbmRvdykKK3sKKyAgICAvLyBNYXkg
YmUgY2FsbGVkIHdpdGggYSBET01XaW5kb3cgdGhhdCdzIG5vdCBhIGxpc3RlbmVyLgorICAgIGlm
ICghbV9saXN0ZW5lcnMuY29udGFpbnMod2luZG93KSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9saXN0ZW5lcnMucmVtb3ZlQWxsKHdpbmRvdyk7CisgICAgbV9uZXdMaXN0ZW5lcnMucmVtb3Zl
KHdpbmRvdyk7CisgICAgaWYgKG1fbGlzdGVuZXJzLmlzRW1wdHkoKSAmJiBtX2NsaWVudCkKKyAg
ICAgICAgbV9jbGllbnQtPnN0b3BVcGRhdGluZygpOworfQorCit2b2lkIERldmljZU1vdGlvbkNv
bnRyb2xsZXI6OmRpZENoYW5nZURldmljZU1vdGlvbihEZXZpY2VNb3Rpb25EYXRhKiBkZXZpY2VN
b3Rpb25EYXRhKQoreworICAgIFJlZlB0cjxEZXZpY2VNb3Rpb25FdmVudD4gZXZlbnQgPSBEZXZp
Y2VNb3Rpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5kZXZpY2Vtb3Rpb25FdmVudCwgZGV2
aWNlTW90aW9uRGF0YSk7CisgICAgVmVjdG9yPERPTVdpbmRvdyo+IGxpc3RlbmVyc1ZlY3RvcjsK
KyAgICBjb3B5VG9WZWN0b3IobV9saXN0ZW5lcnMsIGxpc3RlbmVyc1ZlY3Rvcik7CisgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBsaXN0ZW5lcnNWZWN0b3Iuc2l6ZSgpOyArK2kpCisgICAgICAg
IGxpc3RlbmVyc1ZlY3RvcltpXS0+ZGlzcGF0Y2hFdmVudChldmVudCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRy
b2xsZXIuaCBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjcwZTA0Ci0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVS
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBEZXZpY2VNb3Rpb25Db250cm9sbGVyX2gKKyNkZWZpbmUgRGV2aWNlTW90aW9uQ29u
dHJvbGxlcl9oCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJUaW1lci5oIgor
I2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIERldmljZU1vdGlvbkRhdGE7CitjbGFzcyBEZXZpY2VNb3Rpb25DbGllbnQ7CisKK2Ns
YXNzIERldmljZU1vdGlvbkNvbnRyb2xsZXIgeworcHVibGljOgorICAgIERldmljZU1vdGlvbkNv
bnRyb2xsZXIoRGV2aWNlTW90aW9uQ2xpZW50Kik7CisKKyAgICB2b2lkIGFkZExpc3RlbmVyKERP
TVdpbmRvdyopOworICAgIHZvaWQgcmVtb3ZlTGlzdGVuZXIoRE9NV2luZG93Kik7CisgICAgdm9p
ZCByZW1vdmVBbGxMaXN0ZW5lcnMoRE9NV2luZG93Kik7CisKKyAgICB2b2lkIGRpZENoYW5nZURl
dmljZU1vdGlvbihEZXZpY2VNb3Rpb25EYXRhKik7CisKK3ByaXZhdGU6CisgICAgdm9pZCB0aW1l
ckZpcmVkKFRpbWVyPERldmljZU1vdGlvbkNvbnRyb2xsZXI+Kik7CisgICAgCisgICAgRGV2aWNl
TW90aW9uQ2xpZW50KiBtX2NsaWVudDsKKyAgICB0eXBlZGVmIEhhc2hDb3VudGVkU2V0PERPTVdp
bmRvdyo+IExpc3RlbmVyc0NvdW50ZWRTZXQ7CisgICAgTGlzdGVuZXJzQ291bnRlZFNldCBtX2xp
c3RlbmVyczsKKyAgICB0eXBlZGVmIEhhc2hTZXQ8RE9NV2luZG93Kj4gTGlzdGVuZXJzU2V0Owor
ICAgIExpc3RlbmVyc1NldCBtX25ld0xpc3RlbmVyczsKKyAgICBUaW1lcjxEZXZpY2VNb3Rpb25D
b250cm9sbGVyPiBtX3RpbWVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRGV2aWNlTW90aW9uQ29udHJvbGxlcl9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9E
ZXZpY2VNb3Rpb25EYXRhLmNwcCBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmNGI0NjYKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25EYXRhLmNwcApAQCAtMCwwICsxLDg4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRGF0YS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4g
RGV2aWNlTW90aW9uRGF0YTo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IERl
dmljZU1vdGlvbkRhdGEpOworfQorCitQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IERldmlj
ZU1vdGlvbkRhdGE6OmNyZWF0ZShib29sIGNhblByb3ZpZGVYQWNjZWxlcmF0aW9uLCBkb3VibGUg
eEFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVlBY2NlbGVyYXRpb24sIGRvdWJsZSB5QWNjZWxl
cmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbCBjYW5Qcm92aWRlWkFjY2VsZXJhdGlvbiwgZG91YmxlIHpBY2NlbGVyYXRpb24s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGNhblByb3ZpZGVYUm90YXRpb25SYXRlLCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2Fu
UHJvdmlkZVlSb3RhdGlvblJhdGUsIGRvdWJsZSB5Um90YXRpb25SYXRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRl
WlJvdGF0aW9uUmF0ZSwgZG91YmxlIHpSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVJbnRlcnZh
bCwgZG91YmxlIGludGVydmFsKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlTW90
aW9uRGF0YShjYW5Qcm92aWRlWEFjY2VsZXJhdGlvbiwgeEFjY2VsZXJhdGlvbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuUHJvdmlkZVlBY2NlbGVyYXRpb24s
IHlBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNhblByb3ZpZGVaQWNjZWxlcmF0aW9uLCB6QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZSwgeFJvdGF0
aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuUHJv
dmlkZVlSb3RhdGlvblJhdGUsIHlSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNhblByb3ZpZGVaUm90YXRpb25SYXRlLCB6Um90YXRpb25SYXRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5Qcm92aWRlSW50
ZXJ2YWwsIGludGVydmFsKSk7Cit9CisKK0RldmljZU1vdGlvbkRhdGE6OkRldmljZU1vdGlvbkRh
dGEoKQorICAgIDogbV9jYW5Qcm92aWRlWEFjY2VsZXJhdGlvbihmYWxzZSkKKyAgICAsIG1fY2Fu
UHJvdmlkZVlBY2NlbGVyYXRpb24oZmFsc2UpCisgICAgLCBtX2NhblByb3ZpZGVaQWNjZWxlcmF0
aW9uKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZShmYWxzZSkKKyAgICAs
IG1fY2FuUHJvdmlkZVlSb3RhdGlvblJhdGUoZmFsc2UpCisgICAgLCBtX2NhblByb3ZpZGVaUm90
YXRpb25SYXRlKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlSW50ZXJ2YWwoZmFsc2UpCit7Cit9
CisKK0RldmljZU1vdGlvbkRhdGE6OkRldmljZU1vdGlvbkRhdGEoYm9vbCBjYW5Qcm92aWRlWEFj
Y2VsZXJhdGlvbiwgZG91YmxlIHhBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVlBY2NlbGVyYXRpb24sIGRvdWJsZSB5QWNjZWxl
cmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3Zp
ZGVaQWNjZWxlcmF0aW9uLCBkb3VibGUgekFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZSwgZG91YmxlIHhS
b3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2Fu
UHJvdmlkZVlSb3RhdGlvblJhdGUsIGRvdWJsZSB5Um90YXRpb25SYXRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVaUm90YXRpb25SYXRlLCBkb3Vi
bGUgelJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCBjYW5Qcm92aWRlSW50ZXJ2YWwsIGRvdWJsZSBpbnRlcnZhbCkKKyAgICA6IG1fY2FuUHJvdmlk
ZVhBY2NlbGVyYXRpb24oY2FuUHJvdmlkZVhBY2NlbGVyYXRpb24pCisgICAgLCBtX2NhblByb3Zp
ZGVZQWNjZWxlcmF0aW9uKGNhblByb3ZpZGVZQWNjZWxlcmF0aW9uKQorICAgICwgbV9jYW5Qcm92
aWRlWkFjY2VsZXJhdGlvbihjYW5Qcm92aWRlWkFjY2VsZXJhdGlvbikKKyAgICAsIG1fY2FuUHJv
dmlkZVhSb3RhdGlvblJhdGUoY2FuUHJvdmlkZVhSb3RhdGlvblJhdGUpCisgICAgLCBtX2NhblBy
b3ZpZGVZUm90YXRpb25SYXRlKGNhblByb3ZpZGVZUm90YXRpb25SYXRlKQorICAgICwgbV9jYW5Q
cm92aWRlWlJvdGF0aW9uUmF0ZShjYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZSkKKyAgICAsIG1fY2Fu
UHJvdmlkZUludGVydmFsKGNhblByb3ZpZGVJbnRlcnZhbCkKKyAgICAsIG1feEFjY2VsZXJhdGlv
bih4QWNjZWxlcmF0aW9uKQorICAgICwgbV95QWNjZWxlcmF0aW9uKHlBY2NlbGVyYXRpb24pCisg
ICAgLCBtX3pBY2NlbGVyYXRpb24oekFjY2VsZXJhdGlvbikKKyAgICAsIG1feFJvdGF0aW9uUmF0
ZSh4Um90YXRpb25SYXRlKQorICAgICwgbV95Um90YXRpb25SYXRlKHlSb3RhdGlvblJhdGUpCisg
ICAgLCBtX3pSb3RhdGlvblJhdGUoelJvdGF0aW9uUmF0ZSkKKyAgICAsIG1faW50ZXJ2YWwoaW50
ZXJ2YWwpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RldmljZU1vdGlvbkRhdGEuaCBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkRhdGEu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDkwMjQ2Ci0tLSAvZGV2L251
bGwKKysrIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRGF0YS5oCkBAIC0wLDAgKzEsOTAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgRGV2aWNlTW90aW9uRGF0YV9oCisjZGVmaW5lIERldmljZU1vdGlv
bkRhdGFfaAorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERldmljZU1vdGlvbkRh
dGEgOiBwdWJsaWMgUmVmQ291bnRlZDxEZXZpY2VNb3Rpb25EYXRhPiB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gY3JlYXRlKCk7CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gY3JlYXRlKGJvb2wgY2FuUHJvdmlkZVhBY2Nl
bGVyYXRpb24sIGRvdWJsZSB4QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVZQWNjZWxlcmF0aW9uLCBkb3Vi
bGUgeUFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWkFjY2VsZXJhdGlvbiwgZG91YmxlIHpBY2NlbGVyYXRp
b24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg
Y2FuUHJvdmlkZVhSb3RhdGlvblJhdGUsIGRvdWJsZSB4Um90YXRpb25SYXRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVZUm90
YXRpb25SYXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZSwgZG91
YmxlIHpSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZUludGVydmFsLCBkb3VibGUgaW50ZXJ2YWwpOworCisg
ICAgZG91YmxlIHhBY2NlbGVyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3hBY2NlbGVyYXRpb247
IH0KKyAgICBkb3VibGUgeUFjY2VsZXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1feUFjY2VsZXJh
dGlvbjsgfQorICAgIGRvdWJsZSB6QWNjZWxlcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV96QWNj
ZWxlcmF0aW9uOyB9CisgICAgZG91YmxlIHhSb3RhdGlvblJhdGUoKSBjb25zdCB7IHJldHVybiBt
X3hSb3RhdGlvblJhdGU7IH0KKyAgICBkb3VibGUgeVJvdGF0aW9uUmF0ZSgpIGNvbnN0IHsgcmV0
dXJuIG1feVJvdGF0aW9uUmF0ZTsgfQorICAgIGRvdWJsZSB6Um90YXRpb25SYXRlKCkgY29uc3Qg
eyByZXR1cm4gbV96Um90YXRpb25SYXRlOyB9CisgICAgZG91YmxlIGludGVydmFsKCkgY29uc3Qg
eyByZXR1cm4gbV9pbnRlcnZhbDsgfQorCisgICAgYm9vbCBjYW5Qcm92aWRlWEFjY2VsZXJhdGlv
bigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuUHJvdmlkZVhBY2NlbGVyYXRpb247IH0KKyAgICBib29s
IGNhblByb3ZpZGVZQWNjZWxlcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Qcm92aWRlWUFj
Y2VsZXJhdGlvbjsgfQorICAgIGJvb2wgY2FuUHJvdmlkZVpBY2NlbGVyYXRpb24oKSBjb25zdCB7
IHJldHVybiBtX2NhblByb3ZpZGVaQWNjZWxlcmF0aW9uOyB9CisgICAgYm9vbCBjYW5Qcm92aWRl
WFJvdGF0aW9uUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FuUHJvdmlkZVhSb3RhdGlvblJhdGU7
IH0KKyAgICBib29sIGNhblByb3ZpZGVZUm90YXRpb25SYXRlKCkgY29uc3QgeyByZXR1cm4gbV9j
YW5Qcm92aWRlWVJvdGF0aW9uUmF0ZTsgfQorICAgIGJvb2wgY2FuUHJvdmlkZVpSb3RhdGlvblJh
dGUoKSBjb25zdCB7IHJldHVybiBtX2NhblByb3ZpZGVaUm90YXRpb25SYXRlOyB9CisgICAgYm9v
bCBjYW5Qcm92aWRlSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2NhblByb3ZpZGVJbnRlcnZh
bDsgfQorCitwcml2YXRlOgorICAgIERldmljZU1vdGlvbkRhdGEoKTsKKyAgICBEZXZpY2VNb3Rp
b25EYXRhKGJvb2wgY2FuUHJvdmlkZVhBY2NlbGVyYXRpb24sIGRvdWJsZSB4QWNjZWxlcmF0aW9u
LAorICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWUFjY2VsZXJhdGlvbiwgZG91
YmxlIHlBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVa
QWNjZWxlcmF0aW9uLCBkb3VibGUgekFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAg
IGJvb2wgY2FuUHJvdmlkZVhSb3RhdGlvblJhdGUsIGRvdWJsZSB4Um90YXRpb25SYXRlLAorICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZSwgZG91YmxlIHlS
b3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVaUm90YXRp
b25SYXRlLCBkb3VibGUgelJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAgIGJvb2wg
Y2FuUHJvdmlkZUludGVydmFsLCBkb3VibGUgaW50ZXJ2YWwpOworCisgICAgYm9vbCBtX2NhblBy
b3ZpZGVYQWNjZWxlcmF0aW9uOworICAgIGJvb2wgbV9jYW5Qcm92aWRlWUFjY2VsZXJhdGlvbjsK
KyAgICBib29sIG1fY2FuUHJvdmlkZVpBY2NlbGVyYXRpb247CisgICAgYm9vbCBtX2NhblByb3Zp
ZGVYUm90YXRpb25SYXRlOworICAgIGJvb2wgbV9jYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZTsKKyAg
ICBib29sIG1fY2FuUHJvdmlkZVpSb3RhdGlvblJhdGU7CisgICAgYm9vbCBtX2NhblByb3ZpZGVJ
bnRlcnZhbDsKKworICAgIGRvdWJsZSBtX3hBY2NlbGVyYXRpb247CisgICAgZG91YmxlIG1feUFj
Y2VsZXJhdGlvbjsKKyAgICBkb3VibGUgbV96QWNjZWxlcmF0aW9uOworICAgIGRvdWJsZSBtX3hS
b3RhdGlvblJhdGU7CisgICAgZG91YmxlIG1feVJvdGF0aW9uUmF0ZTsKKyAgICBkb3VibGUgbV96
Um90YXRpb25SYXRlOworICAgIGRvdWJsZSBtX2ludGVydmFsOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRGV2aWNlTW90aW9uRGF0YV9oCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rp
b25FdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYwY2NhMgot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcApAQCAt
MCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRl
dmljZU1vdGlvbkV2ZW50LmgiCisKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworRGV2aWNlTW90aW9uRXZlbnQ6On5EZXZpY2VNb3Rpb25FdmVu
dCgpCit7Cit9CisKK0RldmljZU1vdGlvbkV2ZW50OjpEZXZpY2VNb3Rpb25FdmVudCgpCisgICAg
OiBtX2RldmljZU1vdGlvbkRhdGEoRGV2aWNlTW90aW9uRGF0YTo6Y3JlYXRlKCkpCit7Cit9CisK
K0RldmljZU1vdGlvbkV2ZW50OjpEZXZpY2VNb3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50VHlwZSwgRGV2aWNlTW90aW9uRGF0YSogZGV2aWNlTW90aW9uRGF0YSkKKyAgICA6IEV2
ZW50KGV2ZW50VHlwZSwgZmFsc2UsIGZhbHNlKSAvLyBDYW4ndCBidWJibGUsIG5vdCBjYW5jZWxh
YmxlCisgICAgLCBtX2RldmljZU1vdGlvbkRhdGEoZGV2aWNlTW90aW9uRGF0YSkKK3sKK30KKwor
dm9pZCBEZXZpY2VNb3Rpb25FdmVudDo6aW5pdERldmljZU1vdGlvbkV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgYm9vbCBidWJibGVzLCBib29sIGNhbmNlbGFibGUsIERldmljZU1vdGlv
bkRhdGEqIGRldmljZU1vdGlvbkRhdGEpCit7CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaW5pdEV2ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUpOwor
ICAgIG1fZGV2aWNlTW90aW9uRGF0YSA9IGRldmljZU1vdGlvbkRhdGE7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50
LmggYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmYzMmM5M2IKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9E
ZXZpY2VNb3Rpb25FdmVudC5oCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIERl
dmljZU1vdGlvbkV2ZW50X2gKKyNkZWZpbmUgRGV2aWNlTW90aW9uRXZlbnRfaAorCisjaW5jbHVk
ZSAiRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VNb3Rpb25E
YXRhOworCitjbGFzcyBEZXZpY2VNb3Rpb25FdmVudCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6
CisgICAgfkRldmljZU1vdGlvbkV2ZW50KCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNl
TW90aW9uRXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IERldmljZU1vdGlvbkV2ZW50KTsKKyAgICB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNl
TW90aW9uRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2aWNl
TW90aW9uRGF0YSogZGV2aWNlTW90aW9uRGF0YSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgRGV2aWNlTW90aW9uRXZlbnQoZXZlbnRUeXBlLCBkZXZpY2VNb3Rpb25EYXRhKSk7
CisgICAgfQorCisgICAgdm9pZCBpbml0RGV2aWNlTW90aW9uRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCBib29sIGJ1YmJsZXMsIGJvb2wgY2FuY2VsYWJsZSwgRGV2aWNlTW90aW9uRGF0
YSopOworCisgICAgdmlydHVhbCBib29sIGlzRGV2aWNlTW90aW9uRXZlbnQoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CisKKyAgICBEZXZpY2VNb3Rpb25EYXRhKiBkZXZpY2VNb3Rpb25EYXRhKCkg
Y29uc3QgeyByZXR1cm4gbV9kZXZpY2VNb3Rpb25EYXRhLmdldCgpOyB9CisKK3ByaXZhdGU6Cisg
ICAgRGV2aWNlTW90aW9uRXZlbnQoKTsKKyAgICBEZXZpY2VNb3Rpb25FdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2aWNlTW90aW9uRGF0YSopOworCisgICAgUmVmUHRyPERl
dmljZU1vdGlvbkRhdGE+IG1fZGV2aWNlTW90aW9uRGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU1vdGlvbkV2ZW50X2gKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbCBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlv
bkV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2U4ZTcxCi0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsCkBAIC0w
LDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1bGUgY29yZSB7CisKKyAgICBpbnRlcmZhY2UgWwor
ICAgICAgICBDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04KKyAgICBdIERldmljZU1vdGlv
bkV2ZW50IDogRXZlbnQgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91
YmxlIHhBY2NlbGVyYXRpb247CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBk
b3VibGUgeUFjY2VsZXJhdGlvbjsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21d
IGRvdWJsZSB6QWNjZWxlcmF0aW9uOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3Rv
bV0gZG91YmxlIHhSb3RhdGlvblJhdGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3Vz
dG9tXSBkb3VibGUgeVJvdGF0aW9uUmF0ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtD
dXN0b21dIGRvdWJsZSB6Um90YXRpb25SYXRlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
W0N1c3RvbV0gZG91YmxlIGludGVydmFsOworICAgICAgICBbQ3VzdG9tXSB2b2lkIGluaXREZXZp
Y2VNb3Rpb25FdmVudChpbiBET01TdHJpbmcgdHlwZSwgaW4gYm9vbGVhbiBidWJibGVzLCBpbiBi
b29sZWFuIGNhbmNlbGFibGUsIGluIGRvdWJsZSB4QWNjZWxlcmF0aW9uLCBpbiBkb3VibGUgeUFj
Y2VsZXJhdGlvbiwgaW4gZG91YmxlIHpBY2NlbGVyYXRpb24sIGluIGRvdWJsZSB4Um90YXRpb25S
YXRlLCBpbiBkb3VibGUgeVJvdGF0aW9uUmF0ZSwgaW4gZG91YmxlIHpSb3RhdGlvblJhdGUsIGlu
IGRvdWJsZSBpbnRlcnZhbCk7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcCBiL1dlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggMTExNTc3Zi4uNWI4NmU2YiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAorKysgYi9XZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0zNyw4ICszNyw4IEBAIERl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKFBh
Z2UqIHBhZ2UsIERldmljZU9yaWVuCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX3Rp
bWVyKHRoaXMsICZEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OnRpbWVyRmlyZWQpCiB7Ci0g
ICAgQVNTRVJUKG1fY2xpZW50KTsKLSAgICBtX2NsaWVudC0+c2V0Q29udHJvbGxlcih0aGlzKTsK
KyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5zZXRDb250cm9sbGVyKHRoaXMp
OwogfQogCiB2b2lkIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6dGltZXJGaXJlZChUaW1l
cjxEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI+KiB0aW1lcikKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5MWVm
ZTllLi5jMGRmZGI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiQ3Vz
dG9tRXZlbnQuaCIKICNpbmNsdWRlICJET01JbXBsZW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkRP
TVdpbmRvdy5oIgorI2luY2x1ZGUgIkRldmljZU1vdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiRGV2
aWNlT3JpZW50YXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkRvY0xvYWRlci5oIgogI2luY2x1ZGUg
IkRvY3VtZW50RnJhZ21lbnQuaCIKQEAgLTMzMzEsNiArMzMzMiw4IEBAIFBhc3NSZWZQdHI8RXZl
bnQ+IERvY3VtZW50OjpjcmVhdGVFdmVudChjb25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgRXhjZXB0
aW9uQ29kZSYKICAgICAgICAgZXZlbnQgPSBUb3VjaEV2ZW50OjpjcmVhdGUoKTsKICNlbmRpZgog
I2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09
ICJEZXZpY2VNb3Rpb25FdmVudCIpCisgICAgICAgIGV2ZW50ID0gRGV2aWNlTW90aW9uRXZlbnQ6
OmNyZWF0ZSgpOwogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiRGV2aWNlT3JpZW50YXRpb25F
dmVudCIpCiAgICAgICAgIGV2ZW50ID0gRGV2aWNlT3JpZW50YXRpb25FdmVudDo6Y3JlYXRlKCk7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmNwcCBiL1dlYkNvcmUvZG9t
L0V2ZW50LmNwcAppbmRleCA0ZWEzZTBjLi4xYWFiNWM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9FdmVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuY3BwCkBAIC0yMTMsNiArMjEzLDEx
IEBAIGJvb2wgRXZlbnQ6OmlzVG91Y2hFdmVudCgpIGNvbnN0CiAjZW5kaWYKIAogI2lmIEVOQUJM
RShERVZJQ0VfT1JJRU5UQVRJT04pCitib29sIEV2ZW50Ojppc0RldmljZU1vdGlvbkV2ZW50KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgRXZlbnQ6OmlzRGV2aWNlT3Jp
ZW50YXRpb25FdmVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5kZXggMmI1NzBkNS4u
ZTE4MjU4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuaAorKysgYi9XZWJDb3JlL2Rv
bS9FdmVudC5oCkBAIC0xNDAsNiArMTQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNUb3VjaEV2ZW50KCkgY29uc3Q7CiAjZW5kaWYKICNpZiBFTkFCTEUo
REVWSUNFX09SSUVOVEFUSU9OKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZXZpY2VNb3Rpb25F
dmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZXZpY2VPcmllbnRhdGlvbkV2
ZW50KCkgY29uc3Q7CiAjZW5kaWYKICAgICAgICAgYm9vbCBmcm9tVXNlckdlc3R1cmUoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaAppbmRleCA2NjIwY2VjLi4yMzU5ODhhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC01MCw2ICs1MCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhjb3B5KSBcCiAgICAgbWFjcm8oY3V0KSBc
CiAgICAgbWFjcm8oZGJsY2xpY2spIFwKKyAgICBtYWNybyhkZXZpY2Vtb3Rpb24pIFwKICAgICBt
YWNybyhkZXZpY2VvcmllbnRhdGlvbikgXAogICAgIG1hY3JvKGRpc3BsYXkpIFwKICAgICBtYWNy
byhkb3dubG9hZGluZykgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAg
Yi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBmYzY5NmRhLi5iNDc4OWUzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkRPTVRpbWVyLmgiCiAjaW5j
bHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZUNhbGxiYWNrLmgiCisjaW5jbHVk
ZSAiRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgpAQCAtMTQzNSw2ICsxNDM2LDggQEAgYm9vbCBET01XaW5kb3c6OmFkZEV2
ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZl
bnQKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmJlZm9yZXVubG9hZEV2
ZW50ICYmIGFsbG93c0JlZm9yZVVubG9hZExpc3RlbmVycyh0aGlzKSkKICAgICAgICAgYWRkQmVm
b3JlVW5sb2FkRXZlbnRMaXN0ZW5lcih0aGlzKTsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFU
SU9OKQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlbW90aW9u
RXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+cGFnZSgpLT5k
ZXZpY2VNb3Rpb25Db250cm9sbGVyKCkpCisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNl
TW90aW9uQ29udHJvbGxlcigpLT5hZGRMaXN0ZW5lcih0aGlzKTsKICAgICBlbHNlIGlmIChldmVu
dFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW9yaWVudGF0aW9uRXZlbnQgJiYgZnJhbWUoKSAm
JiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXIoKSkKICAgICAgICAgZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXIoKS0+YWRkTGlzdGVuZXIodGhpcyk7CiAjZW5kaWYKQEAgLTE0NTIsNiArMTQ1NSw4
IEBAIGJvb2wgRE9NV2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyCiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS5iZWZvcmV1bmxvYWRFdmVudCAmJiBhbGxvd3NCZWZvcmVVbmxvYWRMaXN0ZW5l
cnModGhpcykpCiAgICAgICAgIHJlbW92ZUJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXIodGhpcyk7
CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBlbHNlIGlmIChldmVudFR5cGUg
PT0gZXZlbnROYW1lcygpLmRldmljZW1vdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+
cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlTW90aW9uQ29udHJvbGxlcigpKQorICAg
ICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU1vdGlvbkNvbnRyb2xsZXIoKS0+cmVtb3ZlTGlz
dGVuZXIodGhpcyk7CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5kZXZp
Y2VvcmllbnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1l
KCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkpCiAgICAgICAgIGZyYW1l
KCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCktPnJlbW92ZUxpc3RlbmVy
KHRoaXMpOwogI2VuZGlmCkBAIC0xNTMwLDYgKzE1MzUsOCBAQCB2b2lkIERPTVdpbmRvdzo6cmVt
b3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQogICAgIEV2ZW50VGFyZ2V0OjpyZW1vdmVBbGxFdmVudExp
c3RlbmVycygpOwogCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBpZiAoZnJh
bWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VNb3Rpb25D
b250cm9sbGVyKCkpCisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlTW90aW9uQ29udHJv
bGxlcigpLT5yZW1vdmVBbGxMaXN0ZW5lcnModGhpcyk7CiAgICAgaWYgKGZyYW1lKCkgJiYgZnJh
bWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyKCkpCiAgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyKCktPnJlbW92ZUFsbExpc3RlbmVycyh0aGlzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDUx
ZDQwN2MuLjhkNTdkY2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysg
Yi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTMzOCw2ICszMzgsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAg
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZGV2aWNlbW90aW9uKTsKICAgICAg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkZXZpY2VvcmllbnRhdGlvbik7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBiMzUyMjAyLi42YmY5OTdjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bApAQCAtMzA1LDggKzMwNSwxMCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRl
IFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5l
ciBvbnRvdWNoZW5kOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRPVUNIX0VWRU5U
UyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hjYW5jZWw7CiAKLSAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sIEVuYWJsZWRBdFJ1
bnRpbWVdIERldmljZU9yaWVudGF0aW9uRXZlbnRDb25zdHJ1Y3RvciBEZXZpY2VPcmllbnRhdGlv
bkV2ZW50OwotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElP
TiwgRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbmRldmljZW9yaWVudGF0aW9uOwor
ICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTixFbmFibGVk
QXRSdW50aW1lXSBEZXZpY2VNb3Rpb25FdmVudENvbnN0cnVjdG9yIERldmljZU1vdGlvbkV2ZW50
OworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTixFbmFi
bGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9uZGV2aWNlbW90aW9uOworICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50Q29uc3RydWN0b3IgRGV2aWNlT3JpZW50YXRpb25FdmVudDsK
KyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxl
ZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbmRldmljZW9yaWVudGF0aW9uOwogCiAgICAgICAg
IC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQogICAgICAgICBbQ3VzdG9tXSB2b2lkIGFkZEV2ZW50
TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAgYi9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggOTRkMjk0MC4uNWFiNjQyNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cApAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBhZ2Uu
aCIKIAorI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYWNr
Rm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNs
dWRlICJCYXNlNjQuaCIKQEAgLTE0MSw2ICsxNDIsNyBAQCBQYWdlOjpQYWdlKGNvbnN0IFBhZ2VD
bGllbnRzJiBwYWdlQ2xpZW50cykKICAgICAsIG1fZ2VvbG9jYXRpb25Db250cm9sbGVyKG5ldyBH
ZW9sb2NhdGlvbkNvbnRyb2xsZXIodGhpcywgcGFnZUNsaWVudHMuZ2VvbG9jYXRpb25Db250cm9s
bGVyQ2xpZW50KSkKICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAg
LCBtX2RldmljZU1vdGlvbkNvbnRyb2xsZXIoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGV2aWNl
TW90aW9uRW5hYmxlZCgpID8gbmV3IERldmljZU1vdGlvbkNvbnRyb2xsZXIocGFnZUNsaWVudHMu
ZGV2aWNlTW90aW9uQ2xpZW50KSA6IDApCiAgICAgLCBtX2RldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlcihSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQoKSA/
IG5ldyBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIodGhpcywgcGFnZUNsaWVudHMuZGV2aWNl
T3JpZW50YXRpb25DbGllbnQpIDogMCkKICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaApp
bmRleCA2MmFmMGE3Li5kOWU5MjU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisr
KyBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTQ0LDYgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIENocm9tZUNsaWVudDsKICAgICBjbGFzcyBDb250ZXh0TWVudUNsaWVu
dDsKICAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXI7CisgICAgY2xhc3MgRGV2aWNlTW90
aW9uQ2xpZW50OworICAgIGNsYXNzIERldmljZU1vdGlvbkNvbnRyb2xsZXI7CiAgICAgY2xhc3Mg
RGV2aWNlT3JpZW50YXRpb25DbGllbnQ7CiAgICAgY2xhc3MgRGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyOwogICAgIGNsYXNzIERvY3VtZW50OwpAQCAtMTAxLDYgKzEwMyw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgICAgICAgICAsIGluc3BlY3RvckNsaWVudCgwKQogICAgICAg
ICAgICAgICAgICwgcGx1Z2luSGFsdGVyQ2xpZW50KDApCiAgICAgICAgICAgICAgICAgLCBnZW9s
b2NhdGlvbkNvbnRyb2xsZXJDbGllbnQoMCkKKyAgICAgICAgICAgICAgICAsIGRldmljZU1vdGlv
bkNsaWVudCgwKQogICAgICAgICAgICAgICAgICwgZGV2aWNlT3JpZW50YXRpb25DbGllbnQoMCkK
ICAgICAgICAgICAgICAgICAsIGJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudCgwKQogICAgICAg
ICAgICAgICAgICwgc3BlZWNoSW5wdXRDbGllbnQoMCkKQEAgLTExMyw2ICsxMTYsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNs
aWVudDsKICAgICAgICAgICAgIFBsdWdpbkhhbHRlckNsaWVudCogcGx1Z2luSGFsdGVyQ2xpZW50
OwogICAgICAgICAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KiBnZW9sb2NhdGlvbkNv
bnRyb2xsZXJDbGllbnQ7CisgICAgICAgICAgICBEZXZpY2VNb3Rpb25DbGllbnQqIGRldmljZU1v
dGlvbkNsaWVudDsKICAgICAgICAgICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBkZXZpY2VP
cmllbnRhdGlvbkNsaWVudDsKICAgICAgICAgICAgIEJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVu
dCogYmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50OwogICAgICAgICAgICAgU3BlZWNoSW5wdXRD
bGllbnQqIHNwZWVjaElucHV0Q2xpZW50OwpAQCAtMTc5LDYgKzE4Myw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKiBnZW9sb2NhdGlvbkNvbnRy
b2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2dlb2xvY2F0aW9uQ29udHJvbGxlci5nZXQoKTsgfQog
I2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICAgICAgRGV2aWNlTW90
aW9uQ29udHJvbGxlciogZGV2aWNlTW90aW9uQ29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1f
ZGV2aWNlTW90aW9uQ29udHJvbGxlci5nZXQoKTsgfQogICAgICAgICBEZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXIqIGRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJu
IG1fZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmdldCgpOyB9CiAjZW5kaWYKICNpZiBFTkFC
TEUoSU5QVVRfU1BFRUNIKQpAQCAtMzEzLDYgKzMxOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgT3duUHRyPEdlb2xvY2F0aW9uQ29udHJvbGxlcj4gbV9nZW9sb2NhdGlvbkNvbnRy
b2xsZXI7CiAjZW5kaWYKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgICAgICBP
d25QdHI8RGV2aWNlTW90aW9uQ29udHJvbGxlcj4gbV9kZXZpY2VNb3Rpb25Db250cm9sbGVyOwog
ICAgICAgICBPd25QdHI8RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyPiBtX2RldmljZU9yaWVu
dGF0aW9uQ29udHJvbGxlcjsKICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63556</attachid>
            <date>2010-08-04 23:06:16 -0700</date>
            <delta_ts>2010-08-06 02:05:04 -0700</delta_ts>
            <desc>yet another style fix</desc>
            <filename>devicemotion.patch</filename>
            <type>text/plain</type>
            <size>101877</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NGMxMTFmLi45OGNiMDNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTAtMDgt
MDQgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00Mjg2NQorICAgICAgICBJbXBsZW1lbnQgQWNjZWxlcm9tZXRlckV2ZW50CisK
KyAgICAgICAgQWRkIERldmljZU1vdGlvbiBhbmQgb25kZXZpY2Vtb3Rpb24gdGVzdGluZyB0bwor
ICAgICAgICB0aGUgZGV2aWNlLW9yaWVudGF0aW9uIHRlc3QsIGFuZCBtYWtlIHN1cmUgdGhlIERl
dmljZU1vdGlvbgorICAgICAgICBpbnRlcmZhY2UgaXMgbm90IHRlc3RlZCBpbiB0aGUgZ2VuZXJp
YyB3aW5kb3cgb2JqZWN0LgorCisgICAgICAgIE5vdGUgdGhhdCBhdCB0aGlzIHRpbWUgdGhlIHNw
ZWNpZmllZCBldmVudCBpcworICAgICAgICBjYWxsZWQgQWNjZWxlcm9tZXRlciwgYnV0IHRoaXMg
d2lsbCBjaGFuZ2UgdG8gRGV2aWNlTW90aW9uCisgICAgICAgIHdpdGggdGhlIGluY2x1c2lvbiBv
ZiBneXJvc2NvcGljIHJlc3VsdHMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6CisKKyAg
ICAgICAgQWRkIHNvbWUgdGVzdHMgZm9yIHRoZSBEZXZpY2VNb3Rpb25FdmVudCBpbnRlcmZhY2Uu
CisKKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwt
ZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9jcmVh
dGUtZXZlbnQuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi9zY3Jp
cHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qczogQWRkZWQuCisgICAgICAgICog
ZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVydHkuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93
LXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGVzZSBhcmUgc2tp
cHBlZCBvbiBNYWMsIFdpbiwgR1RLIGFuZCBRVC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9T
a2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAt
MDgtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHRlc3QgZXhwZWN0YXRpb24gdXBkYXRlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGM0MGM0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL2NyZWF0ZS1ldmVudC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzMCBAQAorVGVzdHMgdGhhdCBkb2N1bWVudC5jcmVhdGVFdmVudCgp
IHdvcmtzIHdpdGggRGV2aWNlTW90aW5FdmVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgdHlwZW9mIGV2ZW50ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgJ3R5cGUn
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2J1YmJsZXMnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
J2NhbmNlbGFibGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3hBY2NlbGVyYXRpb24nIGluIGV2
ZW50IGlzIHRydWUKK1BBU1MgJ3lBY2NlbGVyYXRpb24nIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
J3pBY2NlbGVyYXRpb24nIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3hSb3RhdGlvblJhdGUnIGlu
IGV2ZW50IGlzIHRydWUKK1BBU1MgJ3lSb3RhdGlvblJhdGUnIGluIGV2ZW50IGlzIHRydWUKK1BB
U1MgJ3pSb3RhdGlvblJhdGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2ludGVydmFsJyBpbiBl
dmVudCBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIGlzIHRydWUK
K1BBU1MgdHlwZW9mIGV2ZW50LmJ1YmJsZXMgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlw
ZW9mIGV2ZW50LmNhbmNlbGFibGUgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2
ZW50LnhBY2NlbGVyYXRpb24gPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQu
eUFjY2VsZXJhdGlvbiA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC56QWNj
ZWxlcmF0aW9uID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnhSb3RhdGlv
blJhdGUgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQueVJvdGF0aW9uUmF0
ZSA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC56Um90YXRpb25SYXRlID09
ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmludGVydmFsID09ICdvYmplY3Qn
IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRl
LWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2
ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ1Zjk2MgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9jcmVhdGUt
ZXZlbnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJv
cGVydGllcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MGVhYmUzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1v
dGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY1
IEBACitUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VNb3Rpb25FdmVudC4g
RWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBv
ciB1bmRlZmluZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitldmVudCA9IGRv
Y3VtZW50LmNyZWF0ZUV2ZW50KCdEZXZpY2VNb3Rpb25FdmVudCcpCitQQVNTIGV2ZW50LnhBY2Nl
bGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24gPT0gbnVs
bCBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNT
IGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlv
blJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gbnVsbCBp
cyB0cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IG51bGwgaXMgdHJ1ZQorZXZlbnQuaW5pdERl
dmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIDAsIDEsIDIsIDMsIDQsIDUsIDYpCitQ
QVNTIGV2ZW50LnhBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVy
YXRpb24gPT0gMSBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMiBpcyB0cnVl
CitQQVNTIGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gMyBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3Rh
dGlvblJhdGUgPT0gNCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gNSBpcyB0
cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IDYgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1v
dGlvbkV2ZW50KCkKK1BBU1MgZXZlbnQueEFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BB
U1MgZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuekFjY2Vs
ZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueFJvdGF0aW9uUmF0ZSA9PSBudWxs
IGlzIHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1Mg
ZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuaW50ZXJ2YWwg
PT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZlbnQoJycsIGZhbHNlLCBm
YWxzZSwgW10sIFtdLCBbXSwgW10sIFtdLCBbXSwgW10pCitQQVNTIGV2ZW50LnhBY2NlbGVyYXRp
b24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQ
QVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnhSb3RhdGlv
blJhdGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVl
CitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LmludGVy
dmFsID09IDAgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwg
ZmFsc2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZp
bmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkKK1BBU1MgZXZlbnQueEFjY2VsZXJhdGlvbiA9PSBu
dWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BB
U1MgZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueFJvdGF0
aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxs
IGlzIHRydWUKK1BBU1MgZXZlbnQuelJvdGF0aW9uUmF0ZSA9PSBudWxsIGlzIHRydWUKK1BBU1Mg
ZXZlbnQuaW50ZXJ2YWwgPT0gbnVsbCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlTW90aW9uRXZl
bnQoJycsIGZhbHNlLCBmYWxzZSwgJycsICcnLCAnJywgJycsICcnLCAnJywgJycpCitQQVNTIGV2
ZW50LnhBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlBY2NlbGVyYXRpb24g
PT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCBpcyB0cnVlCitQQVNT
IGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJh
dGUgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LnpSb3RhdGlvblJhdGUgPT0gMCBpcyB0cnVlCitQ
QVNTIGV2ZW50LmludGVydmFsID09IDAgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU1vdGlvbkV2
ZW50KCcnLCBmYWxzZSwgZmFsc2UsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGws
IG51bGwpCitQQVNTIGV2ZW50LnhBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2
ZW50LnlBY2NlbGVyYXRpb24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnpBY2NlbGVyYXRp
b24gPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0
cnVlCitQQVNTIGV2ZW50LnlSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50
LnpSb3RhdGlvblJhdGUgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmludGVydmFsID09IG51
bGwgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9vcHRp
b25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VN
b3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjIxMjY2OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9EZXZpY2VNb3Rpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCkBAIC0w
LDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjMxOTYzZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90
aW9uL3NjcmlwdC10ZXN0cy9jcmVhdGUtZXZlbnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9E
ZXZpY2VNb3Rpb24vc2NyaXB0LXRlc3RzL2NyZWF0ZS1ldmVudC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4xNjczMjlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9jcmVhdGUtZXZlbnQuanMKQEAg
LTAsMCArMSwyOSBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgZG9jdW1lbnQuY3JlYXRlRXZl
bnQoKSB3b3JrcyB3aXRoIERldmljZU1vdGluRXZlbnQuIik7CisKK3ZhciBldmVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUV2ZW50KCdEZXZpY2VNb3Rpb25FdmVudCcpOworCitzaG91bGRCZVRydWUoInR5
cGVvZiBldmVudCA9PSAnb2JqZWN0JyIpOworCitzaG91bGRCZVRydWUoIid0eXBlJyBpbiBldmVu
dCIpOworc2hvdWxkQmVUcnVlKCInYnViYmxlcycgaW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgi
J2NhbmNlbGFibGUnIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIid4QWNjZWxlcmF0aW9uJyBp
biBldmVudCIpOworc2hvdWxkQmVUcnVlKCIneUFjY2VsZXJhdGlvbicgaW4gZXZlbnQiKTsKK3No
b3VsZEJlVHJ1ZSgiJ3pBY2NlbGVyYXRpb24nIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIid4
Um90YXRpb25SYXRlJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCIneVJvdGF0aW9uUmF0ZScg
aW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3pSb3RhdGlvblJhdGUnIGluIGV2ZW50Iik7Citz
aG91bGRCZVRydWUoIidpbnRlcnZhbCcgaW4gZXZlbnQiKTsKKworc2hvdWxkQmVUcnVlKCJ0eXBl
b2YgZXZlbnQudHlwZSA9PSAnc3RyaW5nJyIpOworc2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQu
YnViYmxlcyA9PSAnYm9vbGVhbiciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LmNhbmNl
bGFibGUgPT0gJ2Jvb2xlYW4nIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC54QWNjZWxl
cmF0aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC55QWNjZWxl
cmF0aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC56QWNjZWxl
cmF0aW9uID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC54Um90YXRp
b25SYXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC55Um90YXRp
b25SYXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC56Um90YXRp
b25SYXRlID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC5pbnRlcnZh
bCA9PSAnb2JqZWN0JyIpOworCit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlvbi9zY3JpcHQtdGVzdHMv
b3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0Rldmlj
ZU1vdGlvbi9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjliNTNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy9vcHRpb25hbC1l
dmVudC1wcm9wZXJ0aWVzLmpzCkBAIC0wLDAgKzEsNjggQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0
aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VNb3Rpb25FdmVudC4gRWFjaCBwcm9wZXJ0
eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQu
Iik7CisKK3ZhciBldmVudDsKKworZXZhbEFuZExvZygiZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVF
dmVudCgnRGV2aWNlTW90aW9uRXZlbnQnKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54QWNjZWxl
cmF0aW9uID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9PSBu
dWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVsbCIpOworc2hv
dWxkQmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgi
ZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3Rh
dGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSBudWxs
Iik7CisKK2V2YWxBbmRMb2coImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2Us
IGZhbHNlLCAwLCAxLCAyLCAzLCA0LCA1LCA2KSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54QWNj
ZWxlcmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9PSAx
Iik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMiIpOworc2hvdWxkQmVU
cnVlKCJldmVudC54Um90YXRpb25SYXRlID09IDMiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueVJv
dGF0aW9uUmF0ZSA9PSA0Iik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3RhdGlvblJhdGUgPT0g
NSIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSA2Iik7CisKK2V2YWxBbmRMb2co
ImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhB
Y2NlbGVyYXRpb24gPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9u
ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIik7
CitzaG91bGRCZVRydWUoImV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVU
cnVlKCJldmVudC55Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
elJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09
IG51bGwiKTsKKworZXZhbEFuZExvZygiZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBm
YWxzZSwgZmFsc2UsIFtdLCBbXSwgW10sIFtdLCBbXSwgW10sIFtdKSIpOworc2hvdWxkQmVUcnVl
KCJldmVudC54QWNjZWxlcmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2Vs
ZXJhdGlvbiA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCIp
Oworc2hvdWxkQmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IDAiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3Rh
dGlvblJhdGUgPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSAwIik7CisK
K2V2YWxBbmRMb2coImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2UsIGZhbHNl
LCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwg
dW5kZWZpbmVkLCB1bmRlZmluZWQpIik7CitzaG91bGRCZVRydWUoImV2ZW50LnhBY2NlbGVyYXRp
b24gPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC55QWNjZWxlcmF0aW9uID09IG51bGwi
KTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuekFjY2VsZXJhdGlvbiA9PSBudWxsIik7CitzaG91bGRC
ZVRydWUoImV2ZW50LnhSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVu
dC55Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuelJvdGF0aW9u
UmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmludGVydmFsID09IG51bGwiKTsK
KworZXZhbEFuZExvZygiZXZlbnQuaW5pdERldmljZU1vdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFs
c2UsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC54
QWNjZWxlcmF0aW9uID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJhdGlvbiA9
PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gMCIpOworc2hvdWxk
QmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
eVJvdGF0aW9uUmF0ZSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpSb3RhdGlvblJhdGUg
PT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZhbCA9PSAwIik7CisKK2V2YWxBbmRM
b2coImV2ZW50LmluaXREZXZpY2VNb3Rpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCBudWxsLCBu
dWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsKSIpOworc2hvdWxkQmVUcnVlKCJldmVu
dC54QWNjZWxlcmF0aW9uID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQueUFjY2VsZXJh
dGlvbiA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LnpBY2NlbGVyYXRpb24gPT0gbnVs
bCIpOworc2hvdWxkQmVUcnVlKCJldmVudC54Um90YXRpb25SYXRlID09IG51bGwiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiZXZlbnQueVJvdGF0aW9uUmF0ZSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2
ZW50LnpSb3RhdGlvblJhdGUgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5pbnRlcnZh
bCA9PSBudWxsIik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3NjcmlwdC10ZXN0cy93aW5k
b3ctcHJvcGVydHkuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vc2NyaXB0
LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5jOTE4NDhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2
aWNlTW90aW9uL3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVydHkuanMKQEAgLTAsMCArMSwzMSBA
QAorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIHdpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCBh
bmQgd2luZG93Lm9uZGV2aWNlbW90aW9uIHByb3BlcnRpZXMgYXJlIHByZXNlbnQuIik7CisKK2Z1
bmN0aW9uIGhhc0RldmljZU1vdGlvbkV2ZW50UHJvcGVydHkoKQoreworICAgIGZvciAodmFyIHBy
b3BlcnR5IGluIHdpbmRvdykgeworICAgICAgICBpZiAocHJvcGVydHkgPT0gIkRldmljZU1vdGlv
bkV2ZW50IikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCA9
PSAnb2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNEZXZpY2VNb3Rpb25FdmVudFByb3BlcnR5
KCkiKTsKK3Nob3VsZEJlVHJ1ZSgiJ0RldmljZU1vdGlvbkV2ZW50JyBpbiB3aW5kb3ciKTsKK3No
b3VsZEJlVHJ1ZSgid2luZG93Lmhhc093blByb3BlcnR5KCdEZXZpY2VNb3Rpb25FdmVudCcpIik7
CisKK2Z1bmN0aW9uIGhhc09uRGV2aWNlTW90aW9uUHJvcGVydHkoKQoreworICAgIGZvciAodmFy
IHByb3BlcnR5IGluIHdpbmRvdykgeworICAgICAgICBpZiAocHJvcGVydHkgPT0gIm9uZGV2aWNl
bW90aW9uIikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdpbmRvdy5vbmRldmljZW1vdGlvbiA9PSAn
b2JqZWN0JyIpOworc2hvdWxkQmVUcnVlKCJoYXNPbkRldmljZU1vdGlvblByb3BlcnR5KCkiKTsK
K3Nob3VsZEJlVHJ1ZSgiJ29uZGV2aWNlbW90aW9uJyBpbiB3aW5kb3ciKTsKK3Nob3VsZEJlVHJ1
ZSgid2luZG93Lmhhc093blByb3BlcnR5KCdvbmRldmljZW1vdGlvbicpIik7CisKK3dpbmRvdy5z
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vRGV2aWNlTW90aW9uL3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTUyNjUxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL3dpbmRvdy1wcm9wZXJ0eS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdHMgdGhhdCB0aGUgd2luZG93LkRldmljZU1v
dGlvbkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2Vtb3Rpb24gcHJvcGVydGllcyBhcmUgcHJlc2Vu
dC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIHdpbmRvdy5E
ZXZpY2VNb3Rpb25FdmVudCA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIGhhc0RldmljZU1vdGlv
bkV2ZW50UHJvcGVydHkoKSBpcyB0cnVlCitQQVNTICdEZXZpY2VNb3Rpb25FdmVudCcgaW4gd2lu
ZG93IGlzIHRydWUKK1BBU1Mgd2luZG93Lmhhc093blByb3BlcnR5KCdEZXZpY2VNb3Rpb25FdmVu
dCcpIGlzIHRydWUKK1BBU1MgdHlwZW9mIHdpbmRvdy5vbmRldmljZW1vdGlvbiA9PSAnb2JqZWN0
JyBpcyB0cnVlCitQQVNTIGhhc09uRGV2aWNlTW90aW9uUHJvcGVydHkoKSBpcyB0cnVlCitQQVNT
ICdvbmRldmljZW1vdGlvbicgaW4gd2luZG93IGlzIHRydWUKK1BBU1Mgd2luZG93Lmhhc093blBy
b3BlcnR5KCdvbmRldmljZW1vdGlvbicpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9EZXZpY2VNb3Rpb24vd2luZG93LXByb3BlcnR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZTEyMjAzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHkuaHRtbApAQCAtMCwwICsxLDEy
IEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhw
ZWN0ZWQudHh0CmluZGV4IDYyODAxZWIuLjBhNGE1YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1kZXZpY2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNTcgQEAKLVRo
aXMgdGVzdCBkdW1wcyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhY2hhYmxlIGZy
b20gdGhlIHdpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IGFuZCB3aW5kb3cub25kZXZpY2Vv
cmllbnRhdGlvbiBvYmplY3RzLCBhbG9uZyB3aXRoIHRoZWlyIHR5cGVzLgorVGhpcyB0ZXN0IGR1
bXBzIGFsbCBvZiB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2lu
ZG93LkRldmljZU1vdGlvbkV2ZW50IHdpbmRvdy5vbmRldmljZW1vdGlvbiwgd2luZG93LkRldmlj
ZU9yaWVudGF0aW9uRXZlbnQgYW5kIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMs
IGFsb25nIHdpdGggdGhlaXIgdHlwZXMuIFRoZXNlIHByb3BlcnRpZXMgYXJlIGN1cnJlbnRseSBn
dWFyZGVkIGJ5IEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04uCiAKLXdpbmRvdy5EZXZpY2VPcmll
bnRhdGlvbkV2ZW50IFtmdW5jdGlvbl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCBbb2JqZWN0
IERldmljZU1vdGlvbkV2ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQu
cHJvdG90eXBlIFtvYmplY3QgRGV2aWNlTW90aW9uRXZlbnRQcm90b3R5cGVdCit3aW5kb3cuRGV2
aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLkFUX1RBUkdFVCBbbnVtYmVyXQord2luZG93LkRldmlj
ZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5CTFVSIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlTW90aW9u
RXZlbnQucHJvdG90eXBlLkJVQkJMSU5HX1BIQVNFIFtudW1iZXJdCit3aW5kb3cuRGV2aWNlTW90
aW9uRXZlbnQucHJvdG90eXBlLkNBUFRVUklOR19QSEFTRSBbbnVtYmVyXQord2luZG93LkRldmlj
ZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5DSEFOR0UgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rp
b25FdmVudC5wcm90b3R5cGUuQ0xJQ0sgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVu
dC5wcm90b3R5cGUuREJMQ0xJQ0sgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5w
cm90b3R5cGUuRFJBR0RST1AgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90
b3R5cGUuRk9DVVMgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUu
S0VZRE9XTiBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5LRVlQ
UkVTUyBbbnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5LRVlVUCBb
bnVtYmVyXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURPV04gW251
bWJlcl0KK3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuTU9VU0VEUkFHIFtudW1i
ZXJdCit3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQucHJvdG90eXBlLk1PVVNFTU9WRSBbbnVtYmVy
XQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRU9VVCBbbnVtYmVyXQor
d2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRU9WRVIgW251bWJlcl0KK3dp
bmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuTU9VU0VVUCBbbnVtYmVyXQord2luZG93
LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5TRUxFQ1QgW251bWJlcl0KK3dpbmRvdy5EZXZp
Y2VNb3Rpb25FdmVudC5wcm90b3R5cGUuaW5pdERldmljZU1vdGlvbkV2ZW50IFtmdW5jdGlvbl0K
K3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUuaW5pdEV2ZW50IFtmdW5jdGlvbl0K
K3dpbmRvdy5EZXZpY2VNb3Rpb25FdmVudC5wcm90b3R5cGUucHJldmVudERlZmF1bHQgW2Z1bmN0
aW9uXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5zdG9wSW1tZWRpYXRlUHJv
cGFnYXRpb24gW2Z1bmN0aW9uXQord2luZG93LkRldmljZU1vdGlvbkV2ZW50LnByb3RvdHlwZS5z
dG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQord2luZG93Lm9uZGV2aWNlbW90aW9uIFtudWxsXQor
d2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQgW29iamVjdCBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUg
W29iamVjdCBEZXZpY2VPcmllbnRhdGlvbkV2ZW50UHJvdG90eXBlXQord2luZG93LkRldmljZU9y
aWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkFUX1RBUkdFVCBbbnVtYmVyXQord2luZG93LkRldmlj
ZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkJMVVIgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VP
cmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5CVUJCTElOR19QSEFTRSBbbnVtYmVyXQord2luZG93
LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNBUFRVUklOR19QSEFTRSBbbnVtYmVy
XQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNIQU5HRSBbbnVtYmVy
XQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkNMSUNLIFtudW1iZXJd
Cit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuREJMQ0xJQ0sgW251bWJl
cl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5EUkFHRFJPUCBbbnVt
YmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLkZPQ1VTIFtudW1i
ZXJdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuS0VZRE9XTiBbbnVt
YmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBlLktFWVBSRVNTIFtu
dW1iZXJdCit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuS0VZVVAgW251
bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURPV04g
W251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VTRURS
QUcgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5NT1VT
RU1PVkUgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5N
T1VTRU9VVCBbbnVtYmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90eXBl
Lk1PVVNFT1ZFUiBbbnVtYmVyXQord2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQucHJvdG90
eXBlLk1PVVNFVVAgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3Rv
dHlwZS5TRUxFQ1QgW251bWJlcl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3Rv
dHlwZS5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCBbZnVuY3Rpb25dCit3aW5kb3cuRGV2aWNl
T3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuaW5pdEV2ZW50IFtmdW5jdGlvbl0KK3dpbmRvdy5E
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdCBbZnVuY3Rpb25d
Cit3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudC5wcm90b3R5cGUuc3RvcEltbWVkaWF0ZVBy
b3BhZ2F0aW9uIFtmdW5jdGlvbl0KK3dpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LnByb3Rv
dHlwZS5zdG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQogd2luZG93Lm9uZGV2aWNlb3JpZW50YXRp
b24gW251bGxdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1kZXZpY2Utb3JpZW50YXRpb24uaHRtbAppbmRl
eCA5N2UwMGJiLi43ZTgzZmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZS1vcmllbnRhdGlv
bi5odG1sCkBAIC0xLDQgKzEsNSBAQAotPHA+VGhpcyB0ZXN0IGR1bXBzIGFsbCBvZiB0aGUgcHJv
cGVydGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmljZU9yaWVudGF0
aW9uRXZlbnQgYW5kIHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMsIGFsb25nIHdp
dGggdGhlaXIgdHlwZXMuPC9wPgorPHA+VGhpcyB0ZXN0IGR1bXBzIGFsbCBvZiB0aGUgcHJvcGVy
dGllcyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSB0aGUgd2luZG93LkRldmljZU1vdGlvbkV2ZW50
IHdpbmRvdy5vbmRldmljZW1vdGlvbiwgd2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQgYW5k
IHdpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIG9iamVjdHMsIGFsb25nIHdpdGggdGhlaXIgdHlw
ZXMuCisgIFRoZXNlIHByb3BlcnRpZXMgYXJlIGN1cnJlbnRseSBndWFyZGVkIGJ5IEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04uPC9wPgogPGhyPgogPHByZSBpZD0icHJlIj48L3ByZT4KIApAQCAt
ODgsNiArODksOCBAQCBmdW5jdGlvbiBsb2dQcm9wZXJ0aWVzKG9iamVjdCwgb2JqZWN0TmFtZSkK
ICAgICB9CiB9CiAKK2xvZ1ZhbHVlKCd3aW5kb3cuRGV2aWNlTW90aW9uRXZlbnQnKTsKK2xvZ1Zh
bHVlKCd3aW5kb3cub25kZXZpY2Vtb3Rpb24nKTsKIGxvZ1ZhbHVlKCd3aW5kb3cuRGV2aWNlT3Jp
ZW50YXRpb25FdmVudCcpOwogbG9nVmFsdWUoJ3dpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uJyk7
CiBmbHVzaExvZygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMuaHRtbAppbmRleCBjMTM1YTliLi5kMDBkMWI1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbApAQCAtODUsNiAr
ODUsOCBAQCB2YXIgX19za2lwX18gPSB7CiAgICAgIndpbmRvdy5GaWxlUmVhZGVyIiA6IDEsCiAg
ICAgIndpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IiA6IDEsCiAgICAgIndpbmRvdy5vbmRl
dmljZW9yaWVudGF0aW9uIiA6IDEsCisgICAgIndpbmRvdy5EZXZpY2VNb3Rpb25FdmVudCIgOiAx
LAorICAgICJ3aW5kb3cub25kZXZpY2Vtb3Rpb24iIDogMSwKICAgICAid2luZG93LndlYmtpdFBl
cmZvcm1hbmNlIiA6IDEsCiAKICAgICAvLyBzaG93TW9kYWxEaWFsb2cgaXMgbm90IGltcGxlbWVu
dGVkIG9uIGFsbCBwbGF0Zm9ybXMgaW4gRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkCmluZGV4IDdlYTE3MDguLjZkNTNmNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVk
CkBAIC0xMDgxLDYgKzEwODEsOSBAQCBmYXN0L2RvbS9jbGllbnQtd2lkdGgtaGVpZ2h0LXF1aXJr
cy5odG1sCiBmYXN0L2RvbS9jbGllbnQtd2lkdGgtaGVpZ2h0Lmh0bWwKIGZhc3QvZG9tL2Nzc1Rh
cmdldC1jcmFzaC5odG1sCiBmYXN0L2RvbS9mcmFtZS1sb2FkaW5nLXZpYS1kb2N1bWVudC13cml0
ZS5odG1sCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50Lmh0bWwKK2Zhc3QvZG9t
L0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKK2Zhc3QvZG9tL0Rl
dmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHkuaHRtbAogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRp
b24vYmFzaWMtb3BlcmF0aW9uLmh0bWwKIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL2NyZWF0
ZS1ldmVudC5odG1sCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1w
cm9wZXJ0aWVzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggMTk3ZDQ5Ny4uMWUz
YjY1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTI0MCw3ICsyNDAsOCBAQCBjYW52
YXMvcGhpbGlwL3Rlc3RzL3R5cGUucHJvdG90eXBlLmh0bWwKICMgSW5kZXhlZERCIGlzIG5vdCB5
ZXQgZW5hYmxlZC4KIHN0b3JhZ2UvaW5kZXhlZGRiCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3Vw
cG9ydCBEZXZpY2VPcmllbnRhdGlvbi4KKyMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZp
Y2VNb3Rpb24gb3IgRGV2aWNlT3JpZW50YXRpb24uCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZh
c3QvZG9tL0RldmljZU9yaWVudGF0aW9uCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRp
ZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXgg
MGIyNDU4Ny4uYzcwMGZiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC03OCw3ICs3OCw4
IEBAIHBsdWdpbnMvY2xpY2tpbmctbWlzc2luZy1wbHVnaW4tZmlyZXMtZGVsZWdhdGUuaHRtbAog
IyAgICAgICBGZWF0dXJlIG5vdCBzdXBwb3J0ZWQuLi4geWV0CiAjID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PSAjCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VPcmllbnRhdGlvbi4KKyMg
VGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VNb3Rpb24gb3IgRGV2aWNlT3JpZW50YXRp
b24uCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uCiBm
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlLW9yaWVudGF0aW9uLmh0bWwK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAwODRhY2FiLi4zOTZkM2FiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtODcxLDcgKzg3MSw4IEBAIGVkaXRpbmcvc3BlbGxpbmcv
Y29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLmh0bWwKICMgSW5kZXhlZERCIGlzIG5vdCB5ZXQgZW5h
YmxlZC4KIHN0b3JhZ2UvaW5kZXhlZGRiCiAKLSMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBE
ZXZpY2VPcmllbnRhdGlvbi4KKyMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBEZXZpY2VNb3Rp
b24gb3IgRGV2aWNlT3JpZW50YXRpb24uCitmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZhc3QvZG9t
L0RldmljZU9yaWVudGF0aW9uCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2
aWNlLW9yaWVudGF0aW9uLmh0bWwKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQuanNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5t
awppbmRleCBiZWEyZTFkLi4xZjU2NWQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVy
aXZlZC5qc2NiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5k
aW5ncy5tawpAQCAtMTA0LDYgKzEwNCw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9kb20vSlNET01Db3JlRXhjZXB0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pT
RE9NSW1wbGVtZW50YXRpb24uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNET01TdHJp
bmdMaXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTRGV2aWNlTW90aW9uRXZlbnQu
aCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9kb20vSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Lmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvZG9tL0pTRG9jdW1lbnQuaCBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9kb20vSlNEb2N1bWVudEZyYWdtZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9B
bmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4
YmluZGluZ3MubWsKaW5kZXggZjdmYThkNi4uNGI1NjhmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9B
bmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZl
ZC52OGJpbmRpbmdzLm1rCkBAIC04Niw2ICs4Niw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9iaW5kaW5ncy9WOERPTUNvcmVFeGNlcHRpb24uaCBcCiAgICAgJChpbnRlcm1lZGlh
dGVzKS9iaW5kaW5ncy9WOERPTUltcGxlbWVudGF0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRl
cykvYmluZGluZ3MvVjhET01TdHJpbmdMaXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmlu
ZGluZ3MvVjhEZXZpY2VNb3Rpb25FdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2Jp
bmRpbmdzL1Y4RG9jdW1lbnQuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERv
Y3VtZW50RnJhZ21lbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGlu
Z3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKaW5kZXggMDFiNWExNi4uNzAx
MzA2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1dl
YkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawpAQCAtOTMsNiArOTMsNyBAQCBMT0NBTF9TUkNf
RklMRVMgKz0gXAogCWJpbmRpbmdzL2pzL0pTRGF0YWJhc2VDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9K
U0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcCBcCisJYmluZGluZ3MvanMvSlNEZXZpY2VN
b3Rpb25FdmVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25F
dmVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAli
aW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5k
cm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRleCBmNzlhYTc0Li5jNWViZGZiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0x
MTcsNiArMTE3LDkgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJ
ZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBcCiAJZG9tL0RPTVN0cmluZ0xpc3QuY3BwIFwKIAlk
b20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAgXAorCWRvbS9EZXZpY2VNb3Rpb25Db250
cm9sbGVyLmNwcCBcCisJZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwIFwKKwlkb20vRGV2aWNlTW90
aW9uRXZlbnQuY3BwIFwKIAlkb20vRG9jdW1lbnQuY3BwIFwKIAlkb20vRG9jdW1lbnRGcmFnbWVu
dC5jcHAgXAogCWRvbS9Eb2N1bWVudFBhcnNlci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9B
bmRyb2lkLnY4YmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawppbmRl
eCBiMzZiZWFiLi43MDc0NjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5n
cy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawpAQCAtMTA4LDYgKzEwOCw3
IEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VD
YWxsYmFjay5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFiYXNlQ3VzdG9tLmNwcCBc
CiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAg
XAorCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJ
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZjYxMTU5NC4u
ZDMzYTcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC0xNDQsNiArMTQ0LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVT
CiAgICAgZG9tL0NvbW1lbnQuaWRsCiAgICAgZG9tL0NvbXBvc2l0aW9uRXZlbnQuaWRsCiAgICAg
ZG9tL0N1c3RvbUV2ZW50LmlkbAorICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwKICAgICBk
b20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5p
ZGwKICAgICBkb20vRG9jdW1lbnQuaWRsCkBAIC01OTQsNiArNTk1LDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTRGF0YUdyaWREYXRhU291cmNlLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRGVkaWNh
dGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlv
bkV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVu
dEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAKQEAgLTc5MCw2ICs3OTIs
OSBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcAogICAgIGRv
bS9EYXRhc2V0RE9NU3RyaW5nTWFwLmNwcAogICAgIGRvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFy
c2VyLmNwcAorICAgIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAorICAgIGRvbS9EZXZp
Y2VNb3Rpb25EYXRhLmNwcAorICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKICAgICBkb20v
RGV2aWNlT3JpZW50YXRpb24uY3BwCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5jcHAKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJmY2M4ZC4uOTFlZjBh
MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw3OCBAQAorMjAxMC0wOC0wNCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODY1CisgICAgICAgIEltcGxl
bWVudCBBY2NlbGVyb21ldGVyRXZlbnQKKworICAgICAgICBJbXBsZW1lbnQgdGhlIERldmljZU1v
dGlvbkV2ZW50IGludGVyZmFjZSBhcyBkZWZpbmVkCisgICAgICAgIGluIGh0dHA6Ly9kZXYudzMu
b3JnL2dlby9hcGkvc3BlYy1zb3VyY2Utb3JpZW50YXRpb24uaHRtbAorICAgICAgICBUaGlzIGlz
IGN1cnJlbnRseSBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiwgaW4gdGhhdCB0aGVyZSBpcworICAg
ICAgICBubyBtb3Rpb24gY2xpZW50IGNvbm5lY3RlZCAtIHRoZSBwbGF0Zm9ybSBpbXBsZW1lbnRh
dGlvbnMKKyAgICAgICAgd2lsbCBuZWVkIHRvIGRvIHRoYXQuCisKKyAgICAgICAgTm90ZSBhbHNv
IHRoYXQgYXQgdGhpcyB0aW1lIHRoZSBzcGVjaWZpZWQgZXZlbnQgaXMKKyAgICAgICAgY2FsbGVk
IEFjY2VsZXJvbWV0ZXIsIGJ1dCB0aGlzIHdpbGwgY2hhbmdlIHRvIERldmljZU1vdGlvbgorICAg
ICAgICB3aXRoIHRoZSBpbmNsdXNpb24gb2YgZ3lyb3Njb3BpYyByZXN1bHRzLgorCisgICAgICAg
IFRlc3RzOiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24vY3JlYXRlLWV2ZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvZG9tL0RldmljZU1vdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0RldmljZU1vdGlvbi93aW5kb3ctcHJvcGVydHku
aHRtbAorCisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rOgorICAgICAg
ICAqIEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuanNj
YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBBbmRyb2lkLnY4
YmluZGluZ3MubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAgIC0gQWRkIG5ldyBmaWxlcyBmb3IgRGV2aWNlTW90aW9uRXZlbnQgYnVpbGQg
c3VwcG9ydAorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5jcHA6CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
Lmg6CisgICAgICAgICAgLSBuZXcgcnVudGltZSBmbGFncyBmb3IgZGV2aWNlIG1vdGlvbgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4K
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5j
cHA6IEFkZGVkLgorICAgICAgICAgIC0gQ3VzdG9tIEpTIGJpbmRpbmcgdG8gdHJhbnNsYXRlIHBy
b3BlcnR5IGFjY2VzcyB0aHJvdWdoCisgICAgICAgICAgICB0byB0aGUgRGV2aWNlTW90aW9uRGF0
YSBvYmplY3QgdGhhdCB0aGUgRXZlbnQgaG9sZHMKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2
ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgICAtIEluY2x1ZGUgdGhlIGN1c3RvbSBjb2RlIGZvciBE
ZXZpY2VNb3Rpb25FdmVudAorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25DbGllbnQuaDogQWRk
ZWQuCisgICAgICAgICAgLSBQdXJlIHZpcnR1YWwgY2xpZW50IGZvciBEZXZpY2VNb3Rpb24gYWNj
ZXNzCisgICAgICAgICogZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAgICAt
IENvbnRyb2xsZXIgY2xhc3MgdGhhdCBtYW5hZ2VzIGV2ZW50IGRpc3BhdGNoCisgICAgICAgICog
ZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBkb20vRGV2aWNlTW90
aW9uRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgICAtIFJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRh
IHRoYXQgY29tZXMgZnJvbSBhIGRldmljZSBtb3Rpb24KKyAgICAgICAgICAgIGNsaWVudCB0aGF0
IGlzIHRoZW4gdXNlZCB3aXRoaW4gdGhlIGV2ZW50LgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rp
b25FdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5oOiBB
ZGRlZC4KKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAg
ICAgICAtIFRoZSBhY3R1YWwgZXZlbnQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KToKKyAg
ICAgICAgICAtIFVwZGF0ZSBjcmVhdGVFdmVudCB0byBhbGxvdyAiZGV2aWNlbW90aW9uIiBldmVu
dHMKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAg
ICAgICAgIC0gaXNEZXZpY2VNb3Rpb25FdmVudCB2aXJ0dWFsIG1ldGhvZAorICAgICAgICAqIGRv
bS9FdmVudE5hbWVzLmg6CisgICAgICAgICAgLSBuZXcgImRldmljZW1vdGlvbiIgZXZlbnQgdHlw
ZQorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICAgLSBhbGxvdyBjcmVhdGlvbiBv
ZiAiZGV2aWNlbW90aW9uIiBldmVudHMgYW5kIHBhc3MgcmVnaXN0cmF0aW9uCisgICAgICAgICAg
ICB0aHJvdWdoIHRvIHRoZSBQYWdlJ3MgZGV2aWNlTW90aW9uQ29udHJvbGxlciBvYmplY3QKKyAg
ICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAg
IC0gbmV3IFBhZ2VDbGllbnQgZm9yIGRldmljZU1vdGlvbkNvbnRyb2xsZXIKKwogMjAxMC0wOC0w
NCAgQW50b25pbyBHb21lcyAgPHRvbmlraXRvb0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhbmllbCBCYXRlcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBlMjYzYzdlLi4wMmQ2ZWZi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMjcsNiArMTI3LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAg
ICAgRGF0YWJhc2UgXAogICAgIERhdGFiYXNlQ2FsbGJhY2sgXAogICAgIERhdGFiYXNlU3luYyBc
CisgICAgRGV2aWNlTW90aW9uRXZlbnQgXAogICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgXAog
ICAgIERvY3VtZW50IFwKICAgICBEb2N1bWVudEZyYWdtZW50IFwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDNmM2MwZGIu
LjA0NWQ0MzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTgxLDYgKzE4MSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNl
cyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RhdGFHcmlkQ29sdW1uTGlzdC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmggXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgXAorCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VNb3Rpb25FdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNEb2N1bWVudC5jcHAgXApAQCAtNjcxLDYgKzY3Myw3IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmggXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdyYXBwZXIuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3Vz
dG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRD
dXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwK
IAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAgXApAQCAtMTAyMSw2ICsx
MDI0LDEzIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9kb20vRGF0YXNldERPTVN0
cmluZ01hcC5oIFwKIAlXZWJDb3JlL2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCBc
CiAJV2ViQ29yZS9kb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5oIFwKKwlXZWJDb3JlL2Rv
bS9EZXZpY2VNb3Rpb25DbGllbnQuaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJv
bGxlci5jcHAgXAorCVdlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBcCisJV2Vi
Q29yZS9kb20vRGV2aWNlTW90aW9uRGF0YS5jcHAgXAorCVdlYkNvcmUvZG9tL0RldmljZU1vdGlv
bkRhdGEuaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwIFwKKwlXZWJDb3Jl
L2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oIFwKIAlXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bi5jcHAgXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmggXAogCVdlYkNvcmUvZG9t
L0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbiBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYzA3YTViOC4uOWYxMDI3NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCkBAIC00MDQsNiArNDA0LDcgQEAgX19aTjdXZWJDb3JlMTZpc0VuZE9mUGFyYWdyYXBo
RVJLTlNfMTVWaXNpYmxlUG9zaXRpb25FCiBfX1pON1dlYkNvcmUxNmpzU3RyaW5nU2xvd0Nhc2VF
UE4zSlNDOUV4ZWNTdGF0ZUVSTlMwXzlXZWFrR0NNYXBJUE5TXzEwU3RyaW5nSW1wbEVQTlMwXzhK
U1N0cmluZ0VFRVM1XwogX19aTjdXZWJDb3JlMTdDcmVkZW50aWFsU3RvcmFnZTNnZXRFUktOU18x
NVByb3RlY3Rpb25TcGFjZUUKIF9fWk43V2ViQ29yZTE3RE9NSW1wbGVtZW50YXRpb24xNGlzVGV4
dE1JTUVUeXBlRVJLTlNfNlN0cmluZ0UKK19fWk43V2ViQ29yZTE2RGV2aWNlTW90aW9uRGF0YTZj
cmVhdGVFYmRiZGJkYmRiZGJkYmQKIF9fWk43V2ViQ29yZTE3RGV2aWNlT3JpZW50YXRpb242Y3Jl
YXRlRWJkYmRiZAogX19aTjdXZWJDb3JlMTdHbHlwaFBhZ2VUcmVlTm9kZTE4dHJlZUdseXBoUGFn
ZUNvdW50RXYKIF9fWk43V2ViQ29yZTE3SFRNTFBsdWdJbkVsZW1lbnQxMWdldE5QT2JqZWN0RXYK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
aW5kZXggZDVlZDNkMi4uMDlmMjc1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQzLDYgKzQzLDcgQEAKICAgICAgICAgICAg
ICdkb20vRE9NSW1wbGVtZW50YXRpb24uaWRsJywKICAgICAgICAgICAgICdkb20vRE9NU3RyaW5n
TGlzdC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01TdHJpbmdNYXAuaWRsJywKKyAgICAgICAg
ICAgICdkb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vRGV2aWNl
T3JpZW50YXRpb25FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9Eb2N1bWVudC5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9Eb2N1bWVudEZyYWdtZW50LmlkbCcsCkBAIC01NDgsNiArNTQ5LDcg
QEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgnLAorICAgICAg
ICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNET01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcCcsCkBAIC03
NDQsNiArNzQ2LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhYmFz
ZVN5bmNDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEYXRh
R3JpZENvbHVtbkxpc3RDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRh
Q3VzdG9tLmNwcCcsCkBAIC0xMTI3LDYgKzExMzAsMTMgQEAKICAgICAgICAgICAgICdkb20vRGF0
YXNldERPTVN0cmluZ01hcC5oJywKICAgICAgICAgICAgICdkb20vRGVjb2RlZERhdGFEb2N1bWVu
dFBhcnNlci5jcHAnLAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2Vy
LmgnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaCcsCisgICAgICAgICAg
ICAnZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwJywKKyAgICAgICAgICAgICdkb20vRGV2
aWNlTW90aW9uQ29udHJvbGxlci5oJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlTW90aW9uRGF0
YS5jcHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25EYXRhLmgnLAorICAgICAgICAg
ICAgJ2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VN
b3Rpb25FdmVudC5oJywKICAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwJywK
ICAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24uaCcsCiAgICAgICAgICAgICAnZG9t
L0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggY2UwZjcwMS4uMzdlNGY5MiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0y
OTMsNiArMjkzLDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vQ29tbWVudC5pZGwgXAog
ICAgIGRvbS9Db21wb3NpdGlvbkV2ZW50LmlkbCBcCiAgICAgZG9tL0N1c3RvbUV2ZW50LmlkbCBc
CisgICAgZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuaWRsIFwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5pZGwgXAogICAgIGRvbS9E
b2N1bWVudC5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUv
V2ViQ29yZS5wcm8KaW5kZXggMTJkMDU2ZC4uOTZhMWM2MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMDEsNiArMzAxLDcgQEAg
U09VUkNFUyArPSBcCiAgICAgYmluZGluZ3MvanMvSlNEYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwK
ICAgICBiaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAgXAogICAgIGJpbmRpbmdzL2pz
L0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwIFwKKyAgICBiaW5kaW5ncy9qcy9KU0Rl
dmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3Rv
bS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFDdXN0b20uY3BwIFwKQEAgLTQ3
OSw2ICs0ODAsOSBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVj
bGFyYXRpb24uY3BwIFwKICAgICBkb20vQ3VzdG9tRXZlbnQuY3BwIFwKICAgICBkb20vRGVjb2Rl
ZERhdGFEb2N1bWVudFBhcnNlci5jcHAgXAorICAgIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVy
LmNwcCBcCisgICAgZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwIFwKKyAgICBkb20vRGV2aWNlTW90
aW9uRXZlbnQuY3BwIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwIFwKICAgICBkb20v
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuY3BwIFwKQEAgLTEyNDMsNiArMTI0NywxMCBAQCBIRUFERVJTICs9IFwKICAgICBk
b20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uaCBcCiAgICAgZG9tL0N1c3RvbUV2ZW50
LmggXAogICAgIGRvbS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmggXAorICAg
IGRvbS9EZXZpY2VNb3Rpb25DbGllbnQuaCBcCisgICAgZG9tL0RldmljZU1vdGlvbkRhdGEuaCBc
CisgICAgZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBcCisgICAgZG9tL0RldmljZU1vdGlv
bkV2ZW50LmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5oIFwKICAgICBkb20vRGV2aWNl
T3JpZW50YXRpb25DbGllbnQuaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGMwZGMzYmUuLjNm
YTljMjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjkwNSw2ICsy
OTA1LDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNEZXZpY2VNb3Rpb25FdmVudC5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
KwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0
aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVi
dWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNEZXZpY2VNb3Rpb25FdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialxXZWJDb3JlXERl
cml2ZWRTb3VyY2VzXEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAiDQogCQkJCT4NCiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMzI2NTMsNiArMzI3MDksMzQgQEAKIAkJCQk+DQogCQkJ
PC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU1vdGlv
bkNsaWVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU1vdGlvbkNv
bnRyb2xsZXIuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGRvbVxEZXZpY2VNb3Rpb25EYXRhLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VNb3Rpb25EYXRhLmgi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxk
b21cRGV2aWNlTW90aW9uRXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU1vdGlvbkV2ZW50LmgiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNl
T3JpZW50YXRpb24uY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTQyNDQ4LDYgKzQyNTMy
LDU4IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZp
bGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNEZXZpY2VNb3Rpb25FdmVu
dEN1c3RvbS5jcHAiDQorCQkJCQk+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJ
CQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQor
CQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5k
aW5nc1xqc1xKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIg0KIAkJCQkJPg0KIAkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBmNWI5MzAzLi5kNzgyZDI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzUwLDYgKzc1MCwxNiBAQAogCQkzMUMwRkY0QzBFNENF
RkREMDA3RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0NjBFNENFRkREMDA3RDZGRTUg
LyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi87IH07CiAJCTMxQzBGRjREMEU0Q0VGREQw
MDdENkZFNSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnQubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkY0NzBFNENFRkREMDA3RDZGRTUgLyog
RE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lm1tICovOyB9OwogCQkzMUMwRkY0RTBFNENFRkREMDA3
RDZGRTUgLyogRE9NV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjQ4MEU0Q0VGREQwMDdENkZF
NSAvKiBET01XZWJLaXRUcmFuc2l0aW9uRXZlbnRJbnRlcm5hbC5oICovOyB9OworCQkzMUZCMUE1
NzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE0RjEyMEE1RDA2MDBEQzAyQTAg
LyogRGV2aWNlTW90aW9uQ2xpZW50LmggKi87IH07CisJCTMxRkIxQTU4MTIwQTVEMDYwMERDMDJB
MCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUwMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VN
b3Rpb25Db250cm9sbGVyLmNwcCAqLzsgfTsKKwkJMzFGQjFBNTkxMjBBNUQwNjAwREMwMkEwIC8q
IERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUxMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25D
b250cm9sbGVyLmggKi87IH07CisJCTMxRkIxQTVBMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VN
b3Rpb25EYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxRkIxQTUyMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmNwcCAqLzsg
fTsKKwkJMzFGQjFBNUIxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkRhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRkIxQTUzMTIwQTVE
MDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmggKi87IH07CisJCTMxRkIxQTVDMTIwQTVE
MDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE1NDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2
aWNlTW90aW9uRXZlbnQuY3BwICovOyB9OworCQkzMUZCMUE1RDEyMEE1RDA2MDBEQzAyQTAgLyog
RGV2aWNlTW90aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxRkIxQTU1MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5o
ICovOyB9OworCQkzMUZCMUE2NTEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZC
MUE2MzEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi87IH07CisJ
CTMxRkIxQTY2MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2NDEyMEE1RDNG
MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5oICovOyB9OworCQkzMUZCMUE2QzEyMEE1
RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUZCMUE2QjEyMEE1RDY5MDBEQzAy
QTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi87IH07CiAJCTMzMTRBQ0VCMTA4
OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNEFDRTkxMDg5MjA4NjAwMEYwRTU2IC8qIEpT
RXhjZXB0aW9uQmFzZS5jcHAgKi87IH07CiAJCTMzMTRBQ0VDMTA4OTIwODYwMDBGMEU1NiAvKiBK
U0V4Y2VwdGlvbkJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMzMTRBQ0VBMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuaCAqLzsg
fTsKIAkJMzM1MDNDOUExMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvblByZXNlbnRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDOTkx
MDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvblByZXNlbnRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC02NDY5LDYgKzY0NzksMTcgQEAK
IAkJMzFDMEZGNDYwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XZWJLaXRUcmFuc2l0aW9uRXZl
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDcwRTRDRUZERDAwN0Q2
RkU1IC8qIERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFDMEZGNDgwRTRDRUZERDAwN0Q2RkU1IC8qIERPTVdlYktp
dFRyYW5zaXRpb25FdmVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTVdlYktpdFRyYW5zaXRpb25FdmVudEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxRkIxQTRGMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGll
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uQ2xpZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTUwMTIwQTVEMDYwMERDMDJB
MCAvKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUZCMUE1MTEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29u
dHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25D
b250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTUyMTIwQTVE
MDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERldmljZU1vdGlvbkRhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkzMUZCMUE1MzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25EYXRhLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRkIxQTU0MTIwQTVEMDYwMERDMDJBMCAvKiBE
ZXZpY2VNb3Rpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBEZXZpY2VNb3Rpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMx
RkIxQTU1MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25FdmVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUZCMUE1NjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9u
RXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERldmljZU1vdGlvbkV2ZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNjMxMjBBNUQzRjAwREMwMkEwIC8q
IEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTMxRkIxQTY0MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlTW90aW9uRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFGQjFBNkIxMjBBNUQ2OTAwREMwMkEwIC8qIEpT
RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMzMTRBQ0U5MTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFeGNlcHRpb25CYXNl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMxNEFDRUExMDg5MjA4NjAwMEYw
RTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0V4Y2VwdGlvbkJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMzRjcw
NEUwRkI0OUNBMjAwOEUxMkE2IC8qIE5vdGlmaWNhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBu
YW1lID0gTm90aWZpY2F0aW9uLmlkbDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NzM2LDYgKzE0NzU3LDggQEAK
IAkJCQk5M0Y5QjZERjBCQTBGQjcyMDA4NTQwNjQgLyogSlNDb21tZW50LmggKi8sCiAJCQkJRkU2
RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwICovLAogCQkJCUZFNkZE
NDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmggKi8sCisJCQkJMzFGQjFBNjMx
MjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuY3BwICovLAorCQkJCTMxRkIx
QTY0MTIwQTVEM0YwMERDMDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggKi8sCiAJCQkJNTlB
ODYwMDUxMTlEQUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgKi8s
CiAJCQkJNTlBODYwMDcxMTlEQUZBMTAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVu
dC5oICovLAogCQkJCTY1OUREQzgwMDlFMTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmNwcCAq
LywKQEAgLTE1OTE4LDYgKzE1OTQxLDcgQEAKIAkJCQlCQzc3RDE1MTBGRjE5QzczMDA3MDg4N0Ig
LyogSlNEYXRhR3JpZENvbHVtbkxpc3RDdXN0b20uY3BwICovLAogCQkJCTQxNjJBNDUzMTAxMTQ1
RTMwMERGRjNFRCAvKiBKU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwICovLAogCQkJ
CTMzNTAzQ0JGMTAxNzlDMUEwMDNCNDdFMSAvKiBKU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9t
LmNwcCAqLywKKwkJCQkzMUZCMUE2QjEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25F
dmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2
aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNDlDN0JBOEMxMDQyRjVCMTAw
MDlENDQ3IC8qIEpTRG9jdW1lbnRDdXN0b20uY3BwICovLAogCQkJCTFBQzIyNjE2MERCNjlGNzQw
MDg5QjY2OSAvKiBKU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwICovLApAQCAtMTcwNjgs
NiArMTcwOTIsMTQgQEAKIAkJCQlCQzY0NjQxQTExRDdGNDE2MDA2NDU1QjAgLyogRGF0YXNldERP
TVN0cmluZ01hcC5oICovLAogCQkJCUE4QzIyOEEwMTFENTcyMkUwMEQ1QTdEMyAvKiBEZWNvZGVk
RGF0YURvY3VtZW50UGFyc2VyLmNwcCAqLywKIAkJCQlBOEMyMjg5RjExRDU3MjJFMDBENUE3RDMg
LyogRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5oICovLAorCQkJCTMxRkIxQTRGMTIwQTVEMDYw
MERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCAqLywKKwkJCQkzMUZCMUE1MDEyMEE1RDA2
MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgKi8sCisJCQkJMzFGQjFBNTEx
MjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkNvbnRyb2xsZXIuaCAqLywKKwkJCQkzMUZC
MUE1MjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRGF0YS5jcHAgKi8sCisJCQkJMzFG
QjFBNTMxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkRhdGEuaCAqLywKKwkJCQkzMUZC
MUE1NDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRXZlbnQuY3BwICovLAorCQkJCTMx
RkIxQTU1MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5oICovLAorCQkJCTMx
RkIxQTU2MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5pZGwgKi8sCiAJCQkJ
NTlEMUMxMDMxMUVCNURDRjAwQjYzOEM4IC8qIERldmljZU9yaWVudGF0aW9uLmNwcCAqLywKIAkJ
CQk1OTBFMUI0ODExRTRFRjRCMDA2OUY3ODQgLyogRGV2aWNlT3JpZW50YXRpb24uaCAqLywKIAkJ
CQk1OUE4RjFENzExQTY5NTIwMDAxQUMzNEEgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCAq
LywKQEAgLTE5OTkwLDYgKzIwMDIyLDExIEBACiAJCQkJOTdERDREODcwRkRGNEQ2RTAwRUNGOUE0
IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMTcyRTAxMTEzNkU4Q0UwMDYy
QTUzMyAvKiBab29tTW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdDNjFGMDExMjA5NUM4NzAw
N0EzQzY3IC8qIEF0b21pY1N0cmluZ0tleWVkTVJVQ2FjaGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTMxRkIxQTU3MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25DbGllbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTMxRkIxQTU5MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25Db250
cm9sbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUZCMUE1QjEyMEE1RDA2MDBEQzAyQTAgLyog
RGV2aWNlTW90aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFGQjFBNUQxMjBBNUQwNjAw
REMwMkEwIC8qIERldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUZCMUE2
NjEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CkBAIC0yMDA0OSw2ICsyMDA4Niw3IEBACiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJYnVpbGRD
b25maWd1cmF0aW9uTGlzdCA9IDE0OUMyODQzMDg5MDJCMTEwMDhBOUVGQyAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIldlYkNvcmUiICovOwogCQkJY29tcGF0aWJp
bGl0eVZlcnNpb24gPSAiWGNvZGUgMi40IjsKKwkJCWRldmVsb3BtZW50UmVnaW9uID0gRW5nbGlz
aDsKIAkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAxOwogCQkJa25vd25SZWdpb25zID0gKAog
CQkJCUVuZ2xpc2gsCkBAIC0yMjM5NCw2ICsyMjQzMiwxMSBAQAogCQkJCTkzRjE5QjA1MDgyNDVF
NTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTk3REQ0RDg2MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTMxRkIxQTU4MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rp
b25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkIxQTVBMTIwQTVEMDYwMERD
MDJBMCAvKiBEZXZpY2VNb3Rpb25EYXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxRkIxQTVD
MTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkzMUZCMUE2NTEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkzMUZCMUE2QzEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VN
b3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1dlYkNvcmUvYmlu
ZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAppbmRleCBlYjAyN2MzLi45
NGU5ODRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuY3BwCkBAIC00Nyw2ICs0Nyw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6aXNJbmRleGVkREJFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OmlzV2ViR0xFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OmlzUHVzaFN0YXRlRW5hYmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjppc1RvdWNoRW5hYmxlZCA9IHRydWU7Citib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OmlzRGV2aWNlTW90aW9uRW5hYmxlZCA9IHRydWU7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OmlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6aXNTcGVlY2hJbnB1dEVuYWJsZWQgPSB0cnVlOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvV2ViQ29y
ZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBjOWViMjFm
Li5mZDczMDhlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgKQEAgLTExNCw2ICsxMTQsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyBi
b29sIG9udG91Y2hjYW5jZWxFbmFibGVkKCkgeyByZXR1cm4gaXNUb3VjaEVuYWJsZWQ7IH0KICNl
bmRpZgogCisgICAgc3RhdGljIHZvaWQgc2V0RGV2aWNlTW90aW9uRW5hYmxlZChib29sIGlzRW5h
YmxlZCkgeyBpc0RldmljZU1vdGlvbkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBzdGF0aWMg
Ym9vbCBkZXZpY2VNb3Rpb25FbmFibGVkKCkgeyByZXR1cm4gaXNEZXZpY2VNb3Rpb25FbmFibGVk
OyB9CisgICAgc3RhdGljIGJvb2wgZGV2aWNlTW90aW9uRXZlbnRFbmFibGVkKCkgeyByZXR1cm4g
aXNEZXZpY2VNb3Rpb25FbmFibGVkOyB9CisgICAgc3RhdGljIGJvb2wgb25kZXZpY2Vtb3Rpb25F
bmFibGVkKCkgeyByZXR1cm4gaXNEZXZpY2VNb3Rpb25FbmFibGVkOyB9CisgICAgCiAgICAgc3Rh
dGljIHZvaWQgc2V0RGV2aWNlT3JpZW50YXRpb25FbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlz
RGV2aWNlT3JpZW50YXRpb25FbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgc3RhdGljIGJvb2wg
ZGV2aWNlT3JpZW50YXRpb25FbmFibGVkKCkgeyByZXR1cm4gaXNEZXZpY2VPcmllbnRhdGlvbkVu
YWJsZWQ7IH0KICAgICBzdGF0aWMgYm9vbCBkZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCgp
IHsgcmV0dXJuIGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkOyB9CkBAIC0xMzYsNiArMTQxLDcg
QEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBpc1dlYkdMRW5hYmxlZDsKICAgICBzdGF0aWMg
Ym9vbCBpc1B1c2hTdGF0ZUVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNUb3VjaEVuYWJsZWQ7
CisgICAgc3RhdGljIGJvb2wgaXNEZXZpY2VNb3Rpb25FbmFibGVkOwogICAgIHN0YXRpYyBib29s
IGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzU3BlZWNoSW5w
dXRFbmFibGVkOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VN
b3Rpb25FdmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9u
RXZlbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyNWE2
MjYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9u
RXZlbnRDdXN0b20uY3BwCkBAIC0wLDAgKzEsMTI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiSlNEZXZpY2VNb3Rpb25FdmVudC5oIgorCisjaWYgRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKKyNpbmNs
dWRlICJEZXZpY2VNb3Rpb25FdmVudC5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6eEFjY2VsZXJh
dGlvbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGlt
cCA9IHN0YXRpY19jYXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWlt
cC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlWEFjY2VsZXJhdGlvbigpKQorICAgICAg
ICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+ZGV2aWNl
TW90aW9uRGF0YSgpLT54QWNjZWxlcmF0aW9uKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlTW90
aW9uRXZlbnQ6OnlBY2NlbGVyYXRpb24oRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERl
dmljZU1vdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVudCo+KGlt
cGwoKSk7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVlBY2Nl
bGVyYXRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJl
cihleGVjLCBpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+eUFjY2VsZXJhdGlvbigpKTsKK30KKwor
SlNWYWx1ZSBKU0RldmljZU1vdGlvbkV2ZW50Ojp6QWNjZWxlcmF0aW9uKEV4ZWNTdGF0ZSogZXhl
YykgY29uc3QKK3sKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2
aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRh
KCktPmNhblByb3ZpZGVaQWNjZWxlcmF0aW9uKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnpBY2Nl
bGVyYXRpb24oKSk7Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6eFJvdGF0aW9u
UmF0ZShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGlt
cCA9IHN0YXRpY19jYXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWlt
cC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZSgpKQorICAgICAg
ICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+ZGV2aWNl
TW90aW9uRGF0YSgpLT54Um90YXRpb25SYXRlKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlTW90
aW9uRXZlbnQ6OnlSb3RhdGlvblJhdGUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERl
dmljZU1vdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVudCo+KGlt
cGwoKSk7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVlSb3Rh
dGlvblJhdGUoKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJl
cihleGVjLCBpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+eVJvdGF0aW9uUmF0ZSgpKTsKK30KKwor
SlNWYWx1ZSBKU0RldmljZU1vdGlvbkV2ZW50Ojp6Um90YXRpb25SYXRlKEV4ZWNTdGF0ZSogZXhl
YykgY29uc3QKK3sKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2
aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRh
KCktPmNhblByb3ZpZGVaUm90YXRpb25SYXRlKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnpSb3Rh
dGlvblJhdGUoKSk7Cit9CisgICAgCitKU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZlbnQ6OmludGVy
dmFsKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1w
ID0gc3RhdGljX2Nhc3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1w
LT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3ZpZGVJbnRlcnZhbCgpKQorICAgICAgICByZXR1
cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+ZGV2aWNlTW90aW9u
RGF0YSgpLT5pbnRlcnZhbCgpKTsKK30KKyAgICAKK0pTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVu
dDo6aW5pdERldmljZU1vdGlvbkV2ZW50KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBjb25zdCBT
dHJpbmcmIHR5cGUgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmco
ZXhlYykpOworICAgIGJvb2wgYnViYmxlcyA9IGV4ZWMtPmFyZ3VtZW50KDEpLnRvQm9vbGVhbihl
eGVjKTsKKyAgICBib29sIGNhbmNlbGFibGUgPSBleGVjLT5hcmd1bWVudCgyKS50b0Jvb2xlYW4o
ZXhlYyk7CisgICAgLy8gSWYgYW55IG9mIHRoZSBwYXJhbWV0ZXJzIGFyZSBudWxsIG9yIHVuZGVm
aW5lZCwgbWFyayB0aGVtIGFzIG5vdCBwcm92aWRlZC4KKyAgICAvLyBPdGhlcndpc2UsIHVzZSB0
aGUgc3RhbmRhcmQgSmF2YVNjcmlwdCBjb252ZXJzaW9uLgorICAgIGJvb2wgeEFjY2VsZXJhdGlv
blByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDMpLmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAg
ZG91YmxlIHhBY2NlbGVyYXRpb24gPSBleGVjLT5hcmd1bWVudCgzKS50b051bWJlcihleGVjKTsK
KyAgICBib29sIHlBY2NlbGVyYXRpb25Qcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg0KS5pc1Vu
ZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSB5QWNjZWxlcmF0aW9uID0gZXhlYy0+YXJndW1l
bnQoNCkudG9OdW1iZXIoZXhlYyk7CisgICAgYm9vbCB6QWNjZWxlcmF0aW9uUHJvdmlkZWQgPSAh
ZXhlYy0+YXJndW1lbnQoNSkuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgekFjY2Vs
ZXJhdGlvbiA9IGV4ZWMtPmFyZ3VtZW50KDUpLnRvTnVtYmVyKGV4ZWMpOworICAgIGJvb2wgeFJv
dGF0aW9uUmF0ZVByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDYpLmlzVW5kZWZpbmVkT3JOdWxs
KCk7CisgICAgZG91YmxlIHhSb3RhdGlvblJhdGUgPSBleGVjLT5hcmd1bWVudCg2KS50b051bWJl
cihleGVjKTsKKyAgICBib29sIHlSb3RhdGlvblJhdGVQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVu
dCg3KS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSB5Um90YXRpb25SYXRlID0gZXhl
Yy0+YXJndW1lbnQoNykudG9OdW1iZXIoZXhlYyk7CisgICAgYm9vbCB6Um90YXRpb25SYXRlUHJv
dmlkZWQgPSAhZXhlYy0+YXJndW1lbnQoOCkuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3Vi
bGUgelJvdGF0aW9uUmF0ZSA9IGV4ZWMtPmFyZ3VtZW50KDgpLnRvTnVtYmVyKGV4ZWMpOworICAg
IGJvb2wgaW50ZXJ2YWxQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg5KS5pc1VuZGVmaW5lZE9y
TnVsbCgpOworICAgIGRvdWJsZSBpbnRlcnZhbCA9IGV4ZWMtPmFyZ3VtZW50KDkpLnRvTnVtYmVy
KGV4ZWMpOworICAgIFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBkZXZpY2VNb3Rpb25EYXRhID0g
RGV2aWNlTW90aW9uRGF0YTo6Y3JlYXRlKHhBY2NlbGVyYXRpb25Qcm92aWRlZCwgeEFjY2VsZXJh
dGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB5QWNjZWxlcmF0aW9uUHJvdmlkZWQsIHlBY2NlbGVyYXRp
b24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgekFjY2VsZXJhdGlvblByb3ZpZGVkLCB6QWNjZWxlcmF0aW9u
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHhSb3RhdGlvblJhdGVQcm92aWRlZCwgeFJvdGF0aW9uUmF0ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB5Um90YXRpb25SYXRlUHJvdmlkZWQsIHlSb3RhdGlvblJhdGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgelJvdGF0aW9uUmF0ZVByb3ZpZGVkLCB6Um90YXRpb25SYXRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludGVydmFsUHJvdmlkZWQsIGludGVydmFsKTsKKyAgICBEZXZpY2VNb3Rp
b25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOwor
ICAgIGltcC0+aW5pdERldmljZU1vdGlvbkV2ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUs
IGRldmljZU1vdGlvbkRhdGEuZ2V0KCkpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoREVWSUNFX09SSUVO
VEFUSU9OKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNw
cCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKaW5kZXggYjYxOTBmZi4u
NzQ3OTAyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNw
cAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCkBAIC0zMiwxMiAr
MzIsMTQgQEAKICNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2
ZW50LmgiCiAjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25F
dmVudC5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJF
dmVudC5oIgogI2luY2x1ZGUgIkpTQmVmb3JlTG9hZEV2ZW50LmgiCiAjaW5jbHVkZSAiSlNDbGlw
Ym9hcmQuaCIKICNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiSlNDb21wb3Np
dGlvbkV2ZW50LmgiCisjaW5jbHVkZSAiSlNEZXZpY2VNb3Rpb25FdmVudC5oIgogI2luY2x1ZGUg
IkpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkpTRXJyb3JFdmVudC5oIgog
I2luY2x1ZGUgIkpTS2V5Ym9hcmRFdmVudC5oIgpAQCAtMTczLDYgKzE3NSw4IEBAIEpTVmFsdWUg
dG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2
ZW50KiBldmVudCkKICAgICBlbHNlIGlmIChldmVudC0+aXNDdXN0b21FdmVudCgpKQogICAgICAg
ICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3Qs
IEN1c3RvbUV2ZW50LCBldmVudCk7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAg
ICBlbHNlIGlmIChldmVudC0+aXNEZXZpY2VNb3Rpb25FdmVudCgpKQorICAgICAgICB3cmFwcGVy
ID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIERldmljZU1v
dGlvbkV2ZW50LCBldmVudCk7CiAgICAgZWxzZSBpZiAoZXZlbnQtPmlzRGV2aWNlT3JpZW50YXRp
b25FdmVudCgpKQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihl
eGVjLCBnbG9iYWxPYmplY3QsIERldmljZU9yaWVudGF0aW9uRXZlbnQsIGV2ZW50KTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25F
dmVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU1vdGlv
bkV2ZW50Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTY5
MmI2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZp
Y2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKQEAgLTAsMCArMSwxMzkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWOERldmljZU1vdGlvbkV2ZW50LmgiCisKKyNpZiBF
TkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRGF0YS5o
IgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKworI2luY2x1
ZGUgPHY4Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnhBY2NlbGVyYXRpb25BY2Nlc3NvckdldHRlcih2ODo6TG9j
YWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAg
ICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VNb3Rpb25FdmVudC54QWNjZWxlcmF0aW9uLl9nZXQiKTsK
KyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAg
RGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVhBY2Nl
bGVyYXRpb24oKSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpO
dW1iZXI6Ok5ldyhpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+eEFjY2VsZXJhdGlvbigpKTsKK30K
Kwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnlBY2NlbGVyYXRp
b25BY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFj
Y2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VNb3Rpb25FdmVu
dC55QWNjZWxlcmF0aW9uLl9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRl
ciA9IGluZm8uSG9sZGVyKCk7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNl
TW90aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlv
bkRhdGEoKS0+Y2FuUHJvdmlkZVlBY2NlbGVyYXRpb24oKSkKKyAgICAgICAgcmV0dXJuIHY4OjpO
dWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPmRldmljZU1vdGlvbkRhdGEo
KS0+eUFjY2VsZXJhdGlvbigpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNl
TW90aW9uRXZlbnQ6OnpBY2NlbGVyYXRpb25BY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0
cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RB
VFMoIkRPTS5EZXZpY2VNb3Rpb25FdmVudC56QWNjZWxlcmF0aW9uLl9nZXQiKTsKKyAgICB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAgRGV2aWNlTW90
aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7Cisg
ICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVpBY2NlbGVyYXRpb24o
KSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5l
dyhpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+ekFjY2VsZXJhdGlvbigpKTsKK30KKwordjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnhSb3RhdGlvblJhdGVBY2Nlc3Nv
ckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5m
byYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VNb3Rpb25FdmVudC54Um90YXRp
b25SYXRlLl9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8u
SG9sZGVyKCk7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZl
bnQ6OnRvTmF0aXZlKGhvbGRlcik7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+
Y2FuUHJvdmlkZVhSb3RhdGlvblJhdGUoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7Cisg
ICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+eFJvdGF0
aW9uUmF0ZSgpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZl
bnQ6OnlSb3RhdGlvblJhdGVBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFt
ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5E
ZXZpY2VNb3Rpb25FdmVudC55Um90YXRpb25SYXRlLl9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAgRGV2aWNlTW90aW9uRXZlbnQq
IGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7CisgICAgaWYgKCFp
bXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZVlSb3RhdGlvblJhdGUoKSkKKyAgICAg
ICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPmRl
dmljZU1vdGlvbkRhdGEoKS0+eVJvdGF0aW9uUmF0ZSgpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnpSb3RhdGlvblJhdGVBY2Nlc3NvckdldHRlcih2
ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykK
K3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VNb3Rpb25FdmVudC56Um90YXRpb25SYXRlLl9n
ZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7
CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0
aXZlKGhvbGRlcik7CisgICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlk
ZVpSb3RhdGlvblJhdGUoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJu
IHY4OjpOdW1iZXI6Ok5ldyhpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+elJvdGF0aW9uUmF0ZSgp
KTsKK30KKworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6aW50
ZXJ2YWxBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6
OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VNb3Rpb25F
dmVudC5pbnRlcnZhbC5fZ2V0Iik7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIg
PSBpbmZvLkhvbGRlcigpOworICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU1v
dGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25E
YXRhKCktPmNhblByb3ZpZGVJbnRlcnZhbCgpKQorICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsK
KyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5pbnRl
cnZhbCgpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6
OmluaXREZXZpY2VNb3Rpb25FdmVudENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
Cit7CisgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRv
TmF0aXZlKGFyZ3MuSG9sZGVyKCkpOworICAgIFY4UGFyYW1ldGVyPD4gdHlwZSA9IGFyZ3NbMF07
CisgICAgYm9vbCBidWJibGVzID0gYXJnc1sxXS0+Qm9vbGVhblZhbHVlKCk7CisgICAgYm9vbCBj
YW5jZWxhYmxlID0gYXJnc1syXS0+Qm9vbGVhblZhbHVlKCk7CisgICAgLy8gSWYgYW55IG9mIHRo
ZSBwYXJhbWV0ZXJzIGFyZSBudWxsIG9yIHVuZGVmaW5lZCwgbWFyayB0aGVtIGFzIG5vdCBwcm92
aWRlZC4KKyAgICAvLyBPdGhlcndpc2UsIHVzZSB0aGUgc3RhbmRhcmQgSmF2YVNjcmlwdCBjb252
ZXJzaW9uLgorICAgIGJvb2wgeEFjY2VsZXJhdGlvblByb3ZpZGVkID0gIWlzVW5kZWZpbmVkT3JO
dWxsKGFyZ3NbM10pOworICAgIGRvdWJsZSB4QWNjZWxlcmF0aW9uID0gc3RhdGljX2Nhc3Q8ZG91
YmxlPihhcmdzWzNdLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBib29sIHlBY2NlbGVyYXRpb25Qcm92
aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzRdKTsKKyAgICBkb3VibGUgeUFjY2VsZXJh
dGlvbiA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1s0XS0+TnVtYmVyVmFsdWUoKSk7CisgICAg
Ym9vbCB6QWNjZWxlcmF0aW9uUHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51bGwoYXJnc1s1XSk7
CisgICAgZG91YmxlIHpBY2NlbGVyYXRpb24gPSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbNV0t
Pk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgeFJvdGF0aW9uUmF0ZVByb3ZpZGVkID0gIWlzVW5k
ZWZpbmVkT3JOdWxsKGFyZ3NbNl0pOworICAgIGRvdWJsZSB4Um90YXRpb25SYXRlID0gc3RhdGlj
X2Nhc3Q8ZG91YmxlPihhcmdzWzZdLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBib29sIHlSb3RhdGlv
blJhdGVQcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzddKTsKKyAgICBkb3VibGUg
eVJvdGF0aW9uUmF0ZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1s3XS0+TnVtYmVyVmFsdWUo
KSk7CisgICAgYm9vbCB6Um90YXRpb25SYXRlUHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51bGwo
YXJnc1s4XSk7CisgICAgZG91YmxlIHpSb3RhdGlvblJhdGUgPSBzdGF0aWNfY2FzdDxkb3VibGU+
KGFyZ3NbOF0tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgaW50ZXJ2YWxQcm92aWRlZCA9ICFp
c1VuZGVmaW5lZE9yTnVsbChhcmdzWzldKTsKKyAgICBkb3VibGUgaW50ZXJ2YWwgPSBzdGF0aWNf
Y2FzdDxkb3VibGU+KGFyZ3NbOV0tPk51bWJlclZhbHVlKCkpOworICAgIFJlZlB0cjxEZXZpY2VN
b3Rpb25EYXRhPiBkZXZpY2VNb3Rpb25EYXRhID0gRGV2aWNlTW90aW9uRGF0YTo6Y3JlYXRlKHhB
Y2NlbGVyYXRpb25Qcm92aWRlZCwgeEFjY2VsZXJhdGlvbiwgeUFjY2VsZXJhdGlvblByb3ZpZGVk
LCB5QWNjZWxlcmF0aW9uLCB6QWNjZWxlcmF0aW9uUHJvdmlkZWQsIHpBY2NlbGVyYXRpb24sIHhS
b3RhdGlvblJhdGVQcm92aWRlZCwgeFJvdGF0aW9uUmF0ZSwgeVJvdGF0aW9uUmF0ZVByb3ZpZGVk
LCB5Um90YXRpb25SYXRlLCB6Um90YXRpb25SYXRlUHJvdmlkZWQsIHpSb3RhdGlvblJhdGUsIGlu
dGVydmFsUHJvdmlkZWQsIGludGVydmFsKTsKKyAgICBpbXAtPmluaXREZXZpY2VNb3Rpb25FdmVu
dCh0eXBlLCBidWJibGVzLCBjYW5jZWxhYmxlLCBkZXZpY2VNb3Rpb25EYXRhLmdldCgpKTsKKyAg
ICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaCBiL1dlYkNvcmUvZG9tL0RldmljZU1v
dGlvbkNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxOWY5MmYK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaApAQCAt
MCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGV2aWNlTW90aW9uQ2xpZW50X2gKKyNkZWZpbmUg
RGV2aWNlTW90aW9uQ2xpZW50X2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZp
Y2VNb3Rpb25Db250cm9sbGVyOworY2xhc3MgRGV2aWNlTW90aW9uRGF0YTsKKworY2xhc3MgRGV2
aWNlTW90aW9uQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5EZXZpY2VNb3Rpb25DbGll
bnQoKSB7fQorICAgIHZpcnR1YWwgdm9pZCBzZXRDb250cm9sbGVyKERldmljZU1vdGlvbkNvbnRy
b2xsZXIqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpID0gMDsKKyAgICB2aXJ0dWFsIERldmljZU1vdGlv
bkRhdGEqIGN1cnJlbnREZXZpY2VNb3Rpb24oKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBEZXZpY2VNb3Rpb25DbGllbnRfaApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2RvbS9E
ZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5iODc5ODlmCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9u
Q29udHJvbGxlci5jcHAKQEAgLTAsMCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKKworI2luY2x1ZGUgIkRldmlj
ZU1vdGlvbkNsaWVudC5oIgorI2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKKyNpbmNsdWRl
ICJEZXZpY2VNb3Rpb25FdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RldmljZU1v
dGlvbkNvbnRyb2xsZXI6OkRldmljZU1vdGlvbkNvbnRyb2xsZXIoRGV2aWNlTW90aW9uQ2xpZW50
KiBjbGllbnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCisgICAgLCBtX3RpbWVyKHRoaXMsICZE
ZXZpY2VNb3Rpb25Db250cm9sbGVyOjp0aW1lckZpcmVkKQoreworICAgIGlmIChtX2NsaWVudCkK
KyAgICAgICAgbV9jbGllbnQtPnNldENvbnRyb2xsZXIodGhpcyk7Cit9CisKK3ZvaWQgRGV2aWNl
TW90aW9uQ29udHJvbGxlcjo6dGltZXJGaXJlZChUaW1lcjxEZXZpY2VNb3Rpb25Db250cm9sbGVy
PiogdGltZXIpCit7CisgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0gJm1fdGltZXIp
OworICAgIEFTU0VSVCghbV9jbGllbnQgfHwgbV9jbGllbnQtPmN1cnJlbnREZXZpY2VNb3Rpb24o
KSk7CisgICAgbV90aW1lci5zdG9wKCk7CisgICAgCisgICAgUmVmUHRyPERldmljZU1vdGlvbkRh
dGE+IGRldmljZU1vdGlvbkRhdGEgPSBtX2NsaWVudCA/IG1fY2xpZW50LT5jdXJyZW50RGV2aWNl
TW90aW9uKCkgOiBEZXZpY2VNb3Rpb25EYXRhOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8RGV2aWNl
TW90aW9uRXZlbnQ+IGV2ZW50ID0gRGV2aWNlTW90aW9uRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkuZGV2aWNlbW90aW9uRXZlbnQsIGRldmljZU1vdGlvbkRhdGEuZ2V0KCkpOworIAorICAgIFZl
Y3RvcjxET01XaW5kb3cqPiBsaXN0ZW5lcnNWZWN0b3I7CisgICAgY29weVRvVmVjdG9yKG1fbmV3
TGlzdGVuZXJzLCBsaXN0ZW5lcnNWZWN0b3IpOworICAgIG1fbmV3TGlzdGVuZXJzLmNsZWFyKCk7
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0ZW5lcnNWZWN0b3Iuc2l6ZSgpOyArK2kp
CisgICAgICAgIGxpc3RlbmVyc1ZlY3RvcltpXS0+ZGlzcGF0Y2hFdmVudChldmVudCk7Cit9Cisg
ICAgCit2b2lkIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OmFkZExpc3RlbmVyKERPTVdpbmRvdyog
d2luZG93KQoreworICAgIC8vIElmIG5vIGNsaWVudCBpcyBwcmVzZW50IG9yIHRoZSBjbGllbnQg
YWxyZWFkeSBoYXMgbW90aW9uIGRhdGEsCisgICAgLy8gaW1tZWRpYXRlbHkgdHJpZ2dlciBhbiBh
c3luY2hyb25vdXMgcmVzcG9uc2UuCisgICAgaWYgKCFtX2NsaWVudCB8fCBtX2NsaWVudC0+Y3Vy
cmVudERldmljZU1vdGlvbigpKSB7CisgICAgICAgIG1fbmV3TGlzdGVuZXJzLmFkZCh3aW5kb3cp
OworICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIH0KKyAgICAKKyAgICBib29sIHdhc0VtcHR5ID0gbV9saXN0
ZW5lcnMuaXNFbXB0eSgpOworICAgIG1fbGlzdGVuZXJzLmFkZCh3aW5kb3cpOworICAgIGlmICh3
YXNFbXB0eSAmJiBtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPnN0YXJ0VXBkYXRpbmcoKTsK
K30KKwordm9pZCBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpyZW1vdmVMaXN0ZW5lcihET01XaW5k
b3cqIHdpbmRvdykKK3sKKyAgICBtX2xpc3RlbmVycy5yZW1vdmUod2luZG93KTsKKyAgICBtX25l
d0xpc3RlbmVycy5yZW1vdmUod2luZG93KTsKKyAgICBpZiAobV9saXN0ZW5lcnMuaXNFbXB0eSgp
ICYmIG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c3RvcFVwZGF0aW5nKCk7Cit9CisKK3Zv
aWQgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6cmVtb3ZlQWxsTGlzdGVuZXJzKERPTVdpbmRvdyog
d2luZG93KQoreworICAgIC8vIE1heSBiZSBjYWxsZWQgd2l0aCBhIERPTVdpbmRvdyB0aGF0J3Mg
bm90IGEgbGlzdGVuZXIuCisgICAgaWYgKCFtX2xpc3RlbmVycy5jb250YWlucyh3aW5kb3cpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBtX2xpc3RlbmVycy5yZW1vdmVBbGwod2luZG93KTsKKyAg
ICBtX25ld0xpc3RlbmVycy5yZW1vdmUod2luZG93KTsKKyAgICBpZiAobV9saXN0ZW5lcnMuaXNF
bXB0eSgpICYmIG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+c3RvcFVwZGF0aW5nKCk7Cit9
CisKK3ZvaWQgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6ZGlkQ2hhbmdlRGV2aWNlTW90aW9uKERl
dmljZU1vdGlvbkRhdGEqIGRldmljZU1vdGlvbkRhdGEpCit7CisgICAgUmVmUHRyPERldmljZU1v
dGlvbkV2ZW50PiBldmVudCA9IERldmljZU1vdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LmRldmljZW1vdGlvbkV2ZW50LCBkZXZpY2VNb3Rpb25EYXRhKTsKKyAgICBWZWN0b3I8RE9NV2lu
ZG93Kj4gbGlzdGVuZXJzVmVjdG9yOworICAgIGNvcHlUb1ZlY3RvcihtX2xpc3RlbmVycywgbGlz
dGVuZXJzVmVjdG9yKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3RlbmVyc1ZlY3Rv
ci5zaXplKCk7ICsraSkKKyAgICAgICAgbGlzdGVuZXJzVmVjdG9yW2ldLT5kaXNwYXRjaEV2ZW50
KGV2ZW50KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9u
Q29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2NzBlMDQK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmgK
QEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZU1vdGlvbkNvbnRyb2xsZXJfaAor
I2RlZmluZSBEZXZpY2VNb3Rpb25Db250cm9sbGVyX2gKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5o
IgorI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVkU2V0Lmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlTW90aW9uRGF0YTsKK2NsYXNzIERl
dmljZU1vdGlvbkNsaWVudDsKKworY2xhc3MgRGV2aWNlTW90aW9uQ29udHJvbGxlciB7CitwdWJs
aWM6CisgICAgRGV2aWNlTW90aW9uQ29udHJvbGxlcihEZXZpY2VNb3Rpb25DbGllbnQqKTsKKwor
ICAgIHZvaWQgYWRkTGlzdGVuZXIoRE9NV2luZG93Kik7CisgICAgdm9pZCByZW1vdmVMaXN0ZW5l
cihET01XaW5kb3cqKTsKKyAgICB2b2lkIHJlbW92ZUFsbExpc3RlbmVycyhET01XaW5kb3cqKTsK
KworICAgIHZvaWQgZGlkQ2hhbmdlRGV2aWNlTW90aW9uKERldmljZU1vdGlvbkRhdGEqKTsKKwor
cHJpdmF0ZToKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8RGV2aWNlTW90aW9uQ29udHJvbGxl
cj4qKTsKKyAgICAKKyAgICBEZXZpY2VNb3Rpb25DbGllbnQqIG1fY2xpZW50OworICAgIHR5cGVk
ZWYgSGFzaENvdW50ZWRTZXQ8RE9NV2luZG93Kj4gTGlzdGVuZXJzQ291bnRlZFNldDsKKyAgICBM
aXN0ZW5lcnNDb3VudGVkU2V0IG1fbGlzdGVuZXJzOworICAgIHR5cGVkZWYgSGFzaFNldDxET01X
aW5kb3cqPiBMaXN0ZW5lcnNTZXQ7CisgICAgTGlzdGVuZXJzU2V0IG1fbmV3TGlzdGVuZXJzOwor
ICAgIFRpbWVyPERldmljZU1vdGlvbkNvbnRyb2xsZXI+IG1fdGltZXI7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBEZXZpY2VNb3Rpb25Db250cm9sbGVyX2gKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkRhdGEuY3BwIGIvV2ViQ29yZS9kb20v
RGV2aWNlTW90aW9uRGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
Y2Y0YjQ2NgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkRhdGEu
Y3BwCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJEZXZpY2VNb3Rpb25EYXRhLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1Jl
ZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBEZXZpY2VNb3Rpb25EYXRhOjpjcmVhdGUoKQoreworICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlTW90aW9uRGF0YSk7Cit9CisKK1Bhc3NSZWZQdHI8
RGV2aWNlTW90aW9uRGF0YT4gRGV2aWNlTW90aW9uRGF0YTo6Y3JlYXRlKGJvb2wgY2FuUHJvdmlk
ZVhBY2NlbGVyYXRpb24sIGRvdWJsZSB4QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWUFjY2Vs
ZXJhdGlvbiwgZG91YmxlIHlBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVaQWNjZWxlcmF0aW9u
LCBkb3VibGUgekFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVhSb3RhdGlvblJhdGUsIGRvdWJs
ZSB4Um90YXRpb25SYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZSwgZG91YmxlIHlSb3Rh
dGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIGNhblByb3ZpZGVaUm90YXRpb25SYXRlLCBkb3VibGUgelJvdGF0aW9uUmF0
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2wgY2FuUHJvdmlkZUludGVydmFsLCBkb3VibGUgaW50ZXJ2YWwpCit7CisgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBEZXZpY2VNb3Rpb25EYXRhKGNhblByb3ZpZGVYQWNjZWxlcmF0aW9uLCB4
QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
YW5Qcm92aWRlWUFjY2VsZXJhdGlvbiwgeUFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2FuUHJvdmlkZVpBY2NlbGVyYXRpb24sIHpBY2NlbGVy
YXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhblByb3Zp
ZGVYUm90YXRpb25SYXRlLCB4Um90YXRpb25SYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZSwgeVJvdGF0aW9uUmF0ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuUHJvdmlkZVpSb3Rh
dGlvblJhdGUsIHpSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNhblByb3ZpZGVJbnRlcnZhbCwgaW50ZXJ2YWwpKTsKK30KKworRGV2aWNlTW90
aW9uRGF0YTo6RGV2aWNlTW90aW9uRGF0YSgpCisgICAgOiBtX2NhblByb3ZpZGVYQWNjZWxlcmF0
aW9uKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlWUFjY2VsZXJhdGlvbihmYWxzZSkKKyAgICAs
IG1fY2FuUHJvdmlkZVpBY2NlbGVyYXRpb24oZmFsc2UpCisgICAgLCBtX2NhblByb3ZpZGVYUm90
YXRpb25SYXRlKGZhbHNlKQorICAgICwgbV9jYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZShmYWxzZSkK
KyAgICAsIG1fY2FuUHJvdmlkZVpSb3RhdGlvblJhdGUoZmFsc2UpCisgICAgLCBtX2NhblByb3Zp
ZGVJbnRlcnZhbChmYWxzZSkKK3sKK30KKworRGV2aWNlTW90aW9uRGF0YTo6RGV2aWNlTW90aW9u
RGF0YShib29sIGNhblByb3ZpZGVYQWNjZWxlcmF0aW9uLCBkb3VibGUgeEFjY2VsZXJhdGlvbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWUFjY2Vs
ZXJhdGlvbiwgZG91YmxlIHlBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2wgY2FuUHJvdmlkZVpBY2NlbGVyYXRpb24sIGRvdWJsZSB6QWNjZWxlcmF0
aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVY
Um90YXRpb25SYXRlLCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWVJvdGF0aW9uUmF0ZSwgZG91YmxlIHlSb3Rh
dGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJv
dmlkZVpSb3RhdGlvblJhdGUsIGRvdWJsZSB6Um90YXRpb25SYXRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVJbnRlcnZhbCwgZG91YmxlIGludGVy
dmFsKQorICAgIDogbV9jYW5Qcm92aWRlWEFjY2VsZXJhdGlvbihjYW5Qcm92aWRlWEFjY2VsZXJh
dGlvbikKKyAgICAsIG1fY2FuUHJvdmlkZVlBY2NlbGVyYXRpb24oY2FuUHJvdmlkZVlBY2NlbGVy
YXRpb24pCisgICAgLCBtX2NhblByb3ZpZGVaQWNjZWxlcmF0aW9uKGNhblByb3ZpZGVaQWNjZWxl
cmF0aW9uKQorICAgICwgbV9jYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZShjYW5Qcm92aWRlWFJvdGF0
aW9uUmF0ZSkKKyAgICAsIG1fY2FuUHJvdmlkZVlSb3RhdGlvblJhdGUoY2FuUHJvdmlkZVlSb3Rh
dGlvblJhdGUpCisgICAgLCBtX2NhblByb3ZpZGVaUm90YXRpb25SYXRlKGNhblByb3ZpZGVaUm90
YXRpb25SYXRlKQorICAgICwgbV9jYW5Qcm92aWRlSW50ZXJ2YWwoY2FuUHJvdmlkZUludGVydmFs
KQorICAgICwgbV94QWNjZWxlcmF0aW9uKHhBY2NlbGVyYXRpb24pCisgICAgLCBtX3lBY2NlbGVy
YXRpb24oeUFjY2VsZXJhdGlvbikKKyAgICAsIG1fekFjY2VsZXJhdGlvbih6QWNjZWxlcmF0aW9u
KQorICAgICwgbV94Um90YXRpb25SYXRlKHhSb3RhdGlvblJhdGUpCisgICAgLCBtX3lSb3RhdGlv
blJhdGUoeVJvdGF0aW9uUmF0ZSkKKyAgICAsIG1felJvdGF0aW9uUmF0ZSh6Um90YXRpb25SYXRl
KQorICAgICwgbV9pbnRlcnZhbChpbnRlcnZhbCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRGF0YS5oIGIvV2ViQ29y
ZS9kb20vRGV2aWNlTW90aW9uRGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmNkOTAyNDYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25E
YXRhLmgKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEZXZpY2VNb3Rpb25EYXRh
X2gKKyNkZWZpbmUgRGV2aWNlTW90aW9uRGF0YV9oCisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgRGV2aWNlTW90aW9uRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPERldmljZU1vdGlv
bkRhdGE+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25EYXRh
PiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBjcmVh
dGUoYm9vbCBjYW5Qcm92aWRlWEFjY2VsZXJhdGlvbiwgZG91YmxlIHhBY2NlbGVyYXRpb24sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuUHJv
dmlkZVlBY2NlbGVyYXRpb24sIGRvdWJsZSB5QWNjZWxlcmF0aW9uLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVaQWNjZWxlcmF0
aW9uLCBkb3VibGUgekFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZSwgZG91YmxlIHhS
b3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJvb2wgY2FuUHJvdmlkZVlSb3RhdGlvblJhdGUsIGRvdWJsZSB5Um90YXRpb25SYXRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhblBy
b3ZpZGVaUm90YXRpb25SYXRlLCBkb3VibGUgelJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlSW50ZXJ2YWws
IGRvdWJsZSBpbnRlcnZhbCk7CisKKyAgICBkb3VibGUgeEFjY2VsZXJhdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1feEFjY2VsZXJhdGlvbjsgfQorICAgIGRvdWJsZSB5QWNjZWxlcmF0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV95QWNjZWxlcmF0aW9uOyB9CisgICAgZG91YmxlIHpBY2NlbGVyYXRpb24o
KSBjb25zdCB7IHJldHVybiBtX3pBY2NlbGVyYXRpb247IH0KKyAgICBkb3VibGUgeFJvdGF0aW9u
UmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1feFJvdGF0aW9uUmF0ZTsgfQorICAgIGRvdWJsZSB5Um90
YXRpb25SYXRlKCkgY29uc3QgeyByZXR1cm4gbV95Um90YXRpb25SYXRlOyB9CisgICAgZG91Ymxl
IHpSb3RhdGlvblJhdGUoKSBjb25zdCB7IHJldHVybiBtX3pSb3RhdGlvblJhdGU7IH0KKyAgICBk
b3VibGUgaW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2ludGVydmFsOyB9CisKKyAgICBib29s
IGNhblByb3ZpZGVYQWNjZWxlcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Qcm92aWRlWEFj
Y2VsZXJhdGlvbjsgfQorICAgIGJvb2wgY2FuUHJvdmlkZVlBY2NlbGVyYXRpb24oKSBjb25zdCB7
IHJldHVybiBtX2NhblByb3ZpZGVZQWNjZWxlcmF0aW9uOyB9CisgICAgYm9vbCBjYW5Qcm92aWRl
WkFjY2VsZXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuUHJvdmlkZVpBY2NlbGVyYXRpb247
IH0KKyAgICBib29sIGNhblByb3ZpZGVYUm90YXRpb25SYXRlKCkgY29uc3QgeyByZXR1cm4gbV9j
YW5Qcm92aWRlWFJvdGF0aW9uUmF0ZTsgfQorICAgIGJvb2wgY2FuUHJvdmlkZVlSb3RhdGlvblJh
dGUoKSBjb25zdCB7IHJldHVybiBtX2NhblByb3ZpZGVZUm90YXRpb25SYXRlOyB9CisgICAgYm9v
bCBjYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FuUHJvdmlkZVpS
b3RhdGlvblJhdGU7IH0KKyAgICBib29sIGNhblByb3ZpZGVJbnRlcnZhbCgpIGNvbnN0IHsgcmV0
dXJuIG1fY2FuUHJvdmlkZUludGVydmFsOyB9CisKK3ByaXZhdGU6CisgICAgRGV2aWNlTW90aW9u
RGF0YSgpOworICAgIERldmljZU1vdGlvbkRhdGEoYm9vbCBjYW5Qcm92aWRlWEFjY2VsZXJhdGlv
biwgZG91YmxlIHhBY2NlbGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICBib29sIGNhblBy
b3ZpZGVZQWNjZWxlcmF0aW9uLCBkb3VibGUgeUFjY2VsZXJhdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgIGJvb2wgY2FuUHJvdmlkZVpBY2NlbGVyYXRpb24sIGRvdWJsZSB6QWNjZWxlcmF0aW9u
LAorICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlWFJvdGF0aW9uUmF0ZSwgZG91
YmxlIHhSb3RhdGlvblJhdGUsCisgICAgICAgICAgICAgICAgICAgICBib29sIGNhblByb3ZpZGVZ
Um90YXRpb25SYXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwKKyAgICAgICAgICAgICAgICAgICAg
IGJvb2wgY2FuUHJvdmlkZVpSb3RhdGlvblJhdGUsIGRvdWJsZSB6Um90YXRpb25SYXRlLAorICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBjYW5Qcm92aWRlSW50ZXJ2YWwsIGRvdWJsZSBpbnRlcnZh
bCk7CisKKyAgICBib29sIG1fY2FuUHJvdmlkZVhBY2NlbGVyYXRpb247CisgICAgYm9vbCBtX2Nh
blByb3ZpZGVZQWNjZWxlcmF0aW9uOworICAgIGJvb2wgbV9jYW5Qcm92aWRlWkFjY2VsZXJhdGlv
bjsKKyAgICBib29sIG1fY2FuUHJvdmlkZVhSb3RhdGlvblJhdGU7CisgICAgYm9vbCBtX2NhblBy
b3ZpZGVZUm90YXRpb25SYXRlOworICAgIGJvb2wgbV9jYW5Qcm92aWRlWlJvdGF0aW9uUmF0ZTsK
KyAgICBib29sIG1fY2FuUHJvdmlkZUludGVydmFsOworCisgICAgZG91YmxlIG1feEFjY2VsZXJh
dGlvbjsKKyAgICBkb3VibGUgbV95QWNjZWxlcmF0aW9uOworICAgIGRvdWJsZSBtX3pBY2NlbGVy
YXRpb247CisgICAgZG91YmxlIG1feFJvdGF0aW9uUmF0ZTsKKyAgICBkb3VibGUgbV95Um90YXRp
b25SYXRlOworICAgIGRvdWJsZSBtX3pSb3RhdGlvblJhdGU7CisgICAgZG91YmxlIG1faW50ZXJ2
YWw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBEZXZpY2VNb3Rp
b25EYXRhX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcCBi
L1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi44NjBjY2EyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vRGV2
aWNlTW90aW9uRXZlbnQuY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRXZlbnQuaCIKKworI2luY2x1ZGUgIkRl
dmljZU1vdGlvbkRhdGEuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitEZXZpY2VNb3Rpb25F
dmVudDo6fkRldmljZU1vdGlvbkV2ZW50KCkKK3sKK30KKworRGV2aWNlTW90aW9uRXZlbnQ6OkRl
dmljZU1vdGlvbkV2ZW50KCkKKyAgICA6IG1fZGV2aWNlTW90aW9uRGF0YShEZXZpY2VNb3Rpb25E
YXRhOjpjcmVhdGUoKSkKK3sKK30KKworRGV2aWNlTW90aW9uRXZlbnQ6OkRldmljZU1vdGlvbkV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBEZXZpY2VNb3Rpb25EYXRhKiBkZXZp
Y2VNb3Rpb25EYXRhKQorICAgIDogRXZlbnQoZXZlbnRUeXBlLCBmYWxzZSwgZmFsc2UpIC8vIENh
bid0IGJ1YmJsZSwgbm90IGNhbmNlbGFibGUKKyAgICAsIG1fZGV2aWNlTW90aW9uRGF0YShkZXZp
Y2VNb3Rpb25EYXRhKQoreworfQorCit2b2lkIERldmljZU1vdGlvbkV2ZW50Ojppbml0RGV2aWNl
TW90aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGJ1YmJsZXMsIGJvb2wg
Y2FuY2VsYWJsZSwgRGV2aWNlTW90aW9uRGF0YSogZGV2aWNlTW90aW9uRGF0YSkKK3sKKyAgICBp
ZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbml0RXZlbnQodHlwZSwg
YnViYmxlcywgY2FuY2VsYWJsZSk7CisgICAgbV9kZXZpY2VNb3Rpb25EYXRhID0gZGV2aWNlTW90
aW9uRGF0YTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjMyYzkzYgotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmgKQEAgLTAsMCArMSw2MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBD
T01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENP
TVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpZm5kZWYgRGV2aWNlTW90aW9uRXZlbnRfaAorI2RlZmluZSBEZXZpY2VN
b3Rpb25FdmVudF9oCisKKyNpbmNsdWRlICJFdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIERldmljZU1vdGlvbkRhdGE7CisKK2NsYXNzIERldmljZU1vdGlvbkV2ZW50IDog
cHVibGljIEV2ZW50IHsKK3B1YmxpYzoKKyAgICB+RGV2aWNlTW90aW9uRXZlbnQoKTsKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25FdmVudD4gY3JlYXRlKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlTW90aW9uRXZlbnQpOworICAgIH0KKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25FdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlbnRUeXBlLCBEZXZpY2VNb3Rpb25EYXRhKiBkZXZpY2VNb3Rpb25EYXRhKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VNb3Rpb25FdmVudChldmVudFR5
cGUsIGRldmljZU1vdGlvbkRhdGEpKTsKKyAgICB9CisKKyAgICB2b2lkIGluaXREZXZpY2VNb3Rp
b25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgYnViYmxlcywgYm9vbCBjYW5j
ZWxhYmxlLCBEZXZpY2VNb3Rpb25EYXRhKik7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNEZXZpY2VN
b3Rpb25FdmVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIERldmljZU1vdGlvbkRh
dGEqIGRldmljZU1vdGlvbkRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RldmljZU1vdGlvbkRhdGEu
Z2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBEZXZpY2VNb3Rpb25FdmVudCgpOworICAgIERldmlj
ZU1vdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBEZXZpY2VNb3Rpb25E
YXRhKik7CisKKyAgICBSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gbV9kZXZpY2VNb3Rpb25EYXRh
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRGV2aWNlTW90aW9u
RXZlbnRfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsIGIv
V2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjk3ZThlNzEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9EZXZp
Y2VNb3Rpb25FdmVudC5pZGwKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKK21vZHVsZSBjb3Jl
IHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPURFVklDRV9PUklFTlRB
VElPTgorICAgIF0gRGV2aWNlTW90aW9uRXZlbnQgOiBFdmVudCB7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgeEFjY2VsZXJhdGlvbjsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFtDdXN0b21dIGRvdWJsZSB5QWNjZWxlcmF0aW9uOworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIHpBY2NlbGVyYXRpb247CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgeFJvdGF0aW9uUmF0ZTsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGRvdWJsZSB5Um90YXRpb25SYXRlOworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIHpSb3RhdGlvblJhdGU7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgaW50ZXJ2YWw7CisgICAgICAg
IFtDdXN0b21dIHZvaWQgaW5pdERldmljZU1vdGlvbkV2ZW50KGluIERPTVN0cmluZyB0eXBlLCBp
biBib29sZWFuIGJ1YmJsZXMsIGluIGJvb2xlYW4gY2FuY2VsYWJsZSwgaW4gZG91YmxlIHhBY2Nl
bGVyYXRpb24sIGluIGRvdWJsZSB5QWNjZWxlcmF0aW9uLCBpbiBkb3VibGUgekFjY2VsZXJhdGlv
biwgaW4gZG91YmxlIHhSb3RhdGlvblJhdGUsIGluIGRvdWJsZSB5Um90YXRpb25SYXRlLCBpbiBk
b3VibGUgelJvdGF0aW9uUmF0ZSwgaW4gZG91YmxlIGludGVydmFsKTsKKyAgICB9OworCit9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwIGIv
V2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAppbmRleCAxMTE1Nzdm
Li41Yjg2ZTZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRy
b2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5j
cHAKQEAgLTM3LDggKzM3LDggQEAgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIoUGFnZSogcGFnZSwgRGV2aWNlT3JpZW4KICAgICAsIG1fY2xp
ZW50KGNsaWVudCkKICAgICAsIG1fdGltZXIodGhpcywgJkRldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlcjo6dGltZXJGaXJlZCkKIHsKLSAgICBBU1NFUlQobV9jbGllbnQpOwotICAgIG1fY2xpZW50
LT5zZXRDb250cm9sbGVyKHRoaXMpOworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGll
bnQtPnNldENvbnRyb2xsZXIodGhpcyk7CiB9CiAKIHZvaWQgRGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyOjp0aW1lckZpcmVkKFRpbWVyPERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcj4qIHRp
bWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCmluZGV4IDkxZWZlOWUuLmMwZGZkYjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ0LDYg
KzQ0LDcgQEAKICNpbmNsdWRlICJDdXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkRPTUltcGxlbWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiRGV2aWNlTW90aW9u
RXZlbnQuaCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAi
RG9jTG9hZGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgpAQCAtMzMzMSw2ICsz
MzMyLDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KGNvbnN0IFN0
cmluZyYgZXZlbnRUeXBlLCBFeGNlcHRpb25Db2RlJgogICAgICAgICBldmVudCA9IFRvdWNoRXZl
bnQ6OmNyZWF0ZSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAg
ICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkRldmljZU1vdGlvbkV2ZW50IikKKyAgICAgICAgZXZl
bnQgPSBEZXZpY2VNb3Rpb25FdmVudDo6Y3JlYXRlKCk7CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBl
ID09ICJEZXZpY2VPcmllbnRhdGlvbkV2ZW50IikKICAgICAgICAgZXZlbnQgPSBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50OjpjcmVhdGUoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
RXZlbnQuY3BwIGIvV2ViQ29yZS9kb20vRXZlbnQuY3BwCmluZGV4IDRlYTNlMGMuLjFhYWI1Yzcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FdmVu
dC5jcHAKQEAgLTIxMyw2ICsyMTMsMTEgQEAgYm9vbCBFdmVudDo6aXNUb3VjaEV2ZW50KCkgY29u
c3QKICNlbmRpZgogCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKK2Jvb2wgRXZlbnQ6
OmlzRGV2aWNlTW90aW9uRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwog
Ym9vbCBFdmVudDo6aXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkgY29uc3QKIHsKICAgICByZXR1
cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20v
RXZlbnQuaAppbmRleCAyYjU3MGQ1Li5lMTgyNThjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9F
dmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTE0MCw2ICsxNDAsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25z
dDsKICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIHZpcnR1
YWwgYm9vbCBpc0RldmljZU1vdGlvbkV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBpc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSBjb25zdDsKICNlbmRpZgogICAgICAgICBib29s
IGZyb21Vc2VyR2VzdHVyZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
IGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDY2MjBjZWMuLjIzNTk4OGEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmgKQEAgLTUwLDYgKzUwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGNv
cHkpIFwKICAgICBtYWNybyhjdXQpIFwKICAgICBtYWNybyhkYmxjbGljaykgXAorICAgIG1hY3Jv
KGRldmljZW1vdGlvbikgXAogICAgIG1hY3JvKGRldmljZW9yaWVudGF0aW9uKSBcCiAgICAgbWFj
cm8oZGlzcGxheSkgXAogICAgIG1hY3JvKGRvd25sb2FkaW5nKSBcCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4
IGZjNjk2ZGEuLmI0Nzg5ZTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5j
bHVkZSAiRE9NVGltZXIuaCIKICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkRhdGFi
YXNlQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25Db250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGFnZVRyYW5z
aXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCkBAIC0xNDM1LDYgKzE0MzYsOCBA
QCBib29sIERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVudAogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVu
dE5hbWVzKCkuYmVmb3JldW5sb2FkRXZlbnQgJiYgYWxsb3dzQmVmb3JlVW5sb2FkTGlzdGVuZXJz
KHRoaXMpKQogICAgICAgICBhZGRCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKHRoaXMpOwogI2lm
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS5kZXZpY2Vtb3Rpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2Uo
KSAmJiBmcmFtZSgpLT5wYWdlKCktPmRldmljZU1vdGlvbkNvbnRyb2xsZXIoKSkKKyAgICAgICAg
ZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VNb3Rpb25Db250cm9sbGVyKCktPmFkZExpc3RlbmVyKHRo
aXMpOwogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlb3JpZW50
YXRpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgpLT5wYWdl
KCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpKQogICAgICAgICBmcmFtZSgpLT5wYWdl
KCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5hZGRMaXN0ZW5lcih0aGlzKTsKICNl
bmRpZgpAQCAtMTQ1Miw2ICsxNDU1LDggQEAgYm9vbCBET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIKICAgICBl
bHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmJlZm9yZXVubG9hZEV2ZW50ICYmIGFs
bG93c0JlZm9yZVVubG9hZExpc3RlbmVycyh0aGlzKSkKICAgICAgICAgcmVtb3ZlQmVmb3JlVW5s
b2FkRXZlbnRMaXN0ZW5lcih0aGlzKTsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQor
ICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlbW90aW9uRXZlbnQg
JiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VN
b3Rpb25Db250cm9sbGVyKCkpCisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlTW90aW9u
Q29udHJvbGxlcigpLT5yZW1vdmVMaXN0ZW5lcih0aGlzKTsKICAgICBlbHNlIGlmIChldmVudFR5
cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW9yaWVudGF0aW9uRXZlbnQgJiYgZnJhbWUoKSAmJiBm
cmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNvbnRy
b2xsZXIoKSkKICAgICAgICAgZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNvbnRy
b2xsZXIoKS0+cmVtb3ZlTGlzdGVuZXIodGhpcyk7CiAjZW5kaWYKQEAgLTE1MzAsNiArMTUzNSw4
IEBAIHZvaWQgRE9NV2luZG93OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycygpCiAgICAgRXZlbnRU
YXJnZXQ6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCk7CiAKICNpZiBFTkFCTEUoREVWSUNFX09S
SUVOVEFUSU9OKQorICAgIGlmIChmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgp
LT5wYWdlKCktPmRldmljZU1vdGlvbkNvbnRyb2xsZXIoKSkKKyAgICAgICAgZnJhbWUoKS0+cGFn
ZSgpLT5kZXZpY2VNb3Rpb25Db250cm9sbGVyKCktPnJlbW92ZUFsbExpc3RlbmVycyh0aGlzKTsK
ICAgICBpZiAoZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+cGFnZSgpLT5k
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKSkKICAgICAgICAgZnJhbWUoKS0+cGFnZSgpLT5k
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKS0+cmVtb3ZlQWxsTGlzdGVuZXJzKHRoaXMpOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmgKaW5kZXggNTFkNDA3Yy4uOGQ1N2RjYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzM4
LDYgKzMzOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAjaWYgRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikKKyAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihkZXZpY2Vtb3Rpb24pOwogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGRldmljZW9yaWVudGF0aW9uKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IGIzNTIyMDIu
LjZiZjk5N2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0zMDUsOCArMzA1LDEwIEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVk
QXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0ZSBb
Q29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIg
b250b3VjaGNhbmNlbDsKIAotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9P
UklFTlRBVElPTiwgRW5hYmxlZEF0UnVudGltZV0gRGV2aWNlT3JpZW50YXRpb25FdmVudENvbnN0
cnVjdG9yIERldmljZU9yaWVudGF0aW9uRXZlbnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0
aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLCBFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVy
IG9uZGV2aWNlb3JpZW50YXRpb247CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVW
SUNFX09SSUVOVEFUSU9OLEVuYWJsZWRBdFJ1bnRpbWVdIERldmljZU1vdGlvbkV2ZW50Q29uc3Ry
dWN0b3IgRGV2aWNlTW90aW9uRXZlbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9
REVWSUNFX09SSUVOVEFUSU9OLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb25kZXZp
Y2Vtb3Rpb247CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFU
SU9OLEVuYWJsZWRBdFJ1bnRpbWVdIERldmljZU9yaWVudGF0aW9uRXZlbnRDb25zdHJ1Y3RvciBE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50OworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURF
VklDRV9PUklFTlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9uZGV2aWNl
b3JpZW50YXRpb247CiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCiAgICAgICAg
IFtDdXN0b21dIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRl
eCA5NGQyOTQwLi41YWI2NDI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysr
IGIvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ29udHJv
bGxlci5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkJh
Y2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIkJhc2U2NC5oIgpAQCAtMTQxLDYgKzE0Miw3IEBA
IFBhZ2U6OlBhZ2UoY29uc3QgUGFnZUNsaWVudHMmIHBhZ2VDbGllbnRzKQogICAgICwgbV9nZW9s
b2NhdGlvbkNvbnRyb2xsZXIobmV3IEdlb2xvY2F0aW9uQ29udHJvbGxlcih0aGlzLCBwYWdlQ2xp
ZW50cy5nZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQpKQogI2VuZGlmCiAjaWYgRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikKKyAgICAsIG1fZGV2aWNlTW90aW9uQ29udHJvbGxlcihSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpkZXZpY2VNb3Rpb25FbmFibGVkKCkgPyBuZXcgRGV2aWNlTW90aW9u
Q29udHJvbGxlcihwYWdlQ2xpZW50cy5kZXZpY2VNb3Rpb25DbGllbnQpIDogMCkKICAgICAsIG1f
ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRldmlj
ZU9yaWVudGF0aW9uRW5hYmxlZCgpID8gbmV3IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcih0
aGlzLCBwYWdlQ2xpZW50cy5kZXZpY2VPcmllbnRhdGlvbkNsaWVudCkgOiAwKQogI2VuZGlmCiAj
aWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlLmgg
Yi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDYyYWYwYTcuLmQ5ZTkyNTUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNDQsNiAr
NDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ2hyb21lQ2xpZW50OwogICAg
IGNsYXNzIENvbnRleHRNZW51Q2xpZW50OwogICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxl
cjsKKyAgICBjbGFzcyBEZXZpY2VNb3Rpb25DbGllbnQ7CisgICAgY2xhc3MgRGV2aWNlTW90aW9u
Q29udHJvbGxlcjsKICAgICBjbGFzcyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudDsKICAgICBjbGFz
cyBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI7CiAgICAgY2xhc3MgRG9jdW1lbnQ7CkBAIC0x
MDEsNiArMTAzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgICwgaW5z
cGVjdG9yQ2xpZW50KDApCiAgICAgICAgICAgICAgICAgLCBwbHVnaW5IYWx0ZXJDbGllbnQoMCkK
ICAgICAgICAgICAgICAgICAsIGdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCgwKQorICAgICAg
ICAgICAgICAgICwgZGV2aWNlTW90aW9uQ2xpZW50KDApCiAgICAgICAgICAgICAgICAgLCBkZXZp
Y2VPcmllbnRhdGlvbkNsaWVudCgwKQogICAgICAgICAgICAgICAgICwgYmFja0ZvcndhcmRDb250
cm9sbGVyQ2xpZW50KDApCiAgICAgICAgICAgICAgICAgLCBzcGVlY2hJbnB1dENsaWVudCgwKQpA
QCAtMTEzLDYgKzExNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIEluc3Bl
Y3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50OwogICAgICAgICAgICAgUGx1Z2luSGFsdGVyQ2xp
ZW50KiBwbHVnaW5IYWx0ZXJDbGllbnQ7CiAgICAgICAgICAgICBHZW9sb2NhdGlvbkNvbnRyb2xs
ZXJDbGllbnQqIGdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudDsKKyAgICAgICAgICAgIERldmlj
ZU1vdGlvbkNsaWVudCogZGV2aWNlTW90aW9uQ2xpZW50OwogICAgICAgICAgICAgRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnQqIGRldmljZU9yaWVudGF0aW9uQ2xpZW50OwogICAgICAgICAgICAgQmFj
a0ZvcndhcmRDb250cm9sbGVyQ2xpZW50KiBiYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQ7CiAg
ICAgICAgICAgICBTcGVlY2hJbnB1dENsaWVudCogc3BlZWNoSW5wdXRDbGllbnQ7CkBAIC0xNzks
NiArMTgzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBHZW9sb2NhdGlvbkNvbnRy
b2xsZXIqIGdlb2xvY2F0aW9uQ29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fZ2VvbG9jYXRp
b25Db250cm9sbGVyLmdldCgpOyB9CiAjZW5kaWYKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFU
SU9OKQorICAgICAgICBEZXZpY2VNb3Rpb25Db250cm9sbGVyKiBkZXZpY2VNb3Rpb25Db250cm9s
bGVyKCkgY29uc3QgeyByZXR1cm4gbV9kZXZpY2VNb3Rpb25Db250cm9sbGVyLmdldCgpOyB9CiAg
ICAgICAgIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciogZGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuZ2V0
KCk7IH0KICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCkBAIC0zMTMsNiArMzE4LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBPd25QdHI8R2VvbG9jYXRpb25Db250cm9s
bGVyPiBtX2dlb2xvY2F0aW9uQ29udHJvbGxlcjsKICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0Vf
T1JJRU5UQVRJT04pCisgICAgICAgIE93blB0cjxEZXZpY2VNb3Rpb25Db250cm9sbGVyPiBtX2Rl
dmljZU1vdGlvbkNvbnRyb2xsZXI7CiAgICAgICAgIE93blB0cjxEZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXI+IG1fZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOwogI2VuZGlmCiAjaWYgRU5B
QkxFKElOUFVUX1NQRUVDSCkK
</data>
<flag name="review"
          id="51936"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>