<?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>42612</bug_id>
          
          <creation_ts>2010-07-19 19:23:14 -0700</creation_ts>
          <short_desc>DRT should allow test scripts to access WebCore internal states for setup/verification</short_desc>
          <delta_ts>2011-05-05 09:47:48 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>60277</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>hamaji</cc>
    
    <cc>japhet</cc>
    
    <cc>mjs</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ojan</cc>
    
    <cc>steveblock</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>253527</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-19 19:23:14 -0700</bug_when>
    <thetext>The initial idea is here: https://lists.webkit.org/pipermail/webkit-dev/2010-July/013559.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254217</commentid>
    <comment_count>1</comment_count>
      <attachid>62165</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-21 04:55:21 -0700</bug_when>
    <thetext>Created attachment 62165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254223</commentid>
    <comment_count>2</comment_count>
      <attachid>62166</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-21 05:11:33 -0700</bug_when>
    <thetext>Created attachment 62166
rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254227</commentid>
    <comment_count>3</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-07-21 05:20:17 -0700</bug_when>
    <thetext>Attachment 62166 did not build on qt:
Build output: http://queues.webkit.org/results/3591310</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254231</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-21 05:35:38 -0700</bug_when>
    <thetext>Attachment 62166 did not build on gtk:
Build output: http://queues.webkit.org/results/3589309</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254234</commentid>
    <comment_count>5</comment_count>
      <attachid>62168</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-21 05:39:51 -0700</bug_when>
    <thetext>Created attachment 62168
build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254235</commentid>
    <comment_count>6</comment_count>
      <attachid>62169</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-21 05:44:21 -0700</bug_when>
    <thetext>Created attachment 62169
build fix for gtk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254649</commentid>
    <comment_count>7</comment_count>
      <attachid>62260</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-21 21:32:22 -0700</bug_when>
    <thetext>Created attachment 62260
made the patch smaller to contain only mac port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255133</commentid>
    <comment_count>8</comment_count>
      <attachid>62260</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-07-22 18:26:26 -0700</bug_when>
    <thetext>Comment on attachment 62260
made the patch smaller to contain only mac port

Thanks for doing this. This is a big improvement over needing to implement the same API many times over. I don&apos;t really know JSC APIs well enough to know if there is a better way to do the inheritance. Someone else will need to review the code properly. I just have a few naming issues.

I think we should call the new class LayoutTestControllerWebCore though. Just saying &quot;Core&quot; is too vague (e.g. that could also be JavaScriptCore).

&gt; +    int documentMakerSizeForNode(Node*, ExceptionCode&amp;) const;
&gt; +    String documentMakerStringForNodeAt(Node*, int, ExceptionCode&amp;) const;

Did you mean documentMarker* here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255909</commentid>
    <comment_count>9</comment_count>
      <attachid>62545</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-25 22:53:25 -0700</bug_when>
    <thetext>Created attachment 62545
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255919</commentid>
    <comment_count>10</comment_count>
      <attachid>62547</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-25 23:18:11 -0700</bug_when>
    <thetext>Created attachment 62547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255920</commentid>
    <comment_count>11</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-25 23:19:06 -0700</bug_when>
    <thetext>HI ojan, thank you for reviewing!

(In reply to comment #8)
&gt; I think we should call the new class LayoutTestControllerWebCore though. Just saying &quot;Core&quot; is too vague (e.g. that could also be JavaScriptCore).
I agree that the name &quot;WebCore::LayoutTestControllerCore&quot; is strange. but  
&quot;WebCore::LayoutTestControllerWebCore&quot; looks redundant. 
So I just renamed it to &quot;WebCore::LayoutTestController&quot;. 
(In our convention, original LayoutTestController shoud be named
WebLayoutTestController so something. But it&apos;s too late.)

&gt; &gt; +    int documentMakerSizeForNode(Node*, ExceptionCode&amp;) const;
&gt; &gt; +    String documentMakerStringForNodeAt(Node*, int, ExceptionCode&amp;) const;
&gt; 
&gt; Did you mean documentMarker* here?
Oops. You&apos;re right. Thank you pointing this out. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256349</commentid>
    <comment_count>12</comment_count>
      <attachid>62547</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-07-26 17:15:40 -0700</bug_when>
    <thetext>Comment on attachment 62547
Patch

Except for the naming nits below, this patch looks good to me, so I&apos;m not setting r-. But I know Darin and Maciej had some reservations about extending layoutTestController at all. So I&apos;d like one of them to at least look at this before setting r+.

&gt; +++ b/LayoutTests/fast/dom/Window/script-tests/window-layout-test-controller-core.js

Please rename to window-layout-test-controller.js or window-layout-test-controller-webcore.js.


In all of the below, please rename core to webCoreLayoutTestController and coreObject to webCoreLayoutTestControllerObject. It&apos;s more verbose, but much less confusing.

&gt; +++ b/WebKitTools/DumpRenderTree/LayoutTestController.cpp
&gt; +static const char setupLayoutTestControllerScript[] = 
&gt; +    &quot;function delegate(dst, src, name) { dst[name] = function() { return src[name].apply(src, arguments); } }\n&quot;
&gt; +    &quot;for (var name in this.core) {\n&quot;
&gt; +    &quot;    delegate(this, this.core, name);\n&quot;
&gt; +    &quot;}\n&quot;;
&gt; +
&gt; +void LayoutTestController::makeDelegationMethods(JSContextRef context, JSObjectRef thisObject, JSValueRef coreObject, JSValueRef* exception)
&gt; +{
&gt; +    JSRetainPtr&lt;JSStringRef&gt; coreStr(Adopt, JSStringCreateWithUTF8CString(&quot;core&quot;));
&gt; +    JSObjectSetProperty(context, thisObject, coreStr.get(), coreObject, kJSPropertyAttributeNone, exception);
&gt; +    ASSERT(!*exception);

&gt; -void LayoutTestController::makeWindowObject(JSContextRef context, JSObjectRef windowObject, JSValueRef* exception)
&gt; +void LayoutTestController::makeWindowObject(JSContextRef context, JSObjectRef windowObject, JSValueRef* exception, JSValueRef core)
&gt; @@ -1706,6 +1725,9 @@ void LayoutTestController::makeWindowObject(JSContextRef context, JSObjectRef wi
&gt;  
&gt; +    if (core)
&gt; +        makeDelegationMethods(context, JSValueToObject(context, layoutTestContollerObject, exception), core, exception);
&gt; +

&gt; +++ b/WebKitTools/DumpRenderTree/LayoutTestController.h
&gt; -    void makeWindowObject(JSContextRef context, JSObjectRef windowObject, JSValueRef* exception);
&gt; +    void makeDelegationMethods(JSContextRef context, JSObjectRef thisObject, JSValueRef coreObject, JSValueRef* exception);
&gt; +    void makeWindowObject(JSContextRef context, JSObjectRef windowObject, JSValueRef* exception, JSValueRef core = 0);

&gt; +++ b/WebKitTools/DumpRenderTree/mac/FrameLoadDelegate.mm
&gt; +    JSValueRef coreLayoutTestController = [frame layoutTestController];
&gt; +    gLayoutTestController-&gt;makeWindowObject(context, globalObject, &amp;exception, coreLayoutTestController);
&gt;      ASSERT(!exception);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256380</commentid>
    <comment_count>13</comment_count>
      <attachid>62639</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-26 21:22:03 -0700</bug_when>
    <thetext>Created attachment 62639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256382</commentid>
    <comment_count>14</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-26 21:24:00 -0700</bug_when>
    <thetext>Hi Ojan, thank you for reviewing again!
Suggested renames are done.

&gt; Except for the naming nits below, this patch looks good to me, so I&apos;m not setting r-. But I know Darin and Maciej had some reservations about extending layoutTestController at all. So I&apos;d like one of them to at least look at this before setting r+.
I see. We should wait for their comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256591</commentid>
    <comment_count>15</comment_count>
      <attachid>62639</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-27 07:56:35 -0700</bug_when>
    <thetext>Comment on attachment 62639
Patch

I&apos;m super confused.  Is this code turned on in production???  Why is layoutTestController in WebCore?  The ChangeLog doesn&apos;t answer any of these questions for me...  In the past, layoutTestController has been completely external to WebCore and WebKit.

LayoutTests/fast/dom/Window/window-layout-test-controller-webcore.html:1
 +  &lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt;
Can we just change this to &lt;!DOCTYPE html&gt; ?  Feel free to fix them all in a followup patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256592</commentid>
    <comment_count>16</comment_count>
      <attachid>62639</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-27 07:58:33 -0700</bug_when>
    <thetext>Comment on attachment 62639
Patch

I looked at the webkit-dev thread, and I don&apos;t see consensus that this is a good idea.  It&apos;s scary to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256606</commentid>
    <comment_count>17</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-07-27 08:09:21 -0700</bug_when>
    <thetext>&gt; I looked at the webkit-dev thread, and I don&apos;t see consensus that this is a good idea.  It&apos;s scary to me.

What exactly is scary? The only unaddressed concern from the webkit-dev thread is whether we really should make it easier to add things to layoutTestController or find a better way of doing testing.

I certainly share that concern, but unless there is a concrete suggestion for doing a better way of testing, I think we should move forward with this. It seems a considerable improvement over the current world where, when trying to test something new, you have a choice between adding many layers of plumbing across many ports or adding a manual test. 

This doesn&apos;t block coming up with better ways of testing. It just makes the current way less painful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256609</commentid>
    <comment_count>18</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-07-27 08:16:01 -0700</bug_when>
    <thetext>It does seem important for this object not to be exposed in production builds. Maybe not in nightly builds, either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256611</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-27 08:17:50 -0700</bug_when>
    <thetext>&gt; What exactly is scary?

We don&apos;t want this to be part of the web platform.  That means we want it turned off in non-testing builds.  Also, we want to be sure we&apos;re not doing to screw up and expose it by accident.  Having the layoutTestController in a separate project makes that much harder to screw up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257064</commentid>
    <comment_count>20</comment_count>
      <attachid>62801</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-28 01:35:50 -0700</bug_when>
    <thetext>Created attachment 62801
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257071</commentid>
    <comment_count>21</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-28 02:03:33 -0700</bug_when>
    <thetext>Hi everyone, thank you for your feedback!
Updated patch disables WebCore::LTC on production build.

&gt; 
&gt; LayoutTests/fast/dom/Window/window-layout-test-controller-webcore.html:1
&gt;  +  &lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt;
&gt; Can we just change this to &lt;!DOCTYPE html&gt; ?  Feel free to fix them all in a followup patch.
It looks OK because this file is generated by make-script-test-wrappers like other script tests.

(In reply to comment #16)
&gt; (From update of attachment 62639 [details])
&gt; I looked at the webkit-dev thread, and I don&apos;t see consensus that this is a good idea.  It&apos;s scary to me.
Yes, a series of patches is for a starting point of discussion. 
I&apos;d like to continue to discuss here because most of interest party is already in CC list.

In my understanding, what bad is current trend of DRT testing which disallow manual testing.
This patch might not solve the problem though I hope this helps, 
but it would approaches other problem, as discussed on webkit-dev thread.


(In reply to comment #18)
&gt; It does seem important for this object not to be exposed in production builds. Maybe not in nightly builds, either.
Agreed.
I disabled it on production build. But I have no idea which configuration is used for nightly build. 
I think WebCore::LTC should be enabled on Release build because we use Release build of DRT.

(In reply to comment #19)
&gt; &gt; What exactly is scary?
&gt; 
&gt; We don&apos;t want this to be part of the web platform.  That means we want it turned off in non-testing builds.  Also, we want to be sure we&apos;re not doing to screw up and expose it by accident.  Having the layoutTestController in a separate project makes that much harder to screw up.

Creating a separate project doesn&apos;t help an original goal of the patch.
By making LTC different framework, we

- need to export more symbols from WebCore framework for accessing from LTC.
- need to provide the way to access WebCore internal object (like WebCore::Frame).
 Such are possibly worse than just to allow LTC staying inside the WebCore.

On the other hand, I agree that making LTC available in accident could be a tragedy.
I hope the design have such case in mind.
On availability for JS world, It&apos;s simply hard to access it 
because applications need to 

- explicitly instantiate it, an
- explicitly put it into the context.

WebCore::LTC isn&apos;t accessible existing DOM object graph. 
So it wouldn&apos;t be possible unless intentional.


I&apos;ll be happy to hear your opinions more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257078</commentid>
    <comment_count>22</comment_count>
      <attachid>62805</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-07-28 02:21:50 -0700</bug_when>
    <thetext>Created attachment 62805
rebaselined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257677</commentid>
    <comment_count>23</comment_count>
      <attachid>62805</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-29 08:03:36 -0700</bug_when>
    <thetext>Comment on attachment 62805
rebaselined

WebCore/Configurations/FeatureDefines.xcconfig:47
 +  ENABLE_CORE_LAYOUT_TEST_CONTROLLER_Production = ;
I&apos;m not sure this is a good approach.  Differences between Production and Release are bad because it means we&apos;re not testing the same thing we&apos;re shipping.  Also, it seems very likely that some port or other will get confused and ship WebCore::LTC to users.  I&apos;m not sure what the consequences are today, but as it grows, I&apos;m sure it will eventually be disaster.

Also, as a consequence, we won&apos;t be able to run these tests on production builds.  That means, we&apos;ll lose out on test coverage of the actual bits we ship.  There&apos;s got to be a better approach.

Here&apos;s a strawman proposal:

1) WebCore exports a C API for testing that consumed by a cross-platform layout test controller object that&apos;s build in a different project (DRT).

In that approach, we save the per-port hassle of adding features to LTC and we don&apos;t risk shipping those API to the web.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257691</commentid>
    <comment_count>24</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-29 08:18:59 -0700</bug_when>
    <thetext>Another thought: we could make this object conditional on a WebCore::Setting.  We could name the setting something like &quot;dangerousTestingAPIEnabled&quot; or some such.  I think this is easy to do in V8.  I don&apos;t remember if a similar mechanism exists in JSC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257780</commentid>
    <comment_count>25</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-29 11:16:22 -0700</bug_when>
    <thetext>On all our platforms I believe it’s easy to export an ability to create the object, but then have the WebKit client responsible for injecting it into each frame. So we don’t necessarily need a preference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259807</commentid>
    <comment_count>26</comment_count>
      <attachid>63403</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-08-03 19:09:21 -0700</bug_when>
    <thetext>Created attachment 63403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259813</commentid>
    <comment_count>27</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-08-03 19:19:27 -0700</bug_when>
    <thetext>Adam, Darin, thank you for your feedback! - and sorry for slow reply.

The last patch split test-specific code out from WebCore.framework into WebCoreTesting.framework.
An idea is:
- WebCore providing hook interface and JS stub for that.
- WebCoreTesting use that interface to inject a test-specific code
- WebKit provide a API for WebCoreTesting, while linking WebCoreTesting.framework with &quot;weak&quot; linkage,
   that allow us to ship WebKit.framework without WebCoreTesting.framework.

The source code for WebKitTesting still stays WebCore/testing/ and built inside WebCore.xcodeproj
So it can access WebCore APIs.
A tradeoff is that we need to expose WebCore APIs that are required by WebCoreTesting.
But I think it need less hassle than wrapping and exposing it via WebKit.

I&apos;m not sure if weak linkage is available for other port 
but I believe there are some workaround for that. 
(i.e. just built WebCore/testing/* into DRT.)

Any ideas and feedbacks are welcome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263597</commentid>
    <comment_count>28</comment_count>
      <attachid>64186</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-08-11 21:37:23 -0700</bug_when>
    <thetext>Created attachment 64186
Rebaselined. Could anyone take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276371</commentid>
    <comment_count>29</comment_count>
      <attachid>67009</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-09 01:57:04 -0700</bug_when>
    <thetext>Created attachment 67009
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276373</commentid>
    <comment_count>30</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-09 02:09:22 -0700</bug_when>
    <thetext>Hi everyone!

I&apos;d like to restart this effort.
I&apos;m sorry that old patches were too large and did a big change.
An latest patch is get further simple, thus small.
I&apos;m happy if you took a look at this one.

The approach is based on Darin&apos;s advice, with Adam&apos;s concern in mind:

- The WebCore::LayoutTestController is under testing/ directory.
   And the rest of WebCore NEVER depend on the code under testing/
   So its isolation is clear and hard to accidentally available from browsers,
   even though it lives in WebCore.framework and can take its advantage. 

- testing/ module expose just one API (per JS engine) that 
   instantiates WebCore::LTC and injects its method into given JS object 
   using a delegation. 
   This approach doesn&apos;t use JSC-specifi mechanism
   and relatively interpreter neutral.

- DumpRenderTree just invokes that API to make WebCore::LTC available.
   So integration to each DRT implementation will be easy.

Any feedback is welcome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276412</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-09 04:50:42 -0700</bug_when>
    <thetext>Attachment 67009 did not build on gtk:
Build output: http://queues.webkit.org/results/3966325</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276445</commentid>
    <comment_count>32</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-09 07:34:01 -0700</bug_when>
    <thetext>One change necessary for this to build on GTK+ is to include the WebCore/testing directory on the list of IDL directories specified with the vpath feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276913</commentid>
    <comment_count>33</comment_count>
      <attachid>67131</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-09 18:25:47 -0700</bug_when>
    <thetext>Created attachment 67131
an attempt to fix GTK+ build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340133</commentid>
    <comment_count>34</comment_count>
      <attachid>67131</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-01-25 21:29:16 -0800</bug_when>
    <thetext>Comment on attachment 67131
an attempt to fix GTK+ build

Got obsolete, giving up at now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398786</commentid>
    <comment_count>35</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-05 09:47:48 -0700</bug_when>
    <thetext>Folding into new pretty bug.

*** This bug has been marked as a duplicate of bug 60277 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62165</attachid>
            <date>2010-07-21 04:55:21 -0700</date>
            <delta_ts>2010-07-21 05:11:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42612-20100721205519.patch</filename>
            <type>text/plain</type>
            <size>56582</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmZTlhOGZjY2Y4ODk2NmZlNzZiZmEyMDg3N2VjZDUxMDM2ZWE4MWM5Li4zODg2NDI2
OWQ1NWNmMjVlNzI3OWQyZWQxMGY4MGZiNjU5NGIyYTBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgQWRkZWQgYW4gYWNjZXNzb3IgZm9yIExheW91dFRlc3RD
b250cm9sbGVyQ29yZS4KKyAgICAgICAgCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3Njcmlw
dC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29y
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ct
bGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6CisKIDIwMTAtMDctMTkgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0u
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCkBAIC0zMzg4MCw0ICszMzg5
NCw0IEBACiAgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9zbWFydC1w
YXN0ZS0wMDgtZXhwZWN0ZWQucG5nOiBSZXBsYWNlZC4KICAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3N0eWxlZC1lbGVtZW50LW1hcmt1cC1leHBlY3RlZC5jaGVja3N1
bTogUmVwbGFjZWQuCiAgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9z
dHlsZWQtZWxlbWVudC1tYXJrdXAtZXhwZWN0ZWQucG5nOiBSZXBsYWNlZC4KLSAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3N1YmZyYW1lLWRyYWduZHJvcC0xLWV4cGVj
dGVkLmNoZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZWRpdGluZy9wYXN0ZWJvYXJkL3N1YmZyYW1lLWRyYWduZHJvcC0xLWV4cGVjdGVkLmNoZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5k
b3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
V2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU4ZjllOWJiMzNkZDI5YmQ1ZjBlYzZjNWNiZjRmMDk5ZmFmNzdiYmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3Rz
L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuanMKQEAgLTAsMCArMSw3IEBACitk
ZXNjcmlwdGlvbigid2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIHNob3VsZCBoYXZlIGZ1bmN0
aW9ucyBkZWZpbmVkIGluIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwiKTsKK3dpbmRvdy5u
b2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpOworc2hvdWxkQmVUcnVlKCJ1bmRlZmlu
ZWQgIT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIik7CitzaG91bGRCZVRydWUoInVuZGVm
aW5lZCAhPSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYWtlclNpemVGb3JO
b2RlIik7CitzaG91bGRCZVRydWUoIjAgPT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRv
Y3VtZW50TWFrZXJTaXplRm9yTm9kZSh3aW5kb3cubm9kZSkiKTsKKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTQ4MmZjMjY2NTA0N2VlOGJhMDg0YjJjZGIxMjMyZmFk
YTI2YjYzYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEyIEBACit3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgc2hvdWxkIGhhdmUgZnVuY3Rpb25z
IGRlZmluZWQgaW4gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbAorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyB1bmRlZmluZWQgIT0gd2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyIGlzIHRydWUKK1BBU1MgdW5kZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlci5kb2N1bWVudE1ha2VyU2l6ZUZvck5vZGUgaXMgdHJ1ZQorUEFTUyAwID09IHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlci5kb2N1bWVudE1ha2VyU2l6ZUZvck5vZGUod2luZG93Lm5vZGUp
IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91
dC10ZXN0LWNvbnRyb2xsZXItY29yZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODYz
ZDZhMWU0MWM1MmE2NWY1NGVkMjUyMzU2OGM1ZjliNDI5ZjI0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVy
LWNvcmUuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9s
bGVyLWNvcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1NraXBwZWQKaW5kZXggMjU3MWFlNGYzMjFmMDg0NGRlM2VkYWU1NzhjZTY5MjkxZDVjYjMxNC4u
ZjlkZmNhZmZiMzE2ZTA4Y2UwYjk2ZjdiY2VlYWY4NzAzYjY4MjBjOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9Ta2lwcGVkCkBAIC02MjksNiArNjI5LDkgQEAgZmFzdC9mb3Jtcy9saXN0Ym94LXdpZHRoLWNo
YW5nZS5odG1sCiBmYXN0L2Zvcm1zL3BsYWludGV4dC1tb2RlLTIuaHRtbAogZmFzdC9mb3Jtcy9t
ZW51bGlzdC13aWR0aC1jaGFuZ2UuaHRtbAogCisjIGN1cnJlbnRseSBMYXlvdXRUZXN0Q29udHJv
bGxlckNvcmUgaXMgbm90IHN1cHBvcnRlZCBodHRwOi8vd2Via2l0Lm9yZy9iLzQyNjEyCitmYXN0
L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5odG1sCisKICMg
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ICMKICMgZmFpbGluZyBtZWRpYSB0ZXN0cwogIyA9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0gIwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggMmNjNDJmZmM5YzQ4NzZjNmY5MjVjMzM5ZjA3MzVjMmI2YmUz
NjkxZi4uY2ZhYzVmMjRmZjBjNjgyMTA5YmNiZGQyNGIyY2UwMjM2Y2Q1YWU3YSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0zMTIsNiArMzEyLDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgcGFnZS9HZW9wb3Np
dGlvbi5pZGwKICAgICBwYWdlL0hpc3RvcnkuaWRsCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwKKyAg
ICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwKICAgICBwYWdlL01lbW9yeUluZm8u
aWRsCiAgICAgcGFnZS9OYXZpZ2F0aW9uLmlkbAogICAgIHBhZ2UvTmF2aWdhdG9yLmlkbApAQCAt
MTE0OCw2ICsxMTQ5LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHBhZ2UvR2VvbG9jYXRp
b25Qb3NpdGlvbkNhY2hlLmNwcAogICAgIHBhZ2UvSGlzdG9yeS5jcHAKICAgICBwYWdlL0xvY2F0
aW9uLmNwcAorICAgIHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcAogICAgIHBhZ2Uv
TWVtb3J5SW5mby5jcHAKICAgICBwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3Bw
CiAgICAgcGFnZS9OYXZpZ2F0aW9uLmNwcApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNmIwMTNiNjg0N2E5MjZjNzgzMWNhMjU0ZDMzN2Yy
OTQ3ZWZjNTliLi5hN2Y2OGNlYjkxMmZmMjAxMmRkYzQzZGRhZDAxZjM3ODk4MmMyZDdmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDQ5IEBACisyMDEwLTA3LTIxICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERSVCBz
aG91bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRl
cyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MjYxMgorICAgICAgICAKKyAgICAgICAgSW50cm9kdWNpbmcgTGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlLCB0aGF0IHdpbGwgaGF2ZSBXZWJDb3JlLXNpZGUKKyAgICAg
ICAgaW1wbGVtZW50YXRpb24gb2YgTGF5b3V0VGVzdENvbnRyb2xsZXIuIFRoZSBpbnN0YW5jZSBp
cyBvd25lZCBieQorICAgICAgICBET01XaW5kb3cuICBDdXJyZW50bHkgZG9jdW1lbnRNYWtlclNp
emVGb3JOb2RlKCkgYW5kCisgICAgICAgIGRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2RlQXQoKSBh
cmUganVzdCBhIHN0dWIuICBUaGVzZQorICAgICAgICBpbXBsZW1lbnRhdGlvbiB3aWxsIGNvbWUg
bGF0ZXIuCisgICAgICAgIAorICAgICAgICBUZXN0OiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxh
eW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxl
LmFtOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToK
KyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpK
U0RPTVdpbmRvd1NoZWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93U2hlbGw6Omxh
eW91dFRlc3RDb250cm9sbGVyQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5k
b3dTaGVsbC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6bGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAg
ICogYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpW
OERPTVdpbmRvd1NoZWxsOjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmxheW91dFRlc3RDb250cm9sbGVyQ29y
ZSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0xheW91dFRl
c3RDb250cm9sbGVyQ29yZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlOjpmcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmU6OmRpc2Nvbm5lY3RGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRU
ZXN0Q29udHJvbGxlckNvcmU6OmRvY3VtZW50TWFrZXJTaXplRm9yTm9kZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OmRvY3VtZW50TWFrZXJTdHJpbmdGb3JO
b2RlQXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlOjp2ZXJpZnlDb25uZWN0ZWQpOgorICAgICAgICAqIHBhZ2UvTGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlLmlkbDogQWRkZWQuCisKIDIwMTAtMDctMTkgIFN0ZXZlIEZhbGtlbmJ1cmcgIDxzZmFsa2Vu
QGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggN2M1
M2U4Njk1YmM4MzdkYzliMDBjYjc5ZTlmZTg1YjdkMGY0NTZlZS4uYjY0YzFkMzZiMTZlMzg2MjQw
ZjAwNjUwZjVmODJjNTQxZGIwZjA3YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjM3LDYgKzIzNyw3
IEBAIERPTV9DTEFTU0VTID0gXAogICAgIEluc3BlY3RvckZyb250ZW5kSG9zdCBcCiAgICAgS2V5
Ym9hcmRFdmVudCBcCiAgICAgTG9jYXRpb24gXAorICAgIExheW91dFRlc3RDb250cm9sbGVyQ29y
ZSBcCiAgICAgTWVkaWFFcnJvciBcCiAgICAgTWVkaWFMaXN0IFwKICAgICBNZW1vcnlJbmZvIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCmluZGV4IGRmZDc4ZWI1YmJiZjA3ZTRjYmQyMDViMjc1MmE4M2M2ZWJkYmE0YTIuLjBiNTQ3
YzM0ZDFhN2EwY2E1ZDdjYTAzOThmNDNkNWEwYjhhMGNhODggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDA5LDYgKzQw
OSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0tleWJvYXJkRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9u
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9uLmggXAorCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIFwKKwlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNNZWRpYUVycm9yLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU01lZGlhRXJyb3IuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhTGlzdC5j
cHAgXApAQCAtMTc4MCw2ICsxNzgyLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3Jl
L3BhZ2UvSGlzdG9yeS5oIFwKIAlXZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwIFwKIAlXZWJDb3Jl
L3BhZ2UvTG9jYXRpb24uaCBcCisJV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5jcHAgXAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCBcCiAJV2Vi
Q29yZS9wYWdlL01lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oIFwKIAlXZWJDb3JlL3BhZ2UvTWVtb3J5
SW5mby5jcHAgXAogCVdlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmggXApAQCAtNDUzMCw2ICs0NTM0
LDcgQEAgSURMX0JJTkRJTkdTX0dET00gKz0gXAogCVdlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24u
aWRsIFwKIAlXZWJDb3JlL3BhZ2UvSGlzdG9yeS5pZGwgXAogCVdlYkNvcmUvcGFnZS9Mb2NhdGlv
bi5pZGwgXAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsIFwKIAlX
ZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5pZGwgXAogCVdlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRs
IFwKIAlXZWJDb3JlL3BhZ2UvU2NyZWVuLmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBmMTQ3NTZjNjBhNGRiYzgy
YmZiZTc0YTg5NDhjYjI1YTVhZjEyOGJiLi4wYTJhNzMzNjY0OWI5MWFhNGQ3ZDdhMWE3ZDQxZmFj
NjYwNzYxZDI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KQEAgLTExOTksNiArMTE5OSw3IEBAIF9fTlBOX1NldEV4Y2VwdGlv
bgogX19OUE5fU2V0UHJvcGVydHkKIF9fTlBOX1VURjhGcm9tSWRlbnRpZmllcgogX19aTjdXZWJD
b3JlMTZTY3JpcHRDb250cm9sbGVyMjB3aW5kb3dTY3JpcHROUE9iamVjdEV2CitfX1pON1dlYkNv
cmUxNlNjcmlwdENvbnRyb2xsZXIyNGxheW91dFRlc3RDb250cm9sbGVyQ29yZUVQTlNfMTVET01X
cmFwcGVyV29ybGRFCiBfX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyOWNsZWFudXBTY3Jp
cHRPYmplY3RzRm9yUGx1Z2luRVB2CiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3Q0dmlld0V2
CiBfX1pOSzdXZWJDb3JlMTRTZWN1cml0eU9yaWdpbjljYW5BY2Nlc3NFUEtTMF8KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNWJk
NjE1YmNkYzA2ZDVjNGQ2YjllMDdhMzNkZmM4YWU4MDYwNTMwYi4uNDg1OWIwNzIxNzMzNzU2ZjU1
MzNlNjVjMDk5NzRkM2RjOGQxZDg3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIxNSw2ICsyMTUsNyBAQAogICAgICAgICAg
ICAgJ3BhZ2UvR2VvcG9zaXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL0hpc3RvcnkuaWRs
JywKICAgICAgICAgICAgICdwYWdlL0xvY2F0aW9uLmlkbCcsCisgICAgICAgICAgICAncGFnZS9M
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsJywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUlu
Zm8uaWRsJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRpb24uaWRsJywKICAgICAgICAgICAg
ICdwYWdlL05hdmlnYXRvci5pZGwnLApAQCAtMTk5OSw2ICsyMDAwLDggQEAKICAgICAgICAgICAg
ICdwYWdlL0hpc3RvcnkuaCcsCiAgICAgICAgICAgICAncGFnZS9Mb2NhdGlvbi5jcHAnLAogICAg
ICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uaCcsCisgICAgICAgICAgICAncGFnZS9MYXlvdXRUZXN0
Q29udHJvbGxlckNvcmUuY3BwJywKKyAgICAgICAgICAgICdwYWdlL0xheW91dFRlc3RDb250cm9s
bGVyQ29yZS5oJywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUluZm8uY3BwJywKICAgICAgICAg
ICAgICdwYWdlL01lbW9yeUluZm8uaCcsCiAgICAgICAgICAgICAncGFnZS9Nb3VzZUV2ZW50V2l0
aEhpdFRlc3RSZXN1bHRzLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpp
bmRleCAwZTQ3N2NhMmVmZGM4Zjk2N2M3MzlkYTQ2NDc2MDk2ZDIxY2E5ZTdkLi41NDAyMmVmMGIz
NGFlODhmYzU5YzBjNTNhOTZkMWI0NTQ0MDk3MmNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKQEAgLTg4MzcsNiArODgzNyw2MiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCIN
CisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVi
dWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0xheW91dFRlc3RDb250cm9s
bGVyQ29yZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU01lZGlhRXJyb3IuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAg
LTIyMzQ1LDYgKzIyNDAxLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2Vc
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3Vs
dHMuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNWRhY2UxM2FjZjdmNzcxMGMwMjE0Y2M1MmY1ZTU2M2Y2MGM3
ZDI3My4uNzVhMzU2OTA0MGQyYzhmNGI0NzcxNzgxMmU5M2U2Yzk3MmRlNzc0MiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI2NjgsNiArMjY2OCw4IEBA
CiAJCUE3MTg3ODkwMEIyRDA0QUMwMEExNkVDRSAvKiBEcmFnQ29udHJvbGxlck1hYy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MTg3ODhGMEIyRDA0
QUMwMEExNkVDRSAvKiBEcmFnQ29udHJvbGxlck1hYy5tbSAqLzsgfTsKIAkJQTczNTJDMTkwQjFC
Qjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MzUyQzE3MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5k
ZXJTVkdCbG9jay5jcHAgKi87IH07CiAJCUE3MzUyQzFBMEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5k
ZXJTVkdCbG9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTczNTJDMTgwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmggKi87IH07CisJ
CUE3NDVEMkU2MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc0NUQyRTMx
MUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgKi87IH07CisJ
CUE3NDVEMkU3MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDVEMkU0MTFG
NUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCAqLzsgfTsKIAkJQTc1
RTQ5NzYxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RTQ5NzQxMDc1MkFDQjAw
QzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE3NUU0OTc3MTA3NTJBQ0IwMEM5Qjg5NiAvKiBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTc1RTQ5NzUxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHAgKi87IH07CiAJCUE3NUU4Qjg4MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUJsZW5k
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU4
QjgwMEUxREUyRDYwMDdGMjQ4MSAvKiBGRUJsZW5kLmNwcCAqLzsgfTsKQEAgLTI2NzgsNiArMjY4
MCw4IEBACiAJCUE3NUU4QjhEMEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvbmVudFRyYW5zZmVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFOEI4
NTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb25lbnRUcmFuc2Zlci5oICovOyB9OwogCQlBNzVF
OEI4RTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RThCODYwRTFERTJENjAwN0YyNDgxIC8q
IEZFQ29tcG9zaXRlLmNwcCAqLzsgfTsKIAkJQTc1RThCOEYwRTFERTJENjAwN0YyNDgxIC8qIEZF
Q29tcG9zaXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzVFOEI4NzBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuaCAqLzsgfTsKKwkJQTc3
NTU4RTMxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NzU1OEUxMTFG
NUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgKi87IH07CisJ
CUE3NzU1OEU0MTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3NTU4RTIx
MUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi87IH07CiAJ
CUE3Nzk3OTE5MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3OTc5MTMwRDZCOUQwQzAwMzg1MUI5
IC8qIEltYWdlRGF0YS5jcHAgKi87IH07CiAJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4NTFCOSAvKiBJ
bWFnZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE3Nzk3OTE0MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLzsgfTsKIAkJQTc3OTc5
MjgwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Nzk3OTI0MEQ2QjlFNjQwMDM4NTFCOSAvKiBK
U0ltYWdlRGF0YS5jcHAgKi87IH07CkBAIC04MzY5LDYgKzgzNzMsOSBAQAogCQlBNzFBNzBDOTEx
QUZCMDIwMDA5ODlENkQgLyogSFRNTE1ldGVyRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gSFRNTE1ldGVyRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3MzUyQzE3MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHQmxvY2suY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBNzM1MkMxODBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVy
U1ZHQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR0Js
b2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NDVEMkUzMTFGNUIzNzkwMEFD
RDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc0NUQyRTQxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRl
c3RDb250cm9sbGVyQ29yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc0
NUQyRTUxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RTQ5NzQxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJp
YWxpemVkU2NyaXB0VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RTQ5
NzUxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFOEI4MDBFMURFMkQ2MDA3RjI0ODEgLyog
RkVCbGVuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGRUJsZW5k
LmNwcDsgcGF0aCA9IGZpbHRlcnMvRkVCbGVuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC04Mzc5LDYgKzgzODYsOCBAQAogCQlBNzVFOEI4NTBFMURFMkQ2MDA3RjI0ODEgLyog
RkVDb21wb25lbnRUcmFuc2Zlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBG
RUNvbXBvbmVudFRyYW5zZmVyLmg7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODYwRTFERTJENjAwN0YyNDgx
IC8qIEZFQ29tcG9zaXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEZFQ29tcG9zaXRlLmNwcDsgcGF0aCA9IGZpbHRlcnMvRkVDb21wb3NpdGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFOEI4NzBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21w
b3NpdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRkVDb21wb3NpdGUuaDsg
cGF0aCA9IGZpbHRlcnMvRkVDb21wb3NpdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTc3NTU4RTExMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3Jl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc3NTU4RTIx
MUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTEzMEQ2QjlEMEMwMDM4NTFCOSAvKiBJ
bWFnZURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VE
YXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc3OTc5MTQwRDZCOUQwQzAw
Mzg1MUI5IC8qIEltYWdlRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJ
bWFnZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc3OTc5MTUwRDZCOUQw
QzAwMzg1MUI5IC8qIEltYWdlRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW1hZ2VE
YXRhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMjM2LDYgKzEyMjQ1LDkg
QEAKIAkJNjVCRjAyMTgwOTc0ODA2MzAwQzQzMTk2IC8qIHBhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUE3NDVEMkUzMTFGNUIzNzkwMEFDRDAyMyAv
KiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICovLAorCQkJCUE3NDVEMkU0MTFGNUIzNzkw
MEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCAqLywKKwkJCQlBNzQ1RDJFNTEx
RjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbCAqLywKIAkJCQkz
MTZGRTEwNjBFNkUxRDg0MDBCRjYwODggLyogYW5pbWF0aW9uICovLAogCQkJCTkzQzA5QTgyMEIw
NjRGMDUwMDVBQkQ0RCAvKiBtYWMgKi8sCiAJCQkJODUzOEYwMDAwQUQ3MTc3MDAwNkE4MUQxIC8q
IEFic3RyYWN0Vmlldy5pZGwgKi8sCkBAIC0xNTkxNSw2ICsxNTkyNyw4IEBACiAJCUJDOTg1NDQz
MENEM0Q5RDAwMDA2OUJDMSAvKiBXaW5kb3cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCUE3NzU1OEUxMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRl
c3RDb250cm9sbGVyQ29yZS5jcHAgKi8sCisJCQkJQTc3NTU4RTIxMUY1QjYwMjAwQjQzQUMxIC8q
IEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi8sCiAJCQkJQkMxMjRFRkQwQzI2NDQ3QTAw
OUUyMzQ5IC8qIEpTQmFySW5mby5jcHAgKi8sCiAJCQkJQkMxMjRFRkUwQzI2NDQ3QTAwOUUyMzQ5
IC8qIEpTQmFySW5mby5oICovLAogCQkJCUJDOTg1NDNCMENEM0Q5OEIwMDA2OUJDMSAvKiBKU0Nv
bnNvbGUuY3BwICovLApAQCAtMTk4MDAsNiArMTk4MTQsOCBAQAogCQkJCUUxQkU1MTJFMENGNkM1
MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3REQ0
RDg3MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RTE3MkUwMTExMzZFOENFMDA2MkE1MzMgLyogWm9vbU1vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE3NDVEMkU3MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCBp
biBIZWFkZXJzICovLAorCQkJCUE3NzU1OEU0MTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRl
c3RDb250cm9sbGVyQ29yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMjE4OSw2ICsyMjIwNSw4IEBA
CiAJCQkJOTNGMTlCMDUwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9jZXNzb3JMaWJ4c2x0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUUxQkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5p
Y29kZVNvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdERDREODYwRkRGNEQ2RTAwRUNGOUE0
IC8qIFhTU0F1ZGl0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc0NUQyRTYxMUY1QjM3OTAw
QUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlBNzc1NThFMzExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93U2hlbGwuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNw
cAppbmRleCA2NTA5NmI5M2MwNmQ4MzdhNDE0YWQ3YTgzZmI2YTYxOWQyMTdmYWZmLi5jMTIzZGY4
MDUwNjk2MmE5MmViNWNiOGRmMTA0MWFlMzEzMTE5Yzg0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dTaGVsbC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiSlNET01XaW5kb3cuaCIKKyNpbmNsdWRlICJKU0xheW91dFRlc3RDb250
cm9sbGVyQ29yZS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIlNjcmlwdENv
bnRyb2xsZXIuaCIKICNpbmNsdWRlIDxydW50aW1lL0pTT2JqZWN0Lmg+CkBAIC00Niw2ICs0Nyw3
IEBAIGNvbnN0IENsYXNzSW5mbyBKU0RPTVdpbmRvd1NoZWxsOjpzX2luZm8gPSB7ICJKU0RPTVdp
bmRvd1NoZWxsIiwgMCwgMCwgMCB9OwogSlNET01XaW5kb3dTaGVsbDo6SlNET01XaW5kb3dTaGVs
bChQYXNzUmVmUHRyPERPTVdpbmRvdz4gd2luZG93LCBET01XcmFwcGVyV29ybGQqIHdvcmxkKQog
ICAgIDogQmFzZShKU0RPTVdpbmRvd1NoZWxsOjpjcmVhdGVTdHJ1Y3R1cmUoanNOdWxsKCkpKQog
ICAgICwgbV93aW5kb3coMCkKKyAgICAsIG1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKDApCiAg
ICAgLCBtX3dvcmxkKHdvcmxkKQogewogICAgIHNldFdpbmRvdyh3aW5kb3cpOwpAQCAtNjksNiAr
NzEsMTYgQEAgdm9pZCBKU0RPTVdpbmRvd1NoZWxsOjpzZXRXaW5kb3coUGFzc1JlZlB0cjxET01X
aW5kb3c+IGRvbVdpbmRvdykKICAgICBzZXRXaW5kb3coanNET01XaW5kb3cpOwogfQogCitKU09i
amVjdCogSlNET01XaW5kb3dTaGVsbDo6bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKCkKK3sKKyAg
ICBpZiAoIW1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKSB7CisgICAgICAgIEV4ZWNTdGF0ZSog
ZXhlYyA9IHdpbmRvdygpLT5nbG9iYWxFeGVjKCk7CisgICAgICAgIG1fbGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlID0gdG9KUyhleGVjLCB3aW5kb3coKSwgd2luZG93KCktPmltcGwoKS0+bGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlKCkpLnRvT2JqZWN0KGV4ZWMpOworICAgIH0KKworICAgIHJldHVy
biBtX2xheW91dFRlc3RDb250cm9sbGVyQ29yZTsKK30KKwogLy8gLS0tLQogLy8gSlNPYmplY3Qg
bWV0aG9kcwogLy8gLS0tLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAppbmRl
eCA4ODgzMjVkMDNmY2M4ZjM0YzllMzNhYTI1ZmFhZDAzMzI1NDgzZjcxLi5kZWEyZmFlOTA1MmM5
MjU5OGVjNjI1Y2Y5NmJjNDVhMGFlYzA4N2VmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93U2hlbGwuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93U2hlbGwuaApAQCAtNTIsNiArNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IH0KICAgICAgICAgdm9pZCBzZXRXaW5kb3coUGFzc1JlZlB0cjxET01XaW5kb3c+KTsKIAorICAg
ICAgICBKU0M6OkpTT2JqZWN0KiBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKTsKKwogICAgICAg
ICBzdGF0aWMgY29uc3QgSlNDOjpDbGFzc0luZm8gc19pbmZvOwogCiAgICAgICAgIERPTVdpbmRv
dyogaW1wbCgpIGNvbnN0OwpAQCAtODYsNiArODgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgY29uc3QgSlNDOjpDbGFzc0luZm8qIGNsYXNzSW5mbygpIGNvbnN0IHsg
cmV0dXJuICZzX2luZm87IH0KIAogICAgICAgICBKU0RPTVdpbmRvdyogbV93aW5kb3c7CisgICAg
ICAgIEpTQzo6SlNPYmplY3QqIG1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOwogICAgICAgICBS
ZWZQdHI8RE9NV3JhcHBlcldvcmxkPiBtX3dvcmxkOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDk4MDIyZDliMzViZDRjMjlkZjFkY2U0ZWNk
YmNmMWM4M2M0Y2UyYzguLjdjNWQ2Nzc5MjhiZDgyMjYwN2E2MDZmMjE4MjVlZjFmNmI5YjJhYTMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcApAQCAtNTA2LDQgKzUw
Niw5IEBAIFNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHRJbldvcmxk
KERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAor
SlNPYmplY3QqIFNjcmlwdENvbnRyb2xsZXI6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZShET01X
cmFwcGVyV29ybGQqIHdvcmxkKQoreworICAgIHJldHVybiB3aW5kb3dTaGVsbCh3b3JsZCktPmxh
eW91dFRlc3RDb250cm9sbGVyQ29yZSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IDgwMTU1ZTRiOTM1MGZjODRi
MzI0MWQzZTMzN2YwNGQyNDY5ZGJkOTYuLjE4MWMzZjlmYmQ1MDlmMzA5MTlhNGRmYjA3YzIyNjll
YzUwZWM0OTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxl
ci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCkBAIC05MCw2
ICs5MCw4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiB3aW5kb3dTaGVsbCh3b3Js
ZCktPndpbmRvdygpOwogICAgIH0KKyAgICAKKyAgICBKU0M6OkpTT2JqZWN0KiBsYXlvdXRUZXN0
Q29udHJvbGxlckNvcmUoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCk7CiAKICAgICBzdGF0aWMgdm9p
ZCBnZXRBbGxXb3JsZHMoVmVjdG9yPERPTVdyYXBwZXJXb3JsZCo+Jik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAgYi9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCmluZGV4IDcwMDYwYmM0ZDAxMDE3MThlMTMxNWQy
MTJlNmQ0YzdkNjk5ZGZiMzAuLjYzZjM3MTIxNDU1YzM5Y2Y3OTc4MGM5ODdlZjBhNTg4MmZmYjM1
MGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcApAQCAtNTMsNiAr
NTMsNyBAQAogI2luY2x1ZGUgIlY4SFRNTERvY3VtZW50LmgiCiAjaW5jbHVkZSAiVjhIaWRkZW5Q
cm9wZXJ0eU5hbWUuaCIKICNpbmNsdWRlICJWOEhpc3RvcnkuaCIKKyNpbmNsdWRlICJWOExheW91
dFRlc3RDb250cm9sbGVyQ29yZS5oIgogI2luY2x1ZGUgIlY4TG9jYXRpb24uaCIKICNpbmNsdWRl
ICJWOFByb3h5LmgiCiAjaW5jbHVkZSAiV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmgiCkBA
IC01NTIsNiArNTUzLDEyIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVdpbmRvd1NoZWxs
OjpnZXRIaWRkZW5PYmplY3RQcm90b3R5cGUodjg6OkhhbmRsZTx2ODo6CiAgICAgcmV0dXJuIGNv
bnRleHQtPkdsb2JhbCgpLT5HZXRIaWRkZW5WYWx1ZShWOEhpZGRlblByb3BlcnR5TmFtZTo6b2Jq
ZWN0UHJvdG90eXBlKCkpOwogfQogCit2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4RE9NV2luZG93
U2hlbGw6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpCit7CisgICAgTGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlKiBjb3JlID0gbV9mcmFtZS0+ZG9tV2luZG93KCktPmxheW91dFRlc3RDb250cm9s
bGVyQ29yZSgpOworICAgIHJldHVybiBWOExheW91dFRlc3RDb250cm9sbGVyQ29yZTo6d3JhcChj
b3JlKTsKK30KKwogYm9vbCBWOERPTVdpbmRvd1NoZWxsOjppbnN0YWxsSGlkZGVuT2JqZWN0UHJv
dG90eXBlKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQpCiB7CiAgICAgdjg6OkhhbmRs
ZTx2ODo6U3RyaW5nPiBvYmplY3RTdHJpbmcgPSB2ODo6U3RyaW5nOjpOZXcoIk9iamVjdCIpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmggYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuaAppbmRleCAzY2YxYjUyZmE5NjNjODNm
MGRjOTJhMGVkZTgyNjYyNmJmZTNmMWFhLi4zMjJiNmRkNzFiYWYzZGI2NmRmZmJhNDRiYTNlOWEz
MzZjNjgzYTQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hl
bGwuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuaApAQCAtOTIs
NiArOTIsOCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBzZXRMb2NhdGlvbihET01XaW5k
b3cqLCBjb25zdCBTdHJpbmcmIHJlbGF0aXZlVVJMKTsKIAorICAgIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKCk7CisKIHByaXZhdGU6CiAgICAgVjhET01X
aW5kb3dTaGVsbChGcmFtZSopOwogCkBAIC0xMTksNiArMTIxLDcgQEAgcHJpdmF0ZToKICAgICB2
ODo6UGVyc2lzdGVudDx2ODo6Q29udGV4dD4gbV9jb250ZXh0OwogICAgIHY4OjpQZXJzaXN0ZW50
PHY4OjpPYmplY3Q+IG1fZ2xvYmFsOwogICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IG1f
ZG9jdW1lbnQ7CisgICAgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gbV9sYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmlu
ZGV4IDkxOGE4M2EwNmNlYjQ3MjBkODliZTFlNTVhZTgxYjU1MzlhNWRkMGIuLmNmZTFiYzU2YWU2
NzA2YTRmYzdiMjRjYWI2Y2NkOTU2ZDgwMmE1NGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC02MCw2ICs2
MCw3IEBACiAjaW5jbHVkZSAiSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50Lmgi
CisjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmgiCiAjaW5jbHVkZSAiTG9jYXRp
b24uaCIKICNpbmNsdWRlICJTdHlsZU1lZGlhLmgiCiAjaW5jbHVkZSAiTWVzc2FnZUV2ZW50Lmgi
CkBAIC01OTIsNiArNTkzLDEzIEBAIExvY2F0aW9uKiBET01XaW5kb3c6OmxvY2F0aW9uKCkgY29u
c3QKICAgICByZXR1cm4gbV9sb2NhdGlvbi5nZXQoKTsKIH0KIAorTGF5b3V0VGVzdENvbnRyb2xs
ZXJDb3JlKiBET01XaW5kb3c6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpIGNvbnN0Cit7Cisg
ICAgaWYgKCFtX2xheW91dFRlc3RDb250cm9sbGVyQ29yZSkKKyAgICAgICAgbV9sYXlvdXRUZXN0
Q29udHJvbGxlckNvcmUgPSBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OmNyZWF0ZShtX2ZyYW1l
KTsKKyAgICByZXR1cm4gbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuZ2V0KCk7Cit9CisKICNp
ZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiBTdG9yYWdlKiBET01XaW5kb3c6OnNlc3Npb25TdG9yYWdl
KEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGJlYjJmN2Q2ZTEzMjE4
MTk5NjkyYzAwOTE1MDQ5MjBlNmRlODM3YmIuLmE3MTBlNzk4ZTkyNmFhODJiMDY2YzBiZGZiNmVj
NWNhMzdjMmUyYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTU1LDYgKzU1LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIEhpc3Rvcnk7CiAgICAgY2xhc3MgSW5kZXhlZERhdGFiYXNlUmVxdWVz
dDsKICAgICBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OworICAgIGNsYXNzIExheW91dFRl
c3RDb250cm9sbGVyQ29yZTsKICAgICBjbGFzcyBMb2NhdGlvbjsKICAgICBjbGFzcyBTdHlsZU1l
ZGlhOwogICAgIGNsYXNzIE5hdmlnYXRvcjsKQEAgLTM3Nyw2ICszNzgsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIERPTUFwcGxpY2F0aW9uQ2FjaGUqIG9wdGlvbmFsQXBwbGljYXRp
b25DYWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZS5nZXQoKTsgfQogI2Vu
ZGlmCiAKKyAgICAgICAgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKiBsYXlvdXRUZXN0Q29udHJv
bGxlckNvcmUoKSBjb25zdDsKKwogICAgICAgICB1c2luZyBSZWZDb3VudGVkPERPTVdpbmRvdz46
OnJlZjsKICAgICAgICAgdXNpbmcgUmVmQ291bnRlZDxET01XaW5kb3c+OjpkZXJlZjsKIApAQCAt
NDA3LDYgKzQxMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoV0VCX1RJTUlO
RykKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2U+IG1fcGVyZm9ybWFuY2U7CiAj
ZW5kaWYKKyAgICAgICAgbXV0YWJsZSBSZWZQdHI8TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlPiBt
X2xheW91dFRlc3RDb250cm9sbGVyQ29yZTsKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8TG9jYXRp
b24+IG1fbG9jYXRpb247CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFN0eWxlTWVkaWE+IG1fbWVk
aWE7CiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0xh
eW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgYi9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YjM2NWU4NzgwMmE1OTBlODczZWUxNzI2M2Y3NmYz
YmZmN2FiN2I3Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250
cm9sbGVyQ29yZS5jcHAKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb25D
b2RlLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitGcmFtZSogTGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlOjpmcmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZnJhbWU7
Cit9CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpkaXNjb25uZWN0RnJhbWUoKQor
eworICAgIG1fZnJhbWUgPSAwOworfQorCitpbnQgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpk
b2N1bWVudE1ha2VyU2l6ZUZvck5vZGUoTm9kZSosIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAor
eworICAgIGlmICghdmVyaWZ5Q29ubmVjdGVkKGVjKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAg
ICAvLyBGSVhNRTogaW1wbGVtZW50CisgICAgcmV0dXJuIDA7Cit9CisKK1N0cmluZyBMYXlvdXRU
ZXN0Q29udHJvbGxlckNvcmU6OmRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2RlQXQoTm9kZSosIGlu
dCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCF2ZXJpZnlDb25uZWN0ZWQo
ZWMpKQorICAgICAgICByZXR1cm4gIiI7CisKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50CisgICAg
cmV0dXJuICIiOworfQorCitMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OkxheW91dFRlc3RDb250
cm9sbGVyQ29yZShGcmFtZSogZnJhbWUpCisgICAgOiBtX2ZyYW1lKGZyYW1lKQoreworfQorCiti
b29sIExheW91dFRlc3RDb250cm9sbGVyQ29yZTo6dmVyaWZ5Q29ubmVjdGVkKEV4Y2VwdGlvbkNv
ZGUmIGVjKSBjb25zdAoreworICAgIGlmICghbV9mcmFtZSkgeworICAgICAgICBlYyA9IElOVkFM
SURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJu
IHRydWU7Cit9CisKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIGIvV2ViQ29yZS9wYWdlL0xheW91dFRl
c3RDb250cm9sbGVyQ29yZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1ZjJjYmVlMzJlYTgzMzNmYmVhMDJhMTNi
M2VlZmJlZmY2ZTFiNDgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIExheW91dFRlc3RDb250
cm9sbGVyQ29yZV9oCisjZGVmaW5lIExheW91dFRlc3RDb250cm9sbGVyQ29yZV9oCisKKyNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGcmFt
ZTsKK2NsYXNzIE5vZGU7CitjbGFzcyBTdHJpbmc7Cit0eXBlZGVmIGludCBFeGNlcHRpb25Db2Rl
OworCitjbGFzcyBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgOiBwdWJsaWMgUmVmQ291bnRlZDxM
YXlvdXRUZXN0Q29udHJvbGxlckNvcmU+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoZnJhbWUpKTsgfQorCisgICAg
RnJhbWUqIGZyYW1lKCkgY29uc3Q7CisgICAgdm9pZCBkaXNjb25uZWN0RnJhbWUoKTsKKworICAg
IGludCBkb2N1bWVudE1ha2VyU2l6ZUZvck5vZGUoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKSBjb25z
dDsKKyAgICBTdHJpbmcgZG9jdW1lbnRNYWtlclN0cmluZ0Zvck5vZGVBdChOb2RlKiwgaW50LCBF
eGNlcHRpb25Db2RlJikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgYm9vbCB2ZXJpZnlDb25uZWN0
ZWQoRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIExheW91dFRlc3RDb250cm9sbGVyQ29yZShG
cmFtZSopOworCisgICAgRnJhbWUqIG1fZnJhbWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmVfaApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwgYi9XZWJDb3JlL3BhZ2Uv
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzUyZmQ0MWM5MzAzYTIw
M2JkN2U3ZmRjZTg4OGQzYjM2ODkxN2E2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdl
L0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgd2lu
ZG93IHsKKworICAgIGludGVyZmFjZSBbT21pdENvbnN0cnVjdG9yXSBMYXlvdXRUZXN0Q29udHJv
bGxlckNvcmUgeworICAgICAgICBsb25nIGRvY3VtZW50TWFrZXJTaXplRm9yTm9kZShpbiBOb2Rl
IG5vZGUpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBET01TdHJpbmcgZG9jdW1lbnRN
YWtlclN0cmluZ0Zvck5vZGVBdChpbiBOb2RlIG5vZGUsIGluIGxvbmcgaW5kZXgpIHJhaXNlcyhE
T01FeGNlcHRpb24pOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDUwMzk5MjUzMjliOTVj
YTdjNWVkNzY3YjY2YmIyZTkzMzgyNzk3ZGYuLmI0YzBlYzE4NzQ5MWZjNWIxNjNlMDU5OTIzNzYw
NzFlNjYyYzk1OWEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA3LTIxICBN
T1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRz
IHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgor
CisgICAgICAgIEFkZGVkIGFuIGFjY2Vzc29yIGZvciBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
CisgICAgICAgIAorICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogcHVibGljL1dlYkZy
YW1lLmg6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lSW1wbDo6bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKToKKyAgICAgICAgKiBzcmMv
V2ViRnJhbWVJbXBsLmg6CisKIDIwMTAtMDctMTkgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29n
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5hdGUgQ2hhcGluLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cApp
bmRleCBiNDdkNzU2MjZlZjRmYmZiYWM2ZWYxMDBlMTYyMjE2MTVmYzNhNjMxLi4yM2IwNWRiYjY1
NjJjOGM4M2QyOTg1YTI3NmE4OGM1NWU3YzA5ZmNjIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21p
dW0vV2ViS2l0Lmd5cAorKysgYi9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtNzMzLDcg
KzczMyw4IEBACiAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdGhpcmRfcGFy
dHkvaWN1L2ljdS5neXA6aWN1dWMnLAogICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19k
aXIpL3dlYmtpdC9zdXBwb3J0L3dlYmtpdF9zdXBwb3J0Lmd5cDpjb3B5X25wYXBpX2xheW91dF90
ZXN0X3BsdWdpbicsCiAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2Rpcikvd2Via2l0
L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuZ3lwOndlYmtpdF9zdXBwb3J0JywKLSAgICAgICAgICAg
ICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9ncHUvZ3B1Lmd5cDpnbGVzMl9jX2xpYicKKyAgICAg
ICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9ncHUvZ3B1Lmd5cDpnbGVzMl9jX2xpYics
CisgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdjgvdG9vbHMvZ3lwL3Y4Lmd5
cDp2OCcKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAnaW5jbHVkZV9kaXJzJzogWwogICAg
ICAgICAgICAgICAgICcuJywKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RnJhbWUuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAppbmRleCBjNGZhN2Fl
NTIwZDY4NDQxMGM0OTBiOTEyMjFjZmM0NDQ2NDA4MzUwLi5hZWJmNzc4OWJiNzA5M2ZjMjMzNGVi
MmIyNmE5YzViOTQyN2JmYTFmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkZyYW1lLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCkBAIC00MCw2
ICs0MCw3IEBAIHN0cnVjdCBOUE9iamVjdDsKIG5hbWVzcGFjZSB2OCB7CiBjbGFzcyBDb250ZXh0
OwogY2xhc3MgVmFsdWU7CitjbGFzcyBPYmplY3Q7CiB0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3Mg
SGFuZGxlOwogdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIExvY2FsOwogfQpAQCAtMjM5LDYgKzI0
MCwxMCBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJucyB0aGUgVjggY29udGV4dCBmb3IgdGhpcyBm
cmFtZSwgb3IgYW4gZW1wdHkgaGFuZGxlIGlmIHRoZXJlCiAgICAgLy8gaXMgbm9uZS4KICAgICB2
aXJ0dWFsIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gbWFpbldvcmxkU2NyaXB0Q29udGV4dCgpIGNv
bnN0ID0gMDsKKworICAgIC8vIFJldHVybnMgVjggb2JqZWN0IHRoYXQgd3JhcHMgTGF5b3VUdGVz
dENvbnRyb2xsZXJDb3JlIGluc3RhbmNlLgorICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKSBjb25zdCA9IDA7CisKICNlbmRpZgogCiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCA1MzVkMTI4YTZhN2E5MGMzNjI1
ZDhiNTFiYjczYWFlMzJlMjFkODYwLi5kMjgzNzg5MGQ2YzdkMTcyMDU2OWMzYTg3NGMzNzIwYzA0
YjI0NmIxIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAK
KysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC03OTgsNiArNzk4
LDEyIEBAIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gV2ViRnJhbWVJbXBsOjptYWluV29ybGRTY3Jp
cHRDb250ZXh0KCkgY29uc3QKIAogICAgIHJldHVybiBWOFByb3h5OjptYWluV29ybGRDb250ZXh0
KG1fZnJhbWUpOwogfQorCit2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFdlYkZyYW1lSW1wbDo6bGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZS0+c2Ny
aXB0KCktPnByb3h5KCktPndpbmRvd1NoZWxsKCktPmxheW91dFRlc3RDb250cm9sbGVyQ29yZSgp
OworfQorCiAjZW5kaWYKIAogYm9vbCBXZWJGcmFtZUltcGw6Omluc2VydFN0eWxlVGV4dCgKZGlm
ZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmggYi9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4IDI1MTFmY2UxNDdlZTdhNDdmMzUyOThmYzdk
NGQ2Y2Y5OGE2NWUxNWEuLjc3OWUzOWExZTlmNTM5NWIyMTY2NTFhZDFkNDAwOGIxM2RmZTRjYWUg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKKysrIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAtMTA0LDYgKzEwNCw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleGVjdXRlU2NyaXB0QW5kUmV0
dXJuVmFsdWUoCiAgICAgICAgIGNvbnN0IFdlYlNjcmlwdFNvdXJjZSYpOwogICAgIHZpcnR1YWwg
djg6OkxvY2FsPHY4OjpDb250ZXh0PiBtYWluV29ybGRTY3JpcHRDb250ZXh0KCkgY29uc3Q7Cisg
ICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGxheW91dFRlc3RDb250cm9sbGVyQ29y
ZSgpIGNvbnN0OwogI2VuZGlmCiAgICAgdmlydHVhbCBib29sIGluc2VydFN0eWxlVGV4dChjb25z
dCBXZWJTdHJpbmcmIGNzcywgY29uc3QgV2ViU3RyaW5nJiBpZCk7CiAgICAgdmlydHVhbCB2b2lk
IHJlbG9hZChib29sIGlnbm9yZUNhY2hlKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdl
TG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggODAzYmYxMjViZWZhMDlkOTVhOTM2NjEz
Y2EwMTI4MWRmZDQ0M2EyZi4uYTE0OGEzZmM3ZTg1ZjNjYjczNmUwYTAwOWY4NzExMjVlMzEyNjIw
ZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJp
dGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBEUlQgc2hvdWxkIGFsbG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBp
bnRlcm5hbCBzdGF0ZXMgZm9yIHNldHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2MTIKKworICAgICAgICBBZGRlZCBhbiBh
Y2Nlc3NvciBmb3IgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLgorCisgICAgICAgICogd2Via2l0
L3dlYmtpdHdlYmZyYW1lLmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfbGF5b3V0X3Rlc3RfY29u
dHJvbGxlcl9jb3JlKToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViZnJhbWUuaDoKKwogMjAx
MC0wNy0xNiAgWmhlIFN1ICA8c3V6aGVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vi
ZnJhbWUuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwCmluZGV4IDM0
NGY5NGUyNzBhYWM3YTA3Njg3OWNiYjZmNGExMDRhYjAxZjc5OTYuLjFhM2NjN2U2MjI1MTJhOWY1
YjcxOWFlNzc0ZjczYjFiMTA3OTMzNjUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYmZyYW1lLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5j
cHAKQEAgLTEyNDYsMyArMTI0NiwyMyBAQCBXZWJLaXROZXR3b3JrUmVzcG9uc2UqIHdlYmtpdF93
ZWJfZnJhbWVfZ2V0X25ldHdvcmtfcmVzcG9uc2UoV2ViS2l0V2ViRnJhbWUqIGZyYQogCiAgICAg
cmV0dXJuIHdlYmtpdF9uZXR3b3JrX3Jlc3BvbnNlX25ld193aXRoX2NvcmVfcmVzcG9uc2UobG9h
ZGVyLT5yZXNwb25zZSgpKTsKIH0KKworLyoqCisgKiB3ZWJraXRfd2ViX2xheW91dF90ZXN0X2Nv
bnRyb2xsZXJfY29yZToKKyAqIEBmcmFtZTogYSAjV2ViS2l0V2ViRnJhbWUKKyAqCisgKiBHZXRz
IHRoZSBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZnJhbWUu
CisgKgorICogUmV0dXJuIHZhbHVlOiB0aGUgTGF5b3V0VGVzdENvbnRyb2xsZXIgaW5zdGFuY2UK
KyAqLworSlNWYWx1ZVJlZiB3ZWJraXRfd2ViX2xheW91dF90ZXN0X2NvbnRyb2xsZXJfY29yZShX
ZWJLaXRXZWJGcmFtZSogZnJhbWUpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lU
X0lTX1dFQl9GUkFNRShmcmFtZSksIE5VTEwpOworCisgICAgRnJhbWUqIGNvcmVGcmFtZSA9IGNv
cmUoZnJhbWUpOworICAgIGlmICghY29yZUZyYW1lKQorICAgICAgICByZXR1cm4gTlVMTDsKKwor
ICAgIEpTQzo6RXhlY1N0YXRlKiBleGVjID0gY29yZUZyYW1lLT5zY3JpcHQoKS0+Z2xvYmFsT2Jq
ZWN0KHdvcmxkKS0+Z2xvYmFsRXhlYygpOworICAgIHJldHVybiB0b1JlZihleGVjLCBKU0M6OkpT
VmFsdWUoY29yZUZyYW1lLT5zY3JpcHQoKS0+bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKG1haW5U
aHJlYWROb3JtYWxXb3JsZCgpKSkpOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2ViZnJhbWUuaCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmgKaW5k
ZXggMjhkNzExMzNmMDBjMDQwNWMwMmZkYjkxN2VmNDAxN2QyN2M2YmMzNC4uNGQ5YjUzNGFlNzg1
MWU1MGM3NTZhOWY3M2RjMDNjYTEwMzc2ZjY0MCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2ViZnJhbWUuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFt
ZS5oCkBAIC0xNDUsNiArMTQ1LDkgQEAgd2Via2l0X3dlYl9mcmFtZV9maW5kX2ZyYW1lICAgICAg
ICAgKFdlYktpdFdlYkZyYW1lICAgICAgICpmcmFtZSwKIFdFQktJVF9BUEkgSlNHbG9iYWxDb250
ZXh0UmVmCiB3ZWJraXRfd2ViX2ZyYW1lX2dldF9nbG9iYWxfY29udGV4dCAoV2ViS2l0V2ViRnJh
bWUgICAgICAgKmZyYW1lKTsKIAorV0VCS0lUX0FQSSBKU1ZhbHVlUmVmCit3ZWJraXRfd2ViX2xh
eW91dF90ZXN0X2NvbnRyb2xsZXJfY29yZShXZWJLaXRXZWJGcmFtZSAgICAgKmZyYW1lKTsKKwog
V0VCS0lUX0FQSSBHdGtQcmludE9wZXJhdGlvblJlc3VsdAogd2Via2l0X3dlYl9mcmFtZV9wcmlu
dF9mdWxsICAgICAgICAgKFdlYktpdFdlYkZyYW1lICAgICAgICpmcmFtZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBHdGtQcmludE9wZXJhdGlvbiAgICAqb3BlcmF0aW9u
LApkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCA2M2U3MzJkNzg5MDZkYzdmNzEwYmNmZDA0NTE0ZDA5ZTc4NDhiMmJjLi5mZjhiNGU2
YWRiODgzMjNiNGNiNzdkMGE5YTg1NTkzMjIyMmE4M2IwIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFj
L0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDEwLTA3LTIxICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cg
dGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAv
dmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00MjYxMgorCisgICAgICAgIEFkZGVkIGFuIGFjY2Vzc29yIGZvciBMYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lLm1tOgorICAgICAgICAo
LVtXZWJGcmFtZSBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmVdKToKKyAgICAgICAgKiBXZWJWaWV3
L1dlYkZyYW1lUHJpdmF0ZS5oOgorCiAyMDEwLTA3LTE5ICBDaHJpcyBNYXJyaW4gIDxjbWFycmlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdp
dCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbSBiL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJGcmFtZS5tbQppbmRleCBiNzFkNTAxZGZjZmE5YjE3OTUxNzQ4Y2VkZjVhOTIyOGExMWY2ZWVk
Li40NTRkN2RjMTkwODAyYTcyZDVkYzdmZWFhMjM5M2UxZjBiMzVhNDM5IDEwMDY0NAotLS0gYS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkZyYW1lLm1tCkBAIC0xMzQwLDYgKzEzNDAsMTYgQEAgc3RhdGljIGlubGluZSBXZWJEYXRhU291
cmNlICpkYXRhU291cmNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgcmV0dXJuIGNvcmVG
cmFtZS0+bGF5ZXJUcmVlQXNUZXh0KCk7CiB9CiAKKy0gKEpTVmFsdWVSZWYpbGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlCit7CisgICAgRnJhbWUqIGNvcmVGcmFtZSA9IF9wcml2YXRlLT5jb3JlRnJh
bWU7CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVybiAwOworICAgIERPTVdyYXBw
ZXJXb3JsZCogd29ybGQgPSBtYWluVGhyZWFkTm9ybWFsV29ybGQoKTsKKyAgICBKU0M6OkV4ZWNT
dGF0ZSogZXhlYyA9IGNvcmVGcmFtZS0+c2NyaXB0KCktPmdsb2JhbE9iamVjdCh3b3JsZCktPmds
b2JhbEV4ZWMoKTsKKyAgICByZXR1cm4gdG9SZWYoZXhlYywgSlNWYWx1ZShjb3JlRnJhbWUtPnNj
cmlwdCgpLT5sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUobWFpblRocmVhZE5vcm1hbFdvcmxkKCkp
KSk7Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYkZyYW1lCmRpZmYgLS1naXQgYS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmggYi9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViRnJhbWVQcml2YXRlLmgKaW5kZXggMGJkYTk2NmFiYmRmYzk0N2M2MjFkNDE0MjlmYjhmN2I5
NzAwOGRiZC4uMTNjODk4YTdiMTE4OTQ3MGI1MTNiMzU0YmU5NTdkYWM5MzVmZWYwOSAxMDA2NDQK
LS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCisrKyBiL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaApAQCAtMTM2LDQgKzEzNiw3IEBAIHR5cGVkZWYg
ZW51bSB7CiAKIC0gKE5TU3RyaW5nKilfbGF5ZXJUcmVlQXNUZXh0OwogCisvLyBSZXR1cm5zIGFz
c29jaWF0ZWQgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIG9iamVjdCAKKy0gKEpTVmFsdWVSZWYp
bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOworCiBAZW5kCmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDFhOTJkZDBiNDRhN2FlNWIy
NDg5MWFmNmNjYzMzYzkzMzQ1MDliZDQuLjc5Njg2NjdhZjAzNjlkNzRjYmU0MjAyNjU2YjYxY2I0
MzJkOGI2NzYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93
aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUg
IDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxvdyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdl
YkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEyCisKKyAgICAgICAgQWRk
ZWQgYW4gYWNjZXNzb3IgZm9yIExheW91dFRlc3RDb250cm9sbGVyQ29yZS4KKyAgICAgICAgCisg
ICAgICAgICogSW50ZXJmYWNlcy9JV2ViRnJhbWUuaWRsOgorICAgICAgICAqIFdlYkZyYW1lLmNw
cDoKKyAgICAgICAgKFdlYkZyYW1lOjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpOgorICAgICAg
ICAqIFdlYkZyYW1lLmg6CisKIDIwMTAtMDctMTkgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0u
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCmRpZmYgLS1naXQgYS9XZWJL
aXQvd2luL0ludGVyZmFjZXMvSVdlYkZyYW1lLmlkbCBiL1dlYktpdC93aW4vSW50ZXJmYWNlcy9J
V2ViRnJhbWUuaWRsCmluZGV4IGRhMmE3OGYyOTJhY2JjNzhhMTJmYmNjNjg4OTYxNTY2ZWVmZTZh
YTIuLmM2NGFiZTlhZDI0ODU1ODYwM2FjNjE0YTE2OTdlMWUwMjJjMWY1ODUgMTAwNjQ0Ci0tLSBh
L1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViRnJhbWUuaWRsCisrKyBiL1dlYktpdC93aW4vSW50
ZXJmYWNlcy9JV2ViRnJhbWUuaWRsCkBAIC0yNDEsNiArMjQxLDEyIEBAIGludGVyZmFjZSBJV2Vi
RnJhbWUgOiBJVW5rbm93bgogICAgICovCiAgICBbbG9jYWxdIEpTR2xvYmFsQ29udGV4dFJlZiBn
bG9iYWxDb250ZXh0KCk7CiAKKyAgICAvKiEKKyAgICAgICAgQG1ldGhvZCBsYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUKKyAgICAgICAgQHJlc3VsdCBUaGUgZnJhbWUncyBhc3NvY2lhdGVkIExheW91
dFRlc3RDb250cm9sbGVyQ29yZSBvYmplY3QKKyAgICAqLworICAgW2xvY2FsXSBKU1ZhbHVlUmVm
IGxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpOworCiAgICAvKiEKICAgICAgICAgQG1ldGhvZCBz
ZXRJc0Rpc2Nvbm5lY3RlZAogICAgICAgICBAYWJzdHJhY3QgU2V0IHdoZXRoZXIgYSBmcmFtZSBp
cyBkaXNjb25uZWN0ZWQKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwIGIvV2Vi
S2l0L3dpbi9XZWJGcmFtZS5jcHAKaW5kZXggNTcwNWYxZWIwNDdlZTllMjIyNTlmZTk2NDVjYmQ2
YzZjZGQ3ZjhhYy4uYWVhMTc5MjhiNzhlOGU2YzJiYTY4MGZkMmMxNzdmZmNhN2Q4Yjk0YyAxMDA2
NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJGcmFt
ZS5jcHAKQEAgLTUyMiw2ICs1MjIsMTggQEAgSlNHbG9iYWxDb250ZXh0UmVmIFNURE1FVEhPRENB
TExUWVBFIFdlYkZyYW1lOjpnbG9iYWxDb250ZXh0KCkKICAgICByZXR1cm4gdG9HbG9iYWxSZWYo
Y29yZUZyYW1lLT5zY3JpcHQoKS0+Z2xvYmFsT2JqZWN0KG1haW5UaHJlYWROb3JtYWxXb3JsZCgp
KS0+Z2xvYmFsRXhlYygpKTsKIH0KIAorSlNWYWx1ZVJlZiBTVERNRVRIT0RDQUxMVFlQRSBXZWJG
cmFtZTo6bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKCkKK3sKKyAgICBGcmFtZSogY29yZUZyYW1l
ID0gY29yZSh0aGlzKTsKKyAgICBpZiAoIWNvcmVGcmFtZSkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICBET01XcmFwcGVyV29ybGQqIHdvcmxkID0gbWFpblRocmVhZE5vcm1hbFdvcmxkKCk7Cisg
ICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBjb3JlRnJhbWUtPnNjcmlwdCgpLT5nbG9iYWxPYmpl
Y3Qod29ybGQpLT5nbG9iYWxFeGVjKCk7CisgICAgcmV0dXJuIHRvUmVmKGV4ZWMsIEpTVmFsdWUo
Y29yZUZyYW1lLT5zY3JpcHQoKS0+bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKG1haW5UaHJlYWRO
b3JtYWxXb3JsZCgpKSkpOworfQorCisKIEpTR2xvYmFsQ29udGV4dFJlZiBXZWJGcmFtZTo6Z2xv
YmFsQ29udGV4dEZvclNjcmlwdFdvcmxkKElXZWJTY3JpcHRXb3JsZCogaVdvcmxkKQogewogICAg
IEZyYW1lKiBjb3JlRnJhbWUgPSBjb3JlKHRoaXMpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9X
ZWJGcmFtZS5oIGIvV2ViS2l0L3dpbi9XZWJGcmFtZS5oCmluZGV4IGMxNGRkYzkxNzAzNmU1MTU0
NzY5YjEzNmFlOWE0Y2JiMDJmOTJlNDYuLmVjZmE4YTBjYzMzNTBjNTU1MzZiYjYwNmQyMTVmM2Qx
N2NkNmJiNTMgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRnJhbWUuaAorKysgYi9XZWJLaXQv
d2luL1dlYkZyYW1lLmgKQEAgLTE1Myw2ICsxNTMsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8qIFty
ZXR2YWxdW291dF0gKi8gSURPTUVsZW1lbnQgKipmb3JtRWxlbWVudCk7CiAKICAgICB2aXJ0dWFs
IC8qIFtsb2NhbF0gKi8gSlNHbG9iYWxDb250ZXh0UmVmIFNURE1FVEhPRENBTExUWVBFIGdsb2Jh
bENvbnRleHQoKTsKKyAgICB2aXJ0dWFsIC8qIFtsb2NhbF0gKi8gSlNWYWx1ZVJlZiBTVERNRVRI
T0RDQUxMVFlQRSBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKTsKIAogICAgIC8vIElXZWJGcmFt
ZVByaXZhdGUKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdW51c2VkMShC
U1RSKikgeyByZXR1cm4gRV9OT1RJTVBMOyB9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFu
Z2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggMDM4MjdmOThkYTMxZDEyOWQ2YzVi
NDY2NjBhYzgxMzZlZGVlYTA3ZC4uZThlZmU2NDc1ZDBkZjZkMWNjZWJjZDBhZGE3OGUwZjNiNDgw
YjgwOCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEwLTA3LTIxICBNT1JJVEEgSGFqaW1lICA8
bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJD
b3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgorCisgICAgICAgIEV4dGVu
ZGVkIExheW91dFRlc3RDb250cm9sbGVyIG9iamVjdCBieSBhZGRpbmcgZGVsZ2F0aW9uIG1ldGhv
ZHMKKyAgICAgICAgZm9yIExheW91dFRlc3RDb250cm9sbGVyQ29yZSBwcm92aWRlZCBieSBXZWJG
cmFtZS4gIAorICAgICAgICBOb3cgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIGhhcyBtZXRo
b2RzIGRlZmluZWQgaW4KKyAgICAgICAgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLiAgCisgICAg
ICAgIAorICAgICAgICBMYXlvdXRUZXN0Q29udHJvbGxlclF0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0
LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VEZWxlZ2F0aW9uTWV0aG9kcyk6Cisg
ICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZVdpbmRvd09iamVjdCk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwOgorICAgICAgICAoVGVzdFNoZWxsOjpi
aW5kSlNPYmplY3RzVG9XaW5kb3cpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9EdW1w
UmVuZGVyVHJlZS5jcHA6CisgICAgICAgICh3ZWJWaWV3V2luZG93T2JqZWN0Q2xlYXJlZCk6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tOgorICAgICAg
ICAoLVtGcmFtZUxvYWREZWxlZ2F0ZSBkaWRDbGVhcldpbmRvd09iamVjdEluU3RhbmRhcmRXb3Js
ZEZvckZyYW1lOl0pOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9GcmFtZUxvYWREZWxl
Z2F0ZS5jcHA6CisgICAgICAgIChGcmFtZUxvYWREZWxlZ2F0ZTo6ZGlkQ2xlYXJXaW5kb3dPYmpl
Y3RGb3JGcmFtZUluU3RhbmRhcmRXb3JsZCk6CisKIDIwMTAtMDctMTkgIERhbmllbCBCYXRlcyAg
PGRiYXRlc0ByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5j
cHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
aW5kZXggNmE5NTdjMTI2ZWY2MTc3MWEyODZiMGVkZmQzNGI3MzBhYzU2OGIyYi4uZTA2NTE0NjJi
ZDJiOWNmNGIzODhkZWNkZjIzMTlmMjk0ZjU3ZDEwMiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTY5NSw5ICsxNjk1
LDI4IEBAIHN0YXRpYyB2b2lkIGxheW91dFRlc3RDb250cm9sbGVyT2JqZWN0RmluYWxpemUoSlNP
YmplY3RSZWYgb2JqZWN0KQogICAgIGNvbnRyb2xsZXItPmRlcmVmKCk7CiB9CiAKK3N0YXRpYyBj
b25zdCBjaGFyIHNldHVwTGF5b3V0VGVzdENvbnRyb2xsZXJTY3JpcHRbXSA9IAorICAgICJmdW5j
dGlvbiBkZWxlZ2F0ZShkc3QsIHNyYywgbmFtZSkgeyBkc3RbbmFtZV0gPSBmdW5jdGlvbigpIHsg
cmV0dXJuIHNyY1tuYW1lXS5hcHBseShzcmMsIGFyZ3VtZW50cyk7IH0gfVxuIgorICAgICJmb3Ig
KHZhciBuYW1lIGluIHRoaXMuY29yZSkge1xuIgorICAgICIgICAgZGVsZWdhdGUodGhpcywgdGhp
cy5jb3JlLCBuYW1lKTtcbiIKKyAgICAifVxuIjsKKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6bWFrZURlbGVnYXRpb25NZXRob2RzKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJl
ZiB0aGlzT2JqZWN0LCBKU1ZhbHVlUmVmIGNvcmVPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlv
bikKK3sKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gY29yZVN0cihBZG9wdCwgSlNTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImNvcmUiKSk7CisgICAgSlNPYmplY3RTZXRQcm9wZXJ0
eShjb250ZXh0LCB0aGlzT2JqZWN0LCBjb3JlU3RyLmdldCgpLCBjb3JlT2JqZWN0LCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZU5vbmUsIGV4Y2VwdGlvbik7CisgICAgQVNTRVJUKCEqZXhjZXB0aW9uKTsK
KworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiB1cmxTdHIoQWRvcHQsIEpTU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJzZXR1cF9sYXlvdXRfdGVzdF9jb250cm9sbGVyX3Rlc3QuanMi
KSk7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHNjcmlwdFN0cihBZG9wdCwgSlNTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoc2V0dXBMYXlvdXRUZXN0Q29udHJvbGxlclNjcmlwdCkp
OworICAgIEFTU0VSVCghKmV4Y2VwdGlvbik7CisgICAgSlNFdmFsdWF0ZVNjcmlwdChjb250ZXh0
LCBzY3JpcHRTdHIuZ2V0KCksIHRoaXNPYmplY3QsIHVybFN0ci5nZXQoKSwgMSwgZXhjZXB0aW9u
KTsKKyAgICBBU1NFUlQoISpleGNlcHRpb24pOworfQorCiAvLyBPYmplY3QgQ3JlYXRpb24KIAot
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYg
Y29udGV4dCwgSlNPYmplY3RSZWYgd2luZG93T2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24p
Cit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlv
biwgSlNWYWx1ZVJlZiBjb3JlKQogewogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsYXlv
dXRUZXN0Q29udG9sbGVyU3RyKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
bGF5b3V0VGVzdENvbnRyb2xsZXIiKSk7CiAgICAgcmVmKCk7CkBAIC0xNzA2LDYgKzE3MjUsOSBA
QCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aQogICAgIEpTVmFsdWVSZWYgbGF5b3V0VGVzdENvbnRv
bGxlck9iamVjdCA9IEpTT2JqZWN0TWFrZShjb250ZXh0LCBjbGFzc1JlZiwgdGhpcyk7CiAgICAg
SlNDbGFzc1JlbGVhc2UoY2xhc3NSZWYpOwogCisgICAgaWYgKGNvcmUpCisgICAgICAgIG1ha2VE
ZWxlZ2F0aW9uTWV0aG9kcyhjb250ZXh0LCBKU1ZhbHVlVG9PYmplY3QoY29udGV4dCwgbGF5b3V0
VGVzdENvbnRvbGxlck9iamVjdCwgZXhjZXB0aW9uKSwgY29yZSwgZXhjZXB0aW9uKTsKKwogICAg
IEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwgd2luZG93T2JqZWN0LCBsYXlvdXRUZXN0Q29u
dG9sbGVyU3RyLmdldCgpLCBsYXlvdXRUZXN0Q29udG9sbGVyT2JqZWN0LCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlLCBleGNlcHRp
b24pOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENv
bnRyb2xsZXIuaAppbmRleCAzMGViOWJkNGY4NDRkNGNhOWMzZWVjYWI3YzY2ZWQwZTc3OTM4Nzhm
Li4xMjhhMDFjN2VlMDQ0MzEwYjBkYmI0ZWE4OTYxYmM0ZTgzYzkzZWI4IDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTQyLDcg
KzQyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPExheW91dFRlc3RDb250cm9s
bGVyPiBjcmVhdGUoY29uc3Qgc3RkOjpzdHJpbmcmIHRlc3RQYXRoT3JVUkwsIGNvbnN0IHN0ZDo6
c3RyaW5nJiBleHBlY3RlZFBpeGVsSGFzaCk7CiAgICAgfkxheW91dFRlc3RDb250cm9sbGVyKCk7
CiAKLSAgICB2b2lkIG1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2Jq
ZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKKyAgICB2b2lkIG1h
a2VEZWxlZ2F0aW9uTWV0aG9kcyhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhp
c09iamVjdCwgSlNWYWx1ZVJlZiBjb3JlT2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOwor
ICAgIHZvaWQgbWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RS
ZWYgd2luZG93T2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24sIEpTVmFsdWVSZWYgY29yZSA9
IDApOwogCiAgICAgdm9pZCBhZGREaXNhbGxvd2VkVVJMKEpTU3RyaW5nUmVmIHVybCk7CiAgICAg
dm9pZCBjbGVhckFsbERhdGFiYXNlcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKaW5kZXggNTA3ZjA4NDIyMDRkYjIyMWZkYzQ0ZmQ5
NDdmZDhjY2IyYmExMWEzZC4uZDU2ZWE5Njg2NDAwNTIyNDMxYzI0ZjZmZWFhYTQ4ZThmOWI2MWNk
ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNo
ZWxsLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hl
bGwuY3BwCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSAicHVibGljL1dlYkhpc3RvcnlJdGVt
LmgiCiAjaW5jbHVkZSAicHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oIgogI2luY2x1ZGUgInB1
YmxpYy9XZWJTY3JpcHRDb250cm9sbGVyLmgiCisjaW5jbHVkZSAicHVibGljL1dlYlNjcmlwdFNv
dXJjZS5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJTZXR0aW5ncy5oIgogI2luY2x1ZGUgInB1Ymxp
Yy9XZWJTaXplLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYlN0cmluZy5oIgpAQCAtNTQsNiArNTUs
NyBAQAogI2luY2x1ZGUgInB1YmxpYy9XZWJWaWV3LmgiCiAjaW5jbHVkZSAic2tpYS9leHQvYml0
bWFwX3BsYXRmb3JtX2RldmljZS5oIgogI2luY2x1ZGUgInNraWEvZXh0L3BsYXRmb3JtX2NhbnZh
cy5oIgorI2luY2x1ZGUgInY4LmgiCiAjaW5jbHVkZSAid2Via2l0L3N1cHBvcnQvd2Via2l0X3N1
cHBvcnQuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8Y2N0eXBlPgpAQCAtNjA4
LDYgKzYxMCwxMiBAQCB2b2lkIFRlc3RTaGVsbDo6ZHVtcEltYWdlKHNraWE6OlBsYXRmb3JtQ2Fu
dmFzKiBjYW52YXMpIGNvbnN0CiAgICAgICAgIG1fcHJpbnRlci0+aGFuZGxlSW1hZ2UobWQ1aGFz
aC5jX3N0cigpLCBtX3BhcmFtcy5waXhlbEhhc2guY19zdHIoKSwgMCwgMCwgbV9wYXJhbXMucGl4
ZWxGaWxlTmFtZS5jX3N0cigpKTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgc2V0dXBMYXlvdXRU
ZXN0Q29udHJvbGxlclNjcmlwdFtdID0gCisgICAgImZ1bmN0aW9uIGRlbGVnYXRlKGRzdCwgc3Jj
LCBuYW1lKSB7IGRzdFtuYW1lXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gc3JjW25hbWVdLmFwcGx5
KHNyYywgYXJndW1lbnRzKTsgfSB9XG4iCisgICAgImZvciAodmFyIG5hbWUgaW4gbGF5b3V0VGVz
dENvbnRyb2xsZXIuY29yZSkge1xuIgorICAgICIgICAgZGVsZWdhdGUobGF5b3V0VGVzdENvbnRy
b2xsZXIsIGxheW91dFRlc3RDb250cm9sbGVyLmNvcmUsIG5hbWUpO1xuIgorICAgICJ9XG4iOwor
CiB2b2lkIFRlc3RTaGVsbDo6YmluZEpTT2JqZWN0c1RvV2luZG93KFdlYkZyYW1lKiBmcmFtZSkK
IHsKICAgICBtX2FjY2Vzc2liaWxpdHlDb250cm9sbGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZyYW1l
LCBXZWJTdHJpbmc6OmZyb21VVEY4KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlciIpKTsKQEAgLTYx
NSw2ICs2MjMsMTYgQEAgdm9pZCBUZXN0U2hlbGw6OmJpbmRKU09iamVjdHNUb1dpbmRvdyhXZWJG
cmFtZSogZnJhbWUpCiAgICAgbV9ldmVudFNlbmRlci0+YmluZFRvSmF2YXNjcmlwdChmcmFtZSwg
V2ViU3RyaW5nOjpmcm9tVVRGOCgiZXZlbnRTZW5kZXIiKSk7CiAgICAgbV9wbGFpblRleHRDb250
cm9sbGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZyYW1lLCBXZWJTdHJpbmc6OmZyb21VVEY4KCJwbGFp
blRleHQiKSk7CiAgICAgbV90ZXh0SW5wdXRDb250cm9sbGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZy
YW1lLCBXZWJTdHJpbmc6OmZyb21VVEY4KCJ0ZXh0SW5wdXRDb250cm9sbGVyIikpOworICAgIAor
ICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRl
eHQ+IGNvbnRleHQgPSBmcmFtZS0+bWFpbldvcmxkU2NyaXB0Q29udGV4dCgpOworICAgIHY4OjpD
b250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUgPSBjb250ZXh0OworICAgIHY4OjpMb2NhbDx2ODo6
T2JqZWN0PiBsYXlvdXRUZXN0Q29udHJvbGxlck9iaiA9ICp2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
OjpDYXN0KGNvbnRleHQtPkdsb2JhbCgpLT5HZXRSZWFsTmFtZWRQcm9wZXJ0eSh2ODo6U3RyaW5n
OjpOZXcoImxheW91dFRlc3RDb250cm9sbGVyIikpKTsKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVj
dD4gY29yZU9iaiA9ICpmcmFtZS0+bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKCk7CisgICAgYm9v
bCBvayA9IGxheW91dFRlc3RDb250cm9sbGVyT2JqLT5TZXQodjg6OkhhbmRsZTx2ODo6VmFsdWU+
KHY4OjpTdHJpbmc6Ok5ldygiY29yZSIpKSwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KGNvcmVPYmop
LCB2ODo6Tm9uZSk7CisgICAgQVNTRVJUKG9rKTsKKworICAgIGZyYW1lLT5leGVjdXRlU2NyaXB0
QW5kUmV0dXJuVmFsdWUoV2ViU2NyaXB0U291cmNlKFdlYlN0cmluZzo6ZnJvbVVURjgoc2V0dXBM
YXlvdXRUZXN0Q29udHJvbGxlclNjcmlwdCksIFdlYlVSTChHVVJMKCJzZXR1cF9sYXlvdXRfdGVz
dF9jb250cm9sbGVyLmpzIikpLCAwKSk7CiB9CiAKIFdlYlZpZXdIb3N0KiBUZXN0U2hlbGw6OmNy
ZWF0ZVdlYlZpZXcoKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3Rr
L0R1bXBSZW5kZXJUcmVlLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1w
UmVuZGVyVHJlZS5jcHAKaW5kZXggMjgxMjIyNDBkYjRiMTQ0ZmNhM2E4MGVjYTU4NjgyYTcxOTgw
ZWJmYi4uNWIwZjc2MTMyMDYwMDM3NDQ2N2NmNGM4NTdjM2ZjYmQwNjY4NzFlZSAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCkBAIC02
NTYsNyArNjU2LDggQEAgc3RhdGljIHZvaWQgd2ViVmlld1dpbmRvd09iamVjdENsZWFyZWQoV2Vi
S2l0V2ViVmlldyogdmlldywgV2ViS2l0V2ViRnJhbWUqIGZyYW0KICAgICBKU1ZhbHVlUmVmIGV4
Y2VwdGlvbiA9IDA7CiAgICAgQVNTRVJUKGdMYXlvdXRUZXN0Q29udHJvbGxlcik7CiAKLSAgICBn
TGF5b3V0VGVzdENvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgd2luZG93T2Jq
ZWN0LCAmZXhjZXB0aW9uKTsKKyAgICBKU1ZhbHVlUmVmIGxheW91dFRlc3RDb250cm9sbGVyQ29y
ZSA9IHdlYmtpdF93ZWJfbGF5b3V0X3Rlc3RfY29udHJvbGxlcl9jb3JlKGZyYW1lKTsKKyAgICBn
TGF5b3V0VGVzdENvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgd2luZG93T2Jq
ZWN0LCAmZXhjZXB0aW9uLCBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpOwogICAgIEFTU0VSVCgh
ZXhjZXB0aW9uKTsKIAogICAgIGdjQ29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0
LCB3aW5kb3dPYmplY3QsICZleGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCmluZGV4IDk2M2VhZTcwZmE1OWQ4MWVm
Y2ZlYjhhYjFlODgzNmM1NTdjN2FjY2QuLjY5M2Q0NDMxNmYwOWRiZDk5OGMwMjUyMjI2OTdkZTZk
Y2Y1ZjkwY2IgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFt
ZUxvYWREZWxlZ2F0ZS5tbQorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJh
bWVMb2FkRGVsZWdhdGUubW0KQEAgLTI0NSw3ICsyNDUsOCBAQAogICAgIEpTVmFsdWVSZWYgZXhj
ZXB0aW9uID0gMDsKIAogICAgIEFTU0VSVChnTGF5b3V0VGVzdENvbnRyb2xsZXIpOwotICAgIGdM
YXlvdXRUZXN0Q29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCBnbG9iYWxPYmpl
Y3QsICZleGNlcHRpb24pOworICAgIEpTVmFsdWVSZWYgbGF5b3V0VGVzdENvbnRyb2xsZXJDb3Jl
ID0gW2ZyYW1lIGxheW91dFRlc3RDb250cm9sbGVyQ29yZV07CisgICAgZ0xheW91dFRlc3RDb250
cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlv
biwgbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKTsKICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CiAK
ICAgICBnY0NvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0
LCAmZXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9GcmFtZUxvYWREZWxlZ2F0ZS5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4v
RnJhbWVMb2FkRGVsZWdhdGUuY3BwCmluZGV4IGE4NGUwZjNlMTMyY2NhZjY5MjU0N2RhNTZhNjcw
NzRjMDBkYjJiM2YuLjdmYzllMWJmODkxNTk0NzYzYWQzMDdhNTZkZDJkNjBhNjkyMDRmZmUgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9GcmFtZUxvYWREZWxlZ2F0
ZS5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0ZyYW1lTG9hZERlbGVn
YXRlLmNwcApAQCAtMzQ4LDcgKzM0OCw4IEBAIHZvaWQgRnJhbWVMb2FkRGVsZWdhdGU6OmRpZENs
ZWFyV2luZG93T2JqZWN0Rm9yRnJhbWVJblN0YW5kYXJkV29ybGQoSVdlYkZyYW1lKiBmCiAgICAg
bV9nY0NvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgd2luZG93T2JqZWN0LCAm
ZXhjZXB0aW9uKTsKICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CiAKLSAgICBtX2FjY2Vzc2liaWxp
dHlDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvd09iamVjdCwgJmV4
Y2VwdGlvbik7CisgICAgSlNWYWx1ZVJlZiBjb3JlID0gZnJhbWUtPmxheW91dFRlc3RDb250cm9s
bGVyQ29yZSgpOworICAgIG1fYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmpl
Y3QoY29udGV4dCwgd2luZG93T2JqZWN0LCAmZXhjZXB0aW9uLCBjb3JlKTsKICAgICBBU1NFUlQo
IWV4Y2VwdGlvbik7CiAKICAgICBKU1N0cmluZ1JlZiBldmVudFNlbmRlclN0ciA9IEpTU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJldmVudFNlbmRlciIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62166</attachid>
            <date>2010-07-21 05:11:33 -0700</date>
            <delta_ts>2010-07-21 05:39:45 -0700</delta_ts>
            <desc>rebased</desc>
            <filename>bug-42612-20100721211131.patch</filename>
            <type>text/plain</type>
            <size>56163</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwODQ1ZWExZDBjOWE1ZGQ0ODllNmM4ZDBmNDM4NjRmNDBhYzNlMmYyLi42NTEwZjgx
OGE0YTM2YzNiYzc2NjU1NGFhOThmNDUxMWZlMzlkOTBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgQWRkZWQgYW4gYWNjZXNzb3IgZm9yIExheW91dFRlc3RD
b250cm9sbGVyQ29yZS4KKyAgICAgICAgCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3Njcmlw
dC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29y
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ct
bGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6CisKIDIwMTAtMDctMjEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LWxh
eW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy9zY3JpcHQtdGVzdHMvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lOGY5ZTliYjMzZGQyOWJkNWYwZWM2YzVjYmY0ZjA5OWZhZjc3YmJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5k
b3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmpzCkBAIC0wLDAgKzEsNyBAQAorZGVzY3Jp
cHRpb24oIndpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciBzaG91bGQgaGF2ZSBmdW5jdGlvbnMg
ZGVmaW5lZCBpbiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsIik7Cit3aW5kb3cubm9kZSA9
IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKTsKK3Nob3VsZEJlVHJ1ZSgidW5kZWZpbmVkICE9
IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciIpOworc2hvdWxkQmVUcnVlKCJ1bmRlZmluZWQg
IT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50TWFrZXJTaXplRm9yTm9kZSIp
Oworc2hvdWxkQmVUcnVlKCIwID09IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kb2N1bWVu
dE1ha2VyU2l6ZUZvck5vZGUod2luZG93Lm5vZGUpIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRv
dy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE0ODJmYzI2NjUwNDdlZThiYTA4NGIyY2RiMTIzMmZhZGEyNmI2
M2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBA
QAord2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIHNob3VsZCBoYXZlIGZ1bmN0aW9ucyBkZWZp
bmVkIGluIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgdW5kZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ciBpcyB0cnVlCitQQVNTIHVuZGVmaW5lZCAhPSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIu
ZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlIGlzIHRydWUKK1BBU1MgMCA9PSB3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKHdpbmRvdy5ub2RlKSBpcyB0
cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVz
dC1jb250cm9sbGVyLWNvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTg2M2Q2YTFl
NDFjNTJhNjVmNTRlZDI1MjM1NjhjNWY5YjQyOWYyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3Jl
Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1j
b3JlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lw
cGVkCmluZGV4IGJiY2Q4Mjg0ZDllNGRjMTczYTY0ZDZlMjdmN2RlMzNlNzg0M2FlNDEuLjYyZTdj
OGFkNjA3NGE0NjMwOGY4NjUxNzBhNmJmN2YwNTVlODNiZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZApAQCAtNjI5LDYgKzYyOSw5IEBAIGZhc3QvZm9ybXMvbGlzdGJveC13aWR0aC1jaGFuZ2Uu
aHRtbAogZmFzdC9mb3Jtcy9wbGFpbnRleHQtbW9kZS0yLmh0bWwKIGZhc3QvZm9ybXMvbWVudWxp
c3Qtd2lkdGgtY2hhbmdlLmh0bWwKIAorIyBjdXJyZW50bHkgTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlIGlzIG5vdCBzdXBwb3J0ZWQgaHR0cDovL3dlYmtpdC5vcmcvYi80MjYxMgorZmFzdC9kb20v
V2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuaHRtbAorCiAjID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSAjCiAjIGZhaWxpbmcgbWVkaWEgdGVzdHMKICMgPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ICMKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDc5MTkzMTcxNGQ1Mjk5NzhkMmFkZTY4NGJhNTcyNDFlZTdhOGE0YzMu
LjQ0Y2M3NDRjMmZjMTk3MzQ4NWYzODM2YjA5MmNiYjIxYTMxYjhjOTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzE0
LDYgKzMxNCw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2UvR2VvcG9zaXRpb24u
aWRsCiAgICAgcGFnZS9IaXN0b3J5LmlkbAogICAgIHBhZ2UvTG9jYXRpb24uaWRsCisgICAgcGFn
ZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbAog
ICAgIHBhZ2UvTmF2aWdhdGlvbi5pZGwKICAgICBwYWdlL05hdmlnYXRvci5pZGwKQEAgLTExNTIs
NiArMTE1Myw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwYWdlL0dlb2xvY2F0aW9uUG9z
aXRpb25DYWNoZS5jcHAKICAgICBwYWdlL0hpc3RvcnkuY3BwCiAgICAgcGFnZS9Mb2NhdGlvbi5j
cHAKKyAgICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAKICAgICBwYWdlL01lbW9y
eUluZm8uY3BwCiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcAogICAg
IHBhZ2UvTmF2aWdhdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNzQ1NTNhNGJlYmRlNzkwYzIwMGM0MjIwMjE0MjhmNGQ4YzY1
NjgxNi4uYjExMWE0MzUxM2NlNzE5MmFhOTI1ZTk4ZTlhNTdiNDRmOTE0ZDdlZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
OSBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQgc2hvdWxk
IGFsbG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9y
IHNldHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDI2MTIKKyAgICAgICAgCisgICAgICAgIEludHJvZHVjaW5nIExheW91dFRl
c3RDb250cm9sbGVyQ29yZSwgdGhhdCB3aWxsIGhhdmUgV2ViQ29yZS1zaWRlCisgICAgICAgIGlt
cGxlbWVudGF0aW9uIG9mIExheW91dFRlc3RDb250cm9sbGVyLiBUaGUgaW5zdGFuY2UgaXMgb3du
ZWQgYnkKKyAgICAgICAgRE9NV2luZG93LiAgQ3VycmVudGx5IGRvY3VtZW50TWFrZXJTaXplRm9y
Tm9kZSgpIGFuZAorICAgICAgICBkb2N1bWVudE1ha2VyU3RyaW5nRm9yTm9kZUF0KCkgYXJlIGp1
c3QgYSBzdHViLiAgVGhlc2UKKyAgICAgICAgaW1wbGVtZW50YXRpb24gd2lsbCBjb21lIGxhdGVy
LgorICAgICAgICAKKyAgICAgICAgVGVzdDogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQt
dGVzdC1jb250cm9sbGVyLWNvcmUuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToK
KyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAg
ICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93U2hlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6SlNET01X
aW5kb3dTaGVsbCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpsYXlvdXRU
ZXN0Q29udHJvbGxlckNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hl
bGwuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSk6
CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhET01X
aW5kb3dTaGVsbDo6bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9WOERPTVdpbmRvd1NoZWxsLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICogcGFnZS9MYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250
cm9sbGVyQ29yZTo6ZnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xs
ZXJDb3JlOjpkaXNjb25uZWN0RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlOjpkb2N1bWVudE1ha2VyU2l6ZUZvck5vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpkb2N1bWVudE1ha2VyU3RyaW5nRm9yTm9kZUF0
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyQ29yZTo6TGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVy
Q29yZTo6dmVyaWZ5Q29ubmVjdGVkKToKKyAgICAgICAgKiBwYWdlL0xheW91dFRlc3RDb250cm9s
bGVyQ29yZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVy
Q29yZTo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5p
ZGw6IEFkZGVkLgorCiAyMDEwLTA3LTIxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXgg
N2M1M2U4Njk1YmM4MzdkYzliMDBjYjc5ZTlmZTg1YjdkMGY0NTZlZS4uYjY0YzFkMzZiMTZlMzg2
MjQwZjAwNjUwZjVmODJjNTQxZGIwZjA3YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjM3LDYgKzIz
Nyw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIEluc3BlY3RvckZyb250ZW5kSG9zdCBcCiAgICAg
S2V5Ym9hcmRFdmVudCBcCiAgICAgTG9jYXRpb24gXAorICAgIExheW91dFRlc3RDb250cm9sbGVy
Q29yZSBcCiAgICAgTWVkaWFFcnJvciBcCiAgICAgTWVkaWFMaXN0IFwKICAgICBNZW1vcnlJbmZv
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCmluZGV4IDJhYWM5YTFiMDMwYWQxM2ViNTJmZWIwYWY0YTNmM2ZiMGFhMjljY2QuLmRj
ZWY1MDA2N2RiN2FjMjM4ZTdkN2QzNDUwNGE1ZmE5YmE5N2ZmZWUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDEwLDYg
KzQxMCw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0tleWJvYXJkRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2F0
aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9uLmggXAorCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUVycm9yLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU01lZGlhRXJyb3IuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhTGlz
dC5jcHAgXApAQCAtMTc4Myw2ICsxNzg1LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJD
b3JlL3BhZ2UvSGlzdG9yeS5oIFwKIAlXZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwIFwKIAlXZWJD
b3JlL3BhZ2UvTG9jYXRpb24uaCBcCisJV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVy
Q29yZS5jcHAgXAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCBcCiAJ
V2ViQ29yZS9wYWdlL01lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oIFwKIAlXZWJDb3JlL3BhZ2UvTWVt
b3J5SW5mby5jcHAgXAogCVdlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmggXApAQCAtNDU0MCw2ICs0
NTQ0LDcgQEAgSURMX0JJTkRJTkdTX0dET00gKz0gXAogCVdlYkNvcmUvcGFnZS9ET01TZWxlY3Rp
b24uaWRsIFwKIAlXZWJDb3JlL3BhZ2UvSGlzdG9yeS5pZGwgXAogCVdlYkNvcmUvcGFnZS9Mb2Nh
dGlvbi5pZGwgXAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsIFwK
IAlXZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5pZGwgXAogCVdlYkNvcmUvcGFnZS9OYXZpZ2F0b3Iu
aWRsIFwKIAlXZWJDb3JlL3BhZ2UvU2NyZWVuLmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBkM2RiN2IyYWM4NDgw
ZDA4NGZiOThkMjZhZDI1ODEyZjU0MTc0ZDU2Li5jZmY2NjFmZDg5YmI3NzM1N2RjNzg0M2YwZWE1
MDJkNDA4NDM5YWU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEyMDEsNiArMTIwMSw3IEBAIF9fTlBOX1NldEV4Y2Vw
dGlvbgogX19OUE5fU2V0UHJvcGVydHkKIF9fTlBOX1VURjhGcm9tSWRlbnRpZmllcgogX19aTjdX
ZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjB3aW5kb3dTY3JpcHROUE9iamVjdEV2CitfX1pON1dl
YkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyNGxheW91dFRlc3RDb250cm9sbGVyQ29yZUVQTlNfMTVE
T01XcmFwcGVyV29ybGRFCiBfX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyOWNsZWFudXBT
Y3JpcHRPYmplY3RzRm9yUGx1Z2luRVB2CiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3Q0dmll
d0V2CiBfX1pOSzdXZWJDb3JlMTRTZWN1cml0eU9yaWdpbjljYW5BY2Nlc3NFUEtTMF8KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
N2FhNWQ2MGMyZmYxOWYyODI2MTkxMTdlNTczNTZmNGZmYzM0ZTQwNi4uZmE1YTY3MzQ1MzY3MmNm
MWU5YWU1MjZiZWM2ZGI1ODFlNDkyNDZlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIxNSw2ICsyMTUsNyBAQAogICAgICAg
ICAgICAgJ3BhZ2UvR2VvcG9zaXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL0hpc3Rvcnku
aWRsJywKICAgICAgICAgICAgICdwYWdlL0xvY2F0aW9uLmlkbCcsCisgICAgICAgICAgICAncGFn
ZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsJywKICAgICAgICAgICAgICdwYWdlL01lbW9y
eUluZm8uaWRsJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRpb24uaWRsJywKICAgICAgICAg
ICAgICdwYWdlL05hdmlnYXRvci5pZGwnLApAQCAtMTk5OSw2ICsyMDAwLDggQEAKICAgICAgICAg
ICAgICdwYWdlL0hpc3RvcnkuaCcsCiAgICAgICAgICAgICAncGFnZS9Mb2NhdGlvbi5jcHAnLAog
ICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uaCcsCisgICAgICAgICAgICAncGFnZS9MYXlvdXRU
ZXN0Q29udHJvbGxlckNvcmUuY3BwJywKKyAgICAgICAgICAgICdwYWdlL0xheW91dFRlc3RDb250
cm9sbGVyQ29yZS5oJywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUluZm8uY3BwJywKICAgICAg
ICAgICAgICdwYWdlL01lbW9yeUluZm8uaCcsCiAgICAgICAgICAgICAncGFnZS9Nb3VzZUV2ZW50
V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCBkMzRkOTY5MTAwOWEzM2FiMTA1MzdlZTQzM2RhMTYyOWJmNDZhZjYyLi42OGZjNGEz
ZDVkY2Q4N2Y5MmI3N2NjMDQ4NGYzODQyNWU0MWZlMjhlIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTkwNjEsNiArOTA2MSw2MiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNw
cCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdp
bjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9v
bA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVh
c2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
RGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0xheW91dFRlc3RDb250
cm9sbGVyQ29yZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU01lZGlhRXJyb3IuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
QEAgLTIyMzQ1LDYgKzIyNDAxLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBh
Z2VcTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJl
c3VsdHMuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzQ3ZGNmNzlmNzBkZGE5YTY1M2Y5Y2NlMmZiZjg0NWU5
ODkxMjkxNy4uZWQ0ODlhMzk0ZDlkMTdjZDg1MGU1Y2JiN2VjZWY0MzViNGE5MDBiNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI2NzcsNiArMjY3Nyw4
IEBACiAJCUE3MTg3ODkwMEIyRDA0QUMwMEExNkVDRSAvKiBEcmFnQ29udHJvbGxlck1hYy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MTg3ODhGMEIy
RDA0QUMwMEExNkVDRSAvKiBEcmFnQ29udHJvbGxlck1hYy5tbSAqLzsgfTsKIAkJQTczNTJDMTkw
QjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MzUyQzE3MEIxQkI4OUQwMEE5ODZEMCAvKiBS
ZW5kZXJTVkdCbG9jay5jcHAgKi87IH07CiAJCUE3MzUyQzFBMEIxQkI4OUQwMEE5ODZEMCAvKiBS
ZW5kZXJTVkdCbG9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTczNTJDMTgwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmggKi87IH07
CisJCUE3NDVEMkU2MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc0NUQy
RTMxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgKi87IH07
CisJCUE3NDVEMkU3MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDVEMkU0
MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCAqLzsgfTsKIAkJ
QTc1RTQ5NzYxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RTQ5NzQxMDc1MkFD
QjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE3NUU0OTc3MTA3NTJBQ0IwMEM5Qjg5NiAv
KiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTc1RTQ5NzUxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5jcHAgKi87IH07CiAJCUE3NUU4Qjg4MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUJs
ZW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
NUU4QjgwMEUxREUyRDYwMDdGMjQ4MSAvKiBGRUJsZW5kLmNwcCAqLzsgfTsKQEAgLTI2ODcsNiAr
MjY4OSw4IEBACiAJCUE3NUU4QjhEMEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvbmVudFRyYW5z
ZmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVF
OEI4NTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb25lbnRUcmFuc2Zlci5oICovOyB9OwogCQlB
NzVFOEI4RTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RThCODYwRTFERTJENjAwN0YyNDgx
IC8qIEZFQ29tcG9zaXRlLmNwcCAqLzsgfTsKIAkJQTc1RThCOEYwRTFERTJENjAwN0YyNDgxIC8q
IEZFQ29tcG9zaXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNzVFOEI4NzBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuaCAqLzsgfTsKKwkJ
QTc3NTU4RTMxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NzU1OEUx
MTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgKi87IH07
CisJCUE3NzU1OEU0MTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3NTU4
RTIxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi87IH07
CiAJCUE3Nzk3OTE5MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3OTc5MTMwRDZCOUQwQzAwMzg1
MUI5IC8qIEltYWdlRGF0YS5jcHAgKi87IH07CiAJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4NTFCOSAv
KiBJbWFnZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3Nzk3OTE0MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLzsgfTsKIAkJQTc3
OTc5MjgwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Nzk3OTI0MEQ2QjlFNjQwMDM4NTFCOSAv
KiBKU0ltYWdlRGF0YS5jcHAgKi87IH07CkBAIC04Mzg3LDYgKzgzOTEsOSBAQAogCQlBNzFBNzBD
OTExQUZCMDIwMDA5ODlENkQgLyogSFRNTE1ldGVyRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gSFRNTE1ldGVyRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE3MzUyQzE3MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHQmxvY2suY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzM1MkMxODBCMUJCODlEMDBBOTg2RDAgLyogUmVu
ZGVyU1ZHQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNW
R0Jsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NDVEMkUzMTFGNUIzNzkw
MEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc0NUQyRTQxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91
dFRlc3RDb250cm9sbGVyQ29yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBM
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTc0NUQyRTUxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RTQ5NzQxMDc1MkFDQjAwQzlCODk2IC8qIFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1
RTQ5NzUxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFOEI4MDBFMURFMkQ2MDA3RjI0ODEg
LyogRkVCbGVuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGRUJs
ZW5kLmNwcDsgcGF0aCA9IGZpbHRlcnMvRkVCbGVuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC04Mzk3LDYgKzg0MDQsOCBAQAogCQlBNzVFOEI4NTBFMURFMkQ2MDA3RjI0ODEg
LyogRkVDb21wb25lbnRUcmFuc2Zlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBGRUNvbXBvbmVudFRyYW5zZmVyLmg7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNm
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODYwRTFERTJENjAwN0Yy
NDgxIC8qIEZFQ29tcG9zaXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IEZFQ29tcG9zaXRlLmNwcDsgcGF0aCA9IGZpbHRlcnMvRkVDb21wb3NpdGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFOEI4NzBFMURFMkQ2MDA3RjI0ODEgLyogRkVD
b21wb3NpdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRkVDb21wb3NpdGUu
aDsgcGF0aCA9IGZpbHRlcnMvRkVDb21wb3NpdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTc3NTU4RTExMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc3NTU4
RTIxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTEzMEQ2QjlEMEMwMDM4NTFCOSAv
KiBJbWFnZURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1h
Z2VEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc3OTc5MTQwRDZCOUQw
QzAwMzg1MUI5IC8qIEltYWdlRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJbWFnZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc3OTc5MTUwRDZC
OUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW1h
Z2VEYXRhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMjU0LDYgKzEyMjYz
LDkgQEAKIAkJNjVCRjAyMTgwOTc0ODA2MzAwQzQzMTk2IC8qIHBhZ2UgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUE3NDVEMkUzMTFGNUIzNzkwMEFDRDAy
MyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICovLAorCQkJCUE3NDVEMkU0MTFGNUIz
NzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCAqLywKKwkJCQlBNzQ1RDJF
NTExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbCAqLywKIAkJ
CQkzMTZGRTEwNjBFNkUxRDg0MDBCRjYwODggLyogYW5pbWF0aW9uICovLAogCQkJCTkzQzA5QTgy
MEIwNjRGMDUwMDVBQkQ0RCAvKiBtYWMgKi8sCiAJCQkJODUzOEYwMDAwQUQ3MTc3MDAwNkE4MUQx
IC8qIEFic3RyYWN0Vmlldy5pZGwgKi8sCkBAIC0xNTk0Miw2ICsxNTk1NCw4IEBACiAJCUJDOTg1
NDQzMENEM0Q5RDAwMDA2OUJDMSAvKiBXaW5kb3cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCUE3NzU1OEUxMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91
dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgKi8sCisJCQkJQTc3NTU4RTIxMUY1QjYwMjAwQjQzQUMx
IC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi8sCiAJCQkJQkMxMjRFRkQwQzI2NDQ3
QTAwOUUyMzQ5IC8qIEpTQmFySW5mby5jcHAgKi8sCiAJCQkJQkMxMjRFRkUwQzI2NDQ3QTAwOUUy
MzQ5IC8qIEpTQmFySW5mby5oICovLAogCQkJCUJDOTg1NDNCMENEM0Q5OEIwMDA2OUJDMSAvKiBK
U0NvbnNvbGUuY3BwICovLApAQCAtMTk4MzIsNiArMTk4NDYsOCBAQAogCQkJCTk3REQ0RDg3MEZE
RjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTE3MkUw
MTExMzZFOENFMDA2MkE1MzMgLyogWm9vbU1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCThDNkVB
NjFBMTFFRjdFMDQwMEZEOEVFMyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlBNzQ1RDJFNzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xs
ZXJDb3JlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzc1NThFNDExRjVCNjAyMDBCNDNBQzEgLyog
SlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjIyMjUsNiAr
MjIyNDEsOCBAQAogCQkJCUUxQkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNv
cnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdERDREODYwRkRGNEQ2RTAwRUNGOUE0IC8qIFhT
U0F1ZGl0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEM2RUE2MTkxMUVGN0UwNDAwRkQ4RUUz
IC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc0NUQy
RTYxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlBNzc1NThFMzExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmNwcAppbmRleCA2NTA5NmI5M2MwNmQ4MzdhNDE0YWQ3YTgzZmI2YTYxOWQyMTdm
YWZmLi5jMTIzZGY4MDUwNjk2MmE5MmViNWNiOGRmMTA0MWFlMzEzMTE5Yzg0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2lu
Y2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSlNET01XaW5kb3cuaCIKKyNpbmNsdWRlICJKU0xh
eW91dFRlc3RDb250cm9sbGVyQ29yZS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1
ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlIDxydW50aW1lL0pTT2JqZWN0Lmg+CkBA
IC00Niw2ICs0Nyw3IEBAIGNvbnN0IENsYXNzSW5mbyBKU0RPTVdpbmRvd1NoZWxsOjpzX2luZm8g
PSB7ICJKU0RPTVdpbmRvd1NoZWxsIiwgMCwgMCwgMCB9OwogSlNET01XaW5kb3dTaGVsbDo6SlNE
T01XaW5kb3dTaGVsbChQYXNzUmVmUHRyPERPTVdpbmRvdz4gd2luZG93LCBET01XcmFwcGVyV29y
bGQqIHdvcmxkKQogICAgIDogQmFzZShKU0RPTVdpbmRvd1NoZWxsOjpjcmVhdGVTdHJ1Y3R1cmUo
anNOdWxsKCkpKQogICAgICwgbV93aW5kb3coMCkKKyAgICAsIG1fbGF5b3V0VGVzdENvbnRyb2xs
ZXJDb3JlKDApCiAgICAgLCBtX3dvcmxkKHdvcmxkKQogewogICAgIHNldFdpbmRvdyh3aW5kb3cp
OwpAQCAtNjksNiArNzEsMTYgQEAgdm9pZCBKU0RPTVdpbmRvd1NoZWxsOjpzZXRXaW5kb3coUGFz
c1JlZlB0cjxET01XaW5kb3c+IGRvbVdpbmRvdykKICAgICBzZXRXaW5kb3coanNET01XaW5kb3cp
OwogfQogCitKU09iamVjdCogSlNET01XaW5kb3dTaGVsbDo6bGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlKCkKK3sKKyAgICBpZiAoIW1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKSB7CisgICAgICAg
IEV4ZWNTdGF0ZSogZXhlYyA9IHdpbmRvdygpLT5nbG9iYWxFeGVjKCk7CisgICAgICAgIG1fbGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlID0gdG9KUyhleGVjLCB3aW5kb3coKSwgd2luZG93KCktPmlt
cGwoKS0+bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKCkpLnRvT2JqZWN0KGV4ZWMpOworICAgIH0K
KworICAgIHJldHVybiBtX2xheW91dFRlc3RDb250cm9sbGVyQ29yZTsKK30KKwogLy8gLS0tLQog
Ly8gSlNPYmplY3QgbWV0aG9kcwogLy8gLS0tLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd1NoZWxsLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
U2hlbGwuaAppbmRleCA4ODgzMjVkMDNmY2M4ZjM0YzllMzNhYTI1ZmFhZDAzMzI1NDgzZjcxLi5k
ZWEyZmFlOTA1MmM5MjU5OGVjNjI1Y2Y5NmJjNDVhMGFlYzA4N2VmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93U2hlbGwuaApAQCAtNTIsNiArNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIH0KICAgICAgICAgdm9pZCBzZXRXaW5kb3coUGFzc1JlZlB0cjxET01XaW5k
b3c+KTsKIAorICAgICAgICBKU0M6OkpTT2JqZWN0KiBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUo
KTsKKwogICAgICAgICBzdGF0aWMgY29uc3QgSlNDOjpDbGFzc0luZm8gc19pbmZvOwogCiAgICAg
ICAgIERPTVdpbmRvdyogaW1wbCgpIGNvbnN0OwpAQCAtODYsNiArODgsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgY29uc3QgSlNDOjpDbGFzc0luZm8qIGNsYXNzSW5m
bygpIGNvbnN0IHsgcmV0dXJuICZzX2luZm87IH0KIAogICAgICAgICBKU0RPTVdpbmRvdyogbV93
aW5kb3c7CisgICAgICAgIEpTQzo6SlNPYmplY3QqIG1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3Jl
OwogICAgICAgICBSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiBtX3dvcmxkOwogICAgIH07CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDk4MDIyZDliMzViZDRj
MjlkZjFkY2U0ZWNkYmNmMWM4M2M0Y2UyYzguLjdjNWQ2Nzc5MjhiZDgyMjYwN2E2MDZmMjE4MjVl
ZjFmNmI5YjJhYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJv
bGxlci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcApA
QCAtNTA2LDQgKzUwNiw5IEBAIFNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVT
Y3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAorSlNPYmplY3QqIFNjcmlwdENvbnRyb2xsZXI6OmxheW91dFRlc3RDb250cm9s
bGVyQ29yZShET01XcmFwcGVyV29ybGQqIHdvcmxkKQoreworICAgIHJldHVybiB3aW5kb3dTaGVs
bCh3b3JsZCktPmxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xs
ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IDgwMTU1
ZTRiOTM1MGZjODRiMzI0MWQzZTMzN2YwNGQyNDY5ZGJkOTYuLjE4MWMzZjlmYmQ1MDlmMzA5MTlh
NGRmYjA3YzIyNjllYzUwZWM0OTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxl
ci5oCkBAIC05MCw2ICs5MCw4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiB3aW5k
b3dTaGVsbCh3b3JsZCktPndpbmRvdygpOwogICAgIH0KKyAgICAKKyAgICBKU0M6OkpTT2JqZWN0
KiBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCk7CiAKICAg
ICBzdGF0aWMgdm9pZCBnZXRBbGxXb3JsZHMoVmVjdG9yPERPTVdyYXBwZXJXb3JsZCo+Jik7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCmluZGV4IDcwMDYwYmM0ZDAx
MDE3MThlMTMxNWQyMTJlNmQ0YzdkNjk5ZGZiMzAuLjYzZjM3MTIxNDU1YzM5Y2Y3OTc4MGM5ODdl
ZjBhNTg4MmZmYjM1MGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5k
b3dTaGVsbC5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNw
cApAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgIlY4SFRNTERvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaCIKICNpbmNsdWRlICJWOEhpc3RvcnkuaCIKKyNpbmNs
dWRlICJWOExheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIgogI2luY2x1ZGUgIlY4TG9jYXRpb24u
aCIKICNpbmNsdWRlICJWOFByb3h5LmgiCiAjaW5jbHVkZSAiV29ya2VyQ29udGV4dEV4ZWN1dGlv
blByb3h5LmgiCkBAIC01NTIsNiArNTUzLDEyIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERP
TVdpbmRvd1NoZWxsOjpnZXRIaWRkZW5PYmplY3RQcm90b3R5cGUodjg6OkhhbmRsZTx2ODo6CiAg
ICAgcmV0dXJuIGNvbnRleHQtPkdsb2JhbCgpLT5HZXRIaWRkZW5WYWx1ZShWOEhpZGRlblByb3Bl
cnR5TmFtZTo6b2JqZWN0UHJvdG90eXBlKCkpOwogfQogCit2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IFY4RE9NV2luZG93U2hlbGw6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpCit7CisgICAgTGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlKiBjb3JlID0gbV9mcmFtZS0+ZG9tV2luZG93KCktPmxheW91
dFRlc3RDb250cm9sbGVyQ29yZSgpOworICAgIHJldHVybiBWOExheW91dFRlc3RDb250cm9sbGVy
Q29yZTo6d3JhcChjb3JlKTsKK30KKwogYm9vbCBWOERPTVdpbmRvd1NoZWxsOjppbnN0YWxsSGlk
ZGVuT2JqZWN0UHJvdG90eXBlKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQpCiB7CiAg
ICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBvYmplY3RTdHJpbmcgPSB2ODo6U3RyaW5nOjpOZXco
Ik9iamVjdCIpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1No
ZWxsLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuaAppbmRleCAzY2Yx
YjUyZmE5NjNjODNmMGRjOTJhMGVkZTgyNjYyNmJmZTNmMWFhLi4zMjJiNmRkNzFiYWYzZGI2NmRm
ZmJhNDRiYTNlOWEzMzZjNjgzYTQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NV2luZG93U2hlbGwuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hl
bGwuaApAQCAtOTIsNiArOTIsOCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBzZXRMb2Nh
dGlvbihET01XaW5kb3cqLCBjb25zdCBTdHJpbmcmIHJlbGF0aXZlVVJMKTsKIAorICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKCk7CisKIHByaXZhdGU6
CiAgICAgVjhET01XaW5kb3dTaGVsbChGcmFtZSopOwogCkBAIC0xMTksNiArMTIxLDcgQEAgcHJp
dmF0ZToKICAgICB2ODo6UGVyc2lzdGVudDx2ODo6Q29udGV4dD4gbV9jb250ZXh0OwogICAgIHY4
OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IG1fZ2xvYmFsOwogICAgIHY4OjpQZXJzaXN0ZW50PHY4
OjpPYmplY3Q+IG1fZG9jdW1lbnQ7CisgICAgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gbV9s
YXlvdXRUZXN0Q29udHJvbGxlckNvcmU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwCmluZGV4IDA2MmQwZGYxYWIyY2Q2N2UxMWRmYTdjYWQ4Y2Y1YzI4NmE1YzgwM2Eu
LjEwMGFjMTkxYjIxMzNlODk5ZGM5ZWQzZDRiMzQzZTIyMzFhZjkwOTQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CkBAIC02MCw2ICs2MCw3IEBACiAjaW5jbHVkZSAiSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1l
bGluZUFnZW50LmgiCisjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmgiCiAjaW5j
bHVkZSAiTG9jYXRpb24uaCIKICNpbmNsdWRlICJTdHlsZU1lZGlhLmgiCiAjaW5jbHVkZSAiTWVz
c2FnZUV2ZW50LmgiCkBAIC01OTIsNiArNTkzLDEzIEBAIExvY2F0aW9uKiBET01XaW5kb3c6Omxv
Y2F0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9sb2NhdGlvbi5nZXQoKTsKIH0KIAorTGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlKiBET01XaW5kb3c6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSgp
IGNvbnN0Cit7CisgICAgaWYgKCFtX2xheW91dFRlc3RDb250cm9sbGVyQ29yZSkKKyAgICAgICAg
bV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgPSBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OmNy
ZWF0ZShtX2ZyYW1lKTsKKyAgICByZXR1cm4gbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuZ2V0
KCk7Cit9CisKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiBTdG9yYWdlKiBET01XaW5kb3c6OnNl
c3Npb25TdG9yYWdlKEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGJl
YjJmN2Q2ZTEzMjE4MTk5NjkyYzAwOTE1MDQ5MjBlNmRlODM3YmIuLmE3MTBlNzk4ZTkyNmFhODJi
MDY2YzBiZGZiNmVjNWNhMzdjMmUyYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTU1LDYgKzU1LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhpc3Rvcnk7CiAgICAgY2xhc3MgSW5kZXhlZERh
dGFiYXNlUmVxdWVzdDsKICAgICBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OworICAgIGNs
YXNzIExheW91dFRlc3RDb250cm9sbGVyQ29yZTsKICAgICBjbGFzcyBMb2NhdGlvbjsKICAgICBj
bGFzcyBTdHlsZU1lZGlhOwogICAgIGNsYXNzIE5hdmlnYXRvcjsKQEAgLTM3Nyw2ICszNzgsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERPTUFwcGxpY2F0aW9uQ2FjaGUqIG9wdGlv
bmFsQXBwbGljYXRpb25DYWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZS5n
ZXQoKTsgfQogI2VuZGlmCiAKKyAgICAgICAgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKiBsYXlv
dXRUZXN0Q29udHJvbGxlckNvcmUoKSBjb25zdDsKKwogICAgICAgICB1c2luZyBSZWZDb3VudGVk
PERPTVdpbmRvdz46OnJlZjsKICAgICAgICAgdXNpbmcgUmVmQ291bnRlZDxET01XaW5kb3c+Ojpk
ZXJlZjsKIApAQCAtNDA3LDYgKzQxMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFC
TEUoV0VCX1RJTUlORykKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2U+IG1fcGVy
Zm9ybWFuY2U7CiAjZW5kaWYKKyAgICAgICAgbXV0YWJsZSBSZWZQdHI8TGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlPiBtX2xheW91dFRlc3RDb250cm9sbGVyQ29yZTsKICAgICAgICAgbXV0YWJsZSBS
ZWZQdHI8TG9jYXRpb24+IG1fbG9jYXRpb247CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFN0eWxl
TWVkaWE+IG1fbWVkaWE7CiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgYi9XZWJDb3JlL3BhZ2UvTGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YjM2NWU4NzgwMmE1OTBlODcz
ZWUxNzI2M2Y3NmYzYmZmN2FiN2I3Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL0xh
eW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmgiCisKKyNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJOb2RlLmgi
CisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitG
cmFtZSogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpmcmFtZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fZnJhbWU7Cit9CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpkaXNjb25u
ZWN0RnJhbWUoKQoreworICAgIG1fZnJhbWUgPSAwOworfQorCitpbnQgTGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlOjpkb2N1bWVudE1ha2VyU2l6ZUZvck5vZGUoTm9kZSosIEV4Y2VwdGlvbkNvZGUm
IGVjKSBjb25zdAoreworICAgIGlmICghdmVyaWZ5Q29ubmVjdGVkKGVjKSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50CisgICAgcmV0dXJuIDA7Cit9CisKK1N0
cmluZyBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OmRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2Rl
QXQoTm9kZSosIGludCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCF2ZXJp
ZnlDb25uZWN0ZWQoZWMpKQorICAgICAgICByZXR1cm4gIiI7CisKKyAgICAvLyBGSVhNRTogaW1w
bGVtZW50CisgICAgcmV0dXJuICIiOworfQorCitMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6Okxh
eW91dFRlc3RDb250cm9sbGVyQ29yZShGcmFtZSogZnJhbWUpCisgICAgOiBtX2ZyYW1lKGZyYW1l
KQoreworfQorCitib29sIExheW91dFRlc3RDb250cm9sbGVyQ29yZTo6dmVyaWZ5Q29ubmVjdGVk
KEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmICghbV9mcmFtZSkgeworICAgICAg
ICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor
CisgICAgcmV0dXJuIHRydWU7Cit9CisKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIGIvV2ViQ29yZS9w
YWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1ZjJjYmVlMzJlYTgz
MzNmYmVhMDJhMTNiM2VlZmJlZmY2ZTFiNDgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3Bh
Z2UvTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIExh
eW91dFRlc3RDb250cm9sbGVyQ29yZV9oCisjZGVmaW5lIExheW91dFRlc3RDb250cm9sbGVyQ29y
ZV9oCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBGcmFtZTsKK2NsYXNzIE5vZGU7CitjbGFzcyBTdHJpbmc7Cit0eXBlZGVmIGludCBF
eGNlcHRpb25Db2RlOworCitjbGFzcyBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgOiBwdWJsaWMg
UmVmQ291bnRlZDxMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU+IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU+IGNyZWF0ZShGcmFtZSogZnJh
bWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoZnJhbWUp
KTsgfQorCisgICAgRnJhbWUqIGZyYW1lKCkgY29uc3Q7CisgICAgdm9pZCBkaXNjb25uZWN0RnJh
bWUoKTsKKworICAgIGludCBkb2N1bWVudE1ha2VyU2l6ZUZvck5vZGUoTm9kZSosIEV4Y2VwdGlv
bkNvZGUmKSBjb25zdDsKKyAgICBTdHJpbmcgZG9jdW1lbnRNYWtlclN0cmluZ0Zvck5vZGVBdChO
b2RlKiwgaW50LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgYm9vbCB2
ZXJpZnlDb25uZWN0ZWQoRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIExheW91dFRlc3RDb250
cm9sbGVyQ29yZShGcmFtZSopOworCisgICAgRnJhbWUqIG1fZnJhbWU7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmVfaApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwgYi9X
ZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzUy
ZmQ0MWM5MzAzYTIwM2JkN2U3ZmRjZTg4OGQzYjM2ODkxN2E2Ci0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwKQEAgLTAsMCArMSwzOCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
Cittb2R1bGUgd2luZG93IHsKKworICAgIGludGVyZmFjZSBbT21pdENvbnN0cnVjdG9yXSBMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmUgeworICAgICAgICBsb25nIGRvY3VtZW50TWFrZXJTaXplRm9y
Tm9kZShpbiBOb2RlIG5vZGUpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBET01TdHJp
bmcgZG9jdW1lbnRNYWtlclN0cmluZ0Zvck5vZGVBdChpbiBOb2RlIG5vZGUsIGluIGxvbmcgaW5k
ZXgpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI5
NzAzNmJiYTljZDdlN2VmNDQxZTI0ODQ5MzIyY2Y0ZmVlMGIzNTcuLjRmYmMzNzVjMjZiMzYxNTlk
MTBhZDU2NGNjYzJkZGQ0ZTQyNzRhNjYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDEwLTA3LTIxICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cg
dGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAv
dmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00MjYxMgorCisgICAgICAgIEFkZGVkIGFuIGFjY2Vzc29yIGZvciBMYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUuCisgICAgICAgIAorICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICog
cHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKToKKyAg
ICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisKIDIwMTAtMDctMjEgIEhhbnMgV2VubmJvcmcg
IDxoYW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBTdGV2ZSBCbG9jay4K
ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvV2ViS2l0L2Nocm9taXVt
L1dlYktpdC5neXAKaW5kZXggYjQ3ZDc1NjI2ZWY0ZmJmYmFjNmVmMTAwZTE2MjIxNjE1ZmMzYTYz
MS4uMjNiMDVkYmI2NTYyYzhjODNkMjk4NWEyNzZhODhjNTVlN2MwOWZjYyAxMDA2NDQKLS0tIGEv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAKQEAgLTczMyw3ICs3MzMsOCBAQAogICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19k
aXIpL3RoaXJkX3BhcnR5L2ljdS9pY3UuZ3lwOmljdXVjJywKICAgICAgICAgICAgICAgICAnPChj
aHJvbWl1bV9zcmNfZGlyKS93ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5neXA6Y29weV9u
cGFwaV9sYXlvdXRfdGVzdF9wbHVnaW4nLAogICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3Ny
Y19kaXIpL3dlYmtpdC9zdXBwb3J0L3dlYmtpdF9zdXBwb3J0Lmd5cDp3ZWJraXRfc3VwcG9ydCcs
Ci0gICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvZ3B1L2dwdS5neXA6Z2xlczJf
Y19saWInCisgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvZ3B1L2dwdS5neXA6
Z2xlczJfY19saWInLAorICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3Y4L3Rv
b2xzL2d5cC92OC5neXA6djgnCiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgJ2luY2x1ZGVf
ZGlycyc6IFsKICAgICAgICAgICAgICAgICAnLicsCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZyYW1lLmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgK
aW5kZXggYzRmYTdhZTUyMGQ2ODQ0MTBjNDkwYjkxMjIxY2ZjNDQ0NjQwODM1MC4uYWViZjc3ODli
YjcwOTNmYzIzMzRlYjJiMjZhOWM1Yjk0MjdiZmExZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJGcmFtZS5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJh
bWUuaApAQCAtNDAsNiArNDAsNyBAQCBzdHJ1Y3QgTlBPYmplY3Q7CiBuYW1lc3BhY2Ugdjggewog
Y2xhc3MgQ29udGV4dDsKIGNsYXNzIFZhbHVlOworY2xhc3MgT2JqZWN0OwogdGVtcGxhdGUgPGNs
YXNzIFQ+IGNsYXNzIEhhbmRsZTsKIHRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBMb2NhbDsKIH0K
QEAgLTIzOSw2ICsyNDAsMTAgQEAgcHVibGljOgogICAgIC8vIFJldHVybnMgdGhlIFY4IGNvbnRl
eHQgZm9yIHRoaXMgZnJhbWUsIG9yIGFuIGVtcHR5IGhhbmRsZSBpZiB0aGVyZQogICAgIC8vIGlz
IG5vbmUuCiAgICAgdmlydHVhbCB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5Xb3JsZFNjcmlw
dENvbnRleHQoKSBjb25zdCA9IDA7CisKKyAgICAvLyBSZXR1cm5zIFY4IG9iamVjdCB0aGF0IHdy
YXBzIExheW91VHRlc3RDb250cm9sbGVyQ29yZSBpbnN0YW5jZS4KKyAgICB2aXJ0dWFsIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKCkgY29uc3QgPSAwOwor
CiAjZW5kaWYKIAogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggNTM1ZDEy
OGE2YTdhOTBjMzYyNWQ4YjUxYmI3M2FhZTMyZTIxZDg2MC4uZDI4Mzc4OTBkNmM3ZDE3MjA1Njlj
M2E4NzRjMzcyMGMwNGIyNDZiMSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApA
QCAtNzk4LDYgKzc5OCwxMiBAQCB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IFdlYkZyYW1lSW1wbDo6
bWFpbldvcmxkU2NyaXB0Q29udGV4dCgpIGNvbnN0CiAKICAgICByZXR1cm4gVjhQcm94eTo6bWFp
bldvcmxkQ29udGV4dChtX2ZyYW1lKTsKIH0KKwordjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBXZWJG
cmFtZUltcGw6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fZnJhbWUtPnNjcmlwdCgpLT5wcm94eSgpLT53aW5kb3dTaGVsbCgpLT5sYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUoKTsKK30KKwogI2VuZGlmCiAKIGJvb2wgV2ViRnJhbWVJbXBsOjppbnNlcnRT
dHlsZVRleHQoCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5o
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAppbmRleCAyNTExZmNlMTQ3ZWU3
YTQ3ZjM1Mjk4ZmM3ZDRkNmNmOThhNjVlMTVhLi43NzllMzlhMWU5ZjUzOTViMjE2NjUxYWQxZDQw
MDhiMTNkZmU0Y2FlIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKQEAgLTEwNCw2ICsx
MDQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZXhlY3V0
ZVNjcmlwdEFuZFJldHVyblZhbHVlKAogICAgICAgICBjb25zdCBXZWJTY3JpcHRTb3VyY2UmKTsK
ICAgICB2aXJ0dWFsIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gbWFpbldvcmxkU2NyaXB0Q29udGV4
dCgpIGNvbnN0OworICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBsYXlvdXRUZXN0
Q29udHJvbGxlckNvcmUoKSBjb25zdDsKICNlbmRpZgogICAgIHZpcnR1YWwgYm9vbCBpbnNlcnRT
dHlsZVRleHQoY29uc3QgV2ViU3RyaW5nJiBjc3MsIGNvbnN0IFdlYlN0cmluZyYgaWQpOwogICAg
IHZpcnR1YWwgdm9pZCByZWxvYWQoYm9vbCBpZ25vcmVDYWNoZSk7CmRpZmYgLS1naXQgYS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDgwM2JmMTI1YmVm
YTA5ZDk1YTkzNjYxM2NhMDEyODFkZmQ0NDNhMmYuLmExNDhhM2ZjN2U4NWYzY2I3MzZlMGEwMDlm
ODcxMTI1ZTMxMjYyMGYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDctMjEgIE1PUklUQSBI
YWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxvdyB0ZXN0IHNjcmlwdHMgdG8gYWNj
ZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1cC92ZXJpZmljYXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEyCisKKyAgICAg
ICAgQWRkZWQgYW4gYWNjZXNzb3IgZm9yIExheW91dFRlc3RDb250cm9sbGVyQ29yZS4KKworICAg
ICAgICAqIHdlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX2xh
eW91dF90ZXN0X2NvbnRyb2xsZXJfY29yZSk6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYmZy
YW1lLmg6CisKIDIwMTAtMDctMTYgIFpoZSBTdSAgPHN1emhlQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYmZyYW1lLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1l
LmNwcAppbmRleCAzNDRmOTRlMjcwYWFjN2EwNzY4NzljYmI2ZjRhMTA0YWIwMWY3OTk2Li4xYTNj
YzdlNjIyNTEyYTlmNWI3MTlhZTc3NGY3M2IxYjEwNzkzMzY1IDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2ViZnJhbWUuY3BwCkBAIC0xMjQ2LDMgKzEyNDYsMjMgQEAgV2ViS2l0TmV0d29ya1Jlc3Bv
bnNlKiB3ZWJraXRfd2ViX2ZyYW1lX2dldF9uZXR3b3JrX3Jlc3BvbnNlKFdlYktpdFdlYkZyYW1l
KiBmcmEKIAogICAgIHJldHVybiB3ZWJraXRfbmV0d29ya19yZXNwb25zZV9uZXdfd2l0aF9jb3Jl
X3Jlc3BvbnNlKGxvYWRlci0+cmVzcG9uc2UoKSk7CiB9CisKKy8qKgorICogd2Via2l0X3dlYl9s
YXlvdXRfdGVzdF9jb250cm9sbGVyX2NvcmU6CisgKiBAZnJhbWU6IGEgI1dlYktpdFdlYkZyYW1l
CisgKgorICogR2V0cyB0aGUgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIGFzc29jaWF0ZWQgd2l0
aCB0aGlzIGZyYW1lLgorICoKKyAqIFJldHVybiB2YWx1ZTogdGhlIExheW91dFRlc3RDb250cm9s
bGVyIGluc3RhbmNlCisgKi8KK0pTVmFsdWVSZWYgd2Via2l0X3dlYl9sYXlvdXRfdGVzdF9jb250
cm9sbGVyX2NvcmUoV2ViS2l0V2ViRnJhbWUqIGZyYW1lKQoreworICAgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsKFdFQktJVF9JU19XRUJfRlJBTUUoZnJhbWUpLCBOVUxMKTsKKworICAgIEZyYW1lKiBj
b3JlRnJhbWUgPSBjb3JlKGZyYW1lKTsKKyAgICBpZiAoIWNvcmVGcmFtZSkKKyAgICAgICAgcmV0
dXJuIE5VTEw7CisKKyAgICBKU0M6OkV4ZWNTdGF0ZSogZXhlYyA9IGNvcmVGcmFtZS0+c2NyaXB0
KCktPmdsb2JhbE9iamVjdCh3b3JsZCktPmdsb2JhbEV4ZWMoKTsKKyAgICByZXR1cm4gdG9SZWYo
ZXhlYywgSlNDOjpKU1ZhbHVlKGNvcmVGcmFtZS0+c2NyaXB0KCktPmxheW91dFRlc3RDb250cm9s
bGVyQ29yZShtYWluVGhyZWFkTm9ybWFsV29ybGQoKSkpKTsKK30KZGlmZiAtLWdpdCBhL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJmcmFtZS5oCmluZGV4IDI4ZDcxMTMzZjAwYzA0MDVjMDJmZGI5MTdlZjQwMTdkMjdjNmJjMzQu
LjRkOWI1MzRhZTc4NTFlNTBjNzU2YTlmNzNkYzAzY2ExMDM3NmY2NDAgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmgKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2ViZnJhbWUuaApAQCAtMTQ1LDYgKzE0NSw5IEBAIHdlYmtpdF93ZWJfZnJhbWVfZmlu
ZF9mcmFtZSAgICAgICAgIChXZWJLaXRXZWJGcmFtZSAgICAgICAqZnJhbWUsCiBXRUJLSVRfQVBJ
IEpTR2xvYmFsQ29udGV4dFJlZgogd2Via2l0X3dlYl9mcmFtZV9nZXRfZ2xvYmFsX2NvbnRleHQg
KFdlYktpdFdlYkZyYW1lICAgICAgICpmcmFtZSk7CiAKK1dFQktJVF9BUEkgSlNWYWx1ZVJlZgor
d2Via2l0X3dlYl9sYXlvdXRfdGVzdF9jb250cm9sbGVyX2NvcmUoV2ViS2l0V2ViRnJhbWUgICAg
ICpmcmFtZSk7CisKIFdFQktJVF9BUEkgR3RrUHJpbnRPcGVyYXRpb25SZXN1bHQKIHdlYmtpdF93
ZWJfZnJhbWVfcHJpbnRfZnVsbCAgICAgICAgIChXZWJLaXRXZWJGcmFtZSAgICAgICAqZnJhbWUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrUHJpbnRPcGVyYXRpb24g
ICAgKm9wZXJhdGlvbiwKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKaW5kZXggNjNlNzMyZDc4OTA2ZGM3ZjcxMGJjZmQwNDUxNGQwOWU3ODQ4
YjJiYy4uZmY4YjRlNmFkYjg4MzIzYjRjYjc3ZDBhOWE4NTU5MzIyMjJhODNiMCAxMDA2NDQKLS0t
IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQg
c2hvdWxkIGFsbG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0
ZXMgZm9yIHNldHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDI2MTIKKworICAgICAgICBBZGRlZCBhbiBhY2Nlc3NvciBmb3Ig
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLgorCisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5t
bToKKyAgICAgICAgKC1bV2ViRnJhbWUgbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlXSk6CisgICAg
ICAgICogV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaDoKKwogMjAxMC0wNy0xOSAgQ2hyaXMgTWFy
cmluICA8Y21hcnJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KaW5kZXggYjcxZDUwMWRmY2ZhOWIxNzk1MTc0OGNlZGY1
YTkyMjhhMTFmNmVlZC4uNDU0ZDdkYzE5MDgwMmE3MmQ1ZGM3ZmVhYTIzOTNlMWYwYjM1YTQzOSAx
MDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJGcmFtZS5tbQpAQCAtMTM0MCw2ICsxMzQwLDE2IEBAIHN0YXRpYyBpbmxp
bmUgV2ViRGF0YVNvdXJjZSAqZGF0YVNvdXJjZShEb2N1bWVudExvYWRlciogbG9hZGVyKQogICAg
IHJldHVybiBjb3JlRnJhbWUtPmxheWVyVHJlZUFzVGV4dCgpOwogfQogCistIChKU1ZhbHVlUmVm
KWxheW91dFRlc3RDb250cm9sbGVyQ29yZQoreworICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBfcHJp
dmF0ZS0+Y29yZUZyYW1lOworICAgIGlmICghY29yZUZyYW1lKQorICAgICAgICByZXR1cm4gMDsK
KyAgICBET01XcmFwcGVyV29ybGQqIHdvcmxkID0gbWFpblRocmVhZE5vcm1hbFdvcmxkKCk7Cisg
ICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBjb3JlRnJhbWUtPnNjcmlwdCgpLT5nbG9iYWxPYmpl
Y3Qod29ybGQpLT5nbG9iYWxFeGVjKCk7CisgICAgcmV0dXJuIHRvUmVmKGV4ZWMsIEpTVmFsdWUo
Y29yZUZyYW1lLT5zY3JpcHQoKS0+bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKG1haW5UaHJlYWRO
b3JtYWxXb3JsZCgpKSkpOworfQorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJGcmFtZQpk
aWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oIGIvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCmluZGV4IDBiZGE5NjZhYmJkZmM5NDdjNjIx
ZDQxNDI5ZmI4ZjdiOTcwMDhkYmQuLjEzYzg5OGE3YjExODk0NzBiNTEzYjM1NGJlOTU3ZGFjOTM1
ZmVmMDkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaAor
KysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgKQEAgLTEzNiw0ICsxMzYs
NyBAQCB0eXBlZGVmIGVudW0gewogCiAtIChOU1N0cmluZyopX2xheWVyVHJlZUFzVGV4dDsKIAor
Ly8gUmV0dXJucyBhc3NvY2lhdGVkIExheW91dFRlc3RDb250cm9sbGVyQ29yZSBvYmplY3QgCist
IChKU1ZhbHVlUmVmKWxheW91dFRlc3RDb250cm9sbGVyQ29yZTsKKwogQGVuZApkaWZmIC0tZ2l0
IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBkNjFl
NGUxZmY1NzViM2Y1MTFmOWQzY2JhZDliZDk5MGY3OTIxNDg5Li41NzYwNmEwMGQ4ZGE3N2ExNjFi
ODNkOTYyOGUwMTNiNzViOGU2ZTE1IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5nZUxvZwor
KysgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTA3LTIxICBN
T1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRz
IHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgor
CisgICAgICAgIEFkZGVkIGFuIGFjY2Vzc29yIGZvciBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
CisgICAgICAgIAorICAgICAgICAqIEludGVyZmFjZXMvSVdlYkZyYW1lLmlkbDoKKyAgICAgICAg
KiBXZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJGcmFtZTo6bGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlKToKKyAgICAgICAgKiBXZWJGcmFtZS5oOgorCiAyMDEwLTA3LTIwICBBZGFtIFJvYmVuICA8
YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgV2ViS2l0VGVzdFJ1bm5lciBhbmQgZnJp
ZW5kcyB0byBXZWJLaXQuc2xuCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdl
YkZyYW1lLmlkbCBiL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViRnJhbWUuaWRsCmluZGV4IGRh
MmE3OGYyOTJhY2JjNzhhMTJmYmNjNjg4OTYxNTY2ZWVmZTZhYTIuLmM2NGFiZTlhZDI0ODU1ODYw
M2FjNjE0YTE2OTdlMWUwMjJjMWY1ODUgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vSW50ZXJmYWNl
cy9JV2ViRnJhbWUuaWRsCisrKyBiL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViRnJhbWUuaWRs
CkBAIC0yNDEsNiArMjQxLDEyIEBAIGludGVyZmFjZSBJV2ViRnJhbWUgOiBJVW5rbm93bgogICAg
ICovCiAgICBbbG9jYWxdIEpTR2xvYmFsQ29udGV4dFJlZiBnbG9iYWxDb250ZXh0KCk7CiAKKyAg
ICAvKiEKKyAgICAgICAgQG1ldGhvZCBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUKKyAgICAgICAg
QHJlc3VsdCBUaGUgZnJhbWUncyBhc3NvY2lhdGVkIExheW91dFRlc3RDb250cm9sbGVyQ29yZSBv
YmplY3QKKyAgICAqLworICAgW2xvY2FsXSBKU1ZhbHVlUmVmIGxheW91dFRlc3RDb250cm9sbGVy
Q29yZSgpOworCiAgICAvKiEKICAgICAgICAgQG1ldGhvZCBzZXRJc0Rpc2Nvbm5lY3RlZAogICAg
ICAgICBAYWJzdHJhY3QgU2V0IHdoZXRoZXIgYSBmcmFtZSBpcyBkaXNjb25uZWN0ZWQKZGlmZiAt
LWdpdCBhL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwIGIvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAK
aW5kZXggNTcwNWYxZWIwNDdlZTllMjIyNTlmZTk2NDVjYmQ2YzZjZGQ3ZjhhYy4uYWVhMTc5Mjhi
NzhlOGU2YzJiYTY4MGZkMmMxNzdmZmNhN2Q4Yjk0YyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9X
ZWJGcmFtZS5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAKQEAgLTUyMiw2ICs1MjIs
MTggQEAgSlNHbG9iYWxDb250ZXh0UmVmIFNURE1FVEhPRENBTExUWVBFIFdlYkZyYW1lOjpnbG9i
YWxDb250ZXh0KCkKICAgICByZXR1cm4gdG9HbG9iYWxSZWYoY29yZUZyYW1lLT5zY3JpcHQoKS0+
Z2xvYmFsT2JqZWN0KG1haW5UaHJlYWROb3JtYWxXb3JsZCgpKS0+Z2xvYmFsRXhlYygpKTsKIH0K
IAorSlNWYWx1ZVJlZiBTVERNRVRIT0RDQUxMVFlQRSBXZWJGcmFtZTo6bGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlKCkKK3sKKyAgICBGcmFtZSogY29yZUZyYW1lID0gY29yZSh0aGlzKTsKKyAgICBp
ZiAoIWNvcmVGcmFtZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBET01XcmFwcGVyV29ybGQq
IHdvcmxkID0gbWFpblRocmVhZE5vcm1hbFdvcmxkKCk7CisgICAgSlNDOjpFeGVjU3RhdGUqIGV4
ZWMgPSBjb3JlRnJhbWUtPnNjcmlwdCgpLT5nbG9iYWxPYmplY3Qod29ybGQpLT5nbG9iYWxFeGVj
KCk7CisgICAgcmV0dXJuIHRvUmVmKGV4ZWMsIEpTVmFsdWUoY29yZUZyYW1lLT5zY3JpcHQoKS0+
bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKG1haW5UaHJlYWROb3JtYWxXb3JsZCgpKSkpOworfQor
CisKIEpTR2xvYmFsQ29udGV4dFJlZiBXZWJGcmFtZTo6Z2xvYmFsQ29udGV4dEZvclNjcmlwdFdv
cmxkKElXZWJTY3JpcHRXb3JsZCogaVdvcmxkKQogewogICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBj
b3JlKHRoaXMpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJGcmFtZS5oIGIvV2ViS2l0L3dp
bi9XZWJGcmFtZS5oCmluZGV4IGMxNGRkYzkxNzAzNmU1MTU0NzY5YjEzNmFlOWE0Y2JiMDJmOTJl
NDYuLmVjZmE4YTBjYzMzNTBjNTU1MzZiYjYwNmQyMTVmM2QxN2NkNmJiNTMgMTAwNjQ0Ci0tLSBh
L1dlYktpdC93aW4vV2ViRnJhbWUuaAorKysgYi9XZWJLaXQvd2luL1dlYkZyYW1lLmgKQEAgLTE1
Myw2ICsxNTMsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8qIFtyZXR2YWxdW291dF0gKi8gSURPTUVs
ZW1lbnQgKipmb3JtRWxlbWVudCk7CiAKICAgICB2aXJ0dWFsIC8qIFtsb2NhbF0gKi8gSlNHbG9i
YWxDb250ZXh0UmVmIFNURE1FVEhPRENBTExUWVBFIGdsb2JhbENvbnRleHQoKTsKKyAgICB2aXJ0
dWFsIC8qIFtsb2NhbF0gKi8gSlNWYWx1ZVJlZiBTVERNRVRIT0RDQUxMVFlQRSBsYXlvdXRUZXN0
Q29udHJvbGxlckNvcmUoKTsKIAogICAgIC8vIElXZWJGcmFtZVByaXZhdGUKICAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdW51c2VkMShCU1RSKikgeyByZXR1cm4gRV9OT1RJ
TVBMOyB9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKaW5kZXggNTllZDBhMjhkMzllNDNhMDRhNTYzNTVhY2NkZWQxYzhmMmI1MDNmNS4u
YjA4NTE1OTRmZTVlNDhjNGZjNzRiNmM4MzU3ODY4MDI4OWI5YzY5MiAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDMwIEBACisyMDEwLTA3LTIxICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERSVCBzaG91
bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBm
b3Igc2V0dXAvdmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MjYxMgorCisgICAgICAgIEV4dGVuZGVkIExheW91dFRlc3RDb250cm9s
bGVyIG9iamVjdCBieSBhZGRpbmcgZGVsZ2F0aW9uIG1ldGhvZHMKKyAgICAgICAgZm9yIExheW91
dFRlc3RDb250cm9sbGVyQ29yZSBwcm92aWRlZCBieSBXZWJGcmFtZS4gIAorICAgICAgICBOb3cg
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIGhhcyBtZXRob2RzIGRlZmluZWQgaW4KKyAgICAg
ICAgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLiAgCisgICAgICAgIAorICAgICAgICBMYXlvdXRU
ZXN0Q29udHJvbGxlclF0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6Om1ha2VEZWxlZ2F0aW9uTWV0aG9kcyk6CisgICAgICAgIChMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6bWFrZVdpbmRvd09iamVjdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5
b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0U2hlbGwuY3BwOgorICAgICAgICAoVGVzdFNoZWxsOjpiaW5kSlNPYmplY3RzVG9XaW5kb3cp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAg
ICAgICh3ZWJWaWV3V2luZG93T2JqZWN0Q2xlYXJlZCk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tOgorICAgICAgICAoLVtGcmFtZUxvYWREZWxlZ2F0
ZSBkaWRDbGVhcldpbmRvd09iamVjdEluU3RhbmRhcmRXb3JsZEZvckZyYW1lOl0pOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3dpbi9GcmFtZUxvYWREZWxlZ2F0ZS5jcHA6CisgICAgICAgIChG
cmFtZUxvYWREZWxlZ2F0ZTo6ZGlkQ2xlYXJXaW5kb3dPYmplY3RGb3JGcmFtZUluU3RhbmRhcmRX
b3JsZCk6CisKIDIwMTAtMDctMjAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBKb24gSG9uZXljdXR0LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDZhOTU3YzEyNmVmNjE3
NzFhMjg2YjBlZGZkMzRiNzMwYWM1NjhiMmIuLmUwNjUxNDYyYmQyYjljZjRiMzg4ZGVjZGYyMzE5
ZjI5NGY1N2QxMDIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTE2OTUsOSArMTY5NSwyOCBAQCBzdGF0aWMgdm9pZCBs
YXlvdXRUZXN0Q29udHJvbGxlck9iamVjdEZpbmFsaXplKEpTT2JqZWN0UmVmIG9iamVjdCkKICAg
ICBjb250cm9sbGVyLT5kZXJlZigpOwogfQogCitzdGF0aWMgY29uc3QgY2hhciBzZXR1cExheW91
dFRlc3RDb250cm9sbGVyU2NyaXB0W10gPSAKKyAgICAiZnVuY3Rpb24gZGVsZWdhdGUoZHN0LCBz
cmMsIG5hbWUpIHsgZHN0W25hbWVdID0gZnVuY3Rpb24oKSB7IHJldHVybiBzcmNbbmFtZV0uYXBw
bHkoc3JjLCBhcmd1bWVudHMpOyB9IH1cbiIKKyAgICAiZm9yICh2YXIgbmFtZSBpbiB0aGlzLmNv
cmUpIHtcbiIKKyAgICAiICAgIGRlbGVnYXRlKHRoaXMsIHRoaXMuY29yZSwgbmFtZSk7XG4iCisg
ICAgIn1cbiI7CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VEZWxlZ2F0aW9uTWV0
aG9kcyhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgSlNWYWx1
ZVJlZiBjb3JlT2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IGNvcmVTdHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJjb3JlIikpOworICAgIEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwgdGhpc09iamVj
dCwgY29yZVN0ci5nZXQoKSwgY29yZU9iamVjdCwga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25lLCBl
eGNlcHRpb24pOworICAgIEFTU0VSVCghKmV4Y2VwdGlvbik7CisKKyAgICBKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gdXJsU3RyKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
c2V0dXBfbGF5b3V0X3Rlc3RfY29udHJvbGxlcl90ZXN0LmpzIikpOworICAgIEpTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBzY3JpcHRTdHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKHNldHVwTGF5b3V0VGVzdENvbnRyb2xsZXJTY3JpcHQpKTsKKyAgICBBU1NFUlQoISpleGNl
cHRpb24pOworICAgIEpTRXZhbHVhdGVTY3JpcHQoY29udGV4dCwgc2NyaXB0U3RyLmdldCgpLCB0
aGlzT2JqZWN0LCB1cmxTdHIuZ2V0KCksIDEsIGV4Y2VwdGlvbik7CisgICAgQVNTRVJUKCEqZXhj
ZXB0aW9uKTsKK30KKwogLy8gT2JqZWN0IENyZWF0aW9uCiAKLXZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6Om1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVm
IHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQordm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6bWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RS
ZWYgd2luZG93T2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24sIEpTVmFsdWVSZWYgY29yZSkK
IHsKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gbGF5b3V0VGVzdENvbnRvbGxlclN0cihB
ZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImxheW91dFRlc3RDb250cm9sbGVy
IikpOwogICAgIHJlZigpOwpAQCAtMTcwNiw2ICsxNzI1LDkgQEAgdm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6bWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RS
ZWYgd2kKICAgICBKU1ZhbHVlUmVmIGxheW91dFRlc3RDb250b2xsZXJPYmplY3QgPSBKU09iamVj
dE1ha2UoY29udGV4dCwgY2xhc3NSZWYsIHRoaXMpOwogICAgIEpTQ2xhc3NSZWxlYXNlKGNsYXNz
UmVmKTsKIAorICAgIGlmIChjb3JlKQorICAgICAgICBtYWtlRGVsZWdhdGlvbk1ldGhvZHMoY29u
dGV4dCwgSlNWYWx1ZVRvT2JqZWN0KGNvbnRleHQsIGxheW91dFRlc3RDb250b2xsZXJPYmplY3Qs
IGV4Y2VwdGlvbiksIGNvcmUsIGV4Y2VwdGlvbik7CisKICAgICBKU09iamVjdFNldFByb3BlcnR5
KGNvbnRleHQsIHdpbmRvd09iamVjdCwgbGF5b3V0VGVzdENvbnRvbGxlclN0ci5nZXQoKSwgbGF5
b3V0VGVzdENvbnRvbGxlck9iamVjdCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSwgZXhjZXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXggMzBl
YjliZDRmODQ0ZDRjYTljM2VlY2FiN2M2NmVkMGU3NzkzODc4Zi4uMTI4YTAxYzdlZTA0NDMxMGIw
ZGJiNGVhODk2MWJjNGU4M2M5M2ViOCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC00Miw3ICs0Miw4IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxMYXlvdXRUZXN0Q29udHJvbGxlcj4gY3JlYXRlKGNvbnN0IHN0
ZDo6c3RyaW5nJiB0ZXN0UGF0aE9yVVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgZXhwZWN0ZWRQaXhl
bEhhc2gpOwogICAgIH5MYXlvdXRUZXN0Q29udHJvbGxlcigpOwogCi0gICAgdm9pZCBtYWtlV2lu
ZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmplY3Qs
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CisgICAgdm9pZCBtYWtlRGVsZWdhdGlvbk1ldGhvZHMo
SlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTVmFsdWVSZWYg
Y29yZU9iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKKyAgICB2b2lkIG1ha2VXaW5kb3dP
YmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpbmRvd09iamVjdCwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uLCBKU1ZhbHVlUmVmIGNvcmUgPSAwKTsKIAogICAgIHZvaWQgYWRk
RGlzYWxsb3dlZFVSTChKU1N0cmluZ1JlZiB1cmwpOwogICAgIHZvaWQgY2xlYXJBbGxEYXRhYmFz
ZXMoKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hl
bGwuY3BwCmluZGV4IDUwN2YwODQyMjA0ZGIyMjFmZGM0NGZkOTQ3ZmQ4Y2NiMmJhMTFhM2QuLmQ1
NmVhOTY4NjQwMDUyMjQzMWMyNGY2ZmVhYWE0OGU4ZjliNjFjZGYgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcApAQCAtNDYsNiArNDYs
NyBAQAogI2luY2x1ZGUgInB1YmxpYy9XZWJIaXN0b3J5SXRlbS5oIgogI2luY2x1ZGUgInB1Ymxp
Yy9XZWJSdW50aW1lRmVhdHVyZXMuaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViU2NyaXB0Q29udHJv
bGxlci5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJTY3JpcHRTb3VyY2UuaCIKICNpbmNsdWRlICJw
dWJsaWMvV2ViU2V0dGluZ3MuaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViU2l6ZS5oIgogI2luY2x1
ZGUgInB1YmxpYy9XZWJTdHJpbmcuaCIKQEAgLTU0LDYgKzU1LDcgQEAKICNpbmNsdWRlICJwdWJs
aWMvV2ViVmlldy5oIgogI2luY2x1ZGUgInNraWEvZXh0L2JpdG1hcF9wbGF0Zm9ybV9kZXZpY2Uu
aCIKICNpbmNsdWRlICJza2lhL2V4dC9wbGF0Zm9ybV9jYW52YXMuaCIKKyNpbmNsdWRlICJ2OC5o
IgogI2luY2x1ZGUgIndlYmtpdC9zdXBwb3J0L3dlYmtpdF9zdXBwb3J0LmgiCiAjaW5jbHVkZSA8
YWxnb3JpdGhtPgogI2luY2x1ZGUgPGNjdHlwZT4KQEAgLTYwOCw2ICs2MTAsMTIgQEAgdm9pZCBU
ZXN0U2hlbGw6OmR1bXBJbWFnZShza2lhOjpQbGF0Zm9ybUNhbnZhcyogY2FudmFzKSBjb25zdAog
ICAgICAgICBtX3ByaW50ZXItPmhhbmRsZUltYWdlKG1kNWhhc2guY19zdHIoKSwgbV9wYXJhbXMu
cGl4ZWxIYXNoLmNfc3RyKCksIDAsIDAsIG1fcGFyYW1zLnBpeGVsRmlsZU5hbWUuY19zdHIoKSk7
CiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyIHNldHVwTGF5b3V0VGVzdENvbnRyb2xsZXJTY3JpcHRb
XSA9IAorICAgICJmdW5jdGlvbiBkZWxlZ2F0ZShkc3QsIHNyYywgbmFtZSkgeyBkc3RbbmFtZV0g
PSBmdW5jdGlvbigpIHsgcmV0dXJuIHNyY1tuYW1lXS5hcHBseShzcmMsIGFyZ3VtZW50cyk7IH0g
fVxuIgorICAgICJmb3IgKHZhciBuYW1lIGluIGxheW91dFRlc3RDb250cm9sbGVyLmNvcmUpIHtc
biIKKyAgICAiICAgIGRlbGVnYXRlKGxheW91dFRlc3RDb250cm9sbGVyLCBsYXlvdXRUZXN0Q29u
dHJvbGxlci5jb3JlLCBuYW1lKTtcbiIKKyAgICAifVxuIjsKKwogdm9pZCBUZXN0U2hlbGw6OmJp
bmRKU09iamVjdHNUb1dpbmRvdyhXZWJGcmFtZSogZnJhbWUpCiB7CiAgICAgbV9hY2Nlc3NpYmls
aXR5Q29udHJvbGxlci0+YmluZFRvSmF2YXNjcmlwdChmcmFtZSwgV2ViU3RyaW5nOjpmcm9tVVRG
OCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIiKSk7CkBAIC02MTUsNiArNjIzLDE2IEBAIHZvaWQg
VGVzdFNoZWxsOjpiaW5kSlNPYmplY3RzVG9XaW5kb3coV2ViRnJhbWUqIGZyYW1lKQogICAgIG1f
ZXZlbnRTZW5kZXItPmJpbmRUb0phdmFzY3JpcHQoZnJhbWUsIFdlYlN0cmluZzo6ZnJvbVVURjgo
ImV2ZW50U2VuZGVyIikpOwogICAgIG1fcGxhaW5UZXh0Q29udHJvbGxlci0+YmluZFRvSmF2YXNj
cmlwdChmcmFtZSwgV2ViU3RyaW5nOjpmcm9tVVRGOCgicGxhaW5UZXh0IikpOwogICAgIG1fdGV4
dElucHV0Q29udHJvbGxlci0+YmluZFRvSmF2YXNjcmlwdChmcmFtZSwgV2ViU3RyaW5nOjpmcm9t
VVRGOCgidGV4dElucHV0Q29udHJvbGxlciIpKTsKKyAgICAKKyAgICB2ODo6SGFuZGxlU2NvcGUg
aGFuZGxlU2NvcGU7CisgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0ID0gZnJhbWUt
Pm1haW5Xb3JsZFNjcmlwdENvbnRleHQoKTsKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4
dFNjb3BlID0gY29udGV4dDsKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gbGF5b3V0VGVzdENv
bnRyb2xsZXJPYmogPSAqdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChjb250ZXh0LT5HbG9i
YWwoKS0+R2V0UmVhbE5hbWVkUHJvcGVydHkodjg6OlN0cmluZzo6TmV3KCJsYXlvdXRUZXN0Q29u
dHJvbGxlciIpKSk7CisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGNvcmVPYmogPSAqZnJhbWUt
PmxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpOworICAgIGJvb2wgb2sgPSBsYXlvdXRUZXN0Q29u
dHJvbGxlck9iai0+U2V0KHY4OjpIYW5kbGU8djg6OlZhbHVlPih2ODo6U3RyaW5nOjpOZXcoImNv
cmUiKSksIHY4OjpIYW5kbGU8djg6OlZhbHVlPihjb3JlT2JqKSwgdjg6Ok5vbmUpOworICAgIEFT
U0VSVChvayk7CisKKyAgICBmcmFtZS0+ZXhlY3V0ZVNjcmlwdEFuZFJldHVyblZhbHVlKFdlYlNj
cmlwdFNvdXJjZShXZWJTdHJpbmc6OmZyb21VVEY4KHNldHVwTGF5b3V0VGVzdENvbnRyb2xsZXJT
Y3JpcHQpLCBXZWJVUkwoR1VSTCgic2V0dXBfbGF5b3V0X3Rlc3RfY29udHJvbGxlci5qcyIpKSwg
MCkpOwogfQogCiBXZWJWaWV3SG9zdCogVGVzdFNoZWxsOjpjcmVhdGVXZWJWaWV3KCkKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4
IDI4MTIyMjQwZGI0YjE0NGZjYTNhODBlY2E1ODY4MmE3MTk4MGViZmIuLjViMGY3NjEzMjA2MDAz
NzQ0NjdjZjRjODU3YzNmY2JkMDY2ODcxZWUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtNjU2LDcgKzY1Niw4IEBAIHN0YXRp
YyB2b2lkIHdlYlZpZXdXaW5kb3dPYmplY3RDbGVhcmVkKFdlYktpdFdlYlZpZXcqIHZpZXcsIFdl
YktpdFdlYkZyYW1lKiBmcmFtCiAgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwogICAgIEFT
U0VSVChnTGF5b3V0VGVzdENvbnRyb2xsZXIpOwogCi0gICAgZ0xheW91dFRlc3RDb250cm9sbGVy
LT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvd09iamVjdCwgJmV4Y2VwdGlvbik7Cisg
ICAgSlNWYWx1ZVJlZiBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgPSB3ZWJraXRfd2ViX2xheW91
dF90ZXN0X2NvbnRyb2xsZXJfY29yZShmcmFtZSk7CisgICAgZ0xheW91dFRlc3RDb250cm9sbGVy
LT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvd09iamVjdCwgJmV4Y2VwdGlvbiwgbGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlKTsKICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CiAKICAgICBn
Y0NvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgd2luZG93T2JqZWN0LCAmZXhj
ZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFt
ZUxvYWREZWxlZ2F0ZS5tbSBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxv
YWREZWxlZ2F0ZS5tbQppbmRleCA5NjNlYWU3MGZhNTlkODFlZmNmZWI4YWIxZTg4MzZjNTU3Yzdh
Y2NkLi42OTNkNDQzMTZmMDlkYmQ5OThjMDI1MjIyNjk3ZGU2ZGNmNWY5MGNiIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KKysr
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCkBA
IC0yNDUsNyArMjQ1LDggQEAKICAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbiA9IDA7CiAKICAgICBB
U1NFUlQoZ0xheW91dFRlc3RDb250cm9sbGVyKTsKLSAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXIt
Pm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uKTsKKyAg
ICBKU1ZhbHVlUmVmIGxheW91dFRlc3RDb250cm9sbGVyQ29yZSA9IFtmcmFtZSBsYXlvdXRUZXN0
Q29udHJvbGxlckNvcmVdOworICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+bWFrZVdpbmRvd09i
amVjdChjb250ZXh0LCBnbG9iYWxPYmplY3QsICZleGNlcHRpb24sIGxheW91dFRlc3RDb250cm9s
bGVyQ29yZSk7CiAgICAgQVNTRVJUKCFleGNlcHRpb24pOwogCiAgICAgZ2NDb250cm9sbGVyLT5t
YWtlV2luZG93T2JqZWN0KGNvbnRleHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlvbik7CmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRnJhbWVMb2FkRGVsZWdhdGUu
Y3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0ZyYW1lTG9hZERlbGVnYXRlLmNw
cAppbmRleCBhODRlMGYzZTEzMmNjYWY2OTI1NDdkYTU2YTY3MDc0YzAwZGIyYjNmLi43ZmM5ZTFi
Zjg5MTU5NDc2M2FkMzA3YTU2ZGQyZDYwYTY5MjA0ZmZlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vRnJhbWVMb2FkRGVsZWdhdGUuY3BwCisrKyBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9GcmFtZUxvYWREZWxlZ2F0ZS5jcHAKQEAgLTM0OCw3ICsz
NDgsOCBAQCB2b2lkIEZyYW1lTG9hZERlbGVnYXRlOjpkaWRDbGVhcldpbmRvd09iamVjdEZvckZy
YW1lSW5TdGFuZGFyZFdvcmxkKElXZWJGcmFtZSogZgogICAgIG1fZ2NDb250cm9sbGVyLT5tYWtl
V2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvd09iamVjdCwgJmV4Y2VwdGlvbik7CiAgICAgQVNT
RVJUKCFleGNlcHRpb24pOwogCi0gICAgbV9hY2Nlc3NpYmlsaXR5Q29udHJvbGxlci0+bWFrZVdp
bmRvd09iamVjdChjb250ZXh0LCB3aW5kb3dPYmplY3QsICZleGNlcHRpb24pOworICAgIEpTVmFs
dWVSZWYgY29yZSA9IGZyYW1lLT5sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKTsKKyAgICBtX2Fj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvd09i
amVjdCwgJmV4Y2VwdGlvbiwgY29yZSk7CiAgICAgQVNTRVJUKCFleGNlcHRpb24pOwogCiAgICAg
SlNTdHJpbmdSZWYgZXZlbnRTZW5kZXJTdHIgPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygiZXZlbnRTZW5kZXIiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62168</attachid>
            <date>2010-07-21 05:39:51 -0700</date>
            <delta_ts>2010-07-21 05:44:15 -0700</delta_ts>
            <desc>build fix</desc>
            <filename>bug-42612-20100721213948.patch</filename>
            <type>text/plain</type>
            <size>57877</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwODQ1ZWExZDBjOWE1ZGQ0ODllNmM4ZDBmNDM4NjRmNDBhYzNlMmYyLi42NTEwZjgx
OGE0YTM2YzNiYzc2NjU1NGFhOThmNDUxMWZlMzlkOTBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgQWRkZWQgYW4gYWNjZXNzb3IgZm9yIExheW91dFRlc3RD
b250cm9sbGVyQ29yZS4KKyAgICAgICAgCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3Njcmlw
dC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29y
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ct
bGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6CisKIDIwMTAtMDctMjEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LWxh
eW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy9zY3JpcHQtdGVzdHMvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lOGY5ZTliYjMzZGQyOWJkNWYwZWM2YzVjYmY0ZjA5OWZhZjc3YmJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5k
b3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmpzCkBAIC0wLDAgKzEsNyBAQAorZGVzY3Jp
cHRpb24oIndpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciBzaG91bGQgaGF2ZSBmdW5jdGlvbnMg
ZGVmaW5lZCBpbiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsIik7Cit3aW5kb3cubm9kZSA9
IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKTsKK3Nob3VsZEJlVHJ1ZSgidW5kZWZpbmVkICE9
IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciIpOworc2hvdWxkQmVUcnVlKCJ1bmRlZmluZWQg
IT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50TWFrZXJTaXplRm9yTm9kZSIp
Oworc2hvdWxkQmVUcnVlKCIwID09IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kb2N1bWVu
dE1ha2VyU2l6ZUZvck5vZGUod2luZG93Lm5vZGUpIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRv
dy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE0ODJmYzI2NjUwNDdlZThiYTA4NGIyY2RiMTIzMmZhZGEyNmI2
M2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBA
QAord2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIHNob3VsZCBoYXZlIGZ1bmN0aW9ucyBkZWZp
bmVkIGluIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgdW5kZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ciBpcyB0cnVlCitQQVNTIHVuZGVmaW5lZCAhPSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIu
ZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlIGlzIHRydWUKK1BBU1MgMCA9PSB3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKHdpbmRvdy5ub2RlKSBpcyB0
cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVz
dC1jb250cm9sbGVyLWNvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTg2M2Q2YTFl
NDFjNTJhNjVmNTRlZDI1MjM1NjhjNWY5YjQyOWYyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3Jl
Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1j
b3JlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lw
cGVkCmluZGV4IGJiY2Q4Mjg0ZDllNGRjMTczYTY0ZDZlMjdmN2RlMzNlNzg0M2FlNDEuLjYyZTdj
OGFkNjA3NGE0NjMwOGY4NjUxNzBhNmJmN2YwNTVlODNiZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZApAQCAtNjI5LDYgKzYyOSw5IEBAIGZhc3QvZm9ybXMvbGlzdGJveC13aWR0aC1jaGFuZ2Uu
aHRtbAogZmFzdC9mb3Jtcy9wbGFpbnRleHQtbW9kZS0yLmh0bWwKIGZhc3QvZm9ybXMvbWVudWxp
c3Qtd2lkdGgtY2hhbmdlLmh0bWwKIAorIyBjdXJyZW50bHkgTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlIGlzIG5vdCBzdXBwb3J0ZWQgaHR0cDovL3dlYmtpdC5vcmcvYi80MjYxMgorZmFzdC9kb20v
V2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuaHRtbAorCiAjID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSAjCiAjIGZhaWxpbmcgbWVkaWEgdGVzdHMKICMgPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ICMKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDc5MTkzMTcxNGQ1Mjk5NzhkMmFkZTY4NGJhNTcyNDFlZTdhOGE0YzMu
LjQ0Y2M3NDRjMmZjMTk3MzQ4NWYzODM2YjA5MmNiYjIxYTMxYjhjOTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzE0
LDYgKzMxNCw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2UvR2VvcG9zaXRpb24u
aWRsCiAgICAgcGFnZS9IaXN0b3J5LmlkbAogICAgIHBhZ2UvTG9jYXRpb24uaWRsCisgICAgcGFn
ZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbAog
ICAgIHBhZ2UvTmF2aWdhdGlvbi5pZGwKICAgICBwYWdlL05hdmlnYXRvci5pZGwKQEAgLTExNTIs
NiArMTE1Myw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwYWdlL0dlb2xvY2F0aW9uUG9z
aXRpb25DYWNoZS5jcHAKICAgICBwYWdlL0hpc3RvcnkuY3BwCiAgICAgcGFnZS9Mb2NhdGlvbi5j
cHAKKyAgICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAKICAgICBwYWdlL01lbW9y
eUluZm8uY3BwCiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcAogICAg
IHBhZ2UvTmF2aWdhdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNzQ1NTNhNGJlYmRlNzkwYzIwMGM0MjIwMjE0MjhmNGQ4YzY1
NjgxNi4uMDY0MjYwN2E1OTViYjYyMzgyYTE1NTlmYTQ5YTk5YjUwNGI4NzAyYiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1
MiBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQgc2hvdWxk
IGFsbG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9y
IHNldHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDI2MTIKKyAgICAgICAgCisgICAgICAgIEludHJvZHVjaW5nIExheW91dFRl
c3RDb250cm9sbGVyQ29yZSwgdGhhdCB3aWxsIGhhdmUgV2ViQ29yZS1zaWRlCisgICAgICAgIGlt
cGxlbWVudGF0aW9uIG9mIExheW91dFRlc3RDb250cm9sbGVyLiBUaGUgaW5zdGFuY2UgaXMgb3du
ZWQgYnkKKyAgICAgICAgRE9NV2luZG93LiAgQ3VycmVudGx5IGRvY3VtZW50TWFrZXJTaXplRm9y
Tm9kZSgpIGFuZAorICAgICAgICBkb2N1bWVudE1ha2VyU3RyaW5nRm9yTm9kZUF0KCkgYXJlIGp1
c3QgYSBzdHViLiAgVGhlc2UKKyAgICAgICAgaW1wbGVtZW50YXRpb24gd2lsbCBjb21lIGxhdGVy
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29u
dHJvbGxlci1jb3JlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJD
b3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRv
d1NoZWxsOjpKU0RPTVdpbmRvd1NoZWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93
U2hlbGw6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNET01XaW5kb3dTaGVsbC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6bGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmg6
CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOERPTVdpbmRvd1NoZWxsOjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuaDoKKyAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmxheW91dFRlc3RDb250
cm9sbGVyQ29yZSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdl
L0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpmcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmU6OmRpc2Nvbm5lY3RGcmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OmRvY3VtZW50TWFrZXJTaXplRm9yTm9kZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OmRvY3VtZW50TWFrZXJT
dHJpbmdGb3JOb2RlQXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlOjp2ZXJpZnlDb25uZWN0ZWQpOgorICAgICAgICAqIHBhZ2UvTGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvTGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlLmlkbDogQWRkZWQuCisKIDIwMTAtMDctMjEgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAKaW5kZXggNzhjNTIzZmExZjg2ZGIwMjNlN2EzODc5YTQ4YTc3Yjk2MWNlNDQ1MS4uZTVk
Y2U1MzBjZjg4M2NhZTRhNjY1YTYxYjFjZDlkMDJmY2U0Mjc3YSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAg
LTE5NCw2ICsxOTQsNyBAQAogI2luY2x1ZGUgIkpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCIK
ICNpbmNsdWRlICJKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIgogI2luY2x1ZGUgIkpTS2V5Ym9h
cmRFdmVudC5jcHAiCisjaW5jbHVkZSAiSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIgog
I2luY2x1ZGUgIkpTTG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFFcnJvci5jcHAiCiAj
aW5jbHVkZSAiSlNNZWRpYUxpc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDdjNTNlODY5NWJj
ODM3ZGM5YjAwY2I3OWU5ZmU4NWI3ZDBmNDU2ZWUuLmI2NGMxZDM2YjE2ZTM4NjI0MGYwMDY1MGY1
ZjgyYzU0MWRiMGYwN2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTIzNyw2ICsyMzcsNyBAQCBET01f
Q0xBU1NFUyA9IFwKICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QgXAogICAgIEtleWJvYXJkRXZl
bnQgXAogICAgIExvY2F0aW9uIFwKKyAgICBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgXAogICAg
IE1lZGlhRXJyb3IgXAogICAgIE1lZGlhTGlzdCBcCiAgICAgTWVtb3J5SW5mbyBcCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCAyYWFjOWExYjAzMGFkMTNlYjUyZmViMGFmNGEzZjNmYjBhYTI5Y2NkLi5kY2VmNTAwNjdkYjdh
YzIzOGU3ZDdkMzQ1MDRhNWZhOWJhOTdmZmVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQxMCw2ICs0MTAsOCBAQCB3
ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLZXli
b2FyZEV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5oIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTWVkaWFFcnJvci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRp
YUVycm9yLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxpc3QuY3BwIFwKQEAg
LTE3ODMsNiArMTc4NSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wYWdlL0hp
c3RvcnkuaCBcCiAJV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcCBcCiAJV2ViQ29yZS9wYWdlL0xv
Y2F0aW9uLmggXAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIFwK
KwlXZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggXAogCVdlYkNvcmUvcGFn
ZS9NZWRpYUNhblN0YXJ0TGlzdGVuZXIuaCBcCiAJV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uY3Bw
IFwKIAlXZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5oIFwKQEAgLTQ1NDAsNiArNDU0NCw3IEBAIElE
TF9CSU5ESU5HU19HRE9NICs9IFwKIAlXZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBcCiAJ
V2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsIFwKIAlXZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsIFwK
KwlXZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbCBcCiAJV2ViQ29yZS9w
YWdlL01lbW9yeUluZm8uaWRsIFwKIAlXZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbCBcCiAJV2Vi
Q29yZS9wYWdlL1NjcmVlbi5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
biBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZDNkYjdiMmFjODQ4MGQwODRmYjk4ZDI2
YWQyNTgxMmY1NDE3NGQ1Ni4uY2ZmNjYxZmQ4OWJiNzczNTdkYzc4NDNmMGVhNTAyZDQwODQzOWFl
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCkBAIC0xMjAxLDYgKzEyMDEsNyBAQCBfX05QTl9TZXRFeGNlcHRpb24KIF9fTlBO
X1NldFByb3BlcnR5CiBfX05QTl9VVEY4RnJvbUlkZW50aWZpZXIKIF9fWk43V2ViQ29yZTE2U2Ny
aXB0Q29udHJvbGxlcjIwd2luZG93U2NyaXB0TlBPYmplY3RFdgorX19aTjdXZWJDb3JlMTZTY3Jp
cHRDb250cm9sbGVyMjRsYXlvdXRUZXN0Q29udHJvbGxlckNvcmVFUE5TXzE1RE9NV3JhcHBlcldv
cmxkRQogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjljbGVhbnVwU2NyaXB0T2JqZWN0
c0ZvclBsdWdpbkVQdgogX19aTks3V2ViQ29yZTEyUmVuZGVyT2JqZWN0NHZpZXdFdgogX19aTks3
V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW45Y2FuQWNjZXNzRVBLUzBfCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDdhYTVkNjBjMmZm
MTlmMjgyNjE5MTE3ZTU3MzU2ZjRmZmMzNGU0MDYuLmZhNWE2NzM0NTM2NzJjZjFlOWFlNTI2YmVj
NmRiNTgxZTQ5MjQ2ZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMTUsNiArMjE1LDcgQEAKICAgICAgICAgICAgICdwYWdl
L0dlb3Bvc2l0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9IaXN0b3J5LmlkbCcsCiAgICAg
ICAgICAgICAncGFnZS9Mb2NhdGlvbi5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmlkbCcs
CiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9O
YXZpZ2F0b3IuaWRsJywKQEAgLTE5OTksNiArMjAwMCw4IEBACiAgICAgICAgICAgICAncGFnZS9I
aXN0b3J5LmgnLAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uY3BwJywKICAgICAgICAgICAg
ICdwYWdlL0xvY2F0aW9uLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xs
ZXJDb3JlLmNwcCcsCisgICAgICAgICAgICAncGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
aCcsCiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmNwcCcsCiAgICAgICAgICAgICAncGFn
ZS9NZW1vcnlJbmZvLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0
UmVzdWx0cy5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUv
V2ViQ29yZS5wcmkKaW5kZXggNzIwNWFkZGUzOGU3MzRlN2M5NTc2NDIzNjdjZWI1ZDg2NzIyNzE3
ZS4uODRiNGVkY2ZlYjc0MGU0MGMzNjhhZTIzMTEyMGYwZmQ1NzJkMmYyYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC00NjYsNiAr
NDY2LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBwYWdlL0dlb3Bvc2l0aW9uLmlkbCBcCiAg
ICAgcGFnZS9IaXN0b3J5LmlkbCBcCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwgXAorICAgIHBhZ2Uv
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbCBcCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbCBc
CiAgICAgcGFnZS9OYXZpZ2F0aW9uLmlkbCBcCiAgICAgcGFnZS9OYXZpZ2F0b3IuaWRsIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4
IGYzNDJkYmE0NDE3Mzk5ZDRkMWRiOTMyZjE1YzNhNzY4NDg1YTc4YTEuLmUyYmM4MzRiMTYyOGNh
YTM0MzFmZjc4YzU0YTljOTIwZDNiZDVmYmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5w
cm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtODE4LDYgKzgxOCw3IEBAIFNPVVJDRVMg
Kz0gXAogICAgIHBhZ2UvR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcCBcCiAgICAgcGFnZS9I
aXN0b3J5LmNwcCBcCiAgICAgcGFnZS9Mb2NhdGlvbi5jcHAgXAorICAgIHBhZ2UvTGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlLmNwcCBcCiAgICAgcGFnZS9NZW1vcnlJbmZvLmNwcCBcCiAgICAgcGFn
ZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCBcCiAgICAgcGFnZS9PcmlnaW5BY2Nl
c3NFbnRyeS5jcHAgXApAQCAtMTU4Nyw2ICsxNTg4LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGFn
ZS9IYWx0YWJsZVBsdWdpbi5oIFwKICAgICBwYWdlL0hpc3RvcnkuaCBcCiAgICAgcGFnZS9Mb2Nh
dGlvbi5oIFwKKyAgICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIFwKICAgICBwYWdl
L01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCBcCiAgICAgcGFnZS9OYXZpZ2F0b3JCYXNl
LmggXAogICAgIHBhZ2UvTmF2aWdhdG9yLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKaW5kZXggZDM0ZDk2OTEwMDlhMzNhYjEwNTM3ZWU0MzNkYTE2MjliZjQ2YWY2Mi4uNjhm
YzRhM2Q1ZGNkODdmOTJiNzdjYzA0ODRmMzg0MjVlNDFmZTI4ZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCkBAIC05MDYxLDYgKzkwNjEsNjIgQEAKIAkJCQk+DQogCQkJPC9G
aWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0xheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1
Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNMYXlvdXRUZXN0
Q29udHJvbGxlckNvcmUuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNNZWRpYUVycm9yLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCkBAIC0yMjM0NSw2ICsyMjQwMSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXExheW91dFRlc3RDb250cm9sbGVyQ29yZS5j
cHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwYWdlXExheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxNb3VzZUV2ZW50V2l0aEhpdFRl
c3RSZXN1bHRzLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDc0N2RjZjc5ZjcwZGRhOWE2NTNmOWNjZTJmYmY4
NDVlOTg5MTI5MTcuLmVkNDg5YTM5NGQ5ZDE3Y2Q4NTBlNWNiYjdlY2VmNDM1YjRhOTAwYjQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNjc3LDYgKzI2
NzcsOCBAQAogCQlBNzE4Nzg5MDBCMkQwNEFDMDBBMTZFQ0UgLyogRHJhZ0NvbnRyb2xsZXJNYWMu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzE4Nzg4
RjBCMkQwNEFDMDBBMTZFQ0UgLyogRHJhZ0NvbnRyb2xsZXJNYWMubW0gKi87IH07CiAJCUE3MzUy
QzE5MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAg
LyogUmVuZGVyU1ZHQmxvY2suY3BwICovOyB9OwogCQlBNzM1MkMxQTBCMUJCODlEMDBBOTg2RDAg
LyogUmVuZGVyU1ZHQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3MzUyQzE4MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5oICov
OyB9OworCQlBNzQ1RDJFNjExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
NDVEMkUzMTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICov
OyB9OworCQlBNzQ1RDJFNzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzQ1
RDJFNDExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi87IH07
CiAJCUE3NUU0OTc2MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU0OTc0MTA3
NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNzVFNDk3NzEwNzUyQUNCMDBDOUI4
OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU0OTc1MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwICovOyB9OwogCQlBNzVFOEI4ODBFMURFMkQ2MDA3RjI0ODEgLyog
RkVCbGVuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzVFOEI4MDBFMURFMkQ2MDA3RjI0ODEgLyogRkVCbGVuZC5jcHAgKi87IH07CkBAIC0yNjg3
LDYgKzI2ODksOCBAQAogCQlBNzVFOEI4RDBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb25lbnRU
cmFuc2Zlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTc1RThCODUwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCAqLzsgfTsK
IAkJQTc1RThCOEUwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU4Qjg2MEUxREUyRDYwMDdG
MjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgKi87IH07CiAJCUE3NUU4QjhGMEUxREUyRDYwMDdGMjQ4
MSAvKiBGRUNvbXBvc2l0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTc1RThCODcwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmggKi87IH07
CisJCUE3NzU1OEUzMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc1
NThFMTExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICov
OyB9OworCQlBNzc1NThFNDExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxl
ckNvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
NzU1OEUyMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oICov
OyB9OwogCQlBNzc5NzkxOTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Nzk3OTEzMEQ2QjlEMEMw
MDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwICovOyB9OwogCQlBNzc5NzkxQTBENkI5RDBDMDAzODUx
QjkgLyogSW1hZ2VEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzc5NzkxNDBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggKi87IH07CiAJ
CUE3Nzk3OTI4MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc5NzkyNDBENkI5RTY0MDAzODUx
QjkgLyogSlNJbWFnZURhdGEuY3BwICovOyB9OwpAQCAtODM4Nyw2ICs4MzkxLDkgQEAKIAkJQTcx
QTcwQzkxMUFGQjAyMDAwOTg5RDZEIC8qIEhUTUxNZXRlckVsZW1lbnQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEhUTUxNZXRlckVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR0Jsb2NrLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTczNTJDMTgwQjFCQjg5RDAwQTk4NkQwIC8q
IFJlbmRlclNWR0Jsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5k
ZXJTVkdCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzQ1RDJFMzExRjVC
Mzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NDVEMkU0MTFGNUIzNzkwMEFDRDAyMyAvKiBM
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3NDVEMkU1MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IExheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU0OTc0MTA3NTJBQ0IwMEM5Qjg5NiAv
KiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3NUU0OTc1MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODAwRTFERTJENjAwN0Yy
NDgxIC8qIEZFQmxlbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
RkVCbGVuZC5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZFQmxlbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtODM5Nyw2ICs4NDA0LDggQEAKIAkJQTc1RThCODUwRTFERTJENjAwN0Yy
NDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gRkVDb21wb25lbnRUcmFuc2Zlci5oOyBwYXRoID0gZmlsdGVycy9GRUNvbXBvbmVudFRy
YW5zZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU4Qjg2MEUxREUyRDYw
MDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBGRUNvbXBvc2l0ZS5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODcwRTFERTJENjAwN0YyNDgxIC8q
IEZFQ29tcG9zaXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZFQ29tcG9z
aXRlLmg7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3NzU1OEUxMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9s
bGVyQ29yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xheW91
dFRlc3RDb250cm9sbGVyQ29yZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3
NzU1OEUyMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0xheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzc5NzkxMzBENkI5RDBDMDAzODUx
QjkgLyogSW1hZ2VEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEltYWdlRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTE0MEQ2
QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSW1hZ2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTE1
MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IEltYWdlRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjI1NCw2ICsx
MjI2Myw5IEBACiAJCTY1QkYwMjE4MDk3NDgwNjMwMEM0MzE5NiAvKiBwYWdlICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzQ1RDJFMzExRjVCMzc5MDBB
Q0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCAqLywKKwkJCQlBNzQ1RDJFNDEx
RjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi8sCisJCQkJQTc0
NUQyRTUxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwgKi8s
CiAJCQkJMzE2RkUxMDYwRTZFMUQ4NDAwQkY2MDg4IC8qIGFuaW1hdGlvbiAqLywKIAkJCQk5M0Mw
OUE4MjBCMDY0RjA1MDA1QUJENEQgLyogbWFjICovLAogCQkJCTg1MzhGMDAwMEFENzE3NzAwMDZB
ODFEMSAvKiBBYnN0cmFjdFZpZXcuaWRsICovLApAQCAtMTU5NDIsNiArMTU5NTQsOCBAQAogCQlC
Qzk4NTQ0MzBDRDNEOUQwMDAwNjlCQzEgLyogV2luZG93ICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzc1NThFMTExRjVCNjAyMDBCNDNBQzEgLyogSlNM
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICovLAorCQkJCUE3NzU1OEUyMTFGNUI2MDIwMEI0
M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oICovLAogCQkJCUJDMTI0RUZEMEMy
NjQ0N0EwMDlFMjM0OSAvKiBKU0JhckluZm8uY3BwICovLAogCQkJCUJDMTI0RUZFMEMyNjQ0N0Ew
MDlFMjM0OSAvKiBKU0JhckluZm8uaCAqLywKIAkJCQlCQzk4NTQzQjBDRDNEOThCMDAwNjlCQzEg
LyogSlNDb25zb2xlLmNwcCAqLywKQEAgLTE5ODMyLDYgKzE5ODQ2LDggQEAKIAkJCQk5N0RENEQ4
NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Ux
NzJFMDExMTM2RThDRTAwNjJBNTMzIC8qIFpvb21Nb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
QzZFQTYxQTExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTc0NUQyRTcxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250
cm9sbGVyQ29yZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc3NTU4RTQxMUY1QjYwMjAwQjQzQUMx
IC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIyMjI1
LDYgKzIyMjQxLDggQEAKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNv
ZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3REQ0RDg2MEZERjRENkUwMEVDRjlBNCAv
KiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThDNkVBNjE5MTFFRjdFMDQwMEZE
OEVFMyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3
NDVEMkU2MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTc3NTU4RTMxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dTaGVsbC5jcHAKaW5kZXggNjUwOTZiOTNjMDZkODM3YTQxNGFkN2E4M2ZiNmE2MTlk
MjE3ZmFmZi4uYzEyM2RmODA1MDY5NjJhOTJlYjVjYjhkZjEwNDFhZTMxMzExOWM4NCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAK
ICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCisjaW5jbHVkZSAi
SlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNp
bmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSA8cnVudGltZS9KU09iamVjdC5o
PgpAQCAtNDYsNiArNDcsNyBAQCBjb25zdCBDbGFzc0luZm8gSlNET01XaW5kb3dTaGVsbDo6c19p
bmZvID0geyAiSlNET01XaW5kb3dTaGVsbCIsIDAsIDAsIDAgfTsKIEpTRE9NV2luZG93U2hlbGw6
OkpTRE9NV2luZG93U2hlbGwoUGFzc1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywgRE9NV3JhcHBl
cldvcmxkKiB3b3JsZCkKICAgICA6IEJhc2UoSlNET01XaW5kb3dTaGVsbDo6Y3JlYXRlU3RydWN0
dXJlKGpzTnVsbCgpKSkKICAgICAsIG1fd2luZG93KDApCisgICAgLCBtX2xheW91dFRlc3RDb250
cm9sbGVyQ29yZSgwKQogICAgICwgbV93b3JsZCh3b3JsZCkKIHsKICAgICBzZXRXaW5kb3cod2lu
ZG93KTsKQEAgLTY5LDYgKzcxLDE2IEBAIHZvaWQgSlNET01XaW5kb3dTaGVsbDo6c2V0V2luZG93
KFBhc3NSZWZQdHI8RE9NV2luZG93PiBkb21XaW5kb3cpCiAgICAgc2V0V2luZG93KGpzRE9NV2lu
ZG93KTsKIH0KIAorSlNPYmplY3QqIEpTRE9NV2luZG93U2hlbGw6OmxheW91dFRlc3RDb250cm9s
bGVyQ29yZSgpCit7CisgICAgaWYgKCFtX2xheW91dFRlc3RDb250cm9sbGVyQ29yZSkgeworICAg
ICAgICBFeGVjU3RhdGUqIGV4ZWMgPSB3aW5kb3coKS0+Z2xvYmFsRXhlYygpOworICAgICAgICBt
X2xheW91dFRlc3RDb250cm9sbGVyQ29yZSA9IHRvSlMoZXhlYywgd2luZG93KCksIHdpbmRvdygp
LT5pbXBsKCktPmxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpKS50b09iamVjdChleGVjKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmU7Cit9CisKIC8vIC0t
LS0KIC8vIEpTT2JqZWN0IG1ldGhvZHMKIC8vIC0tLS0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmgKaW5kZXggODg4MzI1ZDAzZmNjOGYzNGM5ZTMzYWEyNWZhYWQwMzMyNTQ4M2Y3
MS4uZGVhMmZhZTkwNTJjOTI1OThlYzYyNWNmOTZiYzQ1YTBhZWMwODdlZiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKQEAgLTUyLDYgKzUyLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB9CiAgICAgICAgIHZvaWQgc2V0V2luZG93KFBhc3NSZWZQdHI8RE9N
V2luZG93Pik7CiAKKyAgICAgICAgSlNDOjpKU09iamVjdCogbGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlKCk7CisKICAgICAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJbmZvIHNfaW5mbzsKIAog
ICAgICAgICBET01XaW5kb3cqIGltcGwoKSBjb25zdDsKQEAgLTg2LDYgKzg4LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGNvbnN0IEpTQzo6Q2xhc3NJbmZvKiBjbGFz
c0luZm8oKSBjb25zdCB7IHJldHVybiAmc19pbmZvOyB9CiAKICAgICAgICAgSlNET01XaW5kb3cq
IG1fd2luZG93OworICAgICAgICBKU0M6OkpTT2JqZWN0KiBtX2xheW91dFRlc3RDb250cm9sbGVy
Q29yZTsKICAgICAgICAgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gbV93b3JsZDsKICAgICB9Owog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA5ODAyMmQ5YjM1
YmQ0YzI5ZGYxZGNlNGVjZGJjZjFjODNjNGNlMmM4Li43YzVkNjc3OTI4YmQ4MjI2MDdhNjA2ZjIx
ODI1ZWYxZjZiOWIyYWEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENv
bnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5j
cHAKQEAgLTUwNiw0ICs1MDYsOSBAQCBTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVyOjpleGVj
dXRlU2NyaXB0SW5Xb3JsZChET01XcmFwcGVyV29ybGQqIHdvcmxkLCBjb25zdAogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKK0pTT2JqZWN0KiBTY3JpcHRDb250cm9sbGVyOjpsYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkKK3sKKyAgICByZXR1cm4gd2luZG93
U2hlbGwod29ybGQpLT5sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCA4
MDE1NWU0YjkzNTBmYzg0YjMyNDFkM2UzMzdmMDRkMjQ2OWRiZDk2Li4xODFjM2Y5ZmJkNTA5ZjMw
OTE5YTRkZmIwN2MyMjY5ZWM1MGVjNDkzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRy
b2xsZXIuaApAQCAtOTAsNiArOTAsOCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4g
d2luZG93U2hlbGwod29ybGQpLT53aW5kb3coKTsKICAgICB9CisgICAgCisgICAgSlNDOjpKU09i
amVjdCogbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKERPTVdyYXBwZXJXb3JsZCogd29ybGQpOwog
CiAgICAgc3RhdGljIHZvaWQgZ2V0QWxsV29ybGRzKFZlY3RvcjxET01XcmFwcGVyV29ybGQqPiYp
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3Bw
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAppbmRleCA3MDA2MGJj
NGQwMTAxNzE4ZTEzMTVkMjEyZTZkNGM3ZDY5OWRmYjMwLi42M2YzNzEyMTQ1NWMzOWNmNzk3ODBj
OTg3ZWYwYTU4ODJmZmIzNTBkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9N
V2luZG93U2hlbGwuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVs
bC5jcHAKQEAgLTUzLDYgKzUzLDcgQEAKICNpbmNsdWRlICJWOEhUTUxEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIlY4SGlkZGVuUHJvcGVydHlOYW1lLmgiCiAjaW5jbHVkZSAiVjhIaXN0b3J5LmgiCisj
aW5jbHVkZSAiVjhMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCIKICNpbmNsdWRlICJWOExvY2F0
aW9uLmgiCiAjaW5jbHVkZSAiVjhQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlckNvbnRleHRFeGVj
dXRpb25Qcm94eS5oIgpAQCAtNTUyLDYgKzU1MywxMiBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhET01XaW5kb3dTaGVsbDo6Z2V0SGlkZGVuT2JqZWN0UHJvdG90eXBlKHY4OjpIYW5kbGU8djg6
OgogICAgIHJldHVybiBjb250ZXh0LT5HbG9iYWwoKS0+R2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Q
cm9wZXJ0eU5hbWU6Om9iamVjdFByb3RvdHlwZSgpKTsKIH0KIAordjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiBWOERPTVdpbmRvd1NoZWxsOjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKQoreworICAg
IExheW91dFRlc3RDb250cm9sbGVyQ29yZSogY29yZSA9IG1fZnJhbWUtPmRvbVdpbmRvdygpLT5s
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKTsKKyAgICByZXR1cm4gVjhMYXlvdXRUZXN0Q29udHJv
bGxlckNvcmU6OndyYXAoY29yZSk7Cit9CisKIGJvb2wgVjhET01XaW5kb3dTaGVsbDo6aW5zdGFs
bEhpZGRlbk9iamVjdFByb3RvdHlwZSh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0KQog
ewogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gb2JqZWN0U3RyaW5nID0gdjg6OlN0cmluZzo6
TmV3KCJPYmplY3QiKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5k
b3dTaGVsbC5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmgKaW5kZXgg
M2NmMWI1MmZhOTYzYzgzZjBkYzkyYTBlZGU4MjY2MjZiZmUzZjFhYS4uMzIyYjZkZDcxYmFmM2Ri
NjZkZmZiYTQ0YmEzZTlhMzM2YzY4M2E0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTVdpbmRvd1NoZWxsLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRv
d1NoZWxsLmgKQEAgLTkyLDYgKzkyLDggQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgc2V0
TG9jYXRpb24oRE9NV2luZG93KiwgY29uc3QgU3RyaW5nJiByZWxhdGl2ZVVSTCk7CiAKKyAgICB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpOworCiBwcml2
YXRlOgogICAgIFY4RE9NV2luZG93U2hlbGwoRnJhbWUqKTsKIApAQCAtMTE5LDYgKzEyMSw3IEBA
IHByaXZhdGU6CiAgICAgdjg6OlBlcnNpc3RlbnQ8djg6OkNvbnRleHQ+IG1fY29udGV4dDsKICAg
ICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBtX2dsb2JhbDsKICAgICB2ODo6UGVyc2lzdGVu
dDx2ODo6T2JqZWN0PiBtX2RvY3VtZW50OworICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+
IG1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAppbmRleCAwNjJkMGRmMWFiMmNkNjdlMTFkZmE3Y2FkOGNmNWMyODZhNWM4
MDNhLi4xMDBhYzE5MWIyMTMzZTg5OWRjOWVkM2Q0YjM0M2UyMjMxYWY5MDk0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcApAQCAtNjAsNiArNjAsNyBAQAogI2luY2x1ZGUgIkluZGV4ZWREYXRhYmFzZVJlcXVlc3Qu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oIgorI2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIgog
I2luY2x1ZGUgIkxvY2F0aW9uLmgiCiAjaW5jbHVkZSAiU3R5bGVNZWRpYS5oIgogI2luY2x1ZGUg
Ik1lc3NhZ2VFdmVudC5oIgpAQCAtNTkyLDYgKzU5MywxMyBAQCBMb2NhdGlvbiogRE9NV2luZG93
Ojpsb2NhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1fbG9jYXRpb24uZ2V0KCk7CiB9CiAKK0xh
eW91dFRlc3RDb250cm9sbGVyQ29yZSogRE9NV2luZG93OjpsYXlvdXRUZXN0Q29udHJvbGxlckNv
cmUoKSBjb25zdAoreworICAgIGlmICghbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpCisgICAg
ICAgIG1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlID0gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3Jl
OjpjcmVhdGUobV9mcmFtZSk7CisgICAgcmV0dXJuIG1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3Jl
LmdldCgpOworfQorCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogU3RvcmFnZSogRE9NV2luZG93
OjpzZXNzaW9uU3RvcmFnZShFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRl
eCBiZWIyZjdkNmUxMzIxODE5OTY5MmMwMDkxNTA0OTIwZTZkZTgzN2JiLi5hNzEwZTc5OGU5MjZh
YTgyYjA2NmMwYmRmYjZlYzVjYTM3YzJlMmJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmgKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC01NSw2ICs1NSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5OwogICAgIGNsYXNzIEluZGV4
ZWREYXRhYmFzZVJlcXVlc3Q7CiAgICAgY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKKyAg
ICBjbGFzcyBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU7CiAgICAgY2xhc3MgTG9jYXRpb247CiAg
ICAgY2xhc3MgU3R5bGVNZWRpYTsKICAgICBjbGFzcyBOYXZpZ2F0b3I7CkBAIC0zNzcsNiArMzc4
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBET01BcHBsaWNhdGlvbkNhY2hlKiBv
cHRpb25hbEFwcGxpY2F0aW9uQ2FjaGUoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9uQ2Fj
aGUuZ2V0KCk7IH0KICNlbmRpZgogCisgICAgICAgIExheW91dFRlc3RDb250cm9sbGVyQ29yZSog
bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKCkgY29uc3Q7CisKICAgICAgICAgdXNpbmcgUmVmQ291
bnRlZDxET01XaW5kb3c+OjpyZWY7CiAgICAgICAgIHVzaW5nIFJlZkNvdW50ZWQ8RE9NV2luZG93
Pjo6ZGVyZWY7CiAKQEAgLTQwNyw2ICs0MTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYg
RU5BQkxFKFdFQl9USU1JTkcpCiAgICAgICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlPiBt
X3BlcmZvcm1hbmNlOwogI2VuZGlmCisgICAgICAgIG11dGFibGUgUmVmUHRyPExheW91dFRlc3RD
b250cm9sbGVyQ29yZT4gbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmU7CiAgICAgICAgIG11dGFi
bGUgUmVmUHRyPExvY2F0aW9uPiBtX2xvY2F0aW9uOwogICAgICAgICBtdXRhYmxlIFJlZlB0cjxT
dHlsZU1lZGlhPiBtX21lZGlhOwogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIGIvV2ViQ29yZS9wYWdl
L0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmIzNjVlODc4MDJhNTkw
ZTg3M2VlMTcyNjNmNzZmM2JmZjdhYjdiNwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFn
ZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIgorCisjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiTm9k
ZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworRnJhbWUqIExheW91dFRlc3RDb250cm9sbGVyQ29yZTo6ZnJhbWUoKSBjb25zdAoreworICAg
IHJldHVybiBtX2ZyYW1lOworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyQ29yZTo6ZGlz
Y29ubmVjdEZyYW1lKCkKK3sKKyAgICBtX2ZyYW1lID0gMDsKK30KKworaW50IExheW91dFRlc3RD
b250cm9sbGVyQ29yZTo6ZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKE5vZGUqLCBFeGNlcHRpb25D
b2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIXZlcmlmeUNvbm5lY3RlZChlYykpCisgICAgICAg
IHJldHVybiAwOworCisgICAgLy8gRklYTUU6IGltcGxlbWVudAorICAgIHJldHVybiAwOworfQor
CitTdHJpbmcgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpkb2N1bWVudE1ha2VyU3RyaW5nRm9y
Tm9kZUF0KE5vZGUqLCBpbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmICgh
dmVyaWZ5Q29ubmVjdGVkKGVjKSkKKyAgICAgICAgcmV0dXJuICIiOworCisgICAgLy8gRklYTUU6
IGltcGxlbWVudAorICAgIHJldHVybiAiIjsKK30KKworTGF5b3V0VGVzdENvbnRyb2xsZXJDb3Jl
OjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoRnJhbWUqIGZyYW1lKQorICAgIDogbV9mcmFtZShm
cmFtZSkKK3sKK30KKworYm9vbCBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OnZlcmlmeUNvbm5l
Y3RlZChFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpIHsKKyAg
ICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKworICAgIHJldHVybiB0cnVlOworfQorCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCBiL1dlYkNv
cmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWYyY2JlZTMy
ZWE4MzMzZmJlYTAyYTEzYjNlZWZiZWZmNmUxYjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmVfaAorI2RlZmluZSBMYXlvdXRUZXN0Q29udHJvbGxl
ckNvcmVfaAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgRnJhbWU7CitjbGFzcyBOb2RlOworY2xhc3MgU3RyaW5nOwordHlwZWRlZiBp
bnQgRXhjZXB0aW9uQ29kZTsKKworY2xhc3MgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIDogcHVi
bGljIFJlZkNvdW50ZWQ8TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlPiB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlPiBjcmVhdGUoRnJhbWUq
IGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKGZy
YW1lKSk7IH0KKworICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0OworICAgIHZvaWQgZGlzY29ubmVj
dEZyYW1lKCk7CisKKyAgICBpbnQgZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKE5vZGUqLCBFeGNl
cHRpb25Db2RlJikgY29uc3Q7CisgICAgU3RyaW5nIGRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2Rl
QXQoTm9kZSosIGludCwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworCitwcml2YXRlOgorICAgIGJv
b2wgdmVyaWZ5Q29ubmVjdGVkKEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICBMYXlvdXRUZXN0
Q29udHJvbGxlckNvcmUoRnJhbWUqKTsKKworICAgIEZyYW1lKiBtX2ZyYW1lOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3Jl
X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRs
IGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWM1MmZkNDFjOTMwM2EyMDNiZDdlN2ZkY2U4ODhkM2IzNjg5MTdhNgotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsCkBAIC0wLDAgKzEs
MzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworbW9kdWxlIHdpbmRvdyB7CisKKyAgICBpbnRlcmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0g
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIHsKKyAgICAgICAgbG9uZyBkb2N1bWVudE1ha2VyU2l6
ZUZvck5vZGUoaW4gTm9kZSBub2RlKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgRE9N
U3RyaW5nIGRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2RlQXQoaW4gTm9kZSBub2RlLCBpbiBsb25n
IGluZGV4KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCAyOTcwMzZiYmE5Y2Q3ZTdlZjQ0MWUyNDg0OTMyMmNmNGZlZTBiMzU3Li40ZmJjMzc1YzI2YjM2
MTU5ZDEwYWQ1NjRjY2MyZGRkNGU0Mjc0YTY2IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBA
QAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQgc2hvdWxkIGFs
bG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9yIHNl
dHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDI2MTIKKworICAgICAgICBBZGRlZCBhbiBhY2Nlc3NvciBmb3IgTGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlLgorICAgICAgICAKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAg
ICAqIHB1YmxpYy9XZWJGcmFtZS5oOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSk6
CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgorCiAyMDEwLTA3LTIxICBIYW5zIFdlbm5i
b3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU3RldmUgQmxv
Y2suCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1dlYktpdC9jaHJv
bWl1bS9XZWJLaXQuZ3lwCmluZGV4IGI0N2Q3NTYyNmVmNGZiZmJhYzZlZjEwMGUxNjIyMTYxNWZj
M2E2MzEuLjIzYjA1ZGJiNjU2MmM4YzgzZDI5ODVhMjc2YTg4YzU1ZTdjMDlmY2MgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9XZWJL
aXQuZ3lwCkBAIC03MzMsNyArNzMzLDggQEAKICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9z
cmNfZGlyKS90aGlyZF9wYXJ0eS9pY3UvaWN1Lmd5cDppY3V1YycsCiAgICAgICAgICAgICAgICAg
JzwoY2hyb21pdW1fc3JjX2Rpcikvd2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuZ3lwOmNv
cHlfbnBhcGlfbGF5b3V0X3Rlc3RfcGx1Z2luJywKICAgICAgICAgICAgICAgICAnPChjaHJvbWl1
bV9zcmNfZGlyKS93ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5neXA6d2Via2l0X3N1cHBv
cnQnLAotICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2dwdS9ncHUuZ3lwOmds
ZXMyX2NfbGliJworICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2dwdS9ncHUu
Z3lwOmdsZXMyX2NfbGliJywKKyAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS92
OC90b29scy9neXAvdjguZ3lwOnY4JwogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICdpbmNs
dWRlX2RpcnMnOiBbCiAgICAgICAgICAgICAgICAgJy4nLApkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFt
ZS5oCmluZGV4IGM0ZmE3YWU1MjBkNjg0NDEwYzQ5MGI5MTIyMWNmYzQ0NDY0MDgzNTAuLmFlYmY3
Nzg5YmI3MDkzZmMyMzM0ZWIyYjI2YTljNWI5NDI3YmZhMWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkZyYW1lLmgKQEAgLTQwLDYgKzQwLDcgQEAgc3RydWN0IE5QT2JqZWN0OwogbmFtZXNwYWNlIHY4
IHsKIGNsYXNzIENvbnRleHQ7CiBjbGFzcyBWYWx1ZTsKK2NsYXNzIE9iamVjdDsKIHRlbXBsYXRl
IDxjbGFzcyBUPiBjbGFzcyBIYW5kbGU7CiB0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgTG9jYWw7
CiB9CkBAIC0yMzksNiArMjQwLDEwIEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRoZSBWOCBj
b250ZXh0IGZvciB0aGlzIGZyYW1lLCBvciBhbiBlbXB0eSBoYW5kbGUgaWYgdGhlcmUKICAgICAv
LyBpcyBub25lLgogICAgIHZpcnR1YWwgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBtYWluV29ybGRT
Y3JpcHRDb250ZXh0KCkgY29uc3QgPSAwOworCisgICAgLy8gUmV0dXJucyBWOCBvYmplY3QgdGhh
dCB3cmFwcyBMYXlvdVR0ZXN0Q29udHJvbGxlckNvcmUgaW5zdGFuY2UuCisgICAgdmlydHVhbCB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpIGNvbnN0ID0g
MDsKKwogI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDUz
NWQxMjhhNmE3YTkwYzM2MjVkOGI1MWJiNzNhYWUzMmUyMWQ4NjAuLmQyODM3ODkwZDZjN2QxNzIw
NTY5YzNhODc0YzM3MjBjMDRiMjQ2YjEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5j
cHAKQEAgLTc5OCw2ICs3OTgsMTIgQEAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBXZWJGcmFtZUlt
cGw6Om1haW5Xb3JsZFNjcmlwdENvbnRleHQoKSBjb25zdAogCiAgICAgcmV0dXJuIFY4UHJveHk6
Om1haW5Xb3JsZENvbnRleHQobV9mcmFtZSk7CiB9CisKK3Y4OjpIYW5kbGU8djg6Ok9iamVjdD4g
V2ViRnJhbWVJbXBsOjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKSBjb25zdAoreworICAgIHJl
dHVybiBtX2ZyYW1lLT5zY3JpcHQoKS0+cHJveHkoKS0+d2luZG93U2hlbGwoKS0+bGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlKCk7Cit9CisKICNlbmRpZgogCiBib29sIFdlYkZyYW1lSW1wbDo6aW5z
ZXJ0U3R5bGVUZXh0KApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5kZXggMjUxMWZjZTE0
N2VlN2E0N2YzNTI5OGZjN2Q0ZDZjZjk4YTY1ZTE1YS4uNzc5ZTM5YTFlOWY1Mzk1YjIxNjY1MWFk
MWQ0MDA4YjEzZGZlNGNhZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC0xMDQs
NiArMTA0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGV4
ZWN1dGVTY3JpcHRBbmRSZXR1cm5WYWx1ZSgKICAgICAgICAgY29uc3QgV2ViU2NyaXB0U291cmNl
Jik7CiAgICAgdmlydHVhbCB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5Xb3JsZFNjcmlwdENv
bnRleHQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gbGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlKCkgY29uc3Q7CiAjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgaW5z
ZXJ0U3R5bGVUZXh0KGNvbnN0IFdlYlN0cmluZyYgY3NzLCBjb25zdCBXZWJTdHJpbmcmIGlkKTsK
ICAgICB2aXJ0dWFsIHZvaWQgcmVsb2FkKGJvb2wgaWdub3JlQ2FjaGUpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA4MDNiZjEy
NWJlZmEwOWQ5NWE5MzY2MTNjYTAxMjgxZGZkNDQzYTJmLi5hMTQ4YTNmYzdlODVmM2NiNzM2ZTBh
MDA5Zjg3MTEyNWUzMTI2MjBmIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysg
Yi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTIxICBNT1JJ
VEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRv
IGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgorCisg
ICAgICAgIEFkZGVkIGFuIGFjY2Vzc29yIGZvciBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuCisK
KyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwOgorICAgICAgICAod2Via2l0X3dl
Yl9sYXlvdXRfdGVzdF9jb250cm9sbGVyX2NvcmUpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3
ZWJmcmFtZS5oOgorCiAyMDEwLTA3LTE2ICBaaGUgU3UgIDxzdXpoZUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJm
cmFtZS5jcHAKaW5kZXggMzQ0Zjk0ZTI3MGFhYzdhMDc2ODc5Y2JiNmY0YTEwNGFiMDFmNzk5Ni4u
MWEzY2M3ZTYyMjUxMmE5ZjViNzE5YWU3NzRmNzNiMWIxMDc5MzM2NSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYmZyYW1lLmNwcApAQCAtMTI0NiwzICsxMjQ2LDIzIEBAIFdlYktpdE5ldHdvcmtS
ZXNwb25zZSogd2Via2l0X3dlYl9mcmFtZV9nZXRfbmV0d29ya19yZXNwb25zZShXZWJLaXRXZWJG
cmFtZSogZnJhCiAKICAgICByZXR1cm4gd2Via2l0X25ldHdvcmtfcmVzcG9uc2VfbmV3X3dpdGhf
Y29yZV9yZXNwb25zZShsb2FkZXItPnJlc3BvbnNlKCkpOwogfQorCisvKioKKyAqIHdlYmtpdF93
ZWJfbGF5b3V0X3Rlc3RfY29udHJvbGxlcl9jb3JlOgorICogQGZyYW1lOiBhICNXZWJLaXRXZWJG
cmFtZQorICoKKyAqIEdldHMgdGhlIExheW91dFRlc3RDb250cm9sbGVyQ29yZSBhc3NvY2lhdGVk
IHdpdGggdGhpcyBmcmFtZS4KKyAqCisgKiBSZXR1cm4gdmFsdWU6IHRoZSBMYXlvdXRUZXN0Q29u
dHJvbGxlciBpbnN0YW5jZQorICovCitKU1ZhbHVlUmVmIHdlYmtpdF93ZWJfbGF5b3V0X3Rlc3Rf
Y29udHJvbGxlcl9jb3JlKFdlYktpdFdlYkZyYW1lKiBmcmFtZSkKK3sKKyAgICBnX3JldHVybl92
YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX0ZSQU1FKGZyYW1lKSwgTlVMTCk7CisKKyAgICBGcmFt
ZSogY29yZUZyYW1lID0gY29yZShmcmFtZSk7CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAg
IHJldHVybiBOVUxMOworCisgICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBjb3JlRnJhbWUtPnNj
cmlwdCgpLT5nbG9iYWxPYmplY3Qod29ybGQpLT5nbG9iYWxFeGVjKCk7CisgICAgcmV0dXJuIHRv
UmVmKGV4ZWMsIEpTQzo6SlNWYWx1ZShjb3JlRnJhbWUtPnNjcmlwdCgpLT5sYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUobWFpblRocmVhZE5vcm1hbFdvcmxkKCkpKSk7Cit9CmRpZmYgLS1naXQgYS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2ViZnJhbWUuaAppbmRleCAyOGQ3MTEzM2YwMGMwNDA1YzAyZmRiOTE3ZWY0MDE3ZDI3YzZi
YzM0Li40ZDliNTM0YWU3ODUxZTUwYzc1NmE5ZjczZGMwM2NhMTAzNzZmNjQwIDEwMDY0NAotLS0g
YS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5oCisrKyBiL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYmZyYW1lLmgKQEAgLTE0NSw2ICsxNDUsOSBAQCB3ZWJraXRfd2ViX2ZyYW1l
X2ZpbmRfZnJhbWUgICAgICAgICAoV2ViS2l0V2ViRnJhbWUgICAgICAgKmZyYW1lLAogV0VCS0lU
X0FQSSBKU0dsb2JhbENvbnRleHRSZWYKIHdlYmtpdF93ZWJfZnJhbWVfZ2V0X2dsb2JhbF9jb250
ZXh0IChXZWJLaXRXZWJGcmFtZSAgICAgICAqZnJhbWUpOwogCitXRUJLSVRfQVBJIEpTVmFsdWVS
ZWYKK3dlYmtpdF93ZWJfbGF5b3V0X3Rlc3RfY29udHJvbGxlcl9jb3JlKFdlYktpdFdlYkZyYW1l
ICAgICAqZnJhbWUpOworCiBXRUJLSVRfQVBJIEd0a1ByaW50T3BlcmF0aW9uUmVzdWx0CiB3ZWJr
aXRfd2ViX2ZyYW1lX3ByaW50X2Z1bGwgICAgICAgICAoV2ViS2l0V2ViRnJhbWUgICAgICAgKmZy
YW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd0a1ByaW50T3BlcmF0
aW9uICAgICpvcGVyYXRpb24sCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDYzZTczMmQ3ODkwNmRjN2Y3MTBiY2ZkMDQ1MTRkMDll
Nzg0OGIyYmMuLmZmOGI0ZTZhZGI4ODMyM2I0Y2I3N2QwYTlhODU1OTMyMjIyYTgzYjAgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2ds
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RFJUIHNob3VsZCBhbGxvdyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwg
c3RhdGVzIGZvciBzZXR1cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEyCisKKyAgICAgICAgQWRkZWQgYW4gYWNjZXNzb3Ig
Zm9yIExheW91dFRlc3RDb250cm9sbGVyQ29yZS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViRnJh
bWUubW06CisgICAgICAgICgtW1dlYkZyYW1lIGxheW91dFRlc3RDb250cm9sbGVyQ29yZV0pOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmg6CisKIDIwMTAtMDctMTkgIENocmlz
IE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tIGIvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCmluZGV4IGI3MWQ1MDFkZmNmYTliMTc5NTE3NDhj
ZWRmNWE5MjI4YTExZjZlZWQuLjQ1NGQ3ZGMxOTA4MDJhNzJkNWRjN2ZlYWEyMzkzZTFmMGIzNWE0
MzkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQorKysgYi9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KQEAgLTEzNDAsNiArMTM0MCwxNiBAQCBzdGF0aWMg
aW5saW5lIFdlYkRhdGFTb3VyY2UgKmRhdGFTb3VyY2UoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikK
ICAgICByZXR1cm4gY29yZUZyYW1lLT5sYXllclRyZWVBc1RleHQoKTsKIH0KIAorLSAoSlNWYWx1
ZVJlZilsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUKK3sKKyAgICBGcmFtZSogY29yZUZyYW1lID0g
X3ByaXZhdGUtPmNvcmVGcmFtZTsKKyAgICBpZiAoIWNvcmVGcmFtZSkKKyAgICAgICAgcmV0dXJu
IDA7CisgICAgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCA9IG1haW5UaHJlYWROb3JtYWxXb3JsZCgp
OworICAgIEpTQzo6RXhlY1N0YXRlKiBleGVjID0gY29yZUZyYW1lLT5zY3JpcHQoKS0+Z2xvYmFs
T2JqZWN0KHdvcmxkKS0+Z2xvYmFsRXhlYygpOworICAgIHJldHVybiB0b1JlZihleGVjLCBKU1Zh
bHVlKGNvcmVGcmFtZS0+c2NyaXB0KCktPmxheW91dFRlc3RDb250cm9sbGVyQ29yZShtYWluVGhy
ZWFkTm9ybWFsV29ybGQoKSkpKTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViRnJh
bWUKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaCBiL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaAppbmRleCAwYmRhOTY2YWJiZGZjOTQ3
YzYyMWQ0MTQyOWZiOGY3Yjk3MDA4ZGJkLi4xM2M4OThhN2IxMTg5NDcwYjUxM2IzNTRiZTk1N2Rh
YzkzNWZlZjA5IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRl
LmgKKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCkBAIC0xMzYsNCAr
MTM2LDcgQEAgdHlwZWRlZiBlbnVtIHsKIAogLSAoTlNTdHJpbmcqKV9sYXllclRyZWVBc1RleHQ7
CiAKKy8vIFJldHVybnMgYXNzb2NpYXRlZCBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgb2JqZWN0
IAorLSAoSlNWYWx1ZVJlZilsYXlvdXRUZXN0Q29udHJvbGxlckNvcmU7CisKIEBlbmQKZGlmZiAt
LWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXgg
ZDYxZTRlMWZmNTc1YjNmNTExZjlkM2NiYWQ5YmQ5OTBmNzkyMTQ4OS4uNTc2MDZhMDBkOGRhNzdh
MTYxYjgzZDk2MjhlMDEzYjc1YjhlNmUxNSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wNy0y
MSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQgc2hvdWxkIGFsbG93IHRlc3Qgc2Ny
aXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9yIHNldHVwL3ZlcmlmaWNh
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2
MTIKKworICAgICAgICBBZGRlZCBhbiBhY2Nlc3NvciBmb3IgTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlLgorICAgICAgICAKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJGcmFtZS5pZGw6CisgICAg
ICAgICogV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViRnJhbWU6OmxheW91dFRlc3RDb250cm9s
bGVyQ29yZSk6CisgICAgICAgICogV2ViRnJhbWUuaDoKKwogMjAxMC0wNy0yMCAgQWRhbSBSb2Jl
biAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFdlYktpdFRlc3RSdW5uZXIgYW5k
IGZyaWVuZHMgdG8gV2ViS2l0LnNsbgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9JbnRlcmZhY2Vz
L0lXZWJGcmFtZS5pZGwgYi9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkZyYW1lLmlkbAppbmRl
eCBkYTJhNzhmMjkyYWNiYzc4YTEyZmJjYzY4ODk2MTU2NmVlZmU2YWEyLi5jNjRhYmU5YWQyNDg1
NTg2MDNhYzYxNGExNjk3ZTFlMDIyYzFmNTg1IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0ludGVy
ZmFjZXMvSVdlYkZyYW1lLmlkbAorKysgYi9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkZyYW1l
LmlkbApAQCAtMjQxLDYgKzI0MSwxMiBAQCBpbnRlcmZhY2UgSVdlYkZyYW1lIDogSVVua25vd24K
ICAgICAqLwogICAgW2xvY2FsXSBKU0dsb2JhbENvbnRleHRSZWYgZ2xvYmFsQ29udGV4dCgpOwog
CisgICAgLyohCisgICAgICAgIEBtZXRob2QgbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlCisgICAg
ICAgIEByZXN1bHQgVGhlIGZyYW1lJ3MgYXNzb2NpYXRlZCBMYXlvdXRUZXN0Q29udHJvbGxlckNv
cmUgb2JqZWN0CisgICAgKi8KKyAgIFtsb2NhbF0gSlNWYWx1ZVJlZiBsYXlvdXRUZXN0Q29udHJv
bGxlckNvcmUoKTsKKwogICAgLyohCiAgICAgICAgIEBtZXRob2Qgc2V0SXNEaXNjb25uZWN0ZWQK
ICAgICAgICAgQGFic3RyYWN0IFNldCB3aGV0aGVyIGEgZnJhbWUgaXMgZGlzY29ubmVjdGVkCmRp
ZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcCBiL1dlYktpdC93aW4vV2ViRnJhbWUu
Y3BwCmluZGV4IDU3MDVmMWViMDQ3ZWU5ZTIyMjU5ZmU5NjQ1Y2JkNmM2Y2RkN2Y4YWMuLmFlYTE3
OTI4Yjc4ZThlNmMyYmE2ODBmZDJjMTc3ZmZjYTdkOGI5NGMgMTAwNjQ0Ci0tLSBhL1dlYktpdC93
aW4vV2ViRnJhbWUuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCkBAIC01MjIsNiAr
NTIyLDE4IEBAIEpTR2xvYmFsQ29udGV4dFJlZiBTVERNRVRIT0RDQUxMVFlQRSBXZWJGcmFtZTo6
Z2xvYmFsQ29udGV4dCgpCiAgICAgcmV0dXJuIHRvR2xvYmFsUmVmKGNvcmVGcmFtZS0+c2NyaXB0
KCktPmdsb2JhbE9iamVjdChtYWluVGhyZWFkTm9ybWFsV29ybGQoKSktPmdsb2JhbEV4ZWMoKSk7
CiB9CiAKK0pTVmFsdWVSZWYgU1RETUVUSE9EQ0FMTFRZUEUgV2ViRnJhbWU6OmxheW91dFRlc3RD
b250cm9sbGVyQ29yZSgpCit7CisgICAgRnJhbWUqIGNvcmVGcmFtZSA9IGNvcmUodGhpcyk7Cisg
ICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVybiAwOworCisgICAgRE9NV3JhcHBlcldv
cmxkKiB3b3JsZCA9IG1haW5UaHJlYWROb3JtYWxXb3JsZCgpOworICAgIEpTQzo6RXhlY1N0YXRl
KiBleGVjID0gY29yZUZyYW1lLT5zY3JpcHQoKS0+Z2xvYmFsT2JqZWN0KHdvcmxkKS0+Z2xvYmFs
RXhlYygpOworICAgIHJldHVybiB0b1JlZihleGVjLCBKU1ZhbHVlKGNvcmVGcmFtZS0+c2NyaXB0
KCktPmxheW91dFRlc3RDb250cm9sbGVyQ29yZShtYWluVGhyZWFkTm9ybWFsV29ybGQoKSkpKTsK
K30KKworCiBKU0dsb2JhbENvbnRleHRSZWYgV2ViRnJhbWU6Omdsb2JhbENvbnRleHRGb3JTY3Jp
cHRXb3JsZChJV2ViU2NyaXB0V29ybGQqIGlXb3JsZCkKIHsKICAgICBGcmFtZSogY29yZUZyYW1l
ID0gY29yZSh0aGlzKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViRnJhbWUuaCBiL1dlYktp
dC93aW4vV2ViRnJhbWUuaAppbmRleCBjMTRkZGM5MTcwMzZlNTE1NDc2OWIxMzZhZTlhNGNiYjAy
ZjkyZTQ2Li5lY2ZhOGEwY2MzMzUwYzU1NTM2YmI2MDZkMjE1ZjNkMTdjZDZiYjUzIDEwMDY0NAot
LS0gYS9XZWJLaXQvd2luL1dlYkZyYW1lLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJGcmFtZS5oCkBA
IC0xNTMsNiArMTUzLDcgQEAgcHVibGljOgogICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIElE
T01FbGVtZW50ICoqZm9ybUVsZW1lbnQpOwogCiAgICAgdmlydHVhbCAvKiBbbG9jYWxdICovIEpT
R2xvYmFsQ29udGV4dFJlZiBTVERNRVRIT0RDQUxMVFlQRSBnbG9iYWxDb250ZXh0KCk7CisgICAg
dmlydHVhbCAvKiBbbG9jYWxdICovIEpTVmFsdWVSZWYgU1RETUVUSE9EQ0FMTFRZUEUgbGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlKCk7CiAKICAgICAvLyBJV2ViRnJhbWVQcml2YXRlCiAgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHVudXNlZDEoQlNUUiopIHsgcmV0dXJuIEVf
Tk9USU1QTDsgfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDU5ZWQwYTI4ZDM5ZTQzYTA0YTU2MzU1YWNjZGVkMWM4ZjJiNTAz
ZjUuLmIwODUxNTk0ZmU1ZTQ4YzRmYzc0YjZjODM1Nzg2ODAyODliOWM2OTIgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQg
c2hvdWxkIGFsbG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0
ZXMgZm9yIHNldHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDI2MTIKKworICAgICAgICBFeHRlbmRlZCBMYXlvdXRUZXN0Q29u
dHJvbGxlciBvYmplY3QgYnkgYWRkaW5nIGRlbGdhdGlvbiBtZXRob2RzCisgICAgICAgIGZvciBM
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUgcHJvdmlkZWQgYnkgV2ViRnJhbWUuICAKKyAgICAgICAg
Tm93IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciBoYXMgbWV0aG9kcyBkZWZpbmVkIGluCisg
ICAgICAgIExheW91dFRlc3RDb250cm9sbGVyQ29yZS4gIAorICAgICAgICAKKyAgICAgICAgTGF5
b3V0VGVzdENvbnRyb2xsZXJRdCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRl
c3RDb250cm9sbGVyOjptYWtlRGVsZWdhdGlvbk1ldGhvZHMpOgorICAgICAgICAoTGF5b3V0VGVz
dENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRlc3RTaGVsbDo6YmluZEpTT2JqZWN0c1RvV2lu
ZG93KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwOgor
ICAgICAgICAod2ViVmlld1dpbmRvd09iamVjdENsZWFyZWQpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bRnJhbWVMb2FkRGVs
ZWdhdGUgZGlkQ2xlYXJXaW5kb3dPYmplY3RJblN0YW5kYXJkV29ybGRGb3JGcmFtZTpdKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRnJhbWVMb2FkRGVsZWdhdGUuY3BwOgorICAgICAg
ICAoRnJhbWVMb2FkRGVsZWdhdGU6OmRpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJhbWVJblN0YW5k
YXJkV29ybGQpOgorCiAyMDEwLTA3LTIwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgSm9uIEhvbmV5Y3V0dC4KZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCA2YTk1N2MxMjZl
ZjYxNzcxYTI4NmIwZWRmZDM0YjczMGFjNTY4YjJiLi5lMDY1MTQ2MmJkMmI5Y2Y0YjM4OGRlY2Rm
MjMxOWYyOTRmNTdkMTAyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xNjk1LDkgKzE2OTUsMjggQEAgc3RhdGljIHZv
aWQgbGF5b3V0VGVzdENvbnRyb2xsZXJPYmplY3RGaW5hbGl6ZShKU09iamVjdFJlZiBvYmplY3Qp
CiAgICAgY29udHJvbGxlci0+ZGVyZWYoKTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgc2V0dXBM
YXlvdXRUZXN0Q29udHJvbGxlclNjcmlwdFtdID0gCisgICAgImZ1bmN0aW9uIGRlbGVnYXRlKGRz
dCwgc3JjLCBuYW1lKSB7IGRzdFtuYW1lXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gc3JjW25hbWVd
LmFwcGx5KHNyYywgYXJndW1lbnRzKTsgfSB9XG4iCisgICAgImZvciAodmFyIG5hbWUgaW4gdGhp
cy5jb3JlKSB7XG4iCisgICAgIiAgICBkZWxlZ2F0ZSh0aGlzLCB0aGlzLmNvcmUsIG5hbWUpO1xu
IgorICAgICJ9XG4iOworCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtlRGVsZWdhdGlv
bk1ldGhvZHMoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpT
VmFsdWVSZWYgY29yZU9iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBjb3JlU3RyKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4
Q1N0cmluZygiY29yZSIpKTsKKyAgICBKU09iamVjdFNldFByb3BlcnR5KGNvbnRleHQsIHRoaXNP
YmplY3QsIGNvcmVTdHIuZ2V0KCksIGNvcmVPYmplY3QsIGtKU1Byb3BlcnR5QXR0cmlidXRlTm9u
ZSwgZXhjZXB0aW9uKTsKKyAgICBBU1NFUlQoISpleGNlcHRpb24pOworCisgICAgSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IHVybFN0cihBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoInNldHVwX2xheW91dF90ZXN0X2NvbnRyb2xsZXJfdGVzdC5qcyIpKTsKKyAgICBKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gc2NyaXB0U3RyKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4
Q1N0cmluZyhzZXR1cExheW91dFRlc3RDb250cm9sbGVyU2NyaXB0KSk7CisgICAgQVNTRVJUKCEq
ZXhjZXB0aW9uKTsKKyAgICBKU0V2YWx1YXRlU2NyaXB0KGNvbnRleHQsIHNjcmlwdFN0ci5nZXQo
KSwgdGhpc09iamVjdCwgdXJsU3RyLmdldCgpLCAxLCBleGNlcHRpb24pOworICAgIEFTU0VSVCgh
KmV4Y2VwdGlvbik7Cit9CisKIC8vIE9iamVjdCBDcmVhdGlvbgogCi12b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiB3aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3ZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2Jq
ZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uLCBKU1ZhbHVlUmVmIGNv
cmUpCiB7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGxheW91dFRlc3RDb250b2xsZXJT
dHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJsYXlvdXRUZXN0Q29udHJv
bGxlciIpKTsKICAgICByZWYoKTsKQEAgLTE3MDYsNiArMTcyNSw5IEBAIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2Jq
ZWN0UmVmIHdpCiAgICAgSlNWYWx1ZVJlZiBsYXlvdXRUZXN0Q29udG9sbGVyT2JqZWN0ID0gSlNP
YmplY3RNYWtlKGNvbnRleHQsIGNsYXNzUmVmLCB0aGlzKTsKICAgICBKU0NsYXNzUmVsZWFzZShj
bGFzc1JlZik7CiAKKyAgICBpZiAoY29yZSkKKyAgICAgICAgbWFrZURlbGVnYXRpb25NZXRob2Rz
KGNvbnRleHQsIEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBsYXlvdXRUZXN0Q29udG9sbGVyT2Jq
ZWN0LCBleGNlcHRpb24pLCBjb3JlLCBleGNlcHRpb24pOworCiAgICAgSlNPYmplY3RTZXRQcm9w
ZXJ0eShjb250ZXh0LCB3aW5kb3dPYmplY3QsIGxheW91dFRlc3RDb250b2xsZXJTdHIuZ2V0KCks
IGxheW91dFRlc3RDb250b2xsZXJPYmplY3QsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUsIGV4Y2VwdGlvbik7CiB9CiAKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4
IDMwZWI5YmQ0Zjg0NGQ0Y2E5YzNlZWNhYjdjNjZlZDBlNzc5Mzg3OGYuLjEyOGEwMWM3ZWUwNDQz
MTBiMGRiYjRlYTg5NjFiYzRlODNjOTNlYjggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtNDIsNyArNDIsOCBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8TGF5b3V0VGVzdENvbnRyb2xsZXI+IGNyZWF0ZShjb25z
dCBzdGQ6OnN0cmluZyYgdGVzdFBhdGhPclVSTCwgY29uc3Qgc3RkOjpzdHJpbmcmIGV4cGVjdGVk
UGl4ZWxIYXNoKTsKICAgICB+TGF5b3V0VGVzdENvbnRyb2xsZXIoKTsKIAotICAgIHZvaWQgbWFr
ZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2luZG93T2Jq
ZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOworICAgIHZvaWQgbWFrZURlbGVnYXRpb25NZXRo
b2RzKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBKU1ZhbHVl
UmVmIGNvcmVPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CisgICAgdm9pZCBtYWtlV2lu
ZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmplY3Qs
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbiwgSlNWYWx1ZVJlZiBjb3JlID0gMCk7CiAKICAgICB2b2lk
IGFkZERpc2FsbG93ZWRVUkwoSlNTdHJpbmdSZWYgdXJsKTsKICAgICB2b2lkIGNsZWFyQWxsRGF0
YWJhc2VzKCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0U2hlbGwuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFNoZWxsLmNwcAppbmRleCA1MDdmMDg0MjIwNGRiMjIxZmRjNDRmZDk0N2ZkOGNjYjJiYTExYTNk
Li5kNTZlYTk2ODY0MDA1MjI0MzFjMjRmNmZlYWFhNDhlOGY5YjYxY2RmIDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTQ2LDYg
KzQ2LDcgQEAKICNpbmNsdWRlICJwdWJsaWMvV2ViSGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRlICJw
dWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYlNjcmlwdENv
bnRyb2xsZXIuaCIKKyNpbmNsdWRlICJwdWJsaWMvV2ViU2NyaXB0U291cmNlLmgiCiAjaW5jbHVk
ZSAicHVibGljL1dlYlNldHRpbmdzLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYlNpemUuaCIKICNp
bmNsdWRlICJwdWJsaWMvV2ViU3RyaW5nLmgiCkBAIC01NCw2ICs1NSw3IEBACiAjaW5jbHVkZSAi
cHVibGljL1dlYlZpZXcuaCIKICNpbmNsdWRlICJza2lhL2V4dC9iaXRtYXBfcGxhdGZvcm1fZGV2
aWNlLmgiCiAjaW5jbHVkZSAic2tpYS9leHQvcGxhdGZvcm1fY2FudmFzLmgiCisjaW5jbHVkZSAi
djguaCIKICNpbmNsdWRlICJ3ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5oIgogI2luY2x1
ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDxjY3R5cGU+CkBAIC02MDgsNiArNjEwLDEyIEBAIHZv
aWQgVGVzdFNoZWxsOjpkdW1wSW1hZ2Uoc2tpYTo6UGxhdGZvcm1DYW52YXMqIGNhbnZhcykgY29u
c3QKICAgICAgICAgbV9wcmludGVyLT5oYW5kbGVJbWFnZShtZDVoYXNoLmNfc3RyKCksIG1fcGFy
YW1zLnBpeGVsSGFzaC5jX3N0cigpLCAwLCAwLCBtX3BhcmFtcy5waXhlbEZpbGVOYW1lLmNfc3Ry
KCkpOwogfQogCitzdGF0aWMgY29uc3QgY2hhciBzZXR1cExheW91dFRlc3RDb250cm9sbGVyU2Ny
aXB0W10gPSAKKyAgICAiZnVuY3Rpb24gZGVsZWdhdGUoZHN0LCBzcmMsIG5hbWUpIHsgZHN0W25h
bWVdID0gZnVuY3Rpb24oKSB7IHJldHVybiBzcmNbbmFtZV0uYXBwbHkoc3JjLCBhcmd1bWVudHMp
OyB9IH1cbiIKKyAgICAiZm9yICh2YXIgbmFtZSBpbiBsYXlvdXRUZXN0Q29udHJvbGxlci5jb3Jl
KSB7XG4iCisgICAgIiAgICBkZWxlZ2F0ZShsYXlvdXRUZXN0Q29udHJvbGxlciwgbGF5b3V0VGVz
dENvbnRyb2xsZXIuY29yZSwgbmFtZSk7XG4iCisgICAgIn1cbiI7CisKIHZvaWQgVGVzdFNoZWxs
OjpiaW5kSlNPYmplY3RzVG9XaW5kb3coV2ViRnJhbWUqIGZyYW1lKQogewogICAgIG1fYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXItPmJpbmRUb0phdmFzY3JpcHQoZnJhbWUsIFdlYlN0cmluZzo6ZnJv
bVVURjgoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyIikpOwpAQCAtNjE1LDYgKzYyMywxNiBAQCB2
b2lkIFRlc3RTaGVsbDo6YmluZEpTT2JqZWN0c1RvV2luZG93KFdlYkZyYW1lKiBmcmFtZSkKICAg
ICBtX2V2ZW50U2VuZGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZyYW1lLCBXZWJTdHJpbmc6OmZyb21V
VEY4KCJldmVudFNlbmRlciIpKTsKICAgICBtX3BsYWluVGV4dENvbnRyb2xsZXItPmJpbmRUb0ph
dmFzY3JpcHQoZnJhbWUsIFdlYlN0cmluZzo6ZnJvbVVURjgoInBsYWluVGV4dCIpKTsKICAgICBt
X3RleHRJbnB1dENvbnRyb2xsZXItPmJpbmRUb0phdmFzY3JpcHQoZnJhbWUsIFdlYlN0cmluZzo6
ZnJvbVVURjgoInRleHRJbnB1dENvbnRyb2xsZXIiKSk7CisgICAgCisgICAgdjg6OkhhbmRsZVNj
b3BlIGhhbmRsZVNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY29udGV4dCA9IGZy
YW1lLT5tYWluV29ybGRTY3JpcHRDb250ZXh0KCk7CisgICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNv
bnRleHRTY29wZSA9IGNvbnRleHQ7CisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGxheW91dFRl
c3RDb250cm9sbGVyT2JqID0gKnY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoY29udGV4dC0+
R2xvYmFsKCktPkdldFJlYWxOYW1lZFByb3BlcnR5KHY4OjpTdHJpbmc6Ok5ldygibGF5b3V0VGVz
dENvbnRyb2xsZXIiKSkpOworICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBjb3JlT2JqID0gKmZy
YW1lLT5sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKTsKKyAgICBib29sIG9rID0gbGF5b3V0VGVz
dENvbnRyb2xsZXJPYmotPlNldCh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4odjg6OlN0cmluZzo6TmV3
KCJjb3JlIikpLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oY29yZU9iaiksIHY4OjpOb25lKTsKKyAg
ICBBU1NFUlQob2spOworCisgICAgZnJhbWUtPmV4ZWN1dGVTY3JpcHRBbmRSZXR1cm5WYWx1ZShX
ZWJTY3JpcHRTb3VyY2UoV2ViU3RyaW5nOjpmcm9tVVRGOChzZXR1cExheW91dFRlc3RDb250cm9s
bGVyU2NyaXB0KSwgV2ViVVJMKEdVUkwoInNldHVwX2xheW91dF90ZXN0X2NvbnRyb2xsZXIuanMi
KSksIDApKTsKIH0KIAogV2ViVmlld0hvc3QqIFRlc3RTaGVsbDo6Y3JlYXRlV2ViVmlldygpCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUu
Y3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcApp
bmRleCAyODEyMjI0MGRiNGIxNDRmY2EzYTgwZWNhNTg2ODJhNzE5ODBlYmZiLi41YjBmNzYxMzIw
NjAwMzc0NDY3Y2Y0Yzg1N2MzZmNiZDA2Njg3MWVlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTY1Niw3ICs2NTYsOCBAQCBz
dGF0aWMgdm9pZCB3ZWJWaWV3V2luZG93T2JqZWN0Q2xlYXJlZChXZWJLaXRXZWJWaWV3KiB2aWV3
LCBXZWJLaXRXZWJGcmFtZSogZnJhbQogICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKICAg
ICBBU1NFUlQoZ0xheW91dFRlc3RDb250cm9sbGVyKTsKIAotICAgIGdMYXlvdXRUZXN0Q29udHJv
bGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCB3aW5kb3dPYmplY3QsICZleGNlcHRpb24p
OworICAgIEpTVmFsdWVSZWYgbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlID0gd2Via2l0X3dlYl9s
YXlvdXRfdGVzdF9jb250cm9sbGVyX2NvcmUoZnJhbWUpOworICAgIGdMYXlvdXRUZXN0Q29udHJv
bGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCB3aW5kb3dPYmplY3QsICZleGNlcHRpb24s
IGxheW91dFRlc3RDb250cm9sbGVyQ29yZSk7CiAgICAgQVNTRVJUKCFleGNlcHRpb24pOwogCiAg
ICAgZ2NDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvd09iamVjdCwg
JmV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RnJhbWVMb2FkRGVsZWdhdGUubW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJh
bWVMb2FkRGVsZWdhdGUubW0KaW5kZXggOTYzZWFlNzBmYTU5ZDgxZWZjZmViOGFiMWU4ODM2YzU1
N2M3YWNjZC4uNjkzZDQ0MzE2ZjA5ZGJkOTk4YzAyNTIyMjY5N2RlNmRjZjVmOTBjYiAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1t
CisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5t
bQpAQCAtMjQ1LDcgKzI0NSw4IEBACiAgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwogCiAg
ICAgQVNTRVJUKGdMYXlvdXRUZXN0Q29udHJvbGxlcik7Ci0gICAgZ0xheW91dFRlc3RDb250cm9s
bGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlvbik7
CisgICAgSlNWYWx1ZVJlZiBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgPSBbZnJhbWUgbGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlXTsKKyAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPm1ha2VXaW5k
b3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uLCBsYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUpOwogICAgIEFTU0VSVCghZXhjZXB0aW9uKTsKIAogICAgIGdjQ29udHJvbGxl
ci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCBnbG9iYWxPYmplY3QsICZleGNlcHRpb24pOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0ZyYW1lTG9hZERlbGVn
YXRlLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9GcmFtZUxvYWREZWxlZ2F0
ZS5jcHAKaW5kZXggYTg0ZTBmM2UxMzJjY2FmNjkyNTQ3ZGE1NmE2NzA3NGMwMGRiMmIzZi4uN2Zj
OWUxYmY4OTE1OTQ3NjNhZDMwN2E1NmRkMmQ2MGE2OTIwNGZmZSAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0ZyYW1lTG9hZERlbGVnYXRlLmNwcAorKysgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRnJhbWVMb2FkRGVsZWdhdGUuY3BwCkBAIC0zNDgs
NyArMzQ4LDggQEAgdm9pZCBGcmFtZUxvYWREZWxlZ2F0ZTo6ZGlkQ2xlYXJXaW5kb3dPYmplY3RG
b3JGcmFtZUluU3RhbmRhcmRXb3JsZChJV2ViRnJhbWUqIGYKICAgICBtX2djQ29udHJvbGxlci0+
bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCB3aW5kb3dPYmplY3QsICZleGNlcHRpb24pOwogICAg
IEFTU0VSVCghZXhjZXB0aW9uKTsKIAotICAgIG1fYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXItPm1h
a2VXaW5kb3dPYmplY3QoY29udGV4dCwgd2luZG93T2JqZWN0LCAmZXhjZXB0aW9uKTsKKyAgICBK
U1ZhbHVlUmVmIGNvcmUgPSBmcmFtZS0+bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKCk7CisgICAg
bV9hY2Nlc3NpYmlsaXR5Q29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCB3aW5k
b3dPYmplY3QsICZleGNlcHRpb24sIGNvcmUpOwogICAgIEFTU0VSVCghZXhjZXB0aW9uKTsKIAog
ICAgIEpTU3RyaW5nUmVmIGV2ZW50U2VuZGVyU3RyID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoImV2ZW50U2VuZGVyIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62169</attachid>
            <date>2010-07-21 05:44:21 -0700</date>
            <delta_ts>2010-07-21 21:32:16 -0700</delta_ts>
            <desc>build fix for gtk</desc>
            <filename>bug-42612-20100721214419.patch</filename>
            <type>text/plain</type>
            <size>57895</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwODQ1ZWExZDBjOWE1ZGQ0ODllNmM4ZDBmNDM4NjRmNDBhYzNlMmYyLi42NTEwZjgx
OGE0YTM2YzNiYzc2NjU1NGFhOThmNDUxMWZlMzlkOTBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgQWRkZWQgYW4gYWNjZXNzb3IgZm9yIExheW91dFRlc3RD
b250cm9sbGVyQ29yZS4KKyAgICAgICAgCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3Njcmlw
dC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29y
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ct
bGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6CisKIDIwMTAtMDctMjEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LWxh
eW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy9zY3JpcHQtdGVzdHMvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lOGY5ZTliYjMzZGQyOWJkNWYwZWM2YzVjYmY0ZjA5OWZhZjc3YmJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5k
b3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmpzCkBAIC0wLDAgKzEsNyBAQAorZGVzY3Jp
cHRpb24oIndpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciBzaG91bGQgaGF2ZSBmdW5jdGlvbnMg
ZGVmaW5lZCBpbiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsIik7Cit3aW5kb3cubm9kZSA9
IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKTsKK3Nob3VsZEJlVHJ1ZSgidW5kZWZpbmVkICE9
IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciIpOworc2hvdWxkQmVUcnVlKCJ1bmRlZmluZWQg
IT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50TWFrZXJTaXplRm9yTm9kZSIp
Oworc2hvdWxkQmVUcnVlKCIwID09IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kb2N1bWVu
dE1ha2VyU2l6ZUZvck5vZGUod2luZG93Lm5vZGUpIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRv
dy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE0ODJmYzI2NjUwNDdlZThiYTA4NGIyY2RiMTIzMmZhZGEyNmI2
M2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBA
QAord2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIHNob3VsZCBoYXZlIGZ1bmN0aW9ucyBkZWZp
bmVkIGluIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgdW5kZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ciBpcyB0cnVlCitQQVNTIHVuZGVmaW5lZCAhPSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIu
ZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlIGlzIHRydWUKK1BBU1MgMCA9PSB3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKHdpbmRvdy5ub2RlKSBpcyB0
cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVz
dC1jb250cm9sbGVyLWNvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTg2M2Q2YTFl
NDFjNTJhNjVmNTRlZDI1MjM1NjhjNWY5YjQyOWYyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3Jl
Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1j
b3JlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lw
cGVkCmluZGV4IGJiY2Q4Mjg0ZDllNGRjMTczYTY0ZDZlMjdmN2RlMzNlNzg0M2FlNDEuLjYyZTdj
OGFkNjA3NGE0NjMwOGY4NjUxNzBhNmJmN2YwNTVlODNiZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZApAQCAtNjI5LDYgKzYyOSw5IEBAIGZhc3QvZm9ybXMvbGlzdGJveC13aWR0aC1jaGFuZ2Uu
aHRtbAogZmFzdC9mb3Jtcy9wbGFpbnRleHQtbW9kZS0yLmh0bWwKIGZhc3QvZm9ybXMvbWVudWxp
c3Qtd2lkdGgtY2hhbmdlLmh0bWwKIAorIyBjdXJyZW50bHkgTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlIGlzIG5vdCBzdXBwb3J0ZWQgaHR0cDovL3dlYmtpdC5vcmcvYi80MjYxMgorZmFzdC9kb20v
V2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuaHRtbAorCiAjID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSAjCiAjIGZhaWxpbmcgbWVkaWEgdGVzdHMKICMgPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ICMKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDc5MTkzMTcxNGQ1Mjk5NzhkMmFkZTY4NGJhNTcyNDFlZTdhOGE0YzMu
LjQ0Y2M3NDRjMmZjMTk3MzQ4NWYzODM2YjA5MmNiYjIxYTMxYjhjOTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzE0
LDYgKzMxNCw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2UvR2VvcG9zaXRpb24u
aWRsCiAgICAgcGFnZS9IaXN0b3J5LmlkbAogICAgIHBhZ2UvTG9jYXRpb24uaWRsCisgICAgcGFn
ZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbAog
ICAgIHBhZ2UvTmF2aWdhdGlvbi5pZGwKICAgICBwYWdlL05hdmlnYXRvci5pZGwKQEAgLTExNTIs
NiArMTE1Myw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwYWdlL0dlb2xvY2F0aW9uUG9z
aXRpb25DYWNoZS5jcHAKICAgICBwYWdlL0hpc3RvcnkuY3BwCiAgICAgcGFnZS9Mb2NhdGlvbi5j
cHAKKyAgICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAKICAgICBwYWdlL01lbW9y
eUluZm8uY3BwCiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcAogICAg
IHBhZ2UvTmF2aWdhdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNzQ1NTNhNGJlYmRlNzkwYzIwMGM0MjIwMjE0MjhmNGQ4YzY1
NjgxNi4uMDY0MjYwN2E1OTViYjYyMzgyYTE1NTlmYTQ5YTk5YjUwNGI4NzAyYiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1
MiBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQgc2hvdWxk
IGFsbG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9y
IHNldHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDI2MTIKKyAgICAgICAgCisgICAgICAgIEludHJvZHVjaW5nIExheW91dFRl
c3RDb250cm9sbGVyQ29yZSwgdGhhdCB3aWxsIGhhdmUgV2ViQ29yZS1zaWRlCisgICAgICAgIGlt
cGxlbWVudGF0aW9uIG9mIExheW91dFRlc3RDb250cm9sbGVyLiBUaGUgaW5zdGFuY2UgaXMgb3du
ZWQgYnkKKyAgICAgICAgRE9NV2luZG93LiAgQ3VycmVudGx5IGRvY3VtZW50TWFrZXJTaXplRm9y
Tm9kZSgpIGFuZAorICAgICAgICBkb2N1bWVudE1ha2VyU3RyaW5nRm9yTm9kZUF0KCkgYXJlIGp1
c3QgYSBzdHViLiAgVGhlc2UKKyAgICAgICAgaW1wbGVtZW50YXRpb24gd2lsbCBjb21lIGxhdGVy
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29u
dHJvbGxlci1jb3JlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJD
b3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRv
d1NoZWxsOjpKU0RPTVdpbmRvd1NoZWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93
U2hlbGw6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNET01XaW5kb3dTaGVsbC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6bGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmg6
CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOERPTVdpbmRvd1NoZWxsOjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuaDoKKyAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmxheW91dFRlc3RDb250
cm9sbGVyQ29yZSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdl
L0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpmcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmU6OmRpc2Nvbm5lY3RGcmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OmRvY3VtZW50TWFrZXJTaXplRm9yTm9kZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OmRvY3VtZW50TWFrZXJT
dHJpbmdGb3JOb2RlQXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlOjp2ZXJpZnlDb25uZWN0ZWQpOgorICAgICAgICAqIHBhZ2UvTGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvTGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlLmlkbDogQWRkZWQuCisKIDIwMTAtMDctMjEgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAKaW5kZXggNzhjNTIzZmExZjg2ZGIwMjNlN2EzODc5YTQ4YTc3Yjk2MWNlNDQ1MS4uZTVk
Y2U1MzBjZjg4M2NhZTRhNjY1YTYxYjFjZDlkMDJmY2U0Mjc3YSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAg
LTE5NCw2ICsxOTQsNyBAQAogI2luY2x1ZGUgIkpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCIK
ICNpbmNsdWRlICJKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIgogI2luY2x1ZGUgIkpTS2V5Ym9h
cmRFdmVudC5jcHAiCisjaW5jbHVkZSAiSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIgog
I2luY2x1ZGUgIkpTTG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFFcnJvci5jcHAiCiAj
aW5jbHVkZSAiSlNNZWRpYUxpc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDdjNTNlODY5NWJj
ODM3ZGM5YjAwY2I3OWU5ZmU4NWI3ZDBmNDU2ZWUuLmI2NGMxZDM2YjE2ZTM4NjI0MGYwMDY1MGY1
ZjgyYzU0MWRiMGYwN2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTIzNyw2ICsyMzcsNyBAQCBET01f
Q0xBU1NFUyA9IFwKICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QgXAogICAgIEtleWJvYXJkRXZl
bnQgXAogICAgIExvY2F0aW9uIFwKKyAgICBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgXAogICAg
IE1lZGlhRXJyb3IgXAogICAgIE1lZGlhTGlzdCBcCiAgICAgTWVtb3J5SW5mbyBcCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCAyYWFjOWExYjAzMGFkMTNlYjUyZmViMGFmNGEzZjNmYjBhYTI5Y2NkLi5kY2VmNTAwNjdkYjdh
YzIzOGU3ZDdkMzQ1MDRhNWZhOWJhOTdmZmVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQxMCw2ICs0MTAsOCBAQCB3
ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLZXli
b2FyZEV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5oIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTWVkaWFFcnJvci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRp
YUVycm9yLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxpc3QuY3BwIFwKQEAg
LTE3ODMsNiArMTc4NSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wYWdlL0hp
c3RvcnkuaCBcCiAJV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcCBcCiAJV2ViQ29yZS9wYWdlL0xv
Y2F0aW9uLmggXAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIFwK
KwlXZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggXAogCVdlYkNvcmUvcGFn
ZS9NZWRpYUNhblN0YXJ0TGlzdGVuZXIuaCBcCiAJV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uY3Bw
IFwKIAlXZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5oIFwKQEAgLTQ1NDAsNiArNDU0NCw3IEBAIElE
TF9CSU5ESU5HU19HRE9NICs9IFwKIAlXZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBcCiAJ
V2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsIFwKIAlXZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsIFwK
KwlXZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbCBcCiAJV2ViQ29yZS9w
YWdlL01lbW9yeUluZm8uaWRsIFwKIAlXZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbCBcCiAJV2Vi
Q29yZS9wYWdlL1NjcmVlbi5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
biBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZDNkYjdiMmFjODQ4MGQwODRmYjk4ZDI2
YWQyNTgxMmY1NDE3NGQ1Ni4uY2ZmNjYxZmQ4OWJiNzczNTdkYzc4NDNmMGVhNTAyZDQwODQzOWFl
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCkBAIC0xMjAxLDYgKzEyMDEsNyBAQCBfX05QTl9TZXRFeGNlcHRpb24KIF9fTlBO
X1NldFByb3BlcnR5CiBfX05QTl9VVEY4RnJvbUlkZW50aWZpZXIKIF9fWk43V2ViQ29yZTE2U2Ny
aXB0Q29udHJvbGxlcjIwd2luZG93U2NyaXB0TlBPYmplY3RFdgorX19aTjdXZWJDb3JlMTZTY3Jp
cHRDb250cm9sbGVyMjRsYXlvdXRUZXN0Q29udHJvbGxlckNvcmVFUE5TXzE1RE9NV3JhcHBlcldv
cmxkRQogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjljbGVhbnVwU2NyaXB0T2JqZWN0
c0ZvclBsdWdpbkVQdgogX19aTks3V2ViQ29yZTEyUmVuZGVyT2JqZWN0NHZpZXdFdgogX19aTks3
V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW45Y2FuQWNjZXNzRVBLUzBfCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDdhYTVkNjBjMmZm
MTlmMjgyNjE5MTE3ZTU3MzU2ZjRmZmMzNGU0MDYuLmZhNWE2NzM0NTM2NzJjZjFlOWFlNTI2YmVj
NmRiNTgxZTQ5MjQ2ZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMTUsNiArMjE1LDcgQEAKICAgICAgICAgICAgICdwYWdl
L0dlb3Bvc2l0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9IaXN0b3J5LmlkbCcsCiAgICAg
ICAgICAgICAncGFnZS9Mb2NhdGlvbi5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmlkbCcs
CiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9O
YXZpZ2F0b3IuaWRsJywKQEAgLTE5OTksNiArMjAwMCw4IEBACiAgICAgICAgICAgICAncGFnZS9I
aXN0b3J5LmgnLAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uY3BwJywKICAgICAgICAgICAg
ICdwYWdlL0xvY2F0aW9uLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xs
ZXJDb3JlLmNwcCcsCisgICAgICAgICAgICAncGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
aCcsCiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmNwcCcsCiAgICAgICAgICAgICAncGFn
ZS9NZW1vcnlJbmZvLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0
UmVzdWx0cy5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUv
V2ViQ29yZS5wcmkKaW5kZXggNzIwNWFkZGUzOGU3MzRlN2M5NTc2NDIzNjdjZWI1ZDg2NzIyNzE3
ZS4uODRiNGVkY2ZlYjc0MGU0MGMzNjhhZTIzMTEyMGYwZmQ1NzJkMmYyYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC00NjYsNiAr
NDY2LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBwYWdlL0dlb3Bvc2l0aW9uLmlkbCBcCiAg
ICAgcGFnZS9IaXN0b3J5LmlkbCBcCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwgXAorICAgIHBhZ2Uv
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbCBcCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbCBc
CiAgICAgcGFnZS9OYXZpZ2F0aW9uLmlkbCBcCiAgICAgcGFnZS9OYXZpZ2F0b3IuaWRsIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4
IGYzNDJkYmE0NDE3Mzk5ZDRkMWRiOTMyZjE1YzNhNzY4NDg1YTc4YTEuLmUyYmM4MzRiMTYyOGNh
YTM0MzFmZjc4YzU0YTljOTIwZDNiZDVmYmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5w
cm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtODE4LDYgKzgxOCw3IEBAIFNPVVJDRVMg
Kz0gXAogICAgIHBhZ2UvR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcCBcCiAgICAgcGFnZS9I
aXN0b3J5LmNwcCBcCiAgICAgcGFnZS9Mb2NhdGlvbi5jcHAgXAorICAgIHBhZ2UvTGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlLmNwcCBcCiAgICAgcGFnZS9NZW1vcnlJbmZvLmNwcCBcCiAgICAgcGFn
ZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCBcCiAgICAgcGFnZS9PcmlnaW5BY2Nl
c3NFbnRyeS5jcHAgXApAQCAtMTU4Nyw2ICsxNTg4LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGFn
ZS9IYWx0YWJsZVBsdWdpbi5oIFwKICAgICBwYWdlL0hpc3RvcnkuaCBcCiAgICAgcGFnZS9Mb2Nh
dGlvbi5oIFwKKyAgICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIFwKICAgICBwYWdl
L01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCBcCiAgICAgcGFnZS9OYXZpZ2F0b3JCYXNl
LmggXAogICAgIHBhZ2UvTmF2aWdhdG9yLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKaW5kZXggZDM0ZDk2OTEwMDlhMzNhYjEwNTM3ZWU0MzNkYTE2MjliZjQ2YWY2Mi4uNjhm
YzRhM2Q1ZGNkODdmOTJiNzdjYzA0ODRmMzg0MjVlNDFmZTI4ZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCkBAIC05MDYxLDYgKzkwNjEsNjIgQEAKIAkJCQk+DQogCQkJPC9G
aWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0xheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1
Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNMYXlvdXRUZXN0
Q29udHJvbGxlckNvcmUuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNNZWRpYUVycm9yLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCkBAIC0yMjM0NSw2ICsyMjQwMSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXExheW91dFRlc3RDb250cm9sbGVyQ29yZS5j
cHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwYWdlXExheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxNb3VzZUV2ZW50V2l0aEhpdFRl
c3RSZXN1bHRzLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDc0N2RjZjc5ZjcwZGRhOWE2NTNmOWNjZTJmYmY4
NDVlOTg5MTI5MTcuLmVkNDg5YTM5NGQ5ZDE3Y2Q4NTBlNWNiYjdlY2VmNDM1YjRhOTAwYjQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNjc3LDYgKzI2
NzcsOCBAQAogCQlBNzE4Nzg5MDBCMkQwNEFDMDBBMTZFQ0UgLyogRHJhZ0NvbnRyb2xsZXJNYWMu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzE4Nzg4
RjBCMkQwNEFDMDBBMTZFQ0UgLyogRHJhZ0NvbnRyb2xsZXJNYWMubW0gKi87IH07CiAJCUE3MzUy
QzE5MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAg
LyogUmVuZGVyU1ZHQmxvY2suY3BwICovOyB9OwogCQlBNzM1MkMxQTBCMUJCODlEMDBBOTg2RDAg
LyogUmVuZGVyU1ZHQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3MzUyQzE4MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5oICov
OyB9OworCQlBNzQ1RDJFNjExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
NDVEMkUzMTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICov
OyB9OworCQlBNzQ1RDJFNzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzQ1
RDJFNDExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi87IH07
CiAJCUE3NUU0OTc2MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU0OTc0MTA3
NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNzVFNDk3NzEwNzUyQUNCMDBDOUI4
OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU0OTc1MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwICovOyB9OwogCQlBNzVFOEI4ODBFMURFMkQ2MDA3RjI0ODEgLyog
RkVCbGVuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzVFOEI4MDBFMURFMkQ2MDA3RjI0ODEgLyogRkVCbGVuZC5jcHAgKi87IH07CkBAIC0yNjg3
LDYgKzI2ODksOCBAQAogCQlBNzVFOEI4RDBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb25lbnRU
cmFuc2Zlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTc1RThCODUwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCAqLzsgfTsK
IAkJQTc1RThCOEUwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU4Qjg2MEUxREUyRDYwMDdG
MjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgKi87IH07CiAJCUE3NUU4QjhGMEUxREUyRDYwMDdGMjQ4
MSAvKiBGRUNvbXBvc2l0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTc1RThCODcwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmggKi87IH07
CisJCUE3NzU1OEUzMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc1
NThFMTExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICov
OyB9OworCQlBNzc1NThFNDExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxl
ckNvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
NzU1OEUyMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oICov
OyB9OwogCQlBNzc5NzkxOTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Nzk3OTEzMEQ2QjlEMEMw
MDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwICovOyB9OwogCQlBNzc5NzkxQTBENkI5RDBDMDAzODUx
QjkgLyogSW1hZ2VEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzc5NzkxNDBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggKi87IH07CiAJ
CUE3Nzk3OTI4MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc5NzkyNDBENkI5RTY0MDAzODUx
QjkgLyogSlNJbWFnZURhdGEuY3BwICovOyB9OwpAQCAtODM4Nyw2ICs4MzkxLDkgQEAKIAkJQTcx
QTcwQzkxMUFGQjAyMDAwOTg5RDZEIC8qIEhUTUxNZXRlckVsZW1lbnQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEhUTUxNZXRlckVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR0Jsb2NrLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTczNTJDMTgwQjFCQjg5RDAwQTk4NkQwIC8q
IFJlbmRlclNWR0Jsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5k
ZXJTVkdCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzQ1RDJFMzExRjVC
Mzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NDVEMkU0MTFGNUIzNzkwMEFDRDAyMyAvKiBM
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3NDVEMkU1MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IExheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU0OTc0MTA3NTJBQ0IwMEM5Qjg5NiAv
KiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3NUU0OTc1MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODAwRTFERTJENjAwN0Yy
NDgxIC8qIEZFQmxlbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
RkVCbGVuZC5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZFQmxlbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtODM5Nyw2ICs4NDA0LDggQEAKIAkJQTc1RThCODUwRTFERTJENjAwN0Yy
NDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gRkVDb21wb25lbnRUcmFuc2Zlci5oOyBwYXRoID0gZmlsdGVycy9GRUNvbXBvbmVudFRy
YW5zZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU4Qjg2MEUxREUyRDYw
MDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBGRUNvbXBvc2l0ZS5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODcwRTFERTJENjAwN0YyNDgxIC8q
IEZFQ29tcG9zaXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZFQ29tcG9z
aXRlLmg7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3NzU1OEUxMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9s
bGVyQ29yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xheW91
dFRlc3RDb250cm9sbGVyQ29yZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3
NzU1OEUyMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0xheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzc5NzkxMzBENkI5RDBDMDAzODUx
QjkgLyogSW1hZ2VEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEltYWdlRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTE0MEQ2
QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSW1hZ2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTE1
MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IEltYWdlRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjI1NCw2ICsx
MjI2Myw5IEBACiAJCTY1QkYwMjE4MDk3NDgwNjMwMEM0MzE5NiAvKiBwYWdlICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzQ1RDJFMzExRjVCMzc5MDBB
Q0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCAqLywKKwkJCQlBNzQ1RDJFNDEx
RjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi8sCisJCQkJQTc0
NUQyRTUxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwgKi8s
CiAJCQkJMzE2RkUxMDYwRTZFMUQ4NDAwQkY2MDg4IC8qIGFuaW1hdGlvbiAqLywKIAkJCQk5M0Mw
OUE4MjBCMDY0RjA1MDA1QUJENEQgLyogbWFjICovLAogCQkJCTg1MzhGMDAwMEFENzE3NzAwMDZB
ODFEMSAvKiBBYnN0cmFjdFZpZXcuaWRsICovLApAQCAtMTU5NDIsNiArMTU5NTQsOCBAQAogCQlC
Qzk4NTQ0MzBDRDNEOUQwMDAwNjlCQzEgLyogV2luZG93ICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzc1NThFMTExRjVCNjAyMDBCNDNBQzEgLyogSlNM
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICovLAorCQkJCUE3NzU1OEUyMTFGNUI2MDIwMEI0
M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oICovLAogCQkJCUJDMTI0RUZEMEMy
NjQ0N0EwMDlFMjM0OSAvKiBKU0JhckluZm8uY3BwICovLAogCQkJCUJDMTI0RUZFMEMyNjQ0N0Ew
MDlFMjM0OSAvKiBKU0JhckluZm8uaCAqLywKIAkJCQlCQzk4NTQzQjBDRDNEOThCMDAwNjlCQzEg
LyogSlNDb25zb2xlLmNwcCAqLywKQEAgLTE5ODMyLDYgKzE5ODQ2LDggQEAKIAkJCQk5N0RENEQ4
NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Ux
NzJFMDExMTM2RThDRTAwNjJBNTMzIC8qIFpvb21Nb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
QzZFQTYxQTExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTc0NUQyRTcxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250
cm9sbGVyQ29yZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc3NTU4RTQxMUY1QjYwMjAwQjQzQUMx
IC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIyMjI1
LDYgKzIyMjQxLDggQEAKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNv
ZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3REQ0RDg2MEZERjRENkUwMEVDRjlBNCAv
KiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThDNkVBNjE5MTFFRjdFMDQwMEZE
OEVFMyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3
NDVEMkU2MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTc3NTU4RTMxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dTaGVsbC5jcHAKaW5kZXggNjUwOTZiOTNjMDZkODM3YTQxNGFkN2E4M2ZiNmE2MTlk
MjE3ZmFmZi4uYzEyM2RmODA1MDY5NjJhOTJlYjVjYjhkZjEwNDFhZTMxMzExOWM4NCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAK
ICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCisjaW5jbHVkZSAi
SlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNp
bmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSA8cnVudGltZS9KU09iamVjdC5o
PgpAQCAtNDYsNiArNDcsNyBAQCBjb25zdCBDbGFzc0luZm8gSlNET01XaW5kb3dTaGVsbDo6c19p
bmZvID0geyAiSlNET01XaW5kb3dTaGVsbCIsIDAsIDAsIDAgfTsKIEpTRE9NV2luZG93U2hlbGw6
OkpTRE9NV2luZG93U2hlbGwoUGFzc1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywgRE9NV3JhcHBl
cldvcmxkKiB3b3JsZCkKICAgICA6IEJhc2UoSlNET01XaW5kb3dTaGVsbDo6Y3JlYXRlU3RydWN0
dXJlKGpzTnVsbCgpKSkKICAgICAsIG1fd2luZG93KDApCisgICAgLCBtX2xheW91dFRlc3RDb250
cm9sbGVyQ29yZSgwKQogICAgICwgbV93b3JsZCh3b3JsZCkKIHsKICAgICBzZXRXaW5kb3cod2lu
ZG93KTsKQEAgLTY5LDYgKzcxLDE2IEBAIHZvaWQgSlNET01XaW5kb3dTaGVsbDo6c2V0V2luZG93
KFBhc3NSZWZQdHI8RE9NV2luZG93PiBkb21XaW5kb3cpCiAgICAgc2V0V2luZG93KGpzRE9NV2lu
ZG93KTsKIH0KIAorSlNPYmplY3QqIEpTRE9NV2luZG93U2hlbGw6OmxheW91dFRlc3RDb250cm9s
bGVyQ29yZSgpCit7CisgICAgaWYgKCFtX2xheW91dFRlc3RDb250cm9sbGVyQ29yZSkgeworICAg
ICAgICBFeGVjU3RhdGUqIGV4ZWMgPSB3aW5kb3coKS0+Z2xvYmFsRXhlYygpOworICAgICAgICBt
X2xheW91dFRlc3RDb250cm9sbGVyQ29yZSA9IHRvSlMoZXhlYywgd2luZG93KCksIHdpbmRvdygp
LT5pbXBsKCktPmxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpKS50b09iamVjdChleGVjKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmU7Cit9CisKIC8vIC0t
LS0KIC8vIEpTT2JqZWN0IG1ldGhvZHMKIC8vIC0tLS0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmgKaW5kZXggODg4MzI1ZDAzZmNjOGYzNGM5ZTMzYWEyNWZhYWQwMzMyNTQ4M2Y3
MS4uZGVhMmZhZTkwNTJjOTI1OThlYzYyNWNmOTZiYzQ1YTBhZWMwODdlZiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKQEAgLTUyLDYgKzUyLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB9CiAgICAgICAgIHZvaWQgc2V0V2luZG93KFBhc3NSZWZQdHI8RE9N
V2luZG93Pik7CiAKKyAgICAgICAgSlNDOjpKU09iamVjdCogbGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlKCk7CisKICAgICAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJbmZvIHNfaW5mbzsKIAog
ICAgICAgICBET01XaW5kb3cqIGltcGwoKSBjb25zdDsKQEAgLTg2LDYgKzg4LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGNvbnN0IEpTQzo6Q2xhc3NJbmZvKiBjbGFz
c0luZm8oKSBjb25zdCB7IHJldHVybiAmc19pbmZvOyB9CiAKICAgICAgICAgSlNET01XaW5kb3cq
IG1fd2luZG93OworICAgICAgICBKU0M6OkpTT2JqZWN0KiBtX2xheW91dFRlc3RDb250cm9sbGVy
Q29yZTsKICAgICAgICAgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gbV93b3JsZDsKICAgICB9Owog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA5ODAyMmQ5YjM1
YmQ0YzI5ZGYxZGNlNGVjZGJjZjFjODNjNGNlMmM4Li43YzVkNjc3OTI4YmQ4MjI2MDdhNjA2ZjIx
ODI1ZWYxZjZiOWIyYWEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENv
bnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5j
cHAKQEAgLTUwNiw0ICs1MDYsOSBAQCBTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVyOjpleGVj
dXRlU2NyaXB0SW5Xb3JsZChET01XcmFwcGVyV29ybGQqIHdvcmxkLCBjb25zdAogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKK0pTT2JqZWN0KiBTY3JpcHRDb250cm9sbGVyOjpsYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkKK3sKKyAgICByZXR1cm4gd2luZG93
U2hlbGwod29ybGQpLT5sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCA4
MDE1NWU0YjkzNTBmYzg0YjMyNDFkM2UzMzdmMDRkMjQ2OWRiZDk2Li4xODFjM2Y5ZmJkNTA5ZjMw
OTE5YTRkZmIwN2MyMjY5ZWM1MGVjNDkzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRy
b2xsZXIuaApAQCAtOTAsNiArOTAsOCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4g
d2luZG93U2hlbGwod29ybGQpLT53aW5kb3coKTsKICAgICB9CisgICAgCisgICAgSlNDOjpKU09i
amVjdCogbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKERPTVdyYXBwZXJXb3JsZCogd29ybGQpOwog
CiAgICAgc3RhdGljIHZvaWQgZ2V0QWxsV29ybGRzKFZlY3RvcjxET01XcmFwcGVyV29ybGQqPiYp
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3Bw
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAppbmRleCA3MDA2MGJj
NGQwMTAxNzE4ZTEzMTVkMjEyZTZkNGM3ZDY5OWRmYjMwLi42M2YzNzEyMTQ1NWMzOWNmNzk3ODBj
OTg3ZWYwYTU4ODJmZmIzNTBkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9N
V2luZG93U2hlbGwuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVs
bC5jcHAKQEAgLTUzLDYgKzUzLDcgQEAKICNpbmNsdWRlICJWOEhUTUxEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIlY4SGlkZGVuUHJvcGVydHlOYW1lLmgiCiAjaW5jbHVkZSAiVjhIaXN0b3J5LmgiCisj
aW5jbHVkZSAiVjhMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCIKICNpbmNsdWRlICJWOExvY2F0
aW9uLmgiCiAjaW5jbHVkZSAiVjhQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlckNvbnRleHRFeGVj
dXRpb25Qcm94eS5oIgpAQCAtNTUyLDYgKzU1MywxMiBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhET01XaW5kb3dTaGVsbDo6Z2V0SGlkZGVuT2JqZWN0UHJvdG90eXBlKHY4OjpIYW5kbGU8djg6
OgogICAgIHJldHVybiBjb250ZXh0LT5HbG9iYWwoKS0+R2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Q
cm9wZXJ0eU5hbWU6Om9iamVjdFByb3RvdHlwZSgpKTsKIH0KIAordjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiBWOERPTVdpbmRvd1NoZWxsOjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKQoreworICAg
IExheW91dFRlc3RDb250cm9sbGVyQ29yZSogY29yZSA9IG1fZnJhbWUtPmRvbVdpbmRvdygpLT5s
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKTsKKyAgICByZXR1cm4gVjhMYXlvdXRUZXN0Q29udHJv
bGxlckNvcmU6OndyYXAoY29yZSk7Cit9CisKIGJvb2wgVjhET01XaW5kb3dTaGVsbDo6aW5zdGFs
bEhpZGRlbk9iamVjdFByb3RvdHlwZSh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0KQog
ewogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gb2JqZWN0U3RyaW5nID0gdjg6OlN0cmluZzo6
TmV3KCJPYmplY3QiKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5k
b3dTaGVsbC5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmgKaW5kZXgg
M2NmMWI1MmZhOTYzYzgzZjBkYzkyYTBlZGU4MjY2MjZiZmUzZjFhYS4uMzIyYjZkZDcxYmFmM2Ri
NjZkZmZiYTQ0YmEzZTlhMzM2YzY4M2E0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTVdpbmRvd1NoZWxsLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRv
d1NoZWxsLmgKQEAgLTkyLDYgKzkyLDggQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgc2V0
TG9jYXRpb24oRE9NV2luZG93KiwgY29uc3QgU3RyaW5nJiByZWxhdGl2ZVVSTCk7CiAKKyAgICB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpOworCiBwcml2
YXRlOgogICAgIFY4RE9NV2luZG93U2hlbGwoRnJhbWUqKTsKIApAQCAtMTE5LDYgKzEyMSw3IEBA
IHByaXZhdGU6CiAgICAgdjg6OlBlcnNpc3RlbnQ8djg6OkNvbnRleHQ+IG1fY29udGV4dDsKICAg
ICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBtX2dsb2JhbDsKICAgICB2ODo6UGVyc2lzdGVu
dDx2ODo6T2JqZWN0PiBtX2RvY3VtZW50OworICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+
IG1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAppbmRleCAwNjJkMGRmMWFiMmNkNjdlMTFkZmE3Y2FkOGNmNWMyODZhNWM4
MDNhLi4xMDBhYzE5MWIyMTMzZTg5OWRjOWVkM2Q0YjM0M2UyMjMxYWY5MDk0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcApAQCAtNjAsNiArNjAsNyBAQAogI2luY2x1ZGUgIkluZGV4ZWREYXRhYmFzZVJlcXVlc3Qu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oIgorI2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIgog
I2luY2x1ZGUgIkxvY2F0aW9uLmgiCiAjaW5jbHVkZSAiU3R5bGVNZWRpYS5oIgogI2luY2x1ZGUg
Ik1lc3NhZ2VFdmVudC5oIgpAQCAtNTkyLDYgKzU5MywxMyBAQCBMb2NhdGlvbiogRE9NV2luZG93
Ojpsb2NhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1fbG9jYXRpb24uZ2V0KCk7CiB9CiAKK0xh
eW91dFRlc3RDb250cm9sbGVyQ29yZSogRE9NV2luZG93OjpsYXlvdXRUZXN0Q29udHJvbGxlckNv
cmUoKSBjb25zdAoreworICAgIGlmICghbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpCisgICAg
ICAgIG1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlID0gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3Jl
OjpjcmVhdGUobV9mcmFtZSk7CisgICAgcmV0dXJuIG1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3Jl
LmdldCgpOworfQorCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogU3RvcmFnZSogRE9NV2luZG93
OjpzZXNzaW9uU3RvcmFnZShFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRl
eCBiZWIyZjdkNmUxMzIxODE5OTY5MmMwMDkxNTA0OTIwZTZkZTgzN2JiLi5hNzEwZTc5OGU5MjZh
YTgyYjA2NmMwYmRmYjZlYzVjYTM3YzJlMmJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmgKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC01NSw2ICs1NSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5OwogICAgIGNsYXNzIEluZGV4
ZWREYXRhYmFzZVJlcXVlc3Q7CiAgICAgY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKKyAg
ICBjbGFzcyBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU7CiAgICAgY2xhc3MgTG9jYXRpb247CiAg
ICAgY2xhc3MgU3R5bGVNZWRpYTsKICAgICBjbGFzcyBOYXZpZ2F0b3I7CkBAIC0zNzcsNiArMzc4
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBET01BcHBsaWNhdGlvbkNhY2hlKiBv
cHRpb25hbEFwcGxpY2F0aW9uQ2FjaGUoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9uQ2Fj
aGUuZ2V0KCk7IH0KICNlbmRpZgogCisgICAgICAgIExheW91dFRlc3RDb250cm9sbGVyQ29yZSog
bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKCkgY29uc3Q7CisKICAgICAgICAgdXNpbmcgUmVmQ291
bnRlZDxET01XaW5kb3c+OjpyZWY7CiAgICAgICAgIHVzaW5nIFJlZkNvdW50ZWQ8RE9NV2luZG93
Pjo6ZGVyZWY7CiAKQEAgLTQwNyw2ICs0MTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYg
RU5BQkxFKFdFQl9USU1JTkcpCiAgICAgICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlPiBt
X3BlcmZvcm1hbmNlOwogI2VuZGlmCisgICAgICAgIG11dGFibGUgUmVmUHRyPExheW91dFRlc3RD
b250cm9sbGVyQ29yZT4gbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmU7CiAgICAgICAgIG11dGFi
bGUgUmVmUHRyPExvY2F0aW9uPiBtX2xvY2F0aW9uOwogICAgICAgICBtdXRhYmxlIFJlZlB0cjxT
dHlsZU1lZGlhPiBtX21lZGlhOwogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIGIvV2ViQ29yZS9wYWdl
L0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmIzNjVlODc4MDJhNTkw
ZTg3M2VlMTcyNjNmNzZmM2JmZjdhYjdiNwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFn
ZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIgorCisjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiTm9k
ZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworRnJhbWUqIExheW91dFRlc3RDb250cm9sbGVyQ29yZTo6ZnJhbWUoKSBjb25zdAoreworICAg
IHJldHVybiBtX2ZyYW1lOworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyQ29yZTo6ZGlz
Y29ubmVjdEZyYW1lKCkKK3sKKyAgICBtX2ZyYW1lID0gMDsKK30KKworaW50IExheW91dFRlc3RD
b250cm9sbGVyQ29yZTo6ZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKE5vZGUqLCBFeGNlcHRpb25D
b2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIXZlcmlmeUNvbm5lY3RlZChlYykpCisgICAgICAg
IHJldHVybiAwOworCisgICAgLy8gRklYTUU6IGltcGxlbWVudAorICAgIHJldHVybiAwOworfQor
CitTdHJpbmcgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpkb2N1bWVudE1ha2VyU3RyaW5nRm9y
Tm9kZUF0KE5vZGUqLCBpbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmICgh
dmVyaWZ5Q29ubmVjdGVkKGVjKSkKKyAgICAgICAgcmV0dXJuICIiOworCisgICAgLy8gRklYTUU6
IGltcGxlbWVudAorICAgIHJldHVybiAiIjsKK30KKworTGF5b3V0VGVzdENvbnRyb2xsZXJDb3Jl
OjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoRnJhbWUqIGZyYW1lKQorICAgIDogbV9mcmFtZShm
cmFtZSkKK3sKK30KKworYm9vbCBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OnZlcmlmeUNvbm5l
Y3RlZChFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpIHsKKyAg
ICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKworICAgIHJldHVybiB0cnVlOworfQorCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCBiL1dlYkNv
cmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWYyY2JlZTMy
ZWE4MzMzZmJlYTAyYTEzYjNlZWZiZWZmNmUxYjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmVfaAorI2RlZmluZSBMYXlvdXRUZXN0Q29udHJvbGxl
ckNvcmVfaAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgRnJhbWU7CitjbGFzcyBOb2RlOworY2xhc3MgU3RyaW5nOwordHlwZWRlZiBp
bnQgRXhjZXB0aW9uQ29kZTsKKworY2xhc3MgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIDogcHVi
bGljIFJlZkNvdW50ZWQ8TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlPiB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlPiBjcmVhdGUoRnJhbWUq
IGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKGZy
YW1lKSk7IH0KKworICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0OworICAgIHZvaWQgZGlzY29ubmVj
dEZyYW1lKCk7CisKKyAgICBpbnQgZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKE5vZGUqLCBFeGNl
cHRpb25Db2RlJikgY29uc3Q7CisgICAgU3RyaW5nIGRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2Rl
QXQoTm9kZSosIGludCwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworCitwcml2YXRlOgorICAgIGJv
b2wgdmVyaWZ5Q29ubmVjdGVkKEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICBMYXlvdXRUZXN0
Q29udHJvbGxlckNvcmUoRnJhbWUqKTsKKworICAgIEZyYW1lKiBtX2ZyYW1lOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3Jl
X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRs
IGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWM1MmZkNDFjOTMwM2EyMDNiZDdlN2ZkY2U4ODhkM2IzNjg5MTdhNgotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsCkBAIC0wLDAgKzEs
MzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworbW9kdWxlIHdpbmRvdyB7CisKKyAgICBpbnRlcmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0g
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIHsKKyAgICAgICAgbG9uZyBkb2N1bWVudE1ha2VyU2l6
ZUZvck5vZGUoaW4gTm9kZSBub2RlKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgRE9N
U3RyaW5nIGRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2RlQXQoaW4gTm9kZSBub2RlLCBpbiBsb25n
IGluZGV4KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCAyOTcwMzZiYmE5Y2Q3ZTdlZjQ0MWUyNDg0OTMyMmNmNGZlZTBiMzU3Li40ZmJjMzc1YzI2YjM2
MTU5ZDEwYWQ1NjRjY2MyZGRkNGU0Mjc0YTY2IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBA
QAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQgc2hvdWxkIGFs
bG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9yIHNl
dHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDI2MTIKKworICAgICAgICBBZGRlZCBhbiBhY2Nlc3NvciBmb3IgTGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlLgorICAgICAgICAKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAg
ICAqIHB1YmxpYy9XZWJGcmFtZS5oOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSk6
CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgorCiAyMDEwLTA3LTIxICBIYW5zIFdlbm5i
b3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU3RldmUgQmxv
Y2suCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1dlYktpdC9jaHJv
bWl1bS9XZWJLaXQuZ3lwCmluZGV4IGI0N2Q3NTYyNmVmNGZiZmJhYzZlZjEwMGUxNjIyMTYxNWZj
M2E2MzEuLjIzYjA1ZGJiNjU2MmM4YzgzZDI5ODVhMjc2YTg4YzU1ZTdjMDlmY2MgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9XZWJL
aXQuZ3lwCkBAIC03MzMsNyArNzMzLDggQEAKICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9z
cmNfZGlyKS90aGlyZF9wYXJ0eS9pY3UvaWN1Lmd5cDppY3V1YycsCiAgICAgICAgICAgICAgICAg
JzwoY2hyb21pdW1fc3JjX2Rpcikvd2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuZ3lwOmNv
cHlfbnBhcGlfbGF5b3V0X3Rlc3RfcGx1Z2luJywKICAgICAgICAgICAgICAgICAnPChjaHJvbWl1
bV9zcmNfZGlyKS93ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5neXA6d2Via2l0X3N1cHBv
cnQnLAotICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2dwdS9ncHUuZ3lwOmds
ZXMyX2NfbGliJworICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2dwdS9ncHUu
Z3lwOmdsZXMyX2NfbGliJywKKyAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS92
OC90b29scy9neXAvdjguZ3lwOnY4JwogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICdpbmNs
dWRlX2RpcnMnOiBbCiAgICAgICAgICAgICAgICAgJy4nLApkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFt
ZS5oCmluZGV4IGM0ZmE3YWU1MjBkNjg0NDEwYzQ5MGI5MTIyMWNmYzQ0NDY0MDgzNTAuLmFlYmY3
Nzg5YmI3MDkzZmMyMzM0ZWIyYjI2YTljNWI5NDI3YmZhMWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkZyYW1lLmgKQEAgLTQwLDYgKzQwLDcgQEAgc3RydWN0IE5QT2JqZWN0OwogbmFtZXNwYWNlIHY4
IHsKIGNsYXNzIENvbnRleHQ7CiBjbGFzcyBWYWx1ZTsKK2NsYXNzIE9iamVjdDsKIHRlbXBsYXRl
IDxjbGFzcyBUPiBjbGFzcyBIYW5kbGU7CiB0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgTG9jYWw7
CiB9CkBAIC0yMzksNiArMjQwLDEwIEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRoZSBWOCBj
b250ZXh0IGZvciB0aGlzIGZyYW1lLCBvciBhbiBlbXB0eSBoYW5kbGUgaWYgdGhlcmUKICAgICAv
LyBpcyBub25lLgogICAgIHZpcnR1YWwgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBtYWluV29ybGRT
Y3JpcHRDb250ZXh0KCkgY29uc3QgPSAwOworCisgICAgLy8gUmV0dXJucyBWOCBvYmplY3QgdGhh
dCB3cmFwcyBMYXlvdVR0ZXN0Q29udHJvbGxlckNvcmUgaW5zdGFuY2UuCisgICAgdmlydHVhbCB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpIGNvbnN0ID0g
MDsKKwogI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDUz
NWQxMjhhNmE3YTkwYzM2MjVkOGI1MWJiNzNhYWUzMmUyMWQ4NjAuLmQyODM3ODkwZDZjN2QxNzIw
NTY5YzNhODc0YzM3MjBjMDRiMjQ2YjEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5j
cHAKQEAgLTc5OCw2ICs3OTgsMTIgQEAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBXZWJGcmFtZUlt
cGw6Om1haW5Xb3JsZFNjcmlwdENvbnRleHQoKSBjb25zdAogCiAgICAgcmV0dXJuIFY4UHJveHk6
Om1haW5Xb3JsZENvbnRleHQobV9mcmFtZSk7CiB9CisKK3Y4OjpIYW5kbGU8djg6Ok9iamVjdD4g
V2ViRnJhbWVJbXBsOjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKSBjb25zdAoreworICAgIHJl
dHVybiBtX2ZyYW1lLT5zY3JpcHQoKS0+cHJveHkoKS0+d2luZG93U2hlbGwoKS0+bGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlKCk7Cit9CisKICNlbmRpZgogCiBib29sIFdlYkZyYW1lSW1wbDo6aW5z
ZXJ0U3R5bGVUZXh0KApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5kZXggMjUxMWZjZTE0
N2VlN2E0N2YzNTI5OGZjN2Q0ZDZjZjk4YTY1ZTE1YS4uNzc5ZTM5YTFlOWY1Mzk1YjIxNjY1MWFk
MWQ0MDA4YjEzZGZlNGNhZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC0xMDQs
NiArMTA0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGV4
ZWN1dGVTY3JpcHRBbmRSZXR1cm5WYWx1ZSgKICAgICAgICAgY29uc3QgV2ViU2NyaXB0U291cmNl
Jik7CiAgICAgdmlydHVhbCB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5Xb3JsZFNjcmlwdENv
bnRleHQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gbGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlKCkgY29uc3Q7CiAjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgaW5z
ZXJ0U3R5bGVUZXh0KGNvbnN0IFdlYlN0cmluZyYgY3NzLCBjb25zdCBXZWJTdHJpbmcmIGlkKTsK
ICAgICB2aXJ0dWFsIHZvaWQgcmVsb2FkKGJvb2wgaWdub3JlQ2FjaGUpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA4MDNiZjEy
NWJlZmEwOWQ5NWE5MzY2MTNjYTAxMjgxZGZkNDQzYTJmLi5hMTQ4YTNmYzdlODVmM2NiNzM2ZTBh
MDA5Zjg3MTEyNWUzMTI2MjBmIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysg
Yi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTIxICBNT1JJ
VEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRv
IGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgorCisg
ICAgICAgIEFkZGVkIGFuIGFjY2Vzc29yIGZvciBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuCisK
KyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwOgorICAgICAgICAod2Via2l0X3dl
Yl9sYXlvdXRfdGVzdF9jb250cm9sbGVyX2NvcmUpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3
ZWJmcmFtZS5oOgorCiAyMDEwLTA3LTE2ICBaaGUgU3UgIDxzdXpoZUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJm
cmFtZS5jcHAKaW5kZXggMzQ0Zjk0ZTI3MGFhYzdhMDc2ODc5Y2JiNmY0YTEwNGFiMDFmNzk5Ni4u
Njk2Mzk5MDk5YjU3Njc2NGYxNDVkNmZhNGY4NmJhZTRhZGFhY2IzZSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYmZyYW1lLmNwcApAQCAtMTI0NiwzICsxMjQ2LDIzIEBAIFdlYktpdE5ldHdvcmtS
ZXNwb25zZSogd2Via2l0X3dlYl9mcmFtZV9nZXRfbmV0d29ya19yZXNwb25zZShXZWJLaXRXZWJG
cmFtZSogZnJhCiAKICAgICByZXR1cm4gd2Via2l0X25ldHdvcmtfcmVzcG9uc2VfbmV3X3dpdGhf
Y29yZV9yZXNwb25zZShsb2FkZXItPnJlc3BvbnNlKCkpOwogfQorCisvKioKKyAqIHdlYmtpdF93
ZWJfbGF5b3V0X3Rlc3RfY29udHJvbGxlcl9jb3JlOgorICogQGZyYW1lOiBhICNXZWJLaXRXZWJG
cmFtZQorICoKKyAqIEdldHMgdGhlIExheW91dFRlc3RDb250cm9sbGVyQ29yZSBhc3NvY2lhdGVk
IHdpdGggdGhpcyBmcmFtZS4KKyAqCisgKiBSZXR1cm4gdmFsdWU6IHRoZSBMYXlvdXRUZXN0Q29u
dHJvbGxlciBpbnN0YW5jZQorICovCitKU1ZhbHVlUmVmIHdlYmtpdF93ZWJfbGF5b3V0X3Rlc3Rf
Y29udHJvbGxlcl9jb3JlKFdlYktpdFdlYkZyYW1lKiBmcmFtZSkKK3sKKyAgICBnX3JldHVybl92
YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX0ZSQU1FKGZyYW1lKSwgTlVMTCk7CisKKyAgICBGcmFt
ZSogY29yZUZyYW1lID0gY29yZShmcmFtZSk7CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAg
IHJldHVybiBOVUxMOworCisgICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBjb3JlRnJhbWUtPnNj
cmlwdCgpLT5nbG9iYWxPYmplY3QobWFpblRocmVhZE5vcm1hbFdvcmxkKCkpLT5nbG9iYWxFeGVj
KCk7CisgICAgcmV0dXJuIHRvUmVmKGV4ZWMsIEpTQzo6SlNWYWx1ZShjb3JlRnJhbWUtPnNjcmlw
dCgpLT5sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUobWFpblRocmVhZE5vcm1hbFdvcmxkKCkpKSk7
Cit9CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5oIGIvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJhbWUuaAppbmRleCAyOGQ3MTEzM2YwMGMwNDA1YzAy
ZmRiOTE3ZWY0MDE3ZDI3YzZiYzM0Li40ZDliNTM0YWU3ODUxZTUwYzc1NmE5ZjczZGMwM2NhMTAz
NzZmNjQwIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5oCisr
KyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmgKQEAgLTE0NSw2ICsxNDUsOSBA
QCB3ZWJraXRfd2ViX2ZyYW1lX2ZpbmRfZnJhbWUgICAgICAgICAoV2ViS2l0V2ViRnJhbWUgICAg
ICAgKmZyYW1lLAogV0VCS0lUX0FQSSBKU0dsb2JhbENvbnRleHRSZWYKIHdlYmtpdF93ZWJfZnJh
bWVfZ2V0X2dsb2JhbF9jb250ZXh0IChXZWJLaXRXZWJGcmFtZSAgICAgICAqZnJhbWUpOwogCitX
RUJLSVRfQVBJIEpTVmFsdWVSZWYKK3dlYmtpdF93ZWJfbGF5b3V0X3Rlc3RfY29udHJvbGxlcl9j
b3JlKFdlYktpdFdlYkZyYW1lICAgICAqZnJhbWUpOworCiBXRUJLSVRfQVBJIEd0a1ByaW50T3Bl
cmF0aW9uUmVzdWx0CiB3ZWJraXRfd2ViX2ZyYW1lX3ByaW50X2Z1bGwgICAgICAgICAoV2ViS2l0
V2ViRnJhbWUgICAgICAgKmZyYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEd0a1ByaW50T3BlcmF0aW9uICAgICpvcGVyYXRpb24sCmRpZmYgLS1naXQgYS9XZWJLaXQv
bWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDYzZTczMmQ3ODkwNmRj
N2Y3MTBiY2ZkMDQ1MTRkMDllNzg0OGIyYmMuLmZmOGI0ZTZhZGI4ODMyM2I0Y2I3N2QwYTlhODU1
OTMyMjIyYTgzYjAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDctMjEgIE1PUklUQSBIYWpp
bWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxvdyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNz
IFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1cC92ZXJpZmljYXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEyCisKKyAgICAgICAg
QWRkZWQgYW4gYWNjZXNzb3IgZm9yIExheW91dFRlc3RDb250cm9sbGVyQ29yZS4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAgICgtW1dlYkZyYW1lIGxheW91dFRlc3RD
b250cm9sbGVyQ29yZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmg6CisK
IDIwMTAtMDctMTkgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkZyYW1lLm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCmluZGV4IGI3MWQ1
MDFkZmNmYTliMTc5NTE3NDhjZWRmNWE5MjI4YTExZjZlZWQuLjQ1NGQ3ZGMxOTA4MDJhNzJkNWRj
N2ZlYWEyMzkzZTFmMGIzNWE0MzkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJG
cmFtZS5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KQEAgLTEzNDAsNiAr
MTM0MCwxNiBAQCBzdGF0aWMgaW5saW5lIFdlYkRhdGFTb3VyY2UgKmRhdGFTb3VyY2UoRG9jdW1l
bnRMb2FkZXIqIGxvYWRlcikKICAgICByZXR1cm4gY29yZUZyYW1lLT5sYXllclRyZWVBc1RleHQo
KTsKIH0KIAorLSAoSlNWYWx1ZVJlZilsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUKK3sKKyAgICBG
cmFtZSogY29yZUZyYW1lID0gX3ByaXZhdGUtPmNvcmVGcmFtZTsKKyAgICBpZiAoIWNvcmVGcmFt
ZSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCA9IG1haW5U
aHJlYWROb3JtYWxXb3JsZCgpOworICAgIEpTQzo6RXhlY1N0YXRlKiBleGVjID0gY29yZUZyYW1l
LT5zY3JpcHQoKS0+Z2xvYmFsT2JqZWN0KHdvcmxkKS0+Z2xvYmFsRXhlYygpOworICAgIHJldHVy
biB0b1JlZihleGVjLCBKU1ZhbHVlKGNvcmVGcmFtZS0+c2NyaXB0KCktPmxheW91dFRlc3RDb250
cm9sbGVyQ29yZShtYWluVGhyZWFkTm9ybWFsV29ybGQoKSkpKTsKK30KKwogQGVuZAogCiBAaW1w
bGVtZW50YXRpb24gV2ViRnJhbWUKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJG
cmFtZVByaXZhdGUuaCBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaAppbmRl
eCAwYmRhOTY2YWJiZGZjOTQ3YzYyMWQ0MTQyOWZiOGY3Yjk3MDA4ZGJkLi4xM2M4OThhN2IxMTg5
NDcwYjUxM2IzNTRiZTk1N2RhYzkzNWZlZjA5IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViRnJhbWVQcml2YXRlLmgKKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJp
dmF0ZS5oCkBAIC0xMzYsNCArMTM2LDcgQEAgdHlwZWRlZiBlbnVtIHsKIAogLSAoTlNTdHJpbmcq
KV9sYXllclRyZWVBc1RleHQ7CiAKKy8vIFJldHVybnMgYXNzb2NpYXRlZCBMYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUgb2JqZWN0IAorLSAoSlNWYWx1ZVJlZilsYXlvdXRUZXN0Q29udHJvbGxlckNv
cmU7CisKIEBlbmQKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cKaW5kZXggZDYxZTRlMWZmNTc1YjNmNTExZjlkM2NiYWQ5YmQ5OTBmNzkyMTQ4
OS4uNTc2MDZhMDBkOGRhNzdhMTYxYjgzZDk2MjhlMDEzYjc1YjhlNmUxNSAxMDA2NDQKLS0tIGEv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQgc2hv
dWxkIGFsbG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0ZXMg
Zm9yIHNldHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDI2MTIKKworICAgICAgICBBZGRlZCBhbiBhY2Nlc3NvciBmb3IgTGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlLgorICAgICAgICAKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lX
ZWJGcmFtZS5pZGw6CisgICAgICAgICogV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViRnJhbWU6
OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSk6CisgICAgICAgICogV2ViRnJhbWUuaDoKKwogMjAx
MC0wNy0yMCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFdl
YktpdFRlc3RSdW5uZXIgYW5kIGZyaWVuZHMgdG8gV2ViS2l0LnNsbgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJGcmFtZS5pZGwgYi9XZWJLaXQvd2luL0ludGVyZmFjZXMv
SVdlYkZyYW1lLmlkbAppbmRleCBkYTJhNzhmMjkyYWNiYzc4YTEyZmJjYzY4ODk2MTU2NmVlZmU2
YWEyLi5jNjRhYmU5YWQyNDg1NTg2MDNhYzYxNGExNjk3ZTFlMDIyYzFmNTg1IDEwMDY0NAotLS0g
YS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkZyYW1lLmlkbAorKysgYi9XZWJLaXQvd2luL0lu
dGVyZmFjZXMvSVdlYkZyYW1lLmlkbApAQCAtMjQxLDYgKzI0MSwxMiBAQCBpbnRlcmZhY2UgSVdl
YkZyYW1lIDogSVVua25vd24KICAgICAqLwogICAgW2xvY2FsXSBKU0dsb2JhbENvbnRleHRSZWYg
Z2xvYmFsQ29udGV4dCgpOwogCisgICAgLyohCisgICAgICAgIEBtZXRob2QgbGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlCisgICAgICAgIEByZXN1bHQgVGhlIGZyYW1lJ3MgYXNzb2NpYXRlZCBMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmUgb2JqZWN0CisgICAgKi8KKyAgIFtsb2NhbF0gSlNWYWx1ZVJl
ZiBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKTsKKwogICAgLyohCiAgICAgICAgIEBtZXRob2Qg
c2V0SXNEaXNjb25uZWN0ZWQKICAgICAgICAgQGFic3RyYWN0IFNldCB3aGV0aGVyIGEgZnJhbWUg
aXMgZGlzY29ubmVjdGVkCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcCBiL1dl
YktpdC93aW4vV2ViRnJhbWUuY3BwCmluZGV4IDU3MDVmMWViMDQ3ZWU5ZTIyMjU5ZmU5NjQ1Y2Jk
NmM2Y2RkN2Y4YWMuLmFlYTE3OTI4Yjc4ZThlNmMyYmE2ODBmZDJjMTc3ZmZjYTdkOGI5NGMgMTAw
NjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViRnJh
bWUuY3BwCkBAIC01MjIsNiArNTIyLDE4IEBAIEpTR2xvYmFsQ29udGV4dFJlZiBTVERNRVRIT0RD
QUxMVFlQRSBXZWJGcmFtZTo6Z2xvYmFsQ29udGV4dCgpCiAgICAgcmV0dXJuIHRvR2xvYmFsUmVm
KGNvcmVGcmFtZS0+c2NyaXB0KCktPmdsb2JhbE9iamVjdChtYWluVGhyZWFkTm9ybWFsV29ybGQo
KSktPmdsb2JhbEV4ZWMoKSk7CiB9CiAKK0pTVmFsdWVSZWYgU1RETUVUSE9EQ0FMTFRZUEUgV2Vi
RnJhbWU6OmxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpCit7CisgICAgRnJhbWUqIGNvcmVGcmFt
ZSA9IGNvcmUodGhpcyk7CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVybiAwOwor
CisgICAgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCA9IG1haW5UaHJlYWROb3JtYWxXb3JsZCgpOwor
ICAgIEpTQzo6RXhlY1N0YXRlKiBleGVjID0gY29yZUZyYW1lLT5zY3JpcHQoKS0+Z2xvYmFsT2Jq
ZWN0KHdvcmxkKS0+Z2xvYmFsRXhlYygpOworICAgIHJldHVybiB0b1JlZihleGVjLCBKU1ZhbHVl
KGNvcmVGcmFtZS0+c2NyaXB0KCktPmxheW91dFRlc3RDb250cm9sbGVyQ29yZShtYWluVGhyZWFk
Tm9ybWFsV29ybGQoKSkpKTsKK30KKworCiBKU0dsb2JhbENvbnRleHRSZWYgV2ViRnJhbWU6Omds
b2JhbENvbnRleHRGb3JTY3JpcHRXb3JsZChJV2ViU2NyaXB0V29ybGQqIGlXb3JsZCkKIHsKICAg
ICBGcmFtZSogY29yZUZyYW1lID0gY29yZSh0aGlzKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4v
V2ViRnJhbWUuaCBiL1dlYktpdC93aW4vV2ViRnJhbWUuaAppbmRleCBjMTRkZGM5MTcwMzZlNTE1
NDc2OWIxMzZhZTlhNGNiYjAyZjkyZTQ2Li5lY2ZhOGEwY2MzMzUwYzU1NTM2YmI2MDZkMjE1ZjNk
MTdjZDZiYjUzIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkZyYW1lLmgKKysrIGIvV2ViS2l0
L3dpbi9XZWJGcmFtZS5oCkBAIC0xNTMsNiArMTUzLDcgQEAgcHVibGljOgogICAgICAgICAvKiBb
cmV0dmFsXVtvdXRdICovIElET01FbGVtZW50ICoqZm9ybUVsZW1lbnQpOwogCiAgICAgdmlydHVh
bCAvKiBbbG9jYWxdICovIEpTR2xvYmFsQ29udGV4dFJlZiBTVERNRVRIT0RDQUxMVFlQRSBnbG9i
YWxDb250ZXh0KCk7CisgICAgdmlydHVhbCAvKiBbbG9jYWxdICovIEpTVmFsdWVSZWYgU1RETUVU
SE9EQ0FMTFRZUEUgbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKCk7CiAKICAgICAvLyBJV2ViRnJh
bWVQcml2YXRlCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHVudXNlZDEo
QlNUUiopIHsgcmV0dXJuIEVfTk9USU1QTDsgfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU5ZWQwYTI4ZDM5ZTQzYTA0YTU2
MzU1YWNjZGVkMWM4ZjJiNTAzZjUuLmIwODUxNTk0ZmU1ZTQ4YzRmYzc0YjZjODM1Nzg2ODAyODli
OWM2OTIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAg
PG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEUlQgc2hvdWxkIGFsbG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2Vi
Q29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9yIHNldHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2MTIKKworICAgICAgICBFeHRl
bmRlZCBMYXlvdXRUZXN0Q29udHJvbGxlciBvYmplY3QgYnkgYWRkaW5nIGRlbGdhdGlvbiBtZXRo
b2RzCisgICAgICAgIGZvciBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgcHJvdmlkZWQgYnkgV2Vi
RnJhbWUuICAKKyAgICAgICAgTm93IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciBoYXMgbWV0
aG9kcyBkZWZpbmVkIGluCisgICAgICAgIExheW91dFRlc3RDb250cm9sbGVyQ29yZS4gIAorICAg
ICAgICAKKyAgICAgICAgTGF5b3V0VGVzdENvbnRyb2xsZXJRdCBpcyBub3Qgc3VwcG9ydGVkIHll
dC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjptYWtlRGVsZWdhdGlvbk1ldGhvZHMpOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRlc3RTaGVsbDo6
YmluZEpTT2JqZWN0c1RvV2luZG93KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvRHVt
cFJlbmRlclRyZWUuY3BwOgorICAgICAgICAod2ViVmlld1dpbmRvd09iamVjdENsZWFyZWQpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbToKKyAgICAg
ICAgKC1bRnJhbWVMb2FkRGVsZWdhdGUgZGlkQ2xlYXJXaW5kb3dPYmplY3RJblN0YW5kYXJkV29y
bGRGb3JGcmFtZTpdKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRnJhbWVMb2FkRGVs
ZWdhdGUuY3BwOgorICAgICAgICAoRnJhbWVMb2FkRGVsZWdhdGU6OmRpZENsZWFyV2luZG93T2Jq
ZWN0Rm9yRnJhbWVJblN0YW5kYXJkV29ybGQpOgorCiAyMDEwLTA3LTIwICBTYW0gV2VpbmlnICA8
c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9uIEhvbmV5Y3V0dC4KZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVy
LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cAppbmRleCA2YTk1N2MxMjZlZjYxNzcxYTI4NmIwZWRmZDM0YjczMGFjNTY4YjJiLi5lMDY1MTQ2
MmJkMmI5Y2Y0YjM4OGRlY2RmMjMxOWYyOTRmNTdkMTAyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xNjk1LDkgKzE2
OTUsMjggQEAgc3RhdGljIHZvaWQgbGF5b3V0VGVzdENvbnRyb2xsZXJPYmplY3RGaW5hbGl6ZShK
U09iamVjdFJlZiBvYmplY3QpCiAgICAgY29udHJvbGxlci0+ZGVyZWYoKTsKIH0KIAorc3RhdGlj
IGNvbnN0IGNoYXIgc2V0dXBMYXlvdXRUZXN0Q29udHJvbGxlclNjcmlwdFtdID0gCisgICAgImZ1
bmN0aW9uIGRlbGVnYXRlKGRzdCwgc3JjLCBuYW1lKSB7IGRzdFtuYW1lXSA9IGZ1bmN0aW9uKCkg
eyByZXR1cm4gc3JjW25hbWVdLmFwcGx5KHNyYywgYXJndW1lbnRzKTsgfSB9XG4iCisgICAgImZv
ciAodmFyIG5hbWUgaW4gdGhpcy5jb3JlKSB7XG4iCisgICAgIiAgICBkZWxlZ2F0ZSh0aGlzLCB0
aGlzLmNvcmUsIG5hbWUpO1xuIgorICAgICJ9XG4iOworCit2b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjptYWtlRGVsZWdhdGlvbk1ldGhvZHMoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0
UmVmIHRoaXNPYmplY3QsIEpTVmFsdWVSZWYgY29yZU9iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0
aW9uKQoreworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBjb3JlU3RyKEFkb3B0LCBKU1N0
cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiY29yZSIpKTsKKyAgICBKU09iamVjdFNldFByb3Bl
cnR5KGNvbnRleHQsIHRoaXNPYmplY3QsIGNvcmVTdHIuZ2V0KCksIGNvcmVPYmplY3QsIGtKU1By
b3BlcnR5QXR0cmlidXRlTm9uZSwgZXhjZXB0aW9uKTsKKyAgICBBU1NFUlQoISpleGNlcHRpb24p
OworCisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHVybFN0cihBZG9wdCwgSlNTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoInNldHVwX2xheW91dF90ZXN0X2NvbnRyb2xsZXJfdGVzdC5q
cyIpKTsKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gc2NyaXB0U3RyKEFkb3B0LCBKU1N0
cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhzZXR1cExheW91dFRlc3RDb250cm9sbGVyU2NyaXB0
KSk7CisgICAgQVNTRVJUKCEqZXhjZXB0aW9uKTsKKyAgICBKU0V2YWx1YXRlU2NyaXB0KGNvbnRl
eHQsIHNjcmlwdFN0ci5nZXQoKSwgdGhpc09iamVjdCwgdXJsU3RyLmdldCgpLCAxLCBleGNlcHRp
b24pOworICAgIEFTU0VSVCghKmV4Y2VwdGlvbik7Cit9CisKIC8vIE9iamVjdCBDcmVhdGlvbgog
Ci12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlv
bikKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0
aW9uLCBKU1ZhbHVlUmVmIGNvcmUpCiB7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGxh
eW91dFRlc3RDb250b2xsZXJTdHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJsYXlvdXRUZXN0Q29udHJvbGxlciIpKTsKICAgICByZWYoKTsKQEAgLTE3MDYsNiArMTcyNSw5
IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpCiAgICAgSlNWYWx1ZVJlZiBsYXlvdXRUZXN0Q29u
dG9sbGVyT2JqZWN0ID0gSlNPYmplY3RNYWtlKGNvbnRleHQsIGNsYXNzUmVmLCB0aGlzKTsKICAg
ICBKU0NsYXNzUmVsZWFzZShjbGFzc1JlZik7CiAKKyAgICBpZiAoY29yZSkKKyAgICAgICAgbWFr
ZURlbGVnYXRpb25NZXRob2RzKGNvbnRleHQsIEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBsYXlv
dXRUZXN0Q29udG9sbGVyT2JqZWN0LCBleGNlcHRpb24pLCBjb3JlLCBleGNlcHRpb24pOworCiAg
ICAgSlNPYmplY3RTZXRQcm9wZXJ0eShjb250ZXh0LCB3aW5kb3dPYmplY3QsIGxheW91dFRlc3RD
b250b2xsZXJTdHIuZ2V0KCksIGxheW91dFRlc3RDb250b2xsZXJPYmplY3QsIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUsIGV4Y2Vw
dGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oCmluZGV4IDMwZWI5YmQ0Zjg0NGQ0Y2E5YzNlZWNhYjdjNjZlZDBlNzc5Mzg3
OGYuLjEyOGEwMWM3ZWUwNDQzMTBiMGRiYjRlYTg5NjFiYzRlODNjOTNlYjggMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtNDIs
NyArNDIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8TGF5b3V0VGVzdENvbnRy
b2xsZXI+IGNyZWF0ZShjb25zdCBzdGQ6OnN0cmluZyYgdGVzdFBhdGhPclVSTCwgY29uc3Qgc3Rk
OjpzdHJpbmcmIGV4cGVjdGVkUGl4ZWxIYXNoKTsKICAgICB+TGF5b3V0VGVzdENvbnRyb2xsZXIo
KTsKIAotICAgIHZvaWQgbWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNP
YmplY3RSZWYgd2luZG93T2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOworICAgIHZvaWQg
bWFrZURlbGVnYXRpb25NZXRob2RzKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0
aGlzT2JqZWN0LCBKU1ZhbHVlUmVmIGNvcmVPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7
CisgICAgdm9pZCBtYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiB3aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbiwgSlNWYWx1ZVJlZiBjb3Jl
ID0gMCk7CiAKICAgICB2b2lkIGFkZERpc2FsbG93ZWRVUkwoSlNTdHJpbmdSZWYgdXJsKTsKICAg
ICB2b2lkIGNsZWFyQWxsRGF0YWJhc2VzKCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAppbmRleCA1MDdmMDg0MjIwNGRiMjIxZmRjNDRm
ZDk0N2ZkOGNjYjJiYTExYTNkLi5kNTZlYTk2ODY0MDA1MjI0MzFjMjRmNmZlYWFhNDhlOGY5YjYx
Y2RmIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
U2hlbGwuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RT
aGVsbC5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJwdWJsaWMvV2ViSGlzdG9yeUl0
ZW0uaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgiCiAjaW5jbHVkZSAi
cHVibGljL1dlYlNjcmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJwdWJsaWMvV2ViU2NyaXB0
U291cmNlLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYlNldHRpbmdzLmgiCiAjaW5jbHVkZSAicHVi
bGljL1dlYlNpemUuaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViU3RyaW5nLmgiCkBAIC01NCw2ICs1
NSw3IEBACiAjaW5jbHVkZSAicHVibGljL1dlYlZpZXcuaCIKICNpbmNsdWRlICJza2lhL2V4dC9i
aXRtYXBfcGxhdGZvcm1fZGV2aWNlLmgiCiAjaW5jbHVkZSAic2tpYS9leHQvcGxhdGZvcm1fY2Fu
dmFzLmgiCisjaW5jbHVkZSAidjguaCIKICNpbmNsdWRlICJ3ZWJraXQvc3VwcG9ydC93ZWJraXRf
c3VwcG9ydC5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDxjY3R5cGU+CkBAIC02
MDgsNiArNjEwLDEyIEBAIHZvaWQgVGVzdFNoZWxsOjpkdW1wSW1hZ2Uoc2tpYTo6UGxhdGZvcm1D
YW52YXMqIGNhbnZhcykgY29uc3QKICAgICAgICAgbV9wcmludGVyLT5oYW5kbGVJbWFnZShtZDVo
YXNoLmNfc3RyKCksIG1fcGFyYW1zLnBpeGVsSGFzaC5jX3N0cigpLCAwLCAwLCBtX3BhcmFtcy5w
aXhlbEZpbGVOYW1lLmNfc3RyKCkpOwogfQogCitzdGF0aWMgY29uc3QgY2hhciBzZXR1cExheW91
dFRlc3RDb250cm9sbGVyU2NyaXB0W10gPSAKKyAgICAiZnVuY3Rpb24gZGVsZWdhdGUoZHN0LCBz
cmMsIG5hbWUpIHsgZHN0W25hbWVdID0gZnVuY3Rpb24oKSB7IHJldHVybiBzcmNbbmFtZV0uYXBw
bHkoc3JjLCBhcmd1bWVudHMpOyB9IH1cbiIKKyAgICAiZm9yICh2YXIgbmFtZSBpbiBsYXlvdXRU
ZXN0Q29udHJvbGxlci5jb3JlKSB7XG4iCisgICAgIiAgICBkZWxlZ2F0ZShsYXlvdXRUZXN0Q29u
dHJvbGxlciwgbGF5b3V0VGVzdENvbnRyb2xsZXIuY29yZSwgbmFtZSk7XG4iCisgICAgIn1cbiI7
CisKIHZvaWQgVGVzdFNoZWxsOjpiaW5kSlNPYmplY3RzVG9XaW5kb3coV2ViRnJhbWUqIGZyYW1l
KQogewogICAgIG1fYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXItPmJpbmRUb0phdmFzY3JpcHQoZnJh
bWUsIFdlYlN0cmluZzo6ZnJvbVVURjgoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyIikpOwpAQCAt
NjE1LDYgKzYyMywxNiBAQCB2b2lkIFRlc3RTaGVsbDo6YmluZEpTT2JqZWN0c1RvV2luZG93KFdl
YkZyYW1lKiBmcmFtZSkKICAgICBtX2V2ZW50U2VuZGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZyYW1l
LCBXZWJTdHJpbmc6OmZyb21VVEY4KCJldmVudFNlbmRlciIpKTsKICAgICBtX3BsYWluVGV4dENv
bnRyb2xsZXItPmJpbmRUb0phdmFzY3JpcHQoZnJhbWUsIFdlYlN0cmluZzo6ZnJvbVVURjgoInBs
YWluVGV4dCIpKTsKICAgICBtX3RleHRJbnB1dENvbnRyb2xsZXItPmJpbmRUb0phdmFzY3JpcHQo
ZnJhbWUsIFdlYlN0cmluZzo6ZnJvbVVURjgoInRleHRJbnB1dENvbnRyb2xsZXIiKSk7CisgICAg
CisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6Q29u
dGV4dD4gY29udGV4dCA9IGZyYW1lLT5tYWluV29ybGRTY3JpcHRDb250ZXh0KCk7CisgICAgdjg6
OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZSA9IGNvbnRleHQ7CisgICAgdjg6OkxvY2FsPHY4
OjpPYmplY3Q+IGxheW91dFRlc3RDb250cm9sbGVyT2JqID0gKnY4OjpIYW5kbGU8djg6Ok9iamVj
dD46OkNhc3QoY29udGV4dC0+R2xvYmFsKCktPkdldFJlYWxOYW1lZFByb3BlcnR5KHY4OjpTdHJp
bmc6Ok5ldygibGF5b3V0VGVzdENvbnRyb2xsZXIiKSkpOworICAgIHY4OjpMb2NhbDx2ODo6T2Jq
ZWN0PiBjb3JlT2JqID0gKmZyYW1lLT5sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKTsKKyAgICBi
b29sIG9rID0gbGF5b3V0VGVzdENvbnRyb2xsZXJPYmotPlNldCh2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4odjg6OlN0cmluZzo6TmV3KCJjb3JlIikpLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oY29yZU9i
aiksIHY4OjpOb25lKTsKKyAgICBBU1NFUlQob2spOworCisgICAgZnJhbWUtPmV4ZWN1dGVTY3Jp
cHRBbmRSZXR1cm5WYWx1ZShXZWJTY3JpcHRTb3VyY2UoV2ViU3RyaW5nOjpmcm9tVVRGOChzZXR1
cExheW91dFRlc3RDb250cm9sbGVyU2NyaXB0KSwgV2ViVVJMKEdVUkwoInNldHVwX2xheW91dF90
ZXN0X2NvbnRyb2xsZXIuanMiKSksIDApKTsKIH0KIAogV2ViVmlld0hvc3QqIFRlc3RTaGVsbDo6
Y3JlYXRlV2ViVmlldygpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvRHVtcFJlbmRlclRyZWUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1
bXBSZW5kZXJUcmVlLmNwcAppbmRleCAyODEyMjI0MGRiNGIxNDRmY2EzYTgwZWNhNTg2ODJhNzE5
ODBlYmZiLi41YjBmNzYxMzIwNjAwMzc0NDY3Y2Y0Yzg1N2MzZmNiZDA2Njg3MWVlIDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKQEAg
LTY1Niw3ICs2NTYsOCBAQCBzdGF0aWMgdm9pZCB3ZWJWaWV3V2luZG93T2JqZWN0Q2xlYXJlZChX
ZWJLaXRXZWJWaWV3KiB2aWV3LCBXZWJLaXRXZWJGcmFtZSogZnJhbQogICAgIEpTVmFsdWVSZWYg
ZXhjZXB0aW9uID0gMDsKICAgICBBU1NFUlQoZ0xheW91dFRlc3RDb250cm9sbGVyKTsKIAotICAg
IGdMYXlvdXRUZXN0Q29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCB3aW5kb3dP
YmplY3QsICZleGNlcHRpb24pOworICAgIEpTVmFsdWVSZWYgbGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlID0gd2Via2l0X3dlYl9sYXlvdXRfdGVzdF9jb250cm9sbGVyX2NvcmUoZnJhbWUpOworICAg
IGdMYXlvdXRUZXN0Q29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCB3aW5kb3dP
YmplY3QsICZleGNlcHRpb24sIGxheW91dFRlc3RDb250cm9sbGVyQ29yZSk7CiAgICAgQVNTRVJU
KCFleGNlcHRpb24pOwogCiAgICAgZ2NDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRl
eHQsIHdpbmRvd09iamVjdCwgJmV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0gYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KaW5kZXggOTYzZWFlNzBmYTU5ZDgx
ZWZjZmViOGFiMWU4ODM2YzU1N2M3YWNjZC4uNjkzZDQ0MzE2ZjA5ZGJkOTk4YzAyNTIyMjY5N2Rl
NmRjZjVmOTBjYiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0Zy
YW1lTG9hZERlbGVnYXRlLm1tCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9G
cmFtZUxvYWREZWxlZ2F0ZS5tbQpAQCAtMjQ1LDcgKzI0NSw4IEBACiAgICAgSlNWYWx1ZVJlZiBl
eGNlcHRpb24gPSAwOwogCiAgICAgQVNTRVJUKGdMYXlvdXRUZXN0Q29udHJvbGxlcik7Ci0gICAg
Z0xheW91dFRlc3RDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIGdsb2JhbE9i
amVjdCwgJmV4Y2VwdGlvbik7CisgICAgSlNWYWx1ZVJlZiBsYXlvdXRUZXN0Q29udHJvbGxlckNv
cmUgPSBbZnJhbWUgbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlXTsKKyAgICBnTGF5b3V0VGVzdENv
bnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0
aW9uLCBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpOwogICAgIEFTU0VSVCghZXhjZXB0aW9uKTsK
IAogICAgIGdjQ29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCBnbG9iYWxPYmpl
Y3QsICZleGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0ZyYW1lTG9hZERlbGVnYXRlLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9GcmFtZUxvYWREZWxlZ2F0ZS5jcHAKaW5kZXggYTg0ZTBmM2UxMzJjY2FmNjkyNTQ3ZGE1NmE2
NzA3NGMwMGRiMmIzZi4uN2ZjOWUxYmY4OTE1OTQ3NjNhZDMwN2E1NmRkMmQ2MGE2OTIwNGZmZSAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0ZyYW1lTG9hZERlbGVn
YXRlLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRnJhbWVMb2FkRGVs
ZWdhdGUuY3BwCkBAIC0zNDgsNyArMzQ4LDggQEAgdm9pZCBGcmFtZUxvYWREZWxlZ2F0ZTo6ZGlk
Q2xlYXJXaW5kb3dPYmplY3RGb3JGcmFtZUluU3RhbmRhcmRXb3JsZChJV2ViRnJhbWUqIGYKICAg
ICBtX2djQ29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCB3aW5kb3dPYmplY3Qs
ICZleGNlcHRpb24pOwogICAgIEFTU0VSVCghZXhjZXB0aW9uKTsKIAotICAgIG1fYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgd2luZG93T2JqZWN0LCAm
ZXhjZXB0aW9uKTsKKyAgICBKU1ZhbHVlUmVmIGNvcmUgPSBmcmFtZS0+bGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlKCk7CisgICAgbV9hY2Nlc3NpYmlsaXR5Q29udHJvbGxlci0+bWFrZVdpbmRvd09i
amVjdChjb250ZXh0LCB3aW5kb3dPYmplY3QsICZleGNlcHRpb24sIGNvcmUpOwogICAgIEFTU0VS
VCghZXhjZXB0aW9uKTsKIAogICAgIEpTU3RyaW5nUmVmIGV2ZW50U2VuZGVyU3RyID0gSlNTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImV2ZW50U2VuZGVyIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62260</attachid>
            <date>2010-07-21 21:32:22 -0700</date>
            <delta_ts>2010-07-25 22:53:18 -0700</delta_ts>
            <desc>made the patch smaller to contain only mac port</desc>
            <filename>bug-42612-20100722133220.patch</filename>
            <type>text/plain</type>
            <size>44744</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0NDMwNjRhZTkxZTcxNGY3NzM2NTZjNjNhNGI3ZDcxOTgwNjliNjdmLi44YzQxODAw
MzMwMGZkMjQ0NTNiYjU4MmIwYTFhYWY4ZmQzOTM2NDE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dp
bmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVz
dC1jb250cm9sbGVyLWNvcmUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L1NraXBwZWQ6CisKIDIwMTAtMDctMjEgIEp1c3RpbiBTY2h1aCAgPGpzY2h1aEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29u
dHJvbGxlci1jb3JlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0
cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4Zjll
OWJiMzNkZDI5YmQ1ZjBlYzZjNWNiZjRmMDk5ZmFmNzdiYmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1sYXlvdXQtdGVz
dC1jb250cm9sbGVyLWNvcmUuanMKQEAgLTAsMCArMSw3IEBACitkZXNjcmlwdGlvbigid2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyIHNob3VsZCBoYXZlIGZ1bmN0aW9ucyBkZWZpbmVkIGluIExh
eW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwiKTsKK3dpbmRvdy5ub2RlID0gZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoIiIpOworc2hvdWxkQmVUcnVlKCJ1bmRlZmluZWQgIT0gd2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyIik7CitzaG91bGRCZVRydWUoInVuZGVmaW5lZCAhPSB3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlIik7CitzaG91bGRCZVRy
dWUoIjAgPT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50TWFrZXJTaXplRm9y
Tm9kZSh3aW5kb3cubm9kZSkiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0
LWNvbnRyb2xsZXItY29yZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTQ4MmZjMjY2NTA0N2VlOGJhMDg0YjJjZGIxMjMyZmFkYTI2YjYzYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3Qt
Y29udHJvbGxlci1jb3JlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACit3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIgc2hvdWxkIGhhdmUgZnVuY3Rpb25zIGRlZmluZWQgaW4gTGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlLmlkbAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyB1bmRlZmluZWQgIT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIGlzIHRydWUKK1BB
U1MgdW5kZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kb2N1bWVudE1ha2Vy
U2l6ZUZvck5vZGUgaXMgdHJ1ZQorUEFTUyAwID09IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ci5kb2N1bWVudE1ha2VyU2l6ZUZvck5vZGUod2luZG93Lm5vZGUpIGlzIHRydWUKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXIt
Y29yZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVz
dC1jb250cm9sbGVyLWNvcmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODYzZDZhMWU0MWM1MmE2NWY1NGVk
MjUyMzU2OGM1ZjliNDI5ZjI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuaHRtbApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzL3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDIyYmM3YjBlM2I4OTkwNTFjMDdl
ZjllYmVkOGQzODc2M2FmN2U1MjIuLjg0ZDU2ZjBlMDYyMjExMGM3ODE3OTFiMzdjNDNhOGU2YmQy
ODkwOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhw
ZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQKQEAgLTMxMjQsMyArMzEyNCw1IEBAIEJVR19TRU5PUkJMQU5DTyA6IGh0
bWw1bGliL3J1bm5lci5odG1sID0gVEVYVAogCiBCVUdXSzQyNzY5IDogaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9yZW1lbWJlci1iYWQtcGFzc3dvcmQuaHRtbCA9IFRFWFQKIEJVR1dLNDI3Njkg
OiBodHRwL3Rlc3RzL3NlY3VyaXR5LzQwMS1sb2dvdXQvNDAxLWxvZ291dC5waHAgPSBUSU1FT1VU
CisKK0JVR1dLNDI2MTIgOiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRy
b2xsZXItY29yZS5odG1sID0gRkFJTApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCBjYTdm
YTRhYWY5YWFjMmYzNTc5YzkxYzhjYWY0ODZhYjI5YjAyMWVmLi4zYmE4NjkwNmI3MjAzYzlkODNh
NmVmZDU5MGI5YjY3MGRmNjdlOTQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtNTg4
MCwzICs1ODgwLDYgQEAgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZW1lbWJlci1iYWQtcGFz
c3dvcmQuaHRtbAogIyBUaGVyZSdzIHNvbWV0aGlnbiBzdHJhbmdlIGdvaW5nIG9uIHdpdGggPGtl
eWdlbj4gdGhhdCBjYXVzZXMgYQogIyBkaWZmZXJlbnQgRE9NIHRvIGJlIGNyZWF0ZWQuCiBodG1s
NWxpYi9ydW5uZXIuaHRtbAorCisjIGN1cnJlbnRseSBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUg
aXMgbm90IHN1cHBvcnRlZCBodHRwOi8vd2Via2l0Lm9yZy9iLzQyNjEyCitmYXN0L2RvbS9XaW5k
b3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5odG1sCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAppbmRleCA2Yjg2OGRiNzA4YzA2ZjgzNDFkODg1MzEyMGVhMzEwZWFjZDQyZjkwLi44
ZTVhOWNjMmUxZjBhNGMyYThkZTI5ZmZmMGZhYzQ0MjIzNzM5OTIyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1NraXBwZWQKQEAgLTU0NTEsMyArNTQ1MSw2IEBAIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
cmVtZW1iZXItYmFkLXBhc3N3b3JkLmh0bWwKICMgVGhlcmUncyBzb21ldGhpZ24gc3RyYW5nZSBn
b2luZyBvbiB3aXRoIDxrZXlnZW4+IHRoYXQgY2F1c2VzIGEKICMgZGlmZmVyZW50IERPTSB0byBi
ZSBjcmVhdGVkLgogaHRtbDVsaWIvcnVubmVyLmh0bWwKKworIyBjdXJyZW50bHkgTGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlIGlzIG5vdCBzdXBwb3J0ZWQgaHR0cDovL3dlYmtpdC5vcmcvYi80MjYx
MgorZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAyMjYxMmIzYzcwYjRlMDU5YzhhY2ZlZmZm
MDE1NjBmMGY5ZmQwNTM4Li44ZjRmZmVjYWE3MzY1ZGQyNDU0M2UwMjZiM2Q5ODA5NjRhODk1OTJj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtOTU0LDMgKzk1NCw1IEBAIGZhc3QvZG9t
L3dlYnRpbWluZy1uYXZpZ2F0ZS13aXRoaW4tZG9jdW1lbnQuaHRtbAogaHR0cC90ZXN0cy9taXNj
L3dlYnRpbWluZy1vbmUtcmVkaXJlY3QucGhwCiBodHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXR3
by1yZWRpcmVjdHMucGhwCiAKKyMgY3VycmVudGx5IExheW91dFRlc3RDb250cm9sbGVyQ29yZSBp
cyBub3Qgc3VwcG9ydGVkIGh0dHA6Ly93ZWJraXQub3JnL2IvNDI2MTIKK2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmh0bWwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc5MTkz
MTcxNGQ1Mjk5NzhkMmFkZTY4NGJhNTcyNDFlZTdhOGE0YzMuLjQ0Y2M3NDRjMmZjMTk3MzQ4NWYz
ODM2YjA5MmNiYjIxYTMxYjhjOTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzE0LDYgKzMxNCw3IEBAIFNFVChXZWJD
b3JlX0lETF9GSUxFUwogICAgIHBhZ2UvR2VvcG9zaXRpb24uaWRsCiAgICAgcGFnZS9IaXN0b3J5
LmlkbAogICAgIHBhZ2UvTG9jYXRpb24uaWRsCisgICAgcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxl
ckNvcmUuaWRsCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbAogICAgIHBhZ2UvTmF2aWdhdGlvbi5p
ZGwKICAgICBwYWdlL05hdmlnYXRvci5pZGwKQEAgLTExNTIsNiArMTE1Myw3IEBAIFNFVChXZWJD
b3JlX1NPVVJDRVMKICAgICBwYWdlL0dlb2xvY2F0aW9uUG9zaXRpb25DYWNoZS5jcHAKICAgICBw
YWdlL0hpc3RvcnkuY3BwCiAgICAgcGFnZS9Mb2NhdGlvbi5jcHAKKyAgICBwYWdlL0xheW91dFRl
c3RDb250cm9sbGVyQ29yZS5jcHAKICAgICBwYWdlL01lbW9yeUluZm8uY3BwCiAgICAgcGFnZS9N
b3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcAogICAgIHBhZ2UvTmF2aWdhdGlvbi5jcHAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjExNjM5NDAzODY2ZjliNmYwMTRmMDcxYTgzOTA4ODZkODEyYmYyNi4uZTI0NjYyNDJmN2ZlY2E5
NzAzOWMxM2Y2NzhjYWEwMzNkMTMyMzliNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxMC0wNy0yMSAgTU9S
SVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKyAgICAgICAgCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBz
Y3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZp
Y2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
MjYxMgorICAgICAgICAKKyAgICAgICAgSW50cm9kdWNpbmcgTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlLCB0aGF0IHdpbGwgaGF2ZSBXZWJDb3JlLXNpZGUKKyAgICAgICAgaW1wbGVtZW50YXRpb24g
b2YgTGF5b3V0VGVzdENvbnRyb2xsZXIuIFRoZSBpbnN0YW5jZSBpcyBvd25lZCBieQorICAgICAg
ICBET01XaW5kb3cuICBDdXJyZW50bHkgZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKCkgYW5kCisg
ICAgICAgIGRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2RlQXQoKSBhcmUganVzdCBhIHN0dWIuICBU
aGVzZQorICAgICAgICBpbXBsZW1lbnRhdGlvbiB3aWxsIGNvbWUgbGF0ZXIuCisKKyAgICAgICAg
VGVzdDogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUu
aHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFr
ZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAg
ICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OkpTRE9N
V2luZG93U2hlbGwpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6bGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1No
ZWxsLmg6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUp
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBw
YWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmxheW91dFRl
c3RDb250cm9sbGVyQ29yZSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAg
KiBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpmcmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OmRpc2Nvbm5lY3RGcmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OmRvY3VtZW50TWFrZXJTaXplRm9yTm9k
ZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OmRvY3VtZW50
TWFrZXJTdHJpbmdGb3JOb2RlQXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjp2ZXJpZnlDb25uZWN0ZWQpOgorICAgICAgICAqIHBh
Z2UvTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvTGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlLmlkbDogQWRkZWQuCisKIDIwMTAtMDctMjEgIEFkYW0gQmFydGgg
IDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKaW5kZXggNzhjNTIzZmExZjg2ZGIwMjNlN2EzODc5YTQ4YTc3Yjk2MWNlNDQ1
MS4uZTVkY2U1MzBjZjg4M2NhZTRhNjY1YTYxYjFjZDlkMDJmY2U0Mjc3YSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAKQEAgLTE5NCw2ICsxOTQsNyBAQAogI2luY2x1ZGUgIkpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmNwcCIKICNpbmNsdWRlICJKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIgogI2luY2x1ZGUgIkpT
S2V5Ym9hcmRFdmVudC5jcHAiCisjaW5jbHVkZSAiSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
Y3BwIgogI2luY2x1ZGUgIkpTTG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFFcnJvci5j
cHAiCiAjaW5jbHVkZSAiSlNNZWRpYUxpc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDdjNTNl
ODY5NWJjODM3ZGM5YjAwY2I3OWU5ZmU4NWI3ZDBmNDU2ZWUuLmI2NGMxZDM2YjE2ZTM4NjI0MGYw
MDY1MGY1ZjgyYzU0MWRiMGYwN2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTIzNyw2ICsyMzcsNyBA
QCBET01fQ0xBU1NFUyA9IFwKICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QgXAogICAgIEtleWJv
YXJkRXZlbnQgXAogICAgIExvY2F0aW9uIFwKKyAgICBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUg
XAogICAgIE1lZGlhRXJyb3IgXAogICAgIE1lZGlhTGlzdCBcCiAgICAgTWVtb3J5SW5mbyBcCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bQppbmRleCBmNDdjM2U2Njc3MjE2MzlhOWU4ZGIxMThjM2ExM2Q3ODNhMGI5YzgyLi5hYjg1MjQ0
OTY5NjRjM2ViZmVlNzMyNzc3ZWQzZTUyYTdlMjQ1NjE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQxMCw2ICs0MTAs
OCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNLZXlib2FyZEV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCBcCisJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTWVkaWFFcnJvci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNNZWRpYUVycm9yLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxpc3QuY3Bw
IFwKQEAgLTE3ODMsNiArMTc4NSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9w
YWdlL0hpc3RvcnkuaCBcCiAJV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcCBcCiAJV2ViQ29yZS9w
YWdlL0xvY2F0aW9uLmggXAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
Y3BwIFwKKwlXZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggXAogCVdlYkNv
cmUvcGFnZS9NZWRpYUNhblN0YXJ0TGlzdGVuZXIuaCBcCiAJV2ViQ29yZS9wYWdlL01lbW9yeUlu
Zm8uY3BwIFwKIAlXZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5oIFwKQEAgLTQ1NDIsNiArNDU0Niw3
IEBAIElETF9CSU5ESU5HU19HRE9NICs9IFwKIAlXZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlk
bCBcCiAJV2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsIFwKIAlXZWJDb3JlL3BhZ2UvTG9jYXRpb24u
aWRsIFwKKwlXZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbCBcCiAJV2Vi
Q29yZS9wYWdlL01lbW9yeUluZm8uaWRsIFwKIAlXZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbCBc
CiAJV2ViQ29yZS9wYWdlL1NjcmVlbi5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbiBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYThjMGE0OTNlZWMzMDBlYTBm
YzhlYWViM2JkZTg4ZDA5ZGIyMDJmNC4uMzMwMTgzZWI5NmM0YTI2NzZkYzZkODAyM2Y2M2M1YjQ0
ODk1ZjUxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCkBAIC0xMjAxLDYgKzEyMDEsNyBAQCBfX05QTl9TZXRFeGNlcHRpb24K
IF9fTlBOX1NldFByb3BlcnR5CiBfX05QTl9VVEY4RnJvbUlkZW50aWZpZXIKIF9fWk43V2ViQ29y
ZTE2U2NyaXB0Q29udHJvbGxlcjIwd2luZG93U2NyaXB0TlBPYmplY3RFdgorX19aTjdXZWJDb3Jl
MTZTY3JpcHRDb250cm9sbGVyMjRsYXlvdXRUZXN0Q29udHJvbGxlckNvcmVFUE5TXzE1RE9NV3Jh
cHBlcldvcmxkRQogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjljbGVhbnVwU2NyaXB0
T2JqZWN0c0ZvclBsdWdpbkVQdgogX19aTks3V2ViQ29yZTEyUmVuZGVyT2JqZWN0NHZpZXdFdgog
X19aTks3V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW45Y2FuQWNjZXNzRVBLUzBfCmRpZmYgLS1naXQg
YS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA0YjM3
ZjRjNTNhMzM4NzQwMDdkMmZmZTY4OTQyYzE0NTEyZTYxOWMuLjlmNDMyNTkxOGIwYzA0ZmM4Zjc4
OWNjNmMyZTM5NTBlNGI1MmU3ZTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisr
KyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMTUsNiArMjE1LDcgQEAKICAgICAgICAgICAg
ICdwYWdlL0dlb3Bvc2l0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9IaXN0b3J5LmlkbCcs
CiAgICAgICAgICAgICAncGFnZS9Mb2NhdGlvbi5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZv
LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAn
cGFnZS9OYXZpZ2F0b3IuaWRsJywKQEAgLTE5OTksNiArMjAwMCw4IEBACiAgICAgICAgICAgICAn
cGFnZS9IaXN0b3J5LmgnLAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uY3BwJywKICAgICAg
ICAgICAgICdwYWdlL0xvY2F0aW9uLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlLmNwcCcsCisgICAgICAgICAgICAncGFnZS9MYXlvdXRUZXN0Q29udHJvbGxl
ckNvcmUuaCcsCiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmNwcCcsCiAgICAgICAgICAg
ICAncGFnZS9NZW1vcnlJbmZvLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTW91c2VFdmVudFdpdGhI
aXRUZXN0UmVzdWx0cy5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dl
YkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggNzIwNWFkZGUzOGU3MzRlN2M5NTc2NDIzNjdjZWI1ZDg2
NzIyNzE3ZS4uODRiNGVkY2ZlYjc0MGU0MGMzNjhhZTIzMTEyMGYwZmQ1NzJkMmYyYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC00
NjYsNiArNDY2LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBwYWdlL0dlb3Bvc2l0aW9uLmlk
bCBcCiAgICAgcGFnZS9IaXN0b3J5LmlkbCBcCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwgXAorICAg
IHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmlkbCBcCiAgICAgcGFnZS9NZW1vcnlJbmZv
LmlkbCBcCiAgICAgcGFnZS9OYXZpZ2F0aW9uLmlkbCBcCiAgICAgcGFnZS9OYXZpZ2F0b3IuaWRs
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJv
CmluZGV4IDQ5YzY3YjkyYzFhMTA2ZjdiYzUwYjA1NWM1Y2I1MmE4NGZjNjA5NTUuLmMwMjkzY2Jm
NjJlNTBjMDRkMzE3MGU0YWZjMWNlZmVjMjU3MjI0MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtODI2LDYgKzgyNiw3IEBAIFNP
VVJDRVMgKz0gXAogICAgIHBhZ2UvR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcCBcCiAgICAg
cGFnZS9IaXN0b3J5LmNwcCBcCiAgICAgcGFnZS9Mb2NhdGlvbi5jcHAgXAorICAgIHBhZ2UvTGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCBcCiAgICAgcGFnZS9NZW1vcnlJbmZvLmNwcCBcCiAg
ICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCBcCiAgICAgcGFnZS9Pcmln
aW5BY2Nlc3NFbnRyeS5jcHAgXApAQCAtMTU5Niw2ICsxNTk3LDcgQEAgSEVBREVSUyArPSBcCiAg
ICAgcGFnZS9IYWx0YWJsZVBsdWdpbi5oIFwKICAgICBwYWdlL0hpc3RvcnkuaCBcCiAgICAgcGFn
ZS9Mb2NhdGlvbi5oIFwKKyAgICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIFwKICAg
ICBwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCBcCiAgICAgcGFnZS9OYXZpZ2F0
b3JCYXNlLmggXAogICAgIHBhZ2UvTmF2aWdhdG9yLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKaW5kZXggZTk2YjdiZWQ5NjU3Y2EzNmI4YmJhOWNiNmIzNDUyMDM4NzcwODRj
NS4uYmY1ZWRiNmE4Yzc1NDdmMjA0ODI5MDY1MTE0MGE0MTVjY2ZkZTdiOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC05MDYxLDYgKzkwNjEsNjIgQEAKIAkJCQk+DQog
CQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0xheW91dFRlc3RDb250cm9s
bGVyQ29yZS5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0K
KwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlO
YW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJ
CQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkv
Pg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJ
CQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmUuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
IAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNNZWRpYUVycm9yLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCkBAIC0yMjM0NSw2ICsyMjQwMSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXExheW91dFRlc3RDb250cm9sbGVy
Q29yZS5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwYWdlXExheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxNb3VzZUV2ZW50V2l0
aEhpdFRlc3RSZXN1bHRzLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDMxMTBkNzY2NDcwZTU1ZWEzOGJjNjQ0
MjYxYTk5MmQzOTQyZWZjMDEuLmZlYzVjMGY5MzVlYWY1ZjBlYzUxN2M4NGFjNGYxNjBiZDM3YmE4
MjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNjc5
LDYgKzI2NzksOCBAQAogCQlBNzE4Nzg5MDBCMkQwNEFDMDBBMTZFQ0UgLyogRHJhZ0NvbnRyb2xs
ZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NzE4Nzg4RjBCMkQwNEFDMDBBMTZFQ0UgLyogRHJhZ0NvbnRyb2xsZXJNYWMubW0gKi87IH07CiAJ
CUE3MzUyQzE5MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzM1MkMxNzBCMUJCODlEMDBB
OTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suY3BwICovOyB9OwogCQlBNzM1MkMxQTBCMUJCODlEMDBB
OTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3MzUyQzE4MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9j
ay5oICovOyB9OworCQlBNzQ1RDJFNjExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3NDVEMkUzMTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
Y3BwICovOyB9OworCQlBNzQ1RDJFNzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzQ1RDJFNDExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmgg
Ki87IH07CiAJCUE3NUU0OTc2MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFs
dWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU0
OTc0MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNzVFNDk3NzEwNzUyQUNC
MDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU0OTc1MTA3NTJBQ0IwMEM5Qjg5NiAvKiBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwICovOyB9OwogCQlBNzVFOEI4ODBFMURFMkQ2MDA3RjI0
ODEgLyogRkVCbGVuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzVFOEI4MDBFMURFMkQ2MDA3RjI0ODEgLyogRkVCbGVuZC5jcHAgKi87IH07CkBA
IC0yNjg5LDYgKzI2OTEsOCBAQAogCQlBNzVFOEI4RDBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21w
b25lbnRUcmFuc2Zlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTc1RThCODUwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCAq
LzsgfTsKIAkJQTc1RThCOEUwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU4Qjg2MEUxREUy
RDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgKi87IH07CiAJCUE3NUU4QjhGMEUxREUyRDYw
MDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTc1RThCODcwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmgg
Ki87IH07CisJCUE3NzU1OEUzMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9s
bGVyQ29yZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzc1NThFMTExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
Y3BwICovOyB9OworCQlBNzc1NThFNDExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3NzU1OEUyMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5oICovOyB9OwogCQlBNzc5NzkxOTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Nzk3OTEzMEQ2
QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwICovOyB9OwogCQlBNzc5NzkxQTBENkI5RDBD
MDAzODUxQjkgLyogSW1hZ2VEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNzc5NzkxNDBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggKi87
IH07CiAJCUE3Nzk3OTI4MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc5NzkyNDBENkI5RTY0
MDAzODUxQjkgLyogSlNJbWFnZURhdGEuY3BwICovOyB9OwpAQCAtODM5MSw2ICs4Mzk1LDkgQEAK
IAkJQTcxQTcwQzkxMUFGQjAyMDAwOTg5RDZEIC8qIEhUTUxNZXRlckVsZW1lbnQuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IEhUTUxNZXRlckVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2su
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR0Jsb2Nr
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTczNTJDMTgwQjFCQjg5RDAwQTk4
NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW5kZXJTVkdCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzQ1RDJF
MzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFRlc3RDb250cm9sbGVyQ29yZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NDVEMkU0MTFGNUIzNzkwMEFDRDAy
MyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUE3NDVEMkU1MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxl
ckNvcmUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IExheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU0OTc0MTA3NTJBQ0IwMEM5
Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE3NUU0OTc1MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VyaWFsaXplZFNjcmlw
dFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODAwRTFERTJE
NjAwN0YyNDgxIC8qIEZFQmxlbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gRkVCbGVuZC5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZFQmxlbmQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtODQwMSw2ICs4NDA4LDggQEAKIAkJQTc1RThCODUwRTFERTJE
NjAwN0YyNDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gRkVDb21wb25lbnRUcmFuc2Zlci5oOyBwYXRoID0gZmlsdGVycy9GRUNvbXBv
bmVudFRyYW5zZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU4Qjg2MEUx
REUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBGRUNvbXBvc2l0ZS5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODcwRTFERTJENjAwN0Yy
NDgxIC8qIEZFQ29tcG9zaXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZF
Q29tcG9zaXRlLmg7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUE3NzU1OEUxMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RD
b250cm9sbGVyQ29yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3NzU1OEUyMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0xheW91dFRlc3RDb250cm9s
bGVyQ29yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzc5NzkxMzBENkI5RDBD
MDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEltYWdlRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3
OTE0MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW1hZ2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3
Nzk3OTE1MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEltYWdlRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjI1
OCw2ICsxMjI2Nyw5IEBACiAJCTY1QkYwMjE4MDk3NDgwNjMwMEM0MzE5NiAvKiBwYWdlICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzQ1RDJFMzExRjVC
Mzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCAqLywKKwkJCQlBNzQ1
RDJFNDExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi8sCisJ
CQkJQTc0NUQyRTUxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5p
ZGwgKi8sCiAJCQkJMzE2RkUxMDYwRTZFMUQ4NDAwQkY2MDg4IC8qIGFuaW1hdGlvbiAqLywKIAkJ
CQk5M0MwOUE4MjBCMDY0RjA1MDA1QUJENEQgLyogbWFjICovLAogCQkJCTg1MzhGMDAwMEFENzE3
NzAwMDZBODFEMSAvKiBBYnN0cmFjdFZpZXcuaWRsICovLApAQCAtMTU5NDYsNiArMTU5NTgsOCBA
QAogCQlCQzk4NTQ0MzBDRDNEOUQwMDAwNjlCQzEgLyogV2luZG93ICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzc1NThFMTExRjVCNjAyMDBCNDNBQzEg
LyogSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICovLAorCQkJCUE3NzU1OEUyMTFGNUI2
MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oICovLAogCQkJCUJDMTI0
RUZEMEMyNjQ0N0EwMDlFMjM0OSAvKiBKU0JhckluZm8uY3BwICovLAogCQkJCUJDMTI0RUZFMEMy
NjQ0N0EwMDlFMjM0OSAvKiBKU0JhckluZm8uaCAqLywKIAkJCQlCQzk4NTQzQjBDRDNEOThCMDAw
NjlCQzEgLyogSlNDb25zb2xlLmNwcCAqLywKQEAgLTE4NzI5LDYgKzE4NzQzLDcgQEAKIAkJCQk0
OUM3Qjk5NjEwNDJEMkQzMDAwOUQ0NDcgLyogSlNJbnQ4QXJyYXkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFDNUZBRUQyMERDRkQ5MDEwMEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4NjYyOUQzMDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tleWJvYXJk
RXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NzU1OEU0MTFGNUI2MDIwMEI0M0FDMSAvKiBK
U0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RjQ1NDMw
RjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2ZW50TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDRTFDNDNDMEQ5ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFNDQ2MTQxOTBDRDY4MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmggaW4gSGVh
ZGVycyAqLywKQEAgLTE4OTgxLDYgKzE4OTk2LDcgQEAKIAkJCQlBNDU2RkEyNzExQUQ0QTgzMDAy
MEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RUM5QUZCMEE3
MUEyQzYwMEVFRUFFRCAvKiBMYW5ndWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5MDY2MDcw
QkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzQ1
RDJFNzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5M0YxOThGMDA4MjQ1RTU5MDAxRTlBQkMgLyogTGVnYWN5SFRNTERvY3Vt
ZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOThFRjA4MjQ1RTU5MDAxRTlBQkMg
LyogTGVnYWN5SFRNTFRyZWVCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDk2MjZDMzBE
ODBEOTQ5MDBFMzQwNUMgLyogTGVnYWN5UHJlbG9hZFNjYW5uZXIuaCBpbiBIZWFkZXJzICovLApA
QCAtMjExOTcsNiArMjEyMTMsNyBAQAogCQkJCTFDNUZBRUQxMERDRkQ5MDEwMEQ1OEY3OCAvKiBK
U0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUM1RkFFRTcwRENG
REE2ODAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZUN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBODY2MjlENDA5REEyQjQ4MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUE3NzU1OEUzMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91
dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzVGNDU0MjBGN0Mz
QjVGMDBEN0MxRkIgLyogSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQ0UxQzQzQjBEOTgzMEQzMDAzQjAyRjIgLyogSlNMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQ0UxQzQ0MDBEOTgzMEY0MDAzQjAyRjIgLyogSlNMb2NhdGlvbkN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTIxNDg3LDYgKzIxNTA0LDcgQEAKIAkJCQlBNDU2RkEyNjExQUQ0
QTgzMDAyMEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1
MjA4NDUwOUJENDNCOTAwRjIwMzhEIC8qIExhbmd1YWdlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQ5MDY2MDYwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUE3NDVEMkU2MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNv
cmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMTlBOUMwODI0NUU1OTAwMUU5QUJDIC8qIExl
Z2FjeUhUTUxEb2N1bWVudFBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0YxOUE5QjA4
MjQ1RTU5MDAxRTlBQkMgLyogTGVnYWN5SFRNTFRyZWVCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUU0OTYyNkMyMEQ4MEQ5NDgwMEUzNDA1QyAvKiBMZWdhY3lQcmVsb2FkU2Nhbm5lci5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dTaGVsbC5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3Bw
CmluZGV4IDY1MDk2YjkzYzA2ZDgzN2E0MTRhZDdhODNmYjZhNjE5ZDIxN2ZhZmYuLmMxMjNkZjgw
NTA2OTYyYTkyZWI1Y2I4ZGYxMDQxYWUzMTMxMTljODQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd1NoZWxsLmNwcApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkpTTGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29u
dHJvbGxlci5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNPYmplY3QuaD4KQEAgLTQ2LDYgKzQ3LDcg
QEAgY29uc3QgQ2xhc3NJbmZvIEpTRE9NV2luZG93U2hlbGw6OnNfaW5mbyA9IHsgIkpTRE9NV2lu
ZG93U2hlbGwiLCAwLCAwLCAwIH07CiBKU0RPTVdpbmRvd1NoZWxsOjpKU0RPTVdpbmRvd1NoZWxs
KFBhc3NSZWZQdHI8RE9NV2luZG93PiB3aW5kb3csIERPTVdyYXBwZXJXb3JsZCogd29ybGQpCiAg
ICAgOiBCYXNlKEpTRE9NV2luZG93U2hlbGw6OmNyZWF0ZVN0cnVjdHVyZShqc051bGwoKSkpCiAg
ICAgLCBtX3dpbmRvdygwKQorICAgICwgbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoMCkKICAg
ICAsIG1fd29ybGQod29ybGQpCiB7CiAgICAgc2V0V2luZG93KHdpbmRvdyk7CkBAIC02OSw2ICs3
MSwxNiBAQCB2b2lkIEpTRE9NV2luZG93U2hlbGw6OnNldFdpbmRvdyhQYXNzUmVmUHRyPERPTVdp
bmRvdz4gZG9tV2luZG93KQogICAgIHNldFdpbmRvdyhqc0RPTVdpbmRvdyk7CiB9CiAKK0pTT2Jq
ZWN0KiBKU0RPTVdpbmRvd1NoZWxsOjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKQoreworICAg
IGlmICghbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpIHsKKyAgICAgICAgRXhlY1N0YXRlKiBl
eGVjID0gd2luZG93KCktPmdsb2JhbEV4ZWMoKTsKKyAgICAgICAgbV9sYXlvdXRUZXN0Q29udHJv
bGxlckNvcmUgPSB0b0pTKGV4ZWMsIHdpbmRvdygpLCB3aW5kb3coKS0+aW1wbCgpLT5sYXlvdXRU
ZXN0Q29udHJvbGxlckNvcmUoKSkudG9PYmplY3QoZXhlYyk7CisgICAgfQorCisgICAgcmV0dXJu
IG1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOworfQorCiAvLyAtLS0tCiAvLyBKU09iamVjdCBt
ZXRob2RzCiAvLyAtLS0tCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93U2hlbGwuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCmluZGV4
IDg4ODMyNWQwM2ZjYzhmMzRjOWUzM2FhMjVmYWFkMDMzMjU0ODNmNzEuLmRlYTJmYWU5MDUyYzky
NTk4ZWM2MjVjZjk2YmM0NWEwYWVjMDg3ZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dTaGVsbC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dTaGVsbC5oCkBAIC01Miw2ICs1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
fQogICAgICAgICB2b2lkIHNldFdpbmRvdyhQYXNzUmVmUHRyPERPTVdpbmRvdz4pOwogCisgICAg
ICAgIEpTQzo6SlNPYmplY3QqIGxheW91dFRlc3RDb250cm9sbGVyQ29yZSgpOworCiAgICAgICAg
IHN0YXRpYyBjb25zdCBKU0M6OkNsYXNzSW5mbyBzX2luZm87CiAKICAgICAgICAgRE9NV2luZG93
KiBpbXBsKCkgY29uc3Q7CkBAIC04Niw2ICs4OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdmlydHVhbCBjb25zdCBKU0M6OkNsYXNzSW5mbyogY2xhc3NJbmZvKCkgY29uc3QgeyBy
ZXR1cm4gJnNfaW5mbzsgfQogCiAgICAgICAgIEpTRE9NV2luZG93KiBtX3dpbmRvdzsKKyAgICAg
ICAgSlNDOjpKU09iamVjdCogbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmU7CiAgICAgICAgIFJl
ZlB0cjxET01XcmFwcGVyV29ybGQ+IG1fd29ybGQ7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggOTgwMjJkOWIzNWJkNGMyOWRmMWRjZTRlY2Ri
Y2YxYzgzYzRjZTJjOC4uN2M1ZDY3NzkyOGJkODIyNjA3YTYwNmYyMTgyNWVmMWY2YjliMmFhMyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC01MDYsNCArNTA2
LDkgQEAgU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcmlwdEluV29ybGQo
RE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitK
U09iamVjdCogU2NyaXB0Q29udHJvbGxlcjo6bGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKERPTVdy
YXBwZXJXb3JsZCogd29ybGQpCit7CisgICAgcmV0dXJuIHdpbmRvd1NoZWxsKHdvcmxkKS0+bGF5
b3V0VGVzdENvbnRyb2xsZXJDb3JlKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgKaW5kZXggODAxNTVlNGI5MzUwZmM4NGIz
MjQxZDNlMzM3ZjA0ZDI0NjlkYmQ5Ni4uMTgxYzNmOWZiZDUwOWYzMDkxOWE0ZGZiMDdjMjI2OWVj
NTBlYzQ5MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVy
LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgKQEAgLTkwLDYg
KzkwLDggQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIHdpbmRvd1NoZWxsKHdvcmxk
KS0+d2luZG93KCk7CiAgICAgfQorICAgIAorICAgIEpTQzo6SlNPYmplY3QqIGxheW91dFRlc3RD
b250cm9sbGVyQ29yZShET01XcmFwcGVyV29ybGQqIHdvcmxkKTsKIAogICAgIHN0YXRpYyB2b2lk
IGdldEFsbFdvcmxkcyhWZWN0b3I8RE9NV3JhcHBlcldvcmxkKj4mKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApp
bmRleCBhZDYzNWE2YzYwMzA2M2JiOGMzOWViYjYyZTAxNDFiMzM5OTM4NmQ2Li5iOTk4ZDdkNTJj
YzUyOTBhNzI3OTFjNjA4YmY5MGFiYzIyMmEwMDk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNjAsNiAr
NjAsNyBAQAogI2luY2x1ZGUgIkluZGV4ZWREYXRhYmFzZVJlcXVlc3QuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IgorI2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIgogI2luY2x1ZGUgIkxvY2F0
aW9uLmgiCiAjaW5jbHVkZSAiU3R5bGVNZWRpYS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5o
IgpAQCAtNTkyLDYgKzU5MywxMyBAQCBMb2NhdGlvbiogRE9NV2luZG93Ojpsb2NhdGlvbigpIGNv
bnN0CiAgICAgcmV0dXJuIG1fbG9jYXRpb24uZ2V0KCk7CiB9CiAKK0xheW91dFRlc3RDb250cm9s
bGVyQ29yZSogRE9NV2luZG93OjpsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUoKSBjb25zdAorewor
ICAgIGlmICghbV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmUpCisgICAgICAgIG1fbGF5b3V0VGVz
dENvbnRyb2xsZXJDb3JlID0gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpjcmVhdGUobV9mcmFt
ZSk7CisgICAgcmV0dXJuIG1fbGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmdldCgpOworfQorCiAj
aWYgRU5BQkxFKERPTV9TVE9SQUdFKQogU3RvcmFnZSogRE9NV2luZG93OjpzZXNzaW9uU3RvcmFn
ZShFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCA2OWQ3NDI4ODRmZTli
NWIzYTMwYWFlNDMyOGM5OGY2ODAzMTI1ZmZmLi5iYjkwNzBmYzJlNDk5MmU5MzZjZTNiODFjYmNk
NTVjZDc5NmRiYjhlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC01NSw2ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBIaXN0b3J5OwogICAgIGNsYXNzIEluZGV4ZWREYXRhYmFzZVJlcXVl
c3Q7CiAgICAgY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKKyAgICBjbGFzcyBMYXlvdXRU
ZXN0Q29udHJvbGxlckNvcmU7CiAgICAgY2xhc3MgTG9jYXRpb247CiAgICAgY2xhc3MgU3R5bGVN
ZWRpYTsKICAgICBjbGFzcyBOYXZpZ2F0b3I7CkBAIC0zNzksNiArMzgwLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBET01BcHBsaWNhdGlvbkNhY2hlKiBvcHRpb25hbEFwcGxpY2F0
aW9uQ2FjaGUoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9uQ2FjaGUuZ2V0KCk7IH0KICNl
bmRpZgogCisgICAgICAgIExheW91dFRlc3RDb250cm9sbGVyQ29yZSogbGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlKCkgY29uc3Q7CisKICAgICAgICAgdXNpbmcgUmVmQ291bnRlZDxET01XaW5kb3c+
OjpyZWY7CiAgICAgICAgIHVzaW5nIFJlZkNvdW50ZWQ8RE9NV2luZG93Pjo6ZGVyZWY7CiAKQEAg
LTQwOSw2ICs0MTIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKFdFQl9USU1J
TkcpCiAgICAgICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlPiBtX3BlcmZvcm1hbmNlOwog
I2VuZGlmCisgICAgICAgIG11dGFibGUgUmVmUHRyPExheW91dFRlc3RDb250cm9sbGVyQ29yZT4g
bV9sYXlvdXRUZXN0Q29udHJvbGxlckNvcmU7CiAgICAgICAgIG11dGFibGUgUmVmUHRyPExvY2F0
aW9uPiBtX2xvY2F0aW9uOwogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTdHlsZU1lZGlhPiBtX21l
ZGlhOwogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9M
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250
cm9sbGVyQ29yZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmIzNjVlODc4MDJhNTkwZTg3M2VlMTcyNjNmNzZm
M2JmZjdhYjdiNwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUuY3BwCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIgorCisjaW5jbHVkZSAiRXhjZXB0aW9u
Q29kZS5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiTm9kZS5oIgorI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRnJhbWUqIExheW91
dFRlc3RDb250cm9sbGVyQ29yZTo6ZnJhbWUoKSBjb25zdAoreworICAgIHJldHVybiBtX2ZyYW1l
OworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyQ29yZTo6ZGlzY29ubmVjdEZyYW1lKCkK
K3sKKyAgICBtX2ZyYW1lID0gMDsKK30KKworaW50IExheW91dFRlc3RDb250cm9sbGVyQ29yZTo6
ZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKE5vZGUqLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QK
K3sKKyAgICBpZiAoIXZlcmlmeUNvbm5lY3RlZChlYykpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgLy8gRklYTUU6IGltcGxlbWVudAorICAgIHJldHVybiAwOworfQorCitTdHJpbmcgTGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlOjpkb2N1bWVudE1ha2VyU3RyaW5nRm9yTm9kZUF0KE5vZGUqLCBp
bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmICghdmVyaWZ5Q29ubmVjdGVk
KGVjKSkKKyAgICAgICAgcmV0dXJuICIiOworCisgICAgLy8gRklYTUU6IGltcGxlbWVudAorICAg
IHJldHVybiAiIjsKK30KKworTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlOjpMYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUoRnJhbWUqIGZyYW1lKQorICAgIDogbV9mcmFtZShmcmFtZSkKK3sKK30KKwor
Ym9vbCBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmU6OnZlcmlmeUNvbm5lY3RlZChFeGNlcHRpb25D
b2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpIHsKKyAgICAgICAgZWMgPSBJTlZB
TElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVy
biB0cnVlOworfQorCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCBiL1dlYkNvcmUvcGFnZS9MYXlvdXRU
ZXN0Q29udHJvbGxlckNvcmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWYyY2JlZTMyZWE4MzMzZmJlYTAyYTEz
YjNlZWZiZWZmNmUxYjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL0xheW91dFRl
c3RDb250cm9sbGVyQ29yZS5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBMYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmVfaAorI2RlZmluZSBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmVfaAorCisjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJh
bWU7CitjbGFzcyBOb2RlOworY2xhc3MgU3RyaW5nOwordHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29k
ZTsKKworY2xhc3MgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIDogcHVibGljIFJlZkNvdW50ZWQ8
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVy
biBhZG9wdFJlZihuZXcgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlKGZyYW1lKSk7IH0KKworICAg
IEZyYW1lKiBmcmFtZSgpIGNvbnN0OworICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CisKKyAg
ICBpbnQgZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKE5vZGUqLCBFeGNlcHRpb25Db2RlJikgY29u
c3Q7CisgICAgU3RyaW5nIGRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2RlQXQoTm9kZSosIGludCwg
RXhjZXB0aW9uQ29kZSYpIGNvbnN0OworCitwcml2YXRlOgorICAgIGJvb2wgdmVyaWZ5Q29ubmVj
dGVkKEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUo
RnJhbWUqKTsKKworICAgIEZyYW1lKiBtX2ZyYW1lOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlX2gKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsIGIvV2ViQ29yZS9wYWdl
L0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWM1MmZkNDFjOTMwM2Ey
MDNiZDdlN2ZkY2U4ODhkM2IzNjg5MTdhNgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFn
ZS9MYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHdp
bmRvdyB7CisKKyAgICBpbnRlcmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0gTGF5b3V0VGVzdENvbnRy
b2xsZXJDb3JlIHsKKyAgICAgICAgbG9uZyBkb2N1bWVudE1ha2VyU2l6ZUZvck5vZGUoaW4gTm9k
ZSBub2RlKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgRE9NU3RyaW5nIGRvY3VtZW50
TWFrZXJTdHJpbmdGb3JOb2RlQXQoaW4gTm9kZSBub2RlLCBpbiBsb25nIGluZGV4KSByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDQyNDFhMmViMTk0MGQ4ODI0NmI2MDI1
YjcyODRmNGE4OWY5ZDU1MWEuLmZkN2IzNzc4MmM1NTc2MDlhNjg1ZmM5OWZiOWMxNzk4MmYyYzMy
MDkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3Jy
aXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxvdyB0ZXN0IHNjcmlwdHMg
dG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1cC92ZXJpZmljYXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEyCisK
KyAgICAgICAgQWRkZWQgYW4gYWNjZXNzb3IgZm9yIExheW91dFRlc3RDb250cm9sbGVyQ29yZS4K
KworICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAgICgtW1dlYkZyYW1lIGxh
eW91dFRlc3RDb250cm9sbGVyQ29yZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVQcml2
YXRlLmg6CisKIDIwMTAtMDctMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1t
CmluZGV4IGI3MWQ1MDFkZmNmYTliMTc5NTE3NDhjZWRmNWE5MjI4YTExZjZlZWQuLjQ1NGQ3ZGMx
OTA4MDJhNzJkNWRjN2ZlYWEyMzkzZTFmMGIzNWE0MzkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJGcmFtZS5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0K
QEAgLTEzNDAsNiArMTM0MCwxNiBAQCBzdGF0aWMgaW5saW5lIFdlYkRhdGFTb3VyY2UgKmRhdGFT
b3VyY2UoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKICAgICByZXR1cm4gY29yZUZyYW1lLT5sYXll
clRyZWVBc1RleHQoKTsKIH0KIAorLSAoSlNWYWx1ZVJlZilsYXlvdXRUZXN0Q29udHJvbGxlckNv
cmUKK3sKKyAgICBGcmFtZSogY29yZUZyYW1lID0gX3ByaXZhdGUtPmNvcmVGcmFtZTsKKyAgICBp
ZiAoIWNvcmVGcmFtZSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgRE9NV3JhcHBlcldvcmxkKiB3
b3JsZCA9IG1haW5UaHJlYWROb3JtYWxXb3JsZCgpOworICAgIEpTQzo6RXhlY1N0YXRlKiBleGVj
ID0gY29yZUZyYW1lLT5zY3JpcHQoKS0+Z2xvYmFsT2JqZWN0KHdvcmxkKS0+Z2xvYmFsRXhlYygp
OworICAgIHJldHVybiB0b1JlZihleGVjLCBKU1ZhbHVlKGNvcmVGcmFtZS0+c2NyaXB0KCktPmxh
eW91dFRlc3RDb250cm9sbGVyQ29yZShtYWluVGhyZWFkTm9ybWFsV29ybGQoKSkpKTsKK30KKwog
QGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViRnJhbWUKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaCBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVBy
aXZhdGUuaAppbmRleCAwYmRhOTY2YWJiZGZjOTQ3YzYyMWQ0MTQyOWZiOGY3Yjk3MDA4ZGJkLi4x
M2M4OThhN2IxMTg5NDcwYjUxM2IzNTRiZTk1N2RhYzkzNWZlZjA5IDEwMDY0NAotLS0gYS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgKKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkZyYW1lUHJpdmF0ZS5oCkBAIC0xMzYsNCArMTM2LDcgQEAgdHlwZWRlZiBlbnVtIHsKIAog
LSAoTlNTdHJpbmcqKV9sYXllclRyZWVBc1RleHQ7CiAKKy8vIFJldHVybnMgYXNzb2NpYXRlZCBM
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUgb2JqZWN0IAorLSAoSlNWYWx1ZVJlZilsYXlvdXRUZXN0
Q29udHJvbGxlckNvcmU7CisKIEBlbmQKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCAxZTAwODJjNDAxN2MwOTVmZTBlYmQ3Nzc3
NzY4YWZmNTgwMTE4ZDU2Li43MzZjMzI5N2FhZWUwN2U1ZDA3MTdkYTI1N2U0MDIxNWVhNmRjNjdk
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3Jy
aXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRXh0ZW5kZWQgTGF5b3V0VGVzdENvbnRyb2xsZXIgb2JqZWN0IGJ5IGFkZGluZyBk
ZWxnYXRpb24gbWV0aG9kcworICAgICAgICBmb3IgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIHBy
b3ZpZGVkIGJ5IFdlYkZyYW1lLiAgCisgICAgICAgIE5vdyB3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIgaGFzIG1ldGhvZHMgZGVmaW5lZCBpbgorICAgICAgICBMYXlvdXRUZXN0Q29udHJvbGxl
ckNvcmUuICAgICAgICAgCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZURlbGVnYXRp
b25NZXRob2RzKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjptYWtlV2luZG93T2Jq
ZWN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbToKKyAgICAg
ICAgKC1bRnJhbWVMb2FkRGVsZWdhdGUgZGlkQ2xlYXJXaW5kb3dPYmplY3RJblN0YW5kYXJkV29y
bGRGb3JGcmFtZTpdKToKKwogMjAxMC0wNy0yMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCA2YTk1N2Mx
MjZlZjYxNzcxYTI4NmIwZWRmZDM0YjczMGFjNTY4YjJiLi5lMDY1MTQ2MmJkMmI5Y2Y0YjM4OGRl
Y2RmMjMxOWYyOTRmNTdkMTAyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xNjk1LDkgKzE2OTUsMjggQEAgc3RhdGlj
IHZvaWQgbGF5b3V0VGVzdENvbnRyb2xsZXJPYmplY3RGaW5hbGl6ZShKU09iamVjdFJlZiBvYmpl
Y3QpCiAgICAgY29udHJvbGxlci0+ZGVyZWYoKTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgc2V0
dXBMYXlvdXRUZXN0Q29udHJvbGxlclNjcmlwdFtdID0gCisgICAgImZ1bmN0aW9uIGRlbGVnYXRl
KGRzdCwgc3JjLCBuYW1lKSB7IGRzdFtuYW1lXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gc3JjW25h
bWVdLmFwcGx5KHNyYywgYXJndW1lbnRzKTsgfSB9XG4iCisgICAgImZvciAodmFyIG5hbWUgaW4g
dGhpcy5jb3JlKSB7XG4iCisgICAgIiAgICBkZWxlZ2F0ZSh0aGlzLCB0aGlzLmNvcmUsIG5hbWUp
O1xuIgorICAgICJ9XG4iOworCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtlRGVsZWdh
dGlvbk1ldGhvZHMoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3Qs
IEpTVmFsdWVSZWYgY29yZU9iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBjb3JlU3RyKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiY29yZSIpKTsKKyAgICBKU09iamVjdFNldFByb3BlcnR5KGNvbnRleHQsIHRo
aXNPYmplY3QsIGNvcmVTdHIuZ2V0KCksIGNvcmVPYmplY3QsIGtKU1Byb3BlcnR5QXR0cmlidXRl
Tm9uZSwgZXhjZXB0aW9uKTsKKyAgICBBU1NFUlQoISpleGNlcHRpb24pOworCisgICAgSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IHVybFN0cihBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoInNldHVwX2xheW91dF90ZXN0X2NvbnRyb2xsZXJfdGVzdC5qcyIpKTsKKyAgICBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gc2NyaXB0U3RyKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZyhzZXR1cExheW91dFRlc3RDb250cm9sbGVyU2NyaXB0KSk7CisgICAgQVNTRVJU
KCEqZXhjZXB0aW9uKTsKKyAgICBKU0V2YWx1YXRlU2NyaXB0KGNvbnRleHQsIHNjcmlwdFN0ci5n
ZXQoKSwgdGhpc09iamVjdCwgdXJsU3RyLmdldCgpLCAxLCBleGNlcHRpb24pOworICAgIEFTU0VS
VCghKmV4Y2VwdGlvbik7Cit9CisKIC8vIE9iamVjdCBDcmVhdGlvbgogCi12b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09i
amVjdFJlZiB3aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3ZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
T2JqZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uLCBKU1ZhbHVlUmVm
IGNvcmUpCiB7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGxheW91dFRlc3RDb250b2xs
ZXJTdHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJsYXlvdXRUZXN0Q29u
dHJvbGxlciIpKTsKICAgICByZWYoKTsKQEAgLTE3MDYsNiArMTcyNSw5IEBAIHZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
T2JqZWN0UmVmIHdpCiAgICAgSlNWYWx1ZVJlZiBsYXlvdXRUZXN0Q29udG9sbGVyT2JqZWN0ID0g
SlNPYmplY3RNYWtlKGNvbnRleHQsIGNsYXNzUmVmLCB0aGlzKTsKICAgICBKU0NsYXNzUmVsZWFz
ZShjbGFzc1JlZik7CiAKKyAgICBpZiAoY29yZSkKKyAgICAgICAgbWFrZURlbGVnYXRpb25NZXRo
b2RzKGNvbnRleHQsIEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBsYXlvdXRUZXN0Q29udG9sbGVy
T2JqZWN0LCBleGNlcHRpb24pLCBjb3JlLCBleGNlcHRpb24pOworCiAgICAgSlNPYmplY3RTZXRQ
cm9wZXJ0eShjb250ZXh0LCB3aW5kb3dPYmplY3QsIGxheW91dFRlc3RDb250b2xsZXJTdHIuZ2V0
KCksIGxheW91dFRlc3RDb250b2xsZXJPYmplY3QsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUsIGV4Y2VwdGlvbik7CiB9CiAKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVy
LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmlu
ZGV4IDMwZWI5YmQ0Zjg0NGQ0Y2E5YzNlZWNhYjdjNjZlZDBlNzc5Mzg3OGYuLjEyOGEwMWM3ZWUw
NDQzMTBiMGRiYjRlYTg5NjFiYzRlODNjOTNlYjggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtNDIsNyArNDIsOCBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8TGF5b3V0VGVzdENvbnRyb2xsZXI+IGNyZWF0ZShj
b25zdCBzdGQ6OnN0cmluZyYgdGVzdFBhdGhPclVSTCwgY29uc3Qgc3RkOjpzdHJpbmcmIGV4cGVj
dGVkUGl4ZWxIYXNoKTsKICAgICB+TGF5b3V0VGVzdENvbnRyb2xsZXIoKTsKIAotICAgIHZvaWQg
bWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2luZG93
T2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOworICAgIHZvaWQgbWFrZURlbGVnYXRpb25N
ZXRob2RzKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBKU1Zh
bHVlUmVmIGNvcmVPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CisgICAgdm9pZCBtYWtl
V2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmpl
Y3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbiwgSlNWYWx1ZVJlZiBjb3JlID0gMCk7CiAKICAgICB2
b2lkIGFkZERpc2FsbG93ZWRVUkwoSlNTdHJpbmdSZWYgdXJsKTsKICAgICB2b2lkIGNsZWFyQWxs
RGF0YWJhc2VzKCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RnJhbWVMb2FkRGVsZWdhdGUubW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJh
bWVMb2FkRGVsZWdhdGUubW0KaW5kZXggOTYzZWFlNzBmYTU5ZDgxZWZjZmViOGFiMWU4ODM2YzU1
N2M3YWNjZC4uNjkzZDQ0MzE2ZjA5ZGJkOTk4YzAyNTIyMjY5N2RlNmRjZjVmOTBjYiAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1t
CisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5t
bQpAQCAtMjQ1LDcgKzI0NSw4IEBACiAgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwogCiAg
ICAgQVNTRVJUKGdMYXlvdXRUZXN0Q29udHJvbGxlcik7Ci0gICAgZ0xheW91dFRlc3RDb250cm9s
bGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlvbik7
CisgICAgSlNWYWx1ZVJlZiBsYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgPSBbZnJhbWUgbGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlXTsKKyAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPm1ha2VXaW5k
b3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uLCBsYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUpOwogICAgIEFTU0VSVCghZXhjZXB0aW9uKTsKIAogICAgIGdjQ29udHJvbGxl
ci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCBnbG9iYWxPYmplY3QsICZleGNlcHRpb24pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62545</attachid>
            <date>2010-07-25 22:53:25 -0700</date>
            <delta_ts>2010-07-25 23:18:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42612-20100726145323.patch</filename>
            <type>text/plain</type>
            <size>44655</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZmQ3N2IxZTA2MmVjNmEwOGI3YTE3NDIyZTYxZjJmNWQyY2FlNjVhLi5lN2M5ZGZj
NmRhNjhjYmZlZjY3NTgzYWI2NzdiYjhmN2NlMmQ4Zjc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dp
bmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVz
dC1jb250cm9sbGVyLWNvcmUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L1NraXBwZWQ6CisKIDIwMTAtMDctMjUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LWxheW91dC10ZXN0LWNvbnRy
b2xsZXItY29yZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMv
d2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDMzZDE0
OTRkMTUzNDYwYTNkYTQ1NjYxMTViMjMyODMxMWNkNmUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3Qt
Y29udHJvbGxlci1jb3JlLmpzCkBAIC0wLDAgKzEsNyBAQAorZGVzY3JpcHRpb24oIndpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlciBzaG91bGQgaGF2ZSBmdW5jdGlvbnMgZGVmaW5lZCBpbiBMYXlv
dXRUZXN0Q29udHJvbGxlci5pZGwiKTsKK3dpbmRvdy5ub2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoIiIpOworc2hvdWxkQmVUcnVlKCJ1bmRlZmluZWQgIT0gd2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyIik7CitzaG91bGRCZVRydWUoInVuZGVmaW5lZCAhPSB3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIuZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlIik7CitzaG91bGRCZVRydWUoIjAg
PT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50TWFrZXJTaXplRm9yTm9kZSh3
aW5kb3cubm9kZSkiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRy
b2xsZXItY29yZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZmVmOGM3NzdkNzBkNjIzNDZhNDM5YWE2NjFhNDI5ZWQ2YmZjM2E5ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJv
bGxlci1jb3JlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACit3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIgc2hvdWxkIGhhdmUgZnVuY3Rpb25zIGRlZmluZWQgaW4gTGF5b3V0VGVzdENv
bnRyb2xsZXIuaWRsCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHVuZGVm
aW5lZCAhPSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgaXMgdHJ1ZQorUEFTUyB1bmRlZmlu
ZWQgIT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50TWFrZXJTaXplRm9yTm9k
ZSBpcyB0cnVlCitQQVNTIDAgPT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50
TWFrZXJTaXplRm9yTm9kZSh3aW5kb3cubm9kZSkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xs
ZXItY29yZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4NjNkNmExZTQxYzUyYTY1ZjU0ZWQyNTIzNTY4YzVm
OWI0MjlmMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90
ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggY2E2YzNkY2FjMGNiZWM1Njk0NTU5MjkzZjBmOTEy
MTVjYTgzODMwNC4uZWI0MmEyZGE3ZjhhNzE4M2EyM2UwNTczNDQ3M2QxZjM1M2U5NmFiZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25z
LnR4dApAQCAtMzEyMCw2ICszMTIwLDggQEAgQlVHV0s0Mjg0NSA6IGh0bWw1bGliL3J1bm5lci5o
dG1sID0gVEVYVAogQlVHV0s0Mjc2OSA6IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVtZW1i
ZXItYmFkLXBhc3N3b3JkLmh0bWwgPSBURVhUCiBCVUdXSzQyNzY5IDogaHR0cC90ZXN0cy9zZWN1
cml0eS80MDEtbG9nb3V0LzQwMS1sb2dvdXQucGhwID0gVElNRU9VVAogCitCVUdXSzQyNjEyIDog
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuaHRtbCA9
IEZBSUwKKwogLy8gRmxha3kgc2luY2UgYXQgbGVhc3QgY2hyb21pdW0gcjUyODM0LCBXZWJLaXQg
cjYzNjE1LgogQlVHNDk5NzAgOiBwbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2NhbGwtYXMtZnVu
Y3Rpb24uaHRtbCA9IFBBU1MgVEVYVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDc0
YzViYWYwMzNjMzMwYjYzNmMwZmNlMjU5YTdjZWRmNTBhOTllMzMuLjc4YjJlNzE2MzZhNDhlMzE0
MjBhYzI0YjY2Y2Q1YThiNjJkYTFlMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC01
ODgxLDMgKzU4ODEsNiBAQCBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlbWVtYmVyLWJhZC1w
YXNzd29yZC5odG1sCiAjIFRoZXJlJ3Mgc29tZXRoaWduIHN0cmFuZ2UgZ29pbmcgb24gd2l0aCA8
a2V5Z2VuPiB0aGF0IGNhdXNlcyBhCiAjIGRpZmZlcmVudCBET00gdG8gYmUgY3JlYXRlZC4KIGh0
bWw1bGliL3J1bm5lci5odG1sCisKKyMgY3VycmVudGx5IExheW91dFRlc3RDb250cm9sbGVyQ29y
ZSBpcyBub3Qgc3VwcG9ydGVkIGh0dHA6Ly93ZWJraXQub3JnL2IvNDI2MTIKK2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmh0bWwKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9Ta2lwcGVkCmluZGV4IDJjZjJmMjUwM2Q0NmI5M2M2MzliYTlkYTA1ZDg0NWVhMDhjN2ZiMjMu
LjhkZTViNzg4YWE4Y2VlYjcwMzMxNmJkMjhjMmJmYTQ0NTRhMjRmOTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZApAQCAtNTQ1Myw2ICs1NDUzLDkgQEAgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9yZW1lbWJlci1iYWQtcGFzc3dvcmQuaHRtbAogIyBkaWZmZXJlbnQgRE9NIHRvIGJlIGNyZWF0
ZWQuCiBodG1sNWxpYi9ydW5uZXIuaHRtbAogCisjIGN1cnJlbnRseSBMYXlvdXRUZXN0Q29udHJv
bGxlckNvcmUgaXMgbm90IHN1cHBvcnRlZCBodHRwOi8vd2Via2l0Lm9yZy9iLzQyNjEyCitmYXN0
L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5odG1sCisKICMg
W1F0XSBSRUdSRVNTSU9OKDYzODYyKTogYW5pbWF0aW9ucy9wbGF5LXN0YXRlLmh0bWwgZmFpbHMg
aW50ZXJtaXR0ZW50bHkKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQyODIxCiBhbmltYXRpb25zL3BsYXktc3RhdGUuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBl
ZAppbmRleCAwMTRhNTFmOTVhYmEwZjQ3ZWVlYzdmYWRiNjk4Yzk4ODc5N2NiODE2Li43Mzc0ZTZj
ODY1MDYyYmJjY2JlZWE3YjIwMmYwYjkxYTQ0NTVmOTEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tp
cHBlZApAQCAtOTQ0LDYgKzk0NCw5IEBAIGZhc3QvZm9ybXMvaW5wdXQtZmlsZS1kaXJlY3Rvcnkt
dXBsb2FkLmh0bWwKICMgTmVlZCBzZXRQcmludGluZy4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAxMQogcHJpbnRpbmcvc2V0UHJpbnRpbmcuaHRtbAogCisj
IGN1cnJlbnRseSBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgaXMgbm90IHN1cHBvcnRlZCBodHRw
Oi8vd2Via2l0Lm9yZy9iLzQyNjEyCitmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0
LWNvbnRyb2xsZXItY29yZS5odG1sCisKICMgV2ViIFRpbWluZyBpcyBub3QgZW5hYmxlZC4KICMg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNDM1CiBmYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnRpZXMtcGVyZm9ybWFuY2UuaHRtbApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZDY5NTYz
NmFkN2YwNThiYTdiZmUwYTFlNDZkZGFhYTRmMWRmYzA3Zi4uNmY5Y2Q2NjRlNDljZmQzMzQ4YTMx
NDQ3NzQyOTAwYzZkMzFiZWI0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zMTQsNiArMzE0LDcgQEAgU0VUKFdlYkNv
cmVfSURMX0ZJTEVTCiAgICAgcGFnZS9HZW9wb3NpdGlvbi5pZGwKICAgICBwYWdlL0hpc3Rvcnku
aWRsCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwKKyAgICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVy
LmlkbAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwKICAgICBwYWdlL05hdmlnYXRpb24uaWRsCiAg
ICAgcGFnZS9OYXZpZ2F0b3IuaWRsCkBAIC0xMTUzLDYgKzExNTQsNyBAQCBTRVQoV2ViQ29yZV9T
T1VSQ0VTCiAgICAgcGFnZS9HZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUuY3BwCiAgICAgcGFnZS9I
aXN0b3J5LmNwcAogICAgIHBhZ2UvTG9jYXRpb24uY3BwCisgICAgcGFnZS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAKICAgICBwYWdlL01lbW9yeUluZm8uY3BwCiAgICAgcGFnZS9Nb3VzZUV2ZW50
V2l0aEhpdFRlc3RSZXN1bHRzLmNwcAogICAgIHBhZ2UvTmF2aWdhdGlvbi5jcHAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFjZDllZjFm
MmI5NWU1ZGEyZWM4MDAwN2I4NmRmMjM5ZDA1MmQ2OC4uM2ExOTY3ZmI3ZjZkZWIxZWIxZTIyYmRl
NDBjMWJjZjk4NDBlMjZjNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamlt
ZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKyAgICAgICAgCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRv
IGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgorICAg
ICAgICAKKyAgICAgICAgSW50cm9kdWNpbmcgV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXIs
IHRoYXQgd2lsbCBoYXZlIFdlYkNvcmUtc2lkZQorICAgICAgICBpbXBsZW1lbnRhdGlvbiBvZiBM
YXlvdXRUZXN0Q29udHJvbGxlci4gVGhlIGluc3RhbmNlIGlzIG93bmVkIGJ5CisgICAgICAgIERP
TVdpbmRvdy4gIEN1cnJlbnRseSBkb2N1bWVudE1ha2VyU2l6ZUZvck5vZGUoKSBhbmQKKyAgICAg
ICAgZG9jdW1lbnRNYWtlclN0cmluZ0Zvck5vZGVBdCgpIGFyZSBqdXN0IGEgc3R1Yi4gIFRoZXNl
CisgICAgICAgIGltcGxlbWVudGF0aW9uIHdpbGwgY29tZSBsYXRlci4KKworICAgICAgICBUZXN0
OiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5odG1s
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5j
cHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
CisgICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAg
ICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93
U2hlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6SlNET01XaW5k
b3dTaGVsbCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpsYXlvdXRUZXN0
Q29udHJvbGxlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0Q29udHJvbGxlcjo6bGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRv
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmxheW91dFRlc3RDb250cm9sbGVy
KToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250
cm9sbGVyOjpmcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlcjo6
ZGlzY29ubmVjdEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVy
Ojpkb2N1bWVudE1ha2VyU2l6ZUZvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVz
dENvbnRyb2xsZXI6OmRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2RlQXQpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyOjp2ZXJpZnlDb25uZWN0ZWQpOgorICAg
ICAgICAqIHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL0xheW91
dFRlc3RDb250cm9sbGVyLmlkbDogQWRkZWQuCisKIDIwMTAtMDctMjUgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCmluZGV4IDc4YzUyM2ZhMWY4NmRiMDIzZTdhMzg3OWE0OGE3N2I5NjFjZTQ0NTEu
LjVhODdmMjlkNGZiZDc1OWU2OGMyYWU2ZDNmOTM4YWM1ZDg1MjZiYmEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CkBAIC0xOTQsNiArMTk0LDcgQEAKICNpbmNsdWRlICJKU0luc3BlY3RvckZyb250ZW5kSG9zdC5j
cHAiCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCIKICNpbmNsdWRlICJKU0tl
eWJvYXJkRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIgog
I2luY2x1ZGUgIkpTTG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFFcnJvci5jcHAiCiAj
aW5jbHVkZSAiSlNNZWRpYUxpc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDdjNTNlODY5NWJj
ODM3ZGM5YjAwY2I3OWU5ZmU4NWI3ZDBmNDU2ZWUuLjkwNGQwM2E3OGQ2ZGE2N2U0ZTA3ODQyOGFh
N2ZhMTJhZmZkNGM4NGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTIzNyw2ICsyMzcsNyBAQCBET01f
Q0xBU1NFUyA9IFwKICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QgXAogICAgIEtleWJvYXJkRXZl
bnQgXAogICAgIExvY2F0aW9uIFwKKyAgICBMYXlvdXRUZXN0Q29udHJvbGxlciBcCiAgICAgTWVk
aWFFcnJvciBcCiAgICAgTWVkaWFMaXN0IFwKICAgICBNZW1vcnlJbmZvIFwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDdh
NTEzZTIyZWFhODVhZTg5YWEzODg0YTIzYzliMDg5ZjVhMDE0MDEuLjNlOGE0MzAwYTkyZDg3MDEx
YzZmMDQ1OTA3YmExMTFmNDAzMjBjYzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDEyLDYgKzQxMiw4IEBAIHdlYmNv
cmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJk
RXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9uLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9uLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNMYXlvdXRUZXN0Q29udHJvbGxlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVk
aWFFcnJvci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUVycm9yLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxpc3QuY3BwIFwKQEAgLTE3ODcsNiArMTc4
OSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wYWdlL0hpc3RvcnkuaCBcCiAJ
V2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcCBcCiAJV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmggXAor
CVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgXAorCVdlYkNvcmUvcGFnZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5oIFwKIAlXZWJDb3JlL3BhZ2UvTWVkaWFDYW5TdGFydExpc3Rl
bmVyLmggXAogCVdlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmNwcCBcCiAJV2ViQ29yZS9wYWdlL01l
bW9yeUluZm8uaCBcCkBAIC00NTQ2LDYgKzQ1NTAsNyBAQCBJRExfQklORElOR1NfR0RPTSArPSBc
CiAJV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwgXAogCVdlYkNvcmUvcGFnZS9IaXN0b3J5
LmlkbCBcCiAJV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbCBcCisJV2ViQ29yZS9wYWdlL0xheW91
dFRlc3RDb250cm9sbGVyLmlkbCBcCiAJV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uaWRsIFwKIAlX
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbCBcCiAJV2ViQ29yZS9wYWdlL1NjcmVlbi5pZGwgXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KaW5kZXggMzg5OWJmNWVkMmZiNDdkN2I3NDU2NmUxNDNlYTFiOWIzZTI2ZTY2Yy4uYTYzYzlm
MWRlZTBkNWIyZGNhZTFmYzU1YmFkYzlkYjJiNzMyMTQzOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgorKysgYi9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xMjM3LDYgKzEy
MzcsNyBAQCBfX05QTl9SZXRhaW5PYmplY3QKIF9fTlBOX1NldEV4Y2VwdGlvbgogX19OUE5fU2V0
UHJvcGVydHkKIF9fTlBOX1VURjhGcm9tSWRlbnRpZmllcgorX19aTjdXZWJDb3JlMTZTY3JpcHRD
b250cm9sbGVyMjBsYXlvdXRUZXN0Q29udHJvbGxlckVQTlNfMTVET01XcmFwcGVyV29ybGRFCiBf
X1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyMHdpbmRvd1NjcmlwdE5QT2JqZWN0RXYKIF9f
Wk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjI5Y2xlYW51cFNjcmlwdE9iamVjdHNGb3JQbHVn
aW5FUHYKIF9fWk5LN1dlYkNvcmUxMlJlbmRlck9iamVjdDR2aWV3RXYKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZjUzZjQ1NjE3
YTBkNThlZTcyMTlkNjVmNDVmMGFjZGQxOWIzYmE3Ny4uYmJjMTc3MjczYTJmYWRmMGE3MDUxMTJi
YjcwZTcyYjE5MjI2M2Q0NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIxNSw2ICsyMTUsNyBAQAogICAgICAgICAgICAgJ3Bh
Z2UvR2VvcG9zaXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL0hpc3RvcnkuaWRsJywKICAg
ICAgICAgICAgICdwYWdlL0xvY2F0aW9uLmlkbCcsCisgICAgICAgICAgICAncGFnZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTWVtb3J5SW5mby5pZGwnLAog
ICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2
aWdhdG9yLmlkbCcsCkBAIC0xOTk4LDYgKzE5OTksOCBAQAogICAgICAgICAgICAgJ3BhZ2UvSGlz
dG9yeS5oJywKICAgICAgICAgICAgICdwYWdlL0xvY2F0aW9uLmNwcCcsCiAgICAgICAgICAgICAn
cGFnZS9Mb2NhdGlvbi5oJywKKyAgICAgICAgICAgICdwYWdlL0xheW91dFRlc3RDb250cm9sbGVy
LmNwcCcsCisgICAgICAgICAgICAncGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oJywKICAgICAg
ICAgICAgICdwYWdlL01lbW9yeUluZm8uY3BwJywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUlu
Zm8uaCcsCiAgICAgICAgICAgICAncGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNw
cCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnBy
aQppbmRleCAxOGE3NmEwNDFhYjU0NzUzMGY5NGZmYjc1MmM2MGNhMjUzMDM2ZjM0Li40Mjc3ZTQ2
NDAyN2Q2MzI2NmYxY2M3MWI2ZTExZjZkMDQ5NTA1NGJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTQ2NSw2ICs0NjUsNyBAQCBJ
RExfQklORElOR1MgKz0gXAogICAgIHBhZ2UvR2VvbG9jYXRpb24uaWRsIFwKICAgICBwYWdlL0dl
b3Bvc2l0aW9uLmlkbCBcCiAgICAgcGFnZS9IaXN0b3J5LmlkbCBcCisgICAgcGFnZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5pZGwgXAogICAgIHBhZ2UvTG9jYXRpb24uaWRsIFwKICAgICBwYWdlL01l
bW9yeUluZm8uaWRsIFwKICAgICBwYWdlL05hdmlnYXRpb24uaWRsIFwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDA5MDU0MjJjZGI2
NzViYTJiMTFjOTkzNTk5ZDBkOGNlZmZmMTFlNTQuLjg4MjJmNjFlOTllNjYzZjcxMWEzYWVjNzY1
N2NkMTVhZGJkZWY4YjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnBybwpAQCAtODI2LDYgKzgyNiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBh
Z2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcCBcCiAgICAgcGFnZS9HZW9sb2NhdGlvblBvc2l0
aW9uQ2FjaGUuY3BwIFwKICAgICBwYWdlL0hpc3RvcnkuY3BwIFwKKyAgICBwYWdlL0xheW91dFRl
c3RDb250cm9sbGVyLmNwcCBcCiAgICAgcGFnZS9Mb2NhdGlvbi5jcHAgXAogICAgIHBhZ2UvTWVt
b3J5SW5mby5jcHAgXAogICAgIHBhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAg
XApAQCAtMTU5Niw2ICsxNTk3LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGFnZS9HZW9wb3NpdGlv
bi5oIFwKICAgICBwYWdlL0hhbHRhYmxlUGx1Z2luLmggXAogICAgIHBhZ2UvSGlzdG9yeS5oIFwK
KyAgICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmggXAogICAgIHBhZ2UvTG9jYXRpb24uaCBc
CiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmggXAogICAgIHBhZ2UvTmF2
aWdhdG9yQmFzZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDQ0
NzkxODI1YWY0NmU4MmM0OWYyNWUzYTZlM2U3ZDYyMTViYzFiNmEuLmFjNTAzOWU5NjhiMDQxYjBh
YWQ3ZDhiYTkwMTIxMDkzZmQxYTk1MjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtOTA2MSw2ICs5MDYxLDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAiDQorCQkJCT4NCisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFs
fFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8
VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRl
YnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+
DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJ
CU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNMYXlvdXRUZXN0Q29udHJvbGxlci5oIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lZGlhRXJyb3Iu
Y3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTIyMzUzLDYgKzIyNDA5
LDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHBhZ2VcTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxMYXlvdXRUZXN0Q29udHJvbGxl
ci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5ccGFnZVxNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCINCiAJCQkJPg0KIAkJCTwv
RmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFi
ODhkYTMwMTNlOGU1NzlhOTk2MDhlZTY2NWM4ZTBlNDA3OTdjMTIuLjQxNWU4NzkwYmE4N2NlNWE5
Y2M1NDRmYWU1MGIyZjc5MmI3OWZkMTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0yNjgxLDYgKzI2ODEsOCBAQAogCQlBNzE4Nzg5MDBCMkQwNEFDMDBB
MTZFQ0UgLyogRHJhZ0NvbnRyb2xsZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNzE4Nzg4RjBCMkQwNEFDMDBBMTZFQ0UgLyogRHJhZ0NvbnRy
b2xsZXJNYWMubW0gKi87IH07CiAJCUE3MzUyQzE5MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJT
VkdCbG9jay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suY3BwICovOyB9Owog
CQlBNzM1MkMxQTBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MzUyQzE4MEIxQkI4OUQwMEE5
ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5oICovOyB9OworCQlBNzQ1RDJFNjExRjVCMzc5MDBBQ0Qw
MjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDVEMkUzMTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICovOyB9OworCQlBNzQ1RDJFNzExRjVCMzc5MDBBQ0Qw
MjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzQ1RDJFNDExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0
VGVzdENvbnRyb2xsZXJDb3JlLmggKi87IH07CiAJCUE3NUU0OTc2MTA3NTJBQ0IwMEM5Qjg5NiAv
KiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3NUU0OTc0MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlBNzVFNDk3NzEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU0OTc1
MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwICovOyB9OwogCQlB
NzVFOEI4ODBFMURFMkQ2MDA3RjI0ODEgLyogRkVCbGVuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFOEI4MDBFMURFMkQ2MDA3RjI0ODEgLyog
RkVCbGVuZC5jcHAgKi87IH07CkBAIC0yNjkxLDYgKzI2OTMsOCBAQAogCQlBNzVFOEI4RDBFMURF
MkQ2MDA3RjI0ODEgLyogRkVDb21wb25lbnRUcmFuc2Zlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RThCODUwRTFERTJENjAwN0YyNDgxIC8qIEZF
Q29tcG9uZW50VHJhbnNmZXIuaCAqLzsgfTsKIAkJQTc1RThCOEUwRTFERTJENjAwN0YyNDgxIC8q
IEZFQ29tcG9zaXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3NUU4Qjg2MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgKi87IH07
CiAJCUE3NUU4QjhGMEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RThCODcwRTFERTJENjAwN0Yy
NDgxIC8qIEZFQ29tcG9zaXRlLmggKi87IH07CisJCUE3NzU1OEUzMTFGNUI2MDIwMEI0M0FDMSAv
KiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc1NThFMTExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmUuY3BwICovOyB9OworCQlBNzc1NThFNDExRjVCNjAyMDBCNDNB
QzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NzU1OEUyMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xh
eW91dFRlc3RDb250cm9sbGVyQ29yZS5oICovOyB9OwogCQlBNzc5NzkxOTBENkI5RDBDMDAzODUx
QjkgLyogSW1hZ2VEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3Nzk3OTEzMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwICovOyB9
OwogCQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc5NzkxNDBENkI5RDBDMDAzODUx
QjkgLyogSW1hZ2VEYXRhLmggKi87IH07CiAJCUE3Nzk3OTI4MEQ2QjlFNjQwMDM4NTFCOSAvKiBK
U0ltYWdlRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNzc5NzkyNDBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuY3BwICovOyB9OwpA
QCAtODM5OCw2ICs4NDAyLDkgQEAKIAkJQTcxQTcwQzkxMUFGQjAyMDAwOTg5RDZEIC8qIEhUTUxN
ZXRlckVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxNZXRlckVsZW1lbnQu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzM1MkMxNzBCMUJCODlEMDBBOTg2
RDAgLyogUmVuZGVyU1ZHQmxvY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJlbmRlclNWR0Jsb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTczNTJDMTgwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNzQ1RDJFMzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzQ1RDJFNDEx
RjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0VGVzdENvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTc0NUQyRTUxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250
cm9sbGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBMYXlvdXRUZXN0Q29udHJvbGxlci5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU0OTc0MTA3NTJBQ0IwMEM5Qjg5
NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE3NUU0OTc1MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VyaWFsaXplZFNjcmlwdFZh
bHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODAwRTFERTJENjAw
N0YyNDgxIC8qIEZFQmxlbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gRkVCbGVuZC5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZFQmxlbmQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtODQwOCw2ICs4NDE1LDggQEAKIAkJQTc1RThCODUwRTFERTJENjAw
N0YyNDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gRkVDb21wb25lbnRUcmFuc2Zlci5oOyBwYXRoID0gZmlsdGVycy9GRUNvbXBvbmVu
dFRyYW5zZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU4Qjg2MEUxREUy
RDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBGRUNvbXBvc2l0ZS5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODcwRTFERTJENjAwN0YyNDgx
IC8qIEZFQ29tcG9zaXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZFQ29t
cG9zaXRlLmg7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE3NzU1OEUxMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250
cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzc1NThF
MjExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0xheW91dFRlc3RDb250cm9sbGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTEzMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURh
dGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VEYXRhLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc3OTc5MTQwRDZCOUQwQzAwMzg1MUI5
IC8qIEltYWdlRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZURh
dGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc3OTc5MTUwRDZCOUQwQzAwMzg1
MUI5IC8qIEltYWdlRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW1hZ2VEYXRhLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMjcxLDYgKzEyMjgwLDkgQEAKIAkJ
NjVCRjAyMTgwOTc0ODA2MzAwQzQzMTk2IC8qIHBhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUE3NDVEMkUzMTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlv
dXRUZXN0Q29udHJvbGxlci5jcHAgKi8sCisJCQkJQTc0NUQyRTQxMUY1QjM3OTAwQUNEMDIzIC8q
IExheW91dFRlc3RDb250cm9sbGVyLmggKi8sCisJCQkJQTc0NUQyRTUxMUY1QjM3OTAwQUNEMDIz
IC8qIExheW91dFRlc3RDb250cm9sbGVyLmlkbCAqLywKIAkJCQkzMTZGRTEwNjBFNkUxRDg0MDBC
RjYwODggLyogYW5pbWF0aW9uICovLAogCQkJCTkzQzA5QTgyMEIwNjRGMDUwMDVBQkQ0RCAvKiBt
YWMgKi8sCiAJCQkJODUzOEYwMDAwQUQ3MTc3MDAwNkE4MUQxIC8qIEFic3RyYWN0Vmlldy5pZGwg
Ki8sCkBAIC0xNTk1OSw2ICsxNTk3MSw4IEBACiAJCUJDOTg1NDQzMENEM0Q5RDAwMDA2OUJDMSAv
KiBXaW5kb3cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJ
CUE3NzU1OEUxMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyLmNwcCAq
LywKKwkJCQlBNzc1NThFMjExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxl
ci5oICovLAogCQkJCUJDMTI0RUZEMEMyNjQ0N0EwMDlFMjM0OSAvKiBKU0JhckluZm8uY3BwICov
LAogCQkJCUJDMTI0RUZFMEMyNjQ0N0EwMDlFMjM0OSAvKiBKU0JhckluZm8uaCAqLywKIAkJCQlC
Qzk4NTQzQjBDRDNEOThCMDAwNjlCQzEgLyogSlNDb25zb2xlLmNwcCAqLywKQEAgLTE4NzQzLDYg
KzE4NzU3LDcgQEAKIAkJCQk0OUM3Qjk5NjEwNDJEMkQzMDAwOUQ0NDcgLyogSlNJbnQ4QXJyYXku
aCBpbiBIZWFkZXJzICovLAogCQkJCTFDNUZBRUQyMERDRkQ5MDEwMEQ1OEY3OCAvKiBKU0phdmFT
Y3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjYyOUQzMDlEQTJCNDgwMDk2
MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NzU1OEU0MTFG
NUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5MzVGNDU0MzBGN0MzQjVGMDBEN0MxRkIgLyogSlNMYXp5RXZlbnRMaXN0ZW5lci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkNFMUM0M0MwRDk4MzBEMzAwM0IwMkYyIC8qIEpTTG9jYXRpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxNDE5MENENjgyNjkwMEZBREE3NSAvKiBKU01lZGlh
RXJyb3IuaCBpbiBIZWFkZXJzICovLApAQCAtMTg5OTUsNiArMTkwMTAsNyBAQAogCQkJCUE0NTZG
QTI3MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODVFQzlBRkIwQTcxQTJDNjAwRUVFQUVEIC8qIExhbmd1YWdlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE3NDVEMkU3MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk4RjAwODI0NUU1OTAwMUU5QUJDIC8qIExlZ2Fj
eUhUTUxEb2N1bWVudFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk4RUYwODI0NUU1
OTAwMUU5QUJDIC8qIExlZ2FjeUhUTUxUcmVlQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTQ5NjI2QzMwRDgwRDk0OTAwRTM0MDVDIC8qIExlZ2FjeVByZWxvYWRTY2FubmVyLmggaW4gSGVh
ZGVycyAqLywKQEAgLTIxMjEzLDYgKzIxMjI5LDcgQEAKIAkJCQkxQzVGQUVEMTBEQ0ZEOTAxMDBE
NThGNzggLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFD
NUZBRUU3MERDRkRBNjgwMEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWVDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTg2NjI5RDQwOURBMkI0ODAwOTYzM0E1IC8qIEpTS2V5Ym9h
cmRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzc1NThFMzExRjVCNjAyMDBCNDNBQzEg
LyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzVGNDU0
MjBGN0MzQjVGMDBEN0MxRkIgLyogSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQ0UxQzQzQjBEOTgzMEQzMDAzQjAyRjIgLyogSlNMb2NhdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQ0UxQzQ0MDBEOTgzMEY0MDAzQjAyRjIgLyogSlNMb2NhdGlvbkN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTIxNTAzLDYgKzIxNTIwLDcgQEAKIAkJCQlBNDU2RkEy
NjExQUQ0QTgzMDAyMEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOTM1MjA4NDUwOUJENDNCOTAwRjIwMzhEIC8qIExhbmd1YWdlLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMkQ5MDY2MDYwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE3NDVEMkU2MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0YxOUE5QzA4MjQ1RTU5MDAxRTlBQkMgLyog
TGVnYWN5SFRNTERvY3VtZW50UGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjE5QTlC
MDgyNDVFNTkwMDFFOUFCQyAvKiBMZWdhY3lIVE1MVHJlZUJ1aWxkZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRTQ5NjI2QzIwRDgwRDk0ODAwRTM0MDVDIC8qIExlZ2FjeVByZWxvYWRTY2FubmVy
LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd1NoZWxsLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5j
cHAKaW5kZXggNjUwOTZiOTNjMDZkODM3YTQxNGFkN2E4M2ZiNmE2MTlkMjE3ZmFmZi4uOWI3ZDdh
M2QxZDU1YTVlZTMyNjcwNDRiN2MwMWMyYTY3NTg3OTcyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93U2hlbGwuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJGcmFt
ZS5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCisjaW5jbHVkZSAiSlNMYXlvdXRUZXN0Q29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRy
b2xsZXIuaCIKICNpbmNsdWRlIDxydW50aW1lL0pTT2JqZWN0Lmg+CkBAIC00Niw2ICs0Nyw3IEBA
IGNvbnN0IENsYXNzSW5mbyBKU0RPTVdpbmRvd1NoZWxsOjpzX2luZm8gPSB7ICJKU0RPTVdpbmRv
d1NoZWxsIiwgMCwgMCwgMCB9OwogSlNET01XaW5kb3dTaGVsbDo6SlNET01XaW5kb3dTaGVsbChQ
YXNzUmVmUHRyPERPTVdpbmRvdz4gd2luZG93LCBET01XcmFwcGVyV29ybGQqIHdvcmxkKQogICAg
IDogQmFzZShKU0RPTVdpbmRvd1NoZWxsOjpjcmVhdGVTdHJ1Y3R1cmUoanNOdWxsKCkpKQogICAg
ICwgbV93aW5kb3coMCkKKyAgICAsIG1fbGF5b3V0VGVzdENvbnRyb2xsZXIoMCkKICAgICAsIG1f
d29ybGQod29ybGQpCiB7CiAgICAgc2V0V2luZG93KHdpbmRvdyk7CkBAIC02OSw2ICs3MSwxNiBA
QCB2b2lkIEpTRE9NV2luZG93U2hlbGw6OnNldFdpbmRvdyhQYXNzUmVmUHRyPERPTVdpbmRvdz4g
ZG9tV2luZG93KQogICAgIHNldFdpbmRvdyhqc0RPTVdpbmRvdyk7CiB9CiAKK0pTT2JqZWN0KiBK
U0RPTVdpbmRvd1NoZWxsOjpsYXlvdXRUZXN0Q29udHJvbGxlcigpCit7CisgICAgaWYgKCFtX2xh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IHdpbmRvdygp
LT5nbG9iYWxFeGVjKCk7CisgICAgICAgIG1fbGF5b3V0VGVzdENvbnRyb2xsZXIgPSB0b0pTKGV4
ZWMsIHdpbmRvdygpLCB3aW5kb3coKS0+aW1wbCgpLT5sYXlvdXRUZXN0Q29udHJvbGxlcigpKS50
b09iamVjdChleGVjKTsKKyAgICB9CisKKyAgICByZXR1cm4gbV9sYXlvdXRUZXN0Q29udHJvbGxl
cjsKK30KKwogLy8gLS0tLQogLy8gSlNPYmplY3QgbWV0aG9kcwogLy8gLS0tLQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmggYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAppbmRleCA4ODgzMjVkMDNmY2M4ZjM0YzllMzNhYTI1
ZmFhZDAzMzI1NDgzZjcxLi4yY2VjN2Q3ZjNjNTI2NzEwN2ZhZDU5NWMzOWY0Y2I4YjIxZTRjNjc1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaApAQCAtNTIsNiArNTIsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIH0KICAgICAgICAgdm9pZCBzZXRXaW5kb3co
UGFzc1JlZlB0cjxET01XaW5kb3c+KTsKIAorICAgICAgICBKU0M6OkpTT2JqZWN0KiBsYXlvdXRU
ZXN0Q29udHJvbGxlcigpOworCiAgICAgICAgIHN0YXRpYyBjb25zdCBKU0M6OkNsYXNzSW5mbyBz
X2luZm87CiAKICAgICAgICAgRE9NV2luZG93KiBpbXBsKCkgY29uc3Q7CkBAIC04Niw2ICs4OCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBjb25zdCBKU0M6OkNsYXNz
SW5mbyogY2xhc3NJbmZvKCkgY29uc3QgeyByZXR1cm4gJnNfaW5mbzsgfQogCiAgICAgICAgIEpT
RE9NV2luZG93KiBtX3dpbmRvdzsKKyAgICAgICAgSlNDOjpKU09iamVjdCogbV9sYXlvdXRUZXN0
Q29udHJvbGxlcjsKICAgICAgICAgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gbV93b3JsZDsKICAg
ICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIu
Y3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA5ODAy
MmQ5YjM1YmQ0YzI5ZGYxZGNlNGVjZGJjZjFjODNjNGNlMmM4Li45ODk5MjA3MjI1ZDFjZTRmNzM3
OGYxYTNmZjAwMmE1MDc0OTczMGYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJv
bGxlci5jcHAKQEAgLTUwNiw0ICs1MDYsOSBAQCBTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVy
OjpleGVjdXRlU2NyaXB0SW5Xb3JsZChET01XcmFwcGVyV29ybGQqIHdvcmxkLCBjb25zdAogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKK0pTT2JqZWN0KiBTY3JpcHRDb250cm9sbGVyOjpsYXlvdXRU
ZXN0Q29udHJvbGxlcihET01XcmFwcGVyV29ybGQqIHdvcmxkKQoreworICAgIHJldHVybiB3aW5k
b3dTaGVsbCh3b3JsZCktPmxheW91dFRlc3RDb250cm9sbGVyKCk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJv
bGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgKaW5kZXggODAx
NTVlNGI5MzUwZmM4NGIzMjQxZDNlMzM3ZjA0ZDI0NjlkYmQ5Ni4uNzMyMTMzODE0MWU3Nzk5MWJh
ODFhOTQ3YmE1YmRkNWY4NmUxMjY2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9s
bGVyLmgKQEAgLTkwLDYgKzkwLDggQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIHdp
bmRvd1NoZWxsKHdvcmxkKS0+d2luZG93KCk7CiAgICAgfQorICAgIAorICAgIEpTQzo6SlNPYmpl
Y3QqIGxheW91dFRlc3RDb250cm9sbGVyKERPTVdyYXBwZXJXb3JsZCogd29ybGQpOwogCiAgICAg
c3RhdGljIHZvaWQgZ2V0QWxsV29ybGRzKFZlY3RvcjxET01XcmFwcGVyV29ybGQqPiYpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwCmluZGV4IGFkNjM1YTZjNjAzMDYzYmI4YzM5ZWJiNjJlMDE0MWIzMzk5Mzg2ZDYu
Ljg2ZWY4ZGE1NWFkYmJjZjhhMWJmZjNkMzgzZDg0OWQyY2M0Zjg3OTAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CkBAIC02MCw2ICs2MCw3IEBACiAjaW5jbHVkZSAiSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1l
bGluZUFnZW50LmgiCisjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJMb2NhdGlvbi5oIgogI2luY2x1ZGUgIlN0eWxlTWVkaWEuaCIKICNpbmNsdWRlICJNZXNzYWdl
RXZlbnQuaCIKQEAgLTU5Miw2ICs1OTMsMTMgQEAgTG9jYXRpb24qIERPTVdpbmRvdzo6bG9jYXRp
b24oKSBjb25zdAogICAgIHJldHVybiBtX2xvY2F0aW9uLmdldCgpOwogfQogCitMYXlvdXRUZXN0
Q29udHJvbGxlciogRE9NV2luZG93OjpsYXlvdXRUZXN0Q29udHJvbGxlcigpIGNvbnN0Cit7Cisg
ICAgaWYgKCFtX2xheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBtX2xheW91dFRlc3RDb250
cm9sbGVyID0gTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNyZWF0ZShtX2ZyYW1lKTsKKyAgICByZXR1
cm4gbV9sYXlvdXRUZXN0Q29udHJvbGxlci5nZXQoKTsKK30KKwogI2lmIEVOQUJMRShET01fU1RP
UkFHRSkKIFN0b3JhZ2UqIERPTVdpbmRvdzo6c2Vzc2lvblN0b3JhZ2UoRXhjZXB0aW9uQ29kZSYg
ZWMpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggNjlkNzQyODg0ZmU5YjViM2EzMGFhZTQzMjhjOThm
NjgwMzEyNWZmZi4uNTJhMjZiNjBjYzAxNzRhYWQxMDg3NGY0MzA4OTQ5ZGM5ZTVkMzFhOSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaApAQCAtNTUsNiArNTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
SGlzdG9yeTsKICAgICBjbGFzcyBJbmRleGVkRGF0YWJhc2VSZXF1ZXN0OwogICAgIGNsYXNzIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ7CisgICAgY2xhc3MgTGF5b3V0VGVzdENvbnRyb2xsZXI7CiAg
ICAgY2xhc3MgTG9jYXRpb247CiAgICAgY2xhc3MgU3R5bGVNZWRpYTsKICAgICBjbGFzcyBOYXZp
Z2F0b3I7CkBAIC0zNzksNiArMzgwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBE
T01BcHBsaWNhdGlvbkNhY2hlKiBvcHRpb25hbEFwcGxpY2F0aW9uQ2FjaGUoKSBjb25zdCB7IHJl
dHVybiBtX2FwcGxpY2F0aW9uQ2FjaGUuZ2V0KCk7IH0KICNlbmRpZgogCisgICAgICAgIExheW91
dFRlc3RDb250cm9sbGVyKiBsYXlvdXRUZXN0Q29udHJvbGxlcigpIGNvbnN0OworCiAgICAgICAg
IHVzaW5nIFJlZkNvdW50ZWQ8RE9NV2luZG93Pjo6cmVmOwogICAgICAgICB1c2luZyBSZWZDb3Vu
dGVkPERPTVdpbmRvdz46OmRlcmVmOwogCkBAIC00MDksNiArNDEyLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogI2lmIEVOQUJMRShXRUJfVElNSU5HKQogICAgICAgICBtdXRhYmxlIFJlZlB0cjxQ
ZXJmb3JtYW5jZT4gbV9wZXJmb3JtYW5jZTsKICNlbmRpZgorICAgICAgICBtdXRhYmxlIFJlZlB0
cjxMYXlvdXRUZXN0Q29udHJvbGxlcj4gbV9sYXlvdXRUZXN0Q29udHJvbGxlcjsKICAgICAgICAg
bXV0YWJsZSBSZWZQdHI8TG9jYXRpb24+IG1fbG9jYXRpb247CiAgICAgICAgIG11dGFibGUgUmVm
UHRyPFN0eWxlTWVkaWE+IG1fbWVkaWE7CiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvcGFn
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNmZDEyZGJhZDMxYTQzNmI2
OGZkM2MxYjdjZDJjOTlmMDc2NWNlMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFnZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIKKworI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIk5vZGUuaCIKKyNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZyYW1lKiBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6ZnJhbWUoKSBjb25zdAoreworICAgIHJldHVybiBtX2ZyYW1l
OworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpkaXNjb25uZWN0RnJhbWUoKQorewor
ICAgIG1fZnJhbWUgPSAwOworfQorCitpbnQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmRvY3VtZW50
TWFrZXJTaXplRm9yTm9kZShOb2RlKiwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAg
aWYgKCF2ZXJpZnlDb25uZWN0ZWQoZWMpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIEZJ
WE1FOiBpbXBsZW1lbnQKKyAgICByZXR1cm4gMDsKK30KKworU3RyaW5nIExheW91dFRlc3RDb250
cm9sbGVyOjpkb2N1bWVudE1ha2VyU3RyaW5nRm9yTm9kZUF0KE5vZGUqLCBpbnQsIEV4Y2VwdGlv
bkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmICghdmVyaWZ5Q29ubmVjdGVkKGVjKSkKKyAgICAg
ICAgcmV0dXJuICIiOworCisgICAgLy8gRklYTUU6IGltcGxlbWVudAorICAgIHJldHVybiAiIjsK
K30KKworTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKEZyYW1lKiBm
cmFtZSkKKyAgICA6IG1fZnJhbWUoZnJhbWUpCit7Cit9CisKK2Jvb2wgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnZlcmlmeUNvbm5lY3RlZChFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBp
ZiAoIW1fZnJhbWUpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5oIGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjdmZjRjYWQ2Y2FmMTA1OGY3YTU3YzkxMzIxZDY0MGU3ZjBjMzlhMwotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0wLDAgKzEsNjQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBMYXlvdXRUZXN0Q29udHJvbGxlcl9oCisjZGVmaW5lIExheW91dFRlc3RDb250cm9s
bGVyX2gKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIEZyYW1lOworY2xhc3MgTm9kZTsKK2NsYXNzIFN0cmluZzsKK3R5cGVkZWYgaW50
IEV4Y2VwdGlvbkNvZGU7CisKK2NsYXNzIExheW91dFRlc3RDb250cm9sbGVyIDogcHVibGljIFJl
ZkNvdW50ZWQ8TGF5b3V0VGVzdENvbnRyb2xsZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxMYXlvdXRUZXN0Q29udHJvbGxlcj4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IExheW91dFRlc3RDb250cm9sbGVyKGZyYW1lKSk7IH0KKworICAgIEZy
YW1lKiBmcmFtZSgpIGNvbnN0OworICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CisKKyAgICBp
bnQgZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKE5vZGUqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7
CisgICAgU3RyaW5nIGRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2RlQXQoTm9kZSosIGludCwgRXhj
ZXB0aW9uQ29kZSYpIGNvbnN0OworCitwcml2YXRlOgorICAgIGJvb2wgdmVyaWZ5Q29ubmVjdGVk
KEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICBMYXlvdXRUZXN0Q29udHJvbGxlcihGcmFtZSop
OworCisgICAgRnJhbWUqIG1fZnJhbWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBMYXlvdXRUZXN0Q29udHJvbGxlcl9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsIGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250
cm9sbGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MGZhMjk3OTYzZmQ5Yzk3Yjc1MTBhNDhkODgzNTRmOWVl
NjUwMTljCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9s
bGVyLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAgaW50ZXJmYWNl
IFtPbWl0Q29uc3RydWN0b3JdIExheW91dFRlc3RDb250cm9sbGVyIHsKKyAgICAgICAgbG9uZyBk
b2N1bWVudE1ha2VyU2l6ZUZvck5vZGUoaW4gTm9kZSBub2RlKSByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKKyAgICAgICAgRE9NU3RyaW5nIGRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2RlQXQoaW4gTm9k
ZSBub2RlLCBpbiBsb25nIGluZGV4KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB9OworCit9
CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CmluZGV4IDdiZDZiNDc2YzAzZWFiMjkyNjY4NjgzYWQ4OGJhOGFiMDNhODMwNzkuLjgxMTY5MzA1
ZGRhNWNmN2YyYzYxNzRmZWIxYzg2YzE1NzljN2Q5Y2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAg
RFJUIHNob3VsZCBhbGxvdyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwg
c3RhdGVzIGZvciBzZXR1cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEyCisKKyAgICAgICAgQWRkZWQgYW4gYWNjZXNzb3Ig
Zm9yIGFuIEphdmFTY3JpcHQgb2JqZWN0IHdoaWNoIHdyYXBzIFdlYkNvcmU6OkxheW91dFRlc3RD
b250cm9sbGVyLgorCisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAgICAgKC1b
V2ViRnJhbWUgbGF5b3V0VGVzdENvbnRyb2xsZXJdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkZy
YW1lUHJpdmF0ZS5oOgorCiAyMDEwLTA3LTIyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCmRpZmYgLS1naXQgYS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJh
bWUubW0KaW5kZXggYjcxZDUwMWRmY2ZhOWIxNzk1MTc0OGNlZGY1YTkyMjhhMTFmNmVlZC4uM2Ey
MDA5NWM4MzI0ZGU3YzRkYWQzNmMwYTcwNDZmYmQzMjI2Y2Y1MSAxMDA2NDQKLS0tIGEvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFt
ZS5tbQpAQCAtMTM0MCw2ICsxMzQwLDE2IEBAIHN0YXRpYyBpbmxpbmUgV2ViRGF0YVNvdXJjZSAq
ZGF0YVNvdXJjZShEb2N1bWVudExvYWRlciogbG9hZGVyKQogICAgIHJldHVybiBjb3JlRnJhbWUt
PmxheWVyVHJlZUFzVGV4dCgpOwogfQogCistIChKU1ZhbHVlUmVmKWxheW91dFRlc3RDb250cm9s
bGVyCit7CisgICAgRnJhbWUqIGNvcmVGcmFtZSA9IF9wcml2YXRlLT5jb3JlRnJhbWU7CisgICAg
aWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVybiAwOworICAgIERPTVdyYXBwZXJXb3JsZCog
d29ybGQgPSBtYWluVGhyZWFkTm9ybWFsV29ybGQoKTsKKyAgICBKU0M6OkV4ZWNTdGF0ZSogZXhl
YyA9IGNvcmVGcmFtZS0+c2NyaXB0KCktPmdsb2JhbE9iamVjdCh3b3JsZCktPmdsb2JhbEV4ZWMo
KTsKKyAgICByZXR1cm4gdG9SZWYoZXhlYywgSlNWYWx1ZShjb3JlRnJhbWUtPnNjcmlwdCgpLT5s
YXlvdXRUZXN0Q29udHJvbGxlcihtYWluVGhyZWFkTm9ybWFsV29ybGQoKSkpKTsKK30KKwogQGVu
ZAogCiBAaW1wbGVtZW50YXRpb24gV2ViRnJhbWUKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJGcmFtZVByaXZhdGUuaCBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZh
dGUuaAppbmRleCAwYmRhOTY2YWJiZGZjOTQ3YzYyMWQ0MTQyOWZiOGY3Yjk3MDA4ZGJkLi5mYzll
NzMzYWZhOTMyNzk5YmY1ZDFiZDk1N2E0YTRhMTY5MjhjMDE4IDEwMDY0NAotLS0gYS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgKKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkZyYW1lUHJpdmF0ZS5oCkBAIC0xMzYsNCArMTM2LDcgQEAgdHlwZWRlZiBlbnVtIHsKIAogLSAo
TlNTdHJpbmcqKV9sYXllclRyZWVBc1RleHQ7CiAKKy8vIFJldHVybnMgYXNzb2NpYXRlZCBMYXlv
dXRUZXN0Q29udHJvbGxlciBvYmplY3QgCistIChKU1ZhbHVlUmVmKWxheW91dFRlc3RDb250cm9s
bGVyOworCiBAZW5kCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKaW5kZXggN2ZiN2FhN2EwMGQyMTkyMDdiYTUxNDQ4YTViZjJlYThjMGVl
MWE1OC4uZjdjNzhiZjVhZjA5MzYyYjFiZjI4NTRmMjBiN2Q1ZTZmNTg5MDc1NSAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDEwLTA3LTIxICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4
dGVuZGVkIExheW91dFRlc3RDb250cm9sbGVyIG9iamVjdCBieSBhZGRpbmcgZGVsZ2F0aW9uIG1l
dGhvZHMKKyAgICAgICAgZm9yIFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyLgorICAgICAg
ICBOb3cgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIGhhcyBtZXRob2RzIGRlZmluZWQgaW4K
KyAgICAgICAgV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXIuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0
Q29udHJvbGxlcjo6bWFrZURlbGVnYXRpb25NZXRob2RzKToKKyAgICAgICAgKExheW91dFRlc3RD
b250cm9sbGVyOjptYWtlV2luZG93T2JqZWN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9GcmFt
ZUxvYWREZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bRnJhbWVMb2FkRGVsZWdhdGUgZGlkQ2xlYXJX
aW5kb3dPYmplY3RJblN0YW5kYXJkV29ybGRGb3JGcmFtZTpdKToKKwogMjAxMC0wNy0yNSAgQWxl
eGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
YW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwCmluZGV4IDZhOTU3YzEyNmVmNjE3NzFhMjg2YjBlZGZkMzRiNzMwYWM1
NjhiMmIuLmUwNjUxNDYyYmQyYjljZjRiMzg4ZGVjZGYyMzE5ZjI5NGY1N2QxMDIgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
QEAgLTE2OTUsOSArMTY5NSwyOCBAQCBzdGF0aWMgdm9pZCBsYXlvdXRUZXN0Q29udHJvbGxlck9i
amVjdEZpbmFsaXplKEpTT2JqZWN0UmVmIG9iamVjdCkKICAgICBjb250cm9sbGVyLT5kZXJlZigp
OwogfQogCitzdGF0aWMgY29uc3QgY2hhciBzZXR1cExheW91dFRlc3RDb250cm9sbGVyU2NyaXB0
W10gPSAKKyAgICAiZnVuY3Rpb24gZGVsZWdhdGUoZHN0LCBzcmMsIG5hbWUpIHsgZHN0W25hbWVd
ID0gZnVuY3Rpb24oKSB7IHJldHVybiBzcmNbbmFtZV0uYXBwbHkoc3JjLCBhcmd1bWVudHMpOyB9
IH1cbiIKKyAgICAiZm9yICh2YXIgbmFtZSBpbiB0aGlzLmNvcmUpIHtcbiIKKyAgICAiICAgIGRl
bGVnYXRlKHRoaXMsIHRoaXMuY29yZSwgbmFtZSk7XG4iCisgICAgIn1cbiI7CisKK3ZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VEZWxlZ2F0aW9uTWV0aG9kcyhKU0NvbnRleHRSZWYgY29u
dGV4dCwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgSlNWYWx1ZVJlZiBjb3JlT2JqZWN0LCBKU1Zh
bHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGNvcmVT
dHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJjb3JlIikpOworICAgIEpT
T2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwgdGhpc09iamVjdCwgY29yZVN0ci5nZXQoKSwgY29y
ZU9iamVjdCwga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25lLCBleGNlcHRpb24pOworICAgIEFTU0VS
VCghKmV4Y2VwdGlvbik7CisKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gdXJsU3RyKEFk
b3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygic2V0dXBfbGF5b3V0X3Rlc3RfY29u
dHJvbGxlcl90ZXN0LmpzIikpOworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBzY3JpcHRT
dHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHNldHVwTGF5b3V0VGVzdENv
bnRyb2xsZXJTY3JpcHQpKTsKKyAgICBBU1NFUlQoISpleGNlcHRpb24pOworICAgIEpTRXZhbHVh
dGVTY3JpcHQoY29udGV4dCwgc2NyaXB0U3RyLmdldCgpLCB0aGlzT2JqZWN0LCB1cmxTdHIuZ2V0
KCksIDEsIGV4Y2VwdGlvbik7CisgICAgQVNTRVJUKCEqZXhjZXB0aW9uKTsKK30KKwogLy8gT2Jq
ZWN0IENyZWF0aW9uCiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmpl
Y3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1
ZVJlZiogZXhjZXB0aW9uKQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZVdpbmRvd09i
amVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2luZG93T2JqZWN0LCBKU1Zh
bHVlUmVmKiBleGNlcHRpb24sIEpTVmFsdWVSZWYgY29yZSkKIHsKICAgICBKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gbGF5b3V0VGVzdENvbnRvbGxlclN0cihBZG9wdCwgSlNTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcoImxheW91dFRlc3RDb250cm9sbGVyIikpOwogICAgIHJlZigpOwpAQCAt
MTcwNiw2ICsxNzI1LDkgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZVdpbmRvd09i
amVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2kKICAgICBKU1ZhbHVlUmVm
IGxheW91dFRlc3RDb250b2xsZXJPYmplY3QgPSBKU09iamVjdE1ha2UoY29udGV4dCwgY2xhc3NS
ZWYsIHRoaXMpOwogICAgIEpTQ2xhc3NSZWxlYXNlKGNsYXNzUmVmKTsKIAorICAgIGlmIChjb3Jl
KQorICAgICAgICBtYWtlRGVsZWdhdGlvbk1ldGhvZHMoY29udGV4dCwgSlNWYWx1ZVRvT2JqZWN0
KGNvbnRleHQsIGxheW91dFRlc3RDb250b2xsZXJPYmplY3QsIGV4Y2VwdGlvbiksIGNvcmUsIGV4
Y2VwdGlvbik7CisKICAgICBKU09iamVjdFNldFByb3BlcnR5KGNvbnRleHQsIHdpbmRvd09iamVj
dCwgbGF5b3V0VGVzdENvbnRvbGxlclN0ci5nZXQoKSwgbGF5b3V0VGVzdENvbnRvbGxlck9iamVj
dCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9u
dERlbGV0ZSwgZXhjZXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXggMzBlYjliZDRmODQ0ZDRjYTljM2VlY2Fi
N2M2NmVkMGU3NzkzODc4Zi4uMTI4YTAxYzdlZTA0NDMxMGIwZGJiNGVhODk2MWJjNGU4M2M5M2Vi
OCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRy
b2xsZXIuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5oCkBAIC00Miw3ICs0Miw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxM
YXlvdXRUZXN0Q29udHJvbGxlcj4gY3JlYXRlKGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0UGF0aE9y
VVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgZXhwZWN0ZWRQaXhlbEhhc2gpOwogICAgIH5MYXlvdXRU
ZXN0Q29udHJvbGxlcigpOwogCi0gICAgdm9pZCBtYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlv
bik7CisgICAgdm9pZCBtYWtlRGVsZWdhdGlvbk1ldGhvZHMoSlNDb250ZXh0UmVmIGNvbnRleHQs
IEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTVmFsdWVSZWYgY29yZU9iamVjdCwgSlNWYWx1ZVJl
ZiogZXhjZXB0aW9uKTsKKyAgICB2b2lkIG1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNv
bnRleHQsIEpTT2JqZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uLCBK
U1ZhbHVlUmVmIGNvcmUgPSAwKTsKIAogICAgIHZvaWQgYWRkRGlzYWxsb3dlZFVSTChKU1N0cmlu
Z1JlZiB1cmwpOwogICAgIHZvaWQgY2xlYXJBbGxEYXRhYmFzZXMoKTsKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbSBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQppbmRleCA5NjNl
YWU3MGZhNTlkODFlZmNmZWI4YWIxZTg4MzZjNTU3YzdhY2NkLi41NTFhYjhhNGRkZDA1NzVkMmM1
NDNlNjU0YWNkMzYyODkzMmIxYjljIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCkBAIC0yNDUsNyArMjQ1LDggQEAKICAgICBK
U1ZhbHVlUmVmIGV4Y2VwdGlvbiA9IDA7CiAKICAgICBBU1NFUlQoZ0xheW91dFRlc3RDb250cm9s
bGVyKTsKLSAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4
dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uKTsKKyAgICBKU1ZhbHVlUmVmIGNvcmVMYXlvdXRU
ZXN0Q29udHJvbGxlciA9IFtmcmFtZSBsYXlvdXRUZXN0Q29udHJvbGxlcl07CisgICAgZ0xheW91
dFRlc3RDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIGdsb2JhbE9iamVjdCwg
JmV4Y2VwdGlvbiwgY29yZUxheW91dFRlc3RDb250cm9sbGVyKTsKICAgICBBU1NFUlQoIWV4Y2Vw
dGlvbik7CiAKICAgICBnY0NvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgZ2xv
YmFsT2JqZWN0LCAmZXhjZXB0aW9uKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62547</attachid>
            <date>2010-07-25 23:18:11 -0700</date>
            <delta_ts>2010-07-26 21:21:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42612-20100726151809.patch</filename>
            <type>text/plain</type>
            <size>44665</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZmQ3N2IxZTA2MmVjNmEwOGI3YTE3NDIyZTYxZjJmNWQyY2FlNjVhLi5lN2M5ZGZj
NmRhNjhjYmZlZjY3NTgzYWI2NzdiYjhmN2NlMmQ4Zjc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dp
bmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVz
dC1jb250cm9sbGVyLWNvcmUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L1NraXBwZWQ6CisKIDIwMTAtMDctMjUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LWxheW91dC10ZXN0LWNvbnRy
b2xsZXItY29yZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMv
d2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTNjZWJh
NGE3YjZlZjExODVhZjk0M2E4MGZlY2MzMDJhMjQwYWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3Qt
Y29udHJvbGxlci1jb3JlLmpzCkBAIC0wLDAgKzEsNyBAQAorZGVzY3JpcHRpb24oIndpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlciBzaG91bGQgaGF2ZSBmdW5jdGlvbnMgZGVmaW5lZCBpbiBMYXlv
dXRUZXN0Q29udHJvbGxlci5pZGwiKTsKK3dpbmRvdy5ub2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoIiIpOworc2hvdWxkQmVUcnVlKCJ1bmRlZmluZWQgIT0gd2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyIik7CitzaG91bGRCZVRydWUoInVuZGVmaW5lZCAhPSB3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIuZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZSIpOworc2hvdWxkQmVUcnVlKCIw
ID09IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kb2N1bWVudE1hcmtlclNpemVGb3JOb2Rl
KHdpbmRvdy5ub2RlKSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29u
dHJvbGxlci1jb3JlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZjZmZmZkMjMxNWQ0YzdhYjJmNzRlZjZhOWFkYzk0MDdjNzY5ZmQwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250
cm9sbGVyLWNvcmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK3dpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlciBzaG91bGQgaGF2ZSBmdW5jdGlvbnMgZGVmaW5lZCBpbiBMYXlvdXRUZXN0
Q29udHJvbGxlci5pZGwKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdW5k
ZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciBpcyB0cnVlCitQQVNTIHVuZGVm
aW5lZCAhPSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYXJrZXJTaXplRm9y
Tm9kZSBpcyB0cnVlCitQQVNTIDAgPT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3Vt
ZW50TWFya2VyU2l6ZUZvck5vZGUod2luZG93Lm5vZGUpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250
cm9sbGVyLWNvcmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODYzZDZhMWU0MWM1MmE2NWY1NGVkMjUyMzU2
OGM1ZjliNDI5ZjI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuaHRtbApAQCAtMCwwICsxLDEz
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IGNhNmMzZGNhYzBjYmVjNTY5NDU1OTI5M2Yw
ZjkxMjE1Y2E4MzgzMDQuLmViNDJhMmRhN2Y4YTcxODNhMjNlMDU3MzQ0NzNkMWYzNTNlOTZhYmQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQKQEAgLTMxMjAsNiArMzEyMCw4IEBAIEJVR1dLNDI4NDUgOiBodG1sNWxpYi9ydW5u
ZXIuaHRtbCA9IFRFWFQKIEJVR1dLNDI3NjkgOiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jl
bWVtYmVyLWJhZC1wYXNzd29yZC5odG1sID0gVEVYVAogQlVHV0s0Mjc2OSA6IGh0dHAvdGVzdHMv
c2VjdXJpdHkvNDAxLWxvZ291dC80MDEtbG9nb3V0LnBocCA9IFRJTUVPVVQKIAorQlVHV0s0MjYx
MiA6IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci1jb3JlLmh0
bWwgPSBGQUlMCisKIC8vIEZsYWt5IHNpbmNlIGF0IGxlYXN0IGNocm9taXVtIHI1MjgzNCwgV2Vi
S2l0IHI2MzYxNS4KIEJVRzQ5OTcwIDogcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9jYWxsLWFz
LWZ1bmN0aW9uLmh0bWwgPSBQQVNTIFRFWFQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRl
eCA3NGM1YmFmMDMzYzMzMGI2MzZjMGZjZTI1OWE3Y2VkZjUwYTk5ZTMzLi43OGIyZTcxNjM2YTQ4
ZTMxNDIwYWMyNGI2NmNkNWE4YjYyZGExZTAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApA
QCAtNTg4MSwzICs1ODgxLDYgQEAgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZW1lbWJlci1i
YWQtcGFzc3dvcmQuaHRtbAogIyBUaGVyZSdzIHNvbWV0aGlnbiBzdHJhbmdlIGdvaW5nIG9uIHdp
dGggPGtleWdlbj4gdGhhdCBjYXVzZXMgYQogIyBkaWZmZXJlbnQgRE9NIHRvIGJlIGNyZWF0ZWQu
CiBodG1sNWxpYi9ydW5uZXIuaHRtbAorCisjIGN1cnJlbnRseSBMYXlvdXRUZXN0Q29udHJvbGxl
ckNvcmUgaXMgbm90IHN1cHBvcnRlZCBodHRwOi8vd2Via2l0Lm9yZy9iLzQyNjEyCitmYXN0L2Rv
bS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItY29yZS5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZAppbmRleCAyY2YyZjI1MDNkNDZiOTNjNjM5YmE5ZGEwNWQ4NDVlYTA4Yzdm
YjIzLi44ZGU1Yjc4OGFhOGNlZWI3MDMzMTZiZDI4YzJiZmE0NDU0YTI0Zjk2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L1NraXBwZWQKQEAgLTU0NTMsNiArNTQ1Myw5IEBAIGh0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvcmVtZW1iZXItYmFkLXBhc3N3b3JkLmh0bWwKICMgZGlmZmVyZW50IERPTSB0byBiZSBj
cmVhdGVkLgogaHRtbDVsaWIvcnVubmVyLmh0bWwKIAorIyBjdXJyZW50bHkgTGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlIGlzIG5vdCBzdXBwb3J0ZWQgaHR0cDovL3dlYmtpdC5vcmcvYi80MjYxMgor
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUuaHRtbAor
CiAjIFtRdF0gUkVHUkVTU0lPTig2Mzg2Mik6IGFuaW1hdGlvbnMvcGxheS1zdGF0ZS5odG1sIGZh
aWxzIGludGVybWl0dGVudGx5CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00MjgyMQogYW5pbWF0aW9ucy9wbGF5LXN0YXRlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Nr
aXBwZWQKaW5kZXggMDE0YTUxZjk1YWJhMGY0N2VlZWM3ZmFkYjY5OGM5ODg3OTdjYjgxNi4uNzM3
NGU2Yzg2NTA2MmJiY2NiZWVhN2IyMDJmMGI5MWE0NDU1ZjkxMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1NraXBwZWQKQEAgLTk0NCw2ICs5NDQsOSBAQCBmYXN0L2Zvcm1zL2lucHV0LWZpbGUtZGlyZWN0
b3J5LXVwbG9hZC5odG1sCiAjIE5lZWQgc2V0UHJpbnRpbmcuIFNlZSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMTEKIHByaW50aW5nL3NldFByaW50aW5nLmh0bWwK
IAorIyBjdXJyZW50bHkgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIGlzIG5vdCBzdXBwb3J0ZWQg
aHR0cDovL3dlYmtpdC5vcmcvYi80MjYxMgorZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQt
dGVzdC1jb250cm9sbGVyLWNvcmUuaHRtbAorCiAjIFdlYiBUaW1pbmcgaXMgbm90IGVuYWJsZWQu
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjQzNQogZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNlLmh0bWwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGQ2
OTU2MzZhZDdmMDU4YmE3YmZlMGExZTQ2ZGRhYWE0ZjFkZmMwN2YuLjZmOWNkNjY0ZTQ5Y2ZkMzM0
OGEzMTQ0Nzc0MjkwMGM2ZDMxYmViNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzE0LDYgKzMxNCw3IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2UvR2VvcG9zaXRpb24uaWRsCiAgICAgcGFnZS9IaXN0
b3J5LmlkbAogICAgIHBhZ2UvTG9jYXRpb24uaWRsCisgICAgcGFnZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5pZGwKICAgICBwYWdlL01lbW9yeUluZm8uaWRsCiAgICAgcGFnZS9OYXZpZ2F0aW9uLmlk
bAogICAgIHBhZ2UvTmF2aWdhdG9yLmlkbApAQCAtMTE1Myw2ICsxMTU0LDcgQEAgU0VUKFdlYkNv
cmVfU09VUkNFUwogICAgIHBhZ2UvR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcAogICAgIHBh
Z2UvSGlzdG9yeS5jcHAKICAgICBwYWdlL0xvY2F0aW9uLmNwcAorICAgIHBhZ2UvTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwCiAgICAgcGFnZS9NZW1vcnlJbmZvLmNwcAogICAgIHBhZ2UvTW91c2VF
dmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAKICAgICBwYWdlL05hdmlnYXRpb24uY3BwCmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRhY2Q5
ZWYxZjJiOTVlNWRhMmVjODAwMDdiODZkZjIzOWQwNTJkNjguLjNhMTk2N2ZiN2Y2ZGViMWViMWUy
MmJkZTQwYzFiY2Y5ODQwZTI2YzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTAtMDctMjEgIE1PUklUQSBI
YWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisgICAgICAgIAorICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQgc2hvdWxkIGFsbG93IHRlc3Qgc2NyaXB0
cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9yIHNldHVwL3ZlcmlmaWNhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2MTIK
KyAgICAgICAgCisgICAgICAgIEludHJvZHVjaW5nIFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9s
bGVyLCB0aGF0IHdpbGwgaGF2ZSBXZWJDb3JlLXNpZGUKKyAgICAgICAgaW1wbGVtZW50YXRpb24g
b2YgTGF5b3V0VGVzdENvbnRyb2xsZXIuIFRoZSBpbnN0YW5jZSBpcyBvd25lZCBieQorICAgICAg
ICBET01XaW5kb3cuICBDdXJyZW50bHkgZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKCkgYW5kCisg
ICAgICAgIGRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2RlQXQoKSBhcmUganVzdCBhIHN0dWIuICBU
aGVzZQorICAgICAgICBpbXBsZW1lbnRhdGlvbiB3aWxsIGNvbWUgbGF0ZXIuCisKKyAgICAgICAg
VGVzdDogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLWNvcmUu
aHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFr
ZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAg
ICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OkpTRE9N
V2luZG93U2hlbGwpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6bGF5b3V0
VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpsYXlvdXRUZXN0Q29udHJv
bGxlcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0
Q29udHJvbGxlcjo6ZnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xs
ZXI6OmRpc2Nvbm5lY3RGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJv
bGxlcjo6ZG9jdW1lbnRNYWtlclNpemVGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dFRlc3RDb250cm9sbGVyOjpkb2N1bWVudE1ha2VyU3RyaW5nRm9yTm9kZUF0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlcjo6dmVyaWZ5Q29ubmVjdGVkKToK
KyAgICAgICAgKiBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5pZGw6IEFkZGVkLgorCiAyMDEwLTA3LTI1ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJh
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcAppbmRleCA3OGM1MjNmYTFmODZkYjAyM2U3YTM4NzlhNDhhNzdiOTYxY2U0
NDUxLi41YTg3ZjI5ZDRmYmQ3NTllNjhjMmFlNmQzZjkzOGFjNWQ4NTI2YmJhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcApAQCAtMTk0LDYgKzE5NCw3IEBACiAjaW5jbHVkZSAiSlNJbnNwZWN0b3JGcm9udGVuZEhv
c3QuY3BwIgogI2luY2x1ZGUgIkpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAiCiAjaW5jbHVkZSAi
SlNLZXlib2FyZEV2ZW50LmNwcCIKKyNpbmNsdWRlICJKU0xheW91dFRlc3RDb250cm9sbGVyLmNw
cCIKICNpbmNsdWRlICJKU0xvY2F0aW9uLmNwcCIKICNpbmNsdWRlICJKU01lZGlhRXJyb3IuY3Bw
IgogI2luY2x1ZGUgIkpTTWVkaWFMaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3YzUzZTg2
OTViYzgzN2RjOWIwMGNiNzllOWZlODViN2QwZjQ1NmVlLi45MDRkMDNhNzhkNmRhNjdlNGUwNzg0
MjhhYTdmYTEyYWZmZDRjODRiIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yMzcsNiArMjM3LDcgQEAg
RE9NX0NMQVNTRVMgPSBcCiAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0IFwKICAgICBLZXlib2Fy
ZEV2ZW50IFwKICAgICBMb2NhdGlvbiBcCisgICAgTGF5b3V0VGVzdENvbnRyb2xsZXIgXAogICAg
IE1lZGlhRXJyb3IgXAogICAgIE1lZGlhTGlzdCBcCiAgICAgTWVtb3J5SW5mbyBcCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCA3YTUxM2UyMmVhYTg1YWU4OWFhMzg4NGEyM2M5YjA4OWY1YTAxNDAxLi4zZThhNDMwMGE5MmQ4
NzAxMWM2ZjA0NTkwN2JhMTExZjQwMzIwY2MzIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQxMiw2ICs0MTIsOCBAQCB3
ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLZXli
b2FyZEV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5oIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U01lZGlhRXJyb3IuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFFcnJvci5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFMaXN0LmNwcCBcCkBAIC0xNzg3LDYg
KzE3ODksOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcGFnZS9IaXN0b3J5Lmgg
XAogCVdlYkNvcmUvcGFnZS9Mb2NhdGlvbi5jcHAgXAogCVdlYkNvcmUvcGFnZS9Mb2NhdGlvbi5o
IFwKKwlXZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIFwKKwlXZWJDb3JlL3Bh
Z2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBcCiAJV2ViQ29yZS9wYWdlL01lZGlhQ2FuU3RhcnRM
aXN0ZW5lci5oIFwKIAlXZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5jcHAgXAogCVdlYkNvcmUvcGFn
ZS9NZW1vcnlJbmZvLmggXApAQCAtNDU0Niw2ICs0NTUwLDcgQEAgSURMX0JJTkRJTkdTX0dET00g
Kz0gXAogCVdlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uaWRsIFwKIAlXZWJDb3JlL3BhZ2UvSGlz
dG9yeS5pZGwgXAogCVdlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwgXAorCVdlYkNvcmUvcGFnZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5pZGwgXAogCVdlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmlkbCBc
CiAJV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwgXAogCVdlYkNvcmUvcGFnZS9TY3JlZW4uaWRs
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCmluZGV4IDM4OTliZjVlZDJmYjQ3ZDdiNzQ1NjZlMTQzZWExYjliM2UyNmU2NmMuLmE2
M2M5ZjFkZWUwZDViMmRjYWUxZmM1NWJhZGM5ZGIyYjczMjE0MzggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KKysrIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTIzNyw2
ICsxMjM3LDcgQEAgX19OUE5fUmV0YWluT2JqZWN0CiBfX05QTl9TZXRFeGNlcHRpb24KIF9fTlBO
X1NldFByb3BlcnR5CiBfX05QTl9VVEY4RnJvbUlkZW50aWZpZXIKK19fWk43V2ViQ29yZTE2U2Ny
aXB0Q29udHJvbGxlcjIwbGF5b3V0VGVzdENvbnRyb2xsZXJFUE5TXzE1RE9NV3JhcHBlcldvcmxk
RQogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjB3aW5kb3dTY3JpcHROUE9iamVjdEV2
CiBfX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyOWNsZWFudXBTY3JpcHRPYmplY3RzRm9y
UGx1Z2luRVB2CiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3Q0dmlld0V2CmRpZmYgLS1naXQg
YS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGY1M2Y0
NTYxN2EwZDU4ZWU3MjE5ZDY1ZjQ1ZjBhY2RkMTliM2JhNzcuLmJiYzE3NzI3M2EyZmFkZjBhNzA1
MTEyYmI3MGU3MmIxOTIyNjNkNDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisr
KyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMTUsNiArMjE1LDcgQEAKICAgICAgICAgICAg
ICdwYWdlL0dlb3Bvc2l0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9IaXN0b3J5LmlkbCcs
CiAgICAgICAgICAgICAncGFnZS9Mb2NhdGlvbi5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5
b3V0VGVzdENvbnRyb2xsZXIuaWRsJywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUluZm8uaWRs
JywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdl
L05hdmlnYXRvci5pZGwnLApAQCAtMTk5OCw2ICsxOTk5LDggQEAKICAgICAgICAgICAgICdwYWdl
L0hpc3RvcnkuaCcsCiAgICAgICAgICAgICAncGFnZS9Mb2NhdGlvbi5jcHAnLAogICAgICAgICAg
ICAgJ3BhZ2UvTG9jYXRpb24uaCcsCisgICAgICAgICAgICAncGFnZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCcsCiAg
ICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9NZW1v
cnlJbmZvLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0
cy5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29y
ZS5wcmkKaW5kZXggMThhNzZhMDQxYWI1NDc1MzBmOTRmZmI3NTJjNjBjYTI1MzAzNmYzNC4uNDI3
N2U0NjQwMjdkNjMyNjZmMWNjNzFiNmUxMWY2ZDA0OTUwNTRiYSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC00NjUsNiArNDY1LDcg
QEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBwYWdlL0dlb2xvY2F0aW9uLmlkbCBcCiAgICAgcGFn
ZS9HZW9wb3NpdGlvbi5pZGwgXAogICAgIHBhZ2UvSGlzdG9yeS5pZGwgXAorICAgIHBhZ2UvTGF5
b3V0VGVzdENvbnRyb2xsZXIuaWRsIFwKICAgICBwYWdlL0xvY2F0aW9uLmlkbCBcCiAgICAgcGFn
ZS9NZW1vcnlJbmZvLmlkbCBcCiAgICAgcGFnZS9OYXZpZ2F0aW9uLmlkbCBcCmRpZmYgLS1naXQg
YS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAwOTA1NDIy
Y2RiNjc1YmEyYjExYzk5MzU5OWQwZDhjZWZmZjExZTU0Li44ODIyZjYxZTk5ZTY2M2Y3MTFhM2Fl
Yzc2NTdjZDE1YWRiZGVmOGI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBi
L1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTgyNiw2ICs4MjYsNyBAQCBTT1VSQ0VTICs9IFwKICAg
ICBwYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAgXAogICAgIHBhZ2UvR2VvbG9jYXRpb25Q
b3NpdGlvbkNhY2hlLmNwcCBcCiAgICAgcGFnZS9IaXN0b3J5LmNwcCBcCisgICAgcGFnZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHAgXAogICAgIHBhZ2UvTG9jYXRpb24uY3BwIFwKICAgICBwYWdl
L01lbW9yeUluZm8uY3BwIFwKICAgICBwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMu
Y3BwIFwKQEAgLTE1OTYsNiArMTU5Nyw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBhZ2UvR2VvcG9z
aXRpb24uaCBcCiAgICAgcGFnZS9IYWx0YWJsZVBsdWdpbi5oIFwKICAgICBwYWdlL0hpc3Rvcnku
aCBcCisgICAgcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIFwKICAgICBwYWdlL0xvY2F0aW9u
LmggXAogICAgIHBhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5oIFwKICAgICBwYWdl
L05hdmlnYXRvckJhc2UuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCA0NDc5MTgyNWFmNDZlODJjNDlmMjVlM2E2ZTNlN2Q2MjE1YmMxYjZhLi5hYzUwMzllOTY4YjA0
MWIwYWFkN2Q4YmE5MDEyMTA5M2ZkMWE5NTI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKQEAgLTkwNjEsNiArOTA2MSw2MiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIg0KKwkJCQk+
DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIN
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRl
cm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJ
CQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1l
PSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZWRpYUVy
cm9yLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0yMjM1Myw2ICsy
MjQwOSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwYWdlXExheW91dFRlc3RDb250cm9sbGVyLmNwcCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTGF5b3V0VGVzdENvbnRy
b2xsZXIuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHBhZ2VcTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAiDQogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBhYjg4ZGEzMDEzZThlNTc5YTk5NjA4ZWU2NjVjOGUwZTQwNzk3YzEyLi40MTVlODc5MGJhODdj
ZTVhOWNjNTQ0ZmFlNTBiMmY3OTJiNzlmZDE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMjY4MSw2ICsyNjgxLDggQEAKIAkJQTcxODc4OTAwQjJEMDRB
QzAwQTE2RUNFIC8qIERyYWdDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcxODc4OEYwQjJEMDRBQzAwQTE2RUNFIC8qIERyYWdD
b250cm9sbGVyTWFjLm1tICovOyB9OwogCQlBNzM1MkMxOTBCMUJCODlEMDBBOTg2RDAgLyogUmVu
ZGVyU1ZHQmxvY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTczNTJDMTcwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmNwcCAqLzsg
fTsKIAkJQTczNTJDMUEwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzM1MkMxODBCMUJCODlE
MDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suaCAqLzsgfTsKKwkJQTc0NUQyRTYxMUY1QjM3OTAw
QUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzQ1RDJFMzExRjVCMzc5MDBBQ0QwMjMgLyog
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCAqLzsgfTsKKwkJQTc0NUQyRTcxMUY1QjM3OTAw
QUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc0NUQyRTQxMUY1QjM3OTAwQUNEMDIzIC8qIExh
eW91dFRlc3RDb250cm9sbGVyQ29yZS5oICovOyB9OwogCQlBNzVFNDk3NjEwNzUyQUNCMDBDOUI4
OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFNDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQTc1RTQ5NzcxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVF
NDk3NTEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCAqLzsgfTsK
IAkJQTc1RThCODgwRTFERTJENjAwN0YyNDgxIC8qIEZFQmxlbmQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RThCODAwRTFERTJENjAwN0YyNDgx
IC8qIEZFQmxlbmQuY3BwICovOyB9OwpAQCAtMjY5MSw2ICsyNjkzLDggQEAKIAkJQTc1RThCOEQw
RTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU4Qjg1MEUxREUyRDYwMDdGMjQ4MSAv
KiBGRUNvbXBvbmVudFRyYW5zZmVyLmggKi87IH07CiAJCUE3NUU4QjhFMEUxREUyRDYwMDdGMjQ4
MSAvKiBGRUNvbXBvc2l0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNzVFOEI4NjBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuY3BwICov
OyB9OwogCQlBNzVFOEI4RjBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU4Qjg3MEUxREUyRDYw
MDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5oICovOyB9OworCQlBNzc1NThFMzExRjVCNjAyMDBCNDNB
QzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3NTU4RTExMUY1QjYwMjAwQjQzQUMxIC8qIEpT
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCAqLzsgfTsKKwkJQTc3NTU4RTQxMUY1QjYwMjAw
QjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc1NThFMjExRjVCNjAyMDBCNDNBQzEgLyog
SlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCAqLzsgfTsKIAkJQTc3OTc5MTkwRDZCOUQwQzAw
Mzg1MUI5IC8qIEltYWdlRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNzc5NzkxMzBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAq
LzsgfTsKIAkJQTc3OTc5MUEwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3OTc5MTQwRDZCOUQwQzAw
Mzg1MUI5IC8qIEltYWdlRGF0YS5oICovOyB9OwogCQlBNzc5NzkyODBENkI5RTY0MDAzODUxQjkg
LyogSlNJbWFnZURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTc3OTc5MjQwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmNwcCAqLzsg
fTsKQEAgLTgzOTgsNiArODQwMiw5IEBACiAJCUE3MUE3MEM5MTFBRkIwMjAwMDk4OUQ2RCAvKiBI
VE1MTWV0ZXJFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MTWV0ZXJFbGVt
ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTczNTJDMTcwQjFCQjg5RDAw
QTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZW5kZXJTVkdCbG9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE3MzUyQzE4MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHQmxvY2suaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTc0NUQyRTMxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RD
b250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91
dFRlc3RDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc0NUQy
RTQxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dFRlc3RDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE3NDVEMkU1MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0
Q29udHJvbGxlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFNDk3NDEwNzUyQUNCMDBD
OUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBNzVFNDk3NTEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU4QjgwMEUxREUy
RDYwMDdGMjQ4MSAvKiBGRUJsZW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEZFQmxlbmQuY3BwOyBwYXRoID0gZmlsdGVycy9GRUJsZW5kLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg0MDgsNiArODQxNSw4IEBACiAJCUE3NUU4Qjg1MEUxREUy
RDYwMDdGMjQ4MSAvKiBGRUNvbXBvbmVudFRyYW5zZmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEZFQ29tcG9uZW50VHJhbnNmZXIuaDsgcGF0aCA9IGZpbHRlcnMvRkVDb21w
b25lbnRUcmFuc2Zlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFOEI4NjBF
MURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gRkVDb21wb3NpdGUuY3BwOyBwYXRoID0gZmlsdGVycy9GRUNvbXBvc2l0
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU4Qjg3MEUxREUyRDYwMDdG
MjQ4MSAvKiBGRUNvbXBvc2l0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBG
RUNvbXBvc2l0ZS5oOyBwYXRoID0gZmlsdGVycy9GRUNvbXBvc2l0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBNzc1NThFMTExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0
Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc3
NTU4RTIxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNMYXlvdXRUZXN0Q29udHJvbGxlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzc5NzkxMzBENkI5RDBDMDAzODUxQjkgLyogSW1h
Z2VEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlRGF0
YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTE0MEQ2QjlEMEMwMDM4
NTFCOSAvKiBJbWFnZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1h
Z2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTE1MEQ2QjlEMEMw
MDM4NTFCOSAvKiBJbWFnZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEltYWdlRGF0
YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjI3MSw2ICsxMjI4MCw5IEBA
CiAJCTY1QkYwMjE4MDk3NDgwNjMwMEM0MzE5NiAvKiBwYWdlICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzQ1RDJFMzExRjVCMzc5MDBBQ0QwMjMgLyog
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwICovLAorCQkJCUE3NDVEMkU0MTFGNUIzNzkwMEFDRDAy
MyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlci5oICovLAorCQkJCUE3NDVEMkU1MTFGNUIzNzkwMEFD
RDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlci5pZGwgKi8sCiAJCQkJMzE2RkUxMDYwRTZFMUQ4
NDAwQkY2MDg4IC8qIGFuaW1hdGlvbiAqLywKIAkJCQk5M0MwOUE4MjBCMDY0RjA1MDA1QUJENEQg
LyogbWFjICovLAogCQkJCTg1MzhGMDAwMEFENzE3NzAwMDZBODFEMSAvKiBBYnN0cmFjdFZpZXcu
aWRsICovLApAQCAtMTU5NTksNiArMTU5NzEsOCBAQAogCQlCQzk4NTQ0MzBDRDNEOUQwMDAwNjlC
QzEgLyogV2luZG93ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
KwkJCQlBNzc1NThFMTExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5j
cHAgKi8sCisJCQkJQTc3NTU4RTIxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRy
b2xsZXIuaCAqLywKIAkJCQlCQzEyNEVGRDBDMjY0NDdBMDA5RTIzNDkgLyogSlNCYXJJbmZvLmNw
cCAqLywKIAkJCQlCQzEyNEVGRTBDMjY0NDdBMDA5RTIzNDkgLyogSlNCYXJJbmZvLmggKi8sCiAJ
CQkJQkM5ODU0M0IwQ0QzRDk4QjAwMDY5QkMxIC8qIEpTQ29uc29sZS5jcHAgKi8sCkBAIC0xODc0
Myw2ICsxODc1Nyw3IEBACiAJCQkJNDlDN0I5OTYxMDQyRDJEMzAwMDlENDQ3IC8qIEpTSW50OEFy
cmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzVGQUVEMjBEQ0ZEOTAxMDBENThGNzggLyogSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODY2MjlEMzA5REEyQjQ4
MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzc1NThF
NDExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTM1RjQ1NDMwRjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2ZW50TGlzdGVuZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTFDNDNDMEQ5ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQ2MTQxOTBDRDY4MjY5MDBGQURBNzUgLyogSlNN
ZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKQEAgLTE4OTk1LDYgKzE5MDEwLDcgQEAKIAkJCQlB
NDU2RkEyNzExQUQ0QTgzMDAyMEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCTg1RUM5QUZCMEE3MUEyQzYwMEVFRUFFRCAvKiBMYW5ndWFnZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMkQ5MDY2MDcwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBNzQ1RDJFNzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRy
b2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OEYwMDgyNDVFNTkwMDFFOUFCQyAvKiBM
ZWdhY3lIVE1MRG9jdW1lbnRQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OEVGMDgy
NDVFNTkwMDFFOUFCQyAvKiBMZWdhY3lIVE1MVHJlZUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUU0OTYyNkMzMEQ4MEQ5NDkwMEUzNDA1QyAvKiBMZWdhY3lQcmVsb2FkU2Nhbm5lci5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yMTIxMyw2ICsyMTIyOSw3IEBACiAJCQkJMUM1RkFFRDEwRENGRDkw
MTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxQzVGQUVFNzBEQ0ZEQTY4MDBENThGNzggLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NjYyOUQ0MDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tl
eWJvYXJkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc3NTU4RTMxMUY1QjYwMjAwQjQz
QUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1
RjQ1NDIwRjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNFMUM0M0IwRDk4MzBEMzAwM0IwMkYyIC8qIEpTTG9jYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0NDAwRDk4MzBGNDAwM0IwMkYyIC8qIEpTTG9jYXRpb25D
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMTUwMyw2ICsyMTUyMCw3IEBACiAJCQkJQTQ1
NkZBMjYxMUFENEE4MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTkzNTIwODQ1MDlCRDQzQjkwMEYyMDM4RCAvKiBMYW5ndWFnZS5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTJEOTA2NjA2MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBNzQ1RDJFNjExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENv
bnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMTlBOUMwODI0NUU1OTAwMUU5QUJD
IC8qIExlZ2FjeUhUTUxEb2N1bWVudFBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0Yx
OUE5QjA4MjQ1RTU5MDAxRTlBQkMgLyogTGVnYWN5SFRNTFRyZWVCdWlsZGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUU0OTYyNkMyMEQ4MEQ5NDgwMEUzNDA1QyAvKiBMZWdhY3lQcmVsb2FkU2Nh
bm5lci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dTaGVsbC5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hl
bGwuY3BwCmluZGV4IDY1MDk2YjkzYzA2ZDgzN2E0MTRhZDdhODNmYjZhNjE5ZDIxN2ZhZmYuLjli
N2Q3YTNkMWQ1NWE1ZWUzMjY3MDQ0YjdjMDFjMmE2NzU4Nzk3MmMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5jbHVkZSAi
RnJhbWUuaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkpTTGF5b3V0VGVz
dENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJTY3JpcHRD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSA8cnVudGltZS9KU09iamVjdC5oPgpAQCAtNDYsNiArNDcs
NyBAQCBjb25zdCBDbGFzc0luZm8gSlNET01XaW5kb3dTaGVsbDo6c19pbmZvID0geyAiSlNET01X
aW5kb3dTaGVsbCIsIDAsIDAsIDAgfTsKIEpTRE9NV2luZG93U2hlbGw6OkpTRE9NV2luZG93U2hl
bGwoUGFzc1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkK
ICAgICA6IEJhc2UoSlNET01XaW5kb3dTaGVsbDo6Y3JlYXRlU3RydWN0dXJlKGpzTnVsbCgpKSkK
ICAgICAsIG1fd2luZG93KDApCisgICAgLCBtX2xheW91dFRlc3RDb250cm9sbGVyKDApCiAgICAg
LCBtX3dvcmxkKHdvcmxkKQogewogICAgIHNldFdpbmRvdyh3aW5kb3cpOwpAQCAtNjksNiArNzEs
MTYgQEAgdm9pZCBKU0RPTVdpbmRvd1NoZWxsOjpzZXRXaW5kb3coUGFzc1JlZlB0cjxET01XaW5k
b3c+IGRvbVdpbmRvdykKICAgICBzZXRXaW5kb3coanNET01XaW5kb3cpOwogfQogCitKU09iamVj
dCogSlNET01XaW5kb3dTaGVsbDo6bGF5b3V0VGVzdENvbnRyb2xsZXIoKQoreworICAgIGlmICgh
bV9sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSB3aW5k
b3coKS0+Z2xvYmFsRXhlYygpOworICAgICAgICBtX2xheW91dFRlc3RDb250cm9sbGVyID0gdG9K
UyhleGVjLCB3aW5kb3coKSwgd2luZG93KCktPmltcGwoKS0+bGF5b3V0VGVzdENvbnRyb2xsZXIo
KSkudG9PYmplY3QoZXhlYyk7CisgICAgfQorCisgICAgcmV0dXJuIG1fbGF5b3V0VGVzdENvbnRy
b2xsZXI7Cit9CisKIC8vIC0tLS0KIC8vIEpTT2JqZWN0IG1ldGhvZHMKIC8vIC0tLS0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKaW5kZXggODg4MzI1ZDAzZmNjOGYzNGM5ZTMz
YWEyNWZhYWQwMzMyNTQ4M2Y3MS4uMmNlYzdkN2YzYzUyNjcxMDdmYWQ1OTVjMzlmNGNiOGIyMWU0
YzY3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKQEAgLTUyLDYgKzUy
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB9CiAgICAgICAgIHZvaWQgc2V0V2lu
ZG93KFBhc3NSZWZQdHI8RE9NV2luZG93Pik7CiAKKyAgICAgICAgSlNDOjpKU09iamVjdCogbGF5
b3V0VGVzdENvbnRyb2xsZXIoKTsKKwogICAgICAgICBzdGF0aWMgY29uc3QgSlNDOjpDbGFzc0lu
Zm8gc19pbmZvOwogCiAgICAgICAgIERPTVdpbmRvdyogaW1wbCgpIGNvbnN0OwpAQCAtODYsNiAr
ODgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgY29uc3QgSlNDOjpD
bGFzc0luZm8qIGNsYXNzSW5mbygpIGNvbnN0IHsgcmV0dXJuICZzX2luZm87IH0KIAogICAgICAg
ICBKU0RPTVdpbmRvdyogbV93aW5kb3c7CisgICAgICAgIEpTQzo6SlNPYmplY3QqIG1fbGF5b3V0
VGVzdENvbnRyb2xsZXI7CiAgICAgICAgIFJlZlB0cjxET01XcmFwcGVyV29ybGQ+IG1fd29ybGQ7
CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9s
bGVyLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXgg
OTgwMjJkOWIzNWJkNGMyOWRmMWRjZTRlY2RiY2YxYzgzYzRjZTJjOC4uOTg5OTIwNzIyNWQxY2U0
ZjczNzhmMWEzZmYwMDJhNTA3NDk3MzBmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENv
bnRyb2xsZXIuY3BwCkBAIC01MDYsNCArNTA2LDkgQEAgU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJv
bGxlcjo6ZXhlY3V0ZVNjcmlwdEluV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCitKU09iamVjdCogU2NyaXB0Q29udHJvbGxlcjo6bGF5
b3V0VGVzdENvbnRyb2xsZXIoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkKK3sKKyAgICByZXR1cm4g
d2luZG93U2hlbGwod29ybGQpLT5sYXlvdXRUZXN0Q29udHJvbGxlcigpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENv
bnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCmluZGV4
IDgwMTU1ZTRiOTM1MGZjODRiMzI0MWQzZTMzN2YwNGQyNDY5ZGJkOTYuLjczMjEzMzgxNDFlNzc5
OTFiYTgxYTk0N2JhNWJkZDVmODZlMTI2NmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oCkBAIC05MCw2ICs5MCw4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVy
biB3aW5kb3dTaGVsbCh3b3JsZCktPndpbmRvdygpOwogICAgIH0KKyAgICAKKyAgICBKU0M6OkpT
T2JqZWN0KiBsYXlvdXRUZXN0Q29udHJvbGxlcihET01XcmFwcGVyV29ybGQqIHdvcmxkKTsKIAog
ICAgIHN0YXRpYyB2b2lkIGdldEFsbFdvcmxkcyhWZWN0b3I8RE9NV3JhcHBlcldvcmxkKj4mKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAppbmRleCBhZDYzNWE2YzYwMzA2M2JiOGMzOWViYjYyZTAxNDFiMzM5OTM4
NmQ2Li44NmVmOGRhNTVhZGJiY2Y4YTFiZmYzZDM4M2Q4NDlkMmNjNGY4NzkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcApAQCAtNjAsNiArNjAsNyBAQAogI2luY2x1ZGUgIkluZGV4ZWREYXRhYmFzZVJlcXVlc3Qu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oIgorI2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiTG9jYXRpb24uaCIKICNpbmNsdWRlICJTdHlsZU1lZGlhLmgiCiAjaW5jbHVkZSAiTWVz
c2FnZUV2ZW50LmgiCkBAIC01OTIsNiArNTkzLDEzIEBAIExvY2F0aW9uKiBET01XaW5kb3c6Omxv
Y2F0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9sb2NhdGlvbi5nZXQoKTsKIH0KIAorTGF5b3V0
VGVzdENvbnRyb2xsZXIqIERPTVdpbmRvdzo6bGF5b3V0VGVzdENvbnRyb2xsZXIoKSBjb25zdAor
eworICAgIGlmICghbV9sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbV9sYXlvdXRUZXN0
Q29udHJvbGxlciA9IExheW91dFRlc3RDb250cm9sbGVyOjpjcmVhdGUobV9mcmFtZSk7CisgICAg
cmV0dXJuIG1fbGF5b3V0VGVzdENvbnRyb2xsZXIuZ2V0KCk7Cit9CisKICNpZiBFTkFCTEUoRE9N
X1NUT1JBR0UpCiBTdG9yYWdlKiBET01XaW5kb3c6OnNlc3Npb25TdG9yYWdlKEV4Y2VwdGlvbkNv
ZGUmIGVjKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDY5ZDc0Mjg4NGZlOWI1YjNhMzBhYWU0MzI4
Yzk4ZjY4MDMxMjVmZmYuLjUyYTI2YjYwY2MwMTc0YWFkMTA4NzRmNDMwODk0OWRjOWU1ZDMxYTkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmgKQEAgLTU1LDYgKzU1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIEhpc3Rvcnk7CiAgICAgY2xhc3MgSW5kZXhlZERhdGFiYXNlUmVxdWVzdDsKICAgICBjbGFz
cyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OworICAgIGNsYXNzIExheW91dFRlc3RDb250cm9sbGVy
OwogICAgIGNsYXNzIExvY2F0aW9uOwogICAgIGNsYXNzIFN0eWxlTWVkaWE7CiAgICAgY2xhc3Mg
TmF2aWdhdG9yOwpAQCAtMzc5LDYgKzM4MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgRE9NQXBwbGljYXRpb25DYWNoZSogb3B0aW9uYWxBcHBsaWNhdGlvbkNhY2hlKCkgY29uc3Qg
eyByZXR1cm4gbV9hcHBsaWNhdGlvbkNhY2hlLmdldCgpOyB9CiAjZW5kaWYKIAorICAgICAgICBM
YXlvdXRUZXN0Q29udHJvbGxlciogbGF5b3V0VGVzdENvbnRyb2xsZXIoKSBjb25zdDsKKwogICAg
ICAgICB1c2luZyBSZWZDb3VudGVkPERPTVdpbmRvdz46OnJlZjsKICAgICAgICAgdXNpbmcgUmVm
Q291bnRlZDxET01XaW5kb3c+OjpkZXJlZjsKIApAQCAtNDA5LDYgKzQxMiw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoV0VCX1RJTUlORykKICAgICAgICAgbXV0YWJsZSBSZWZQ
dHI8UGVyZm9ybWFuY2U+IG1fcGVyZm9ybWFuY2U7CiAjZW5kaWYKKyAgICAgICAgbXV0YWJsZSBS
ZWZQdHI8TGF5b3V0VGVzdENvbnRyb2xsZXI+IG1fbGF5b3V0VGVzdENvbnRyb2xsZXI7CiAgICAg
ICAgIG11dGFibGUgUmVmUHRyPExvY2F0aW9uPiBtX2xvY2F0aW9uOwogICAgICAgICBtdXRhYmxl
IFJlZlB0cjxTdHlsZU1lZGlhPiBtX21lZGlhOwogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9XZWJDb3Jl
L3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4M2RkZmFiMTQ1NzY4
ZmM3OTY1ODEzOWY1Nzk0NDE0ZWQ0NGQ5YzgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3Bh
Z2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyLmgiCisKKyNpbmNsdWRlICJF
eGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitGcmFt
ZSogTGF5b3V0VGVzdENvbnRyb2xsZXI6OmZyYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9m
cmFtZTsKK30KKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZGlzY29ubmVjdEZyYW1lKCkK
K3sKKyAgICBtX2ZyYW1lID0gMDsKK30KKworaW50IExheW91dFRlc3RDb250cm9sbGVyOjpkb2N1
bWVudE1hcmtlclNpemVGb3JOb2RlKE5vZGUqLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sK
KyAgICBpZiAoIXZlcmlmeUNvbm5lY3RlZChlYykpCisgICAgICAgIHJldHVybiAwOworCisgICAg
Ly8gRklYTUU6IGltcGxlbWVudAorICAgIHJldHVybiAwOworfQorCitTdHJpbmcgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OmRvY3VtZW50TWFya2VyU3RyaW5nRm9yTm9kZUF0KE5vZGUqLCBpbnQsIEV4
Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmICghdmVyaWZ5Q29ubmVjdGVkKGVjKSkK
KyAgICAgICAgcmV0dXJuICIiOworCisgICAgLy8gRklYTUU6IGltcGxlbWVudAorICAgIHJldHVy
biAiIjsKK30KKworTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKEZy
YW1lKiBmcmFtZSkKKyAgICA6IG1fZnJhbWUoZnJhbWUpCit7Cit9CisKK2Jvb2wgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnZlcmlmeUNvbm5lY3RlZChFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sK
KyAgICBpZiAoIW1fZnJhbWUpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTU2ODQzNTE2NGIxOTY4YTQzNGEwYWFjZTEzNjQ3ZDBiNDkxMGRjNQotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0wLDAgKzEs
NjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBMYXlvdXRUZXN0Q29udHJvbGxlcl9oCisjZGVmaW5lIExheW91dFRlc3RD
b250cm9sbGVyX2gKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIEZyYW1lOworY2xhc3MgTm9kZTsKK2NsYXNzIFN0cmluZzsKK3R5cGVk
ZWYgaW50IEV4Y2VwdGlvbkNvZGU7CisKK2NsYXNzIExheW91dFRlc3RDb250cm9sbGVyIDogcHVi
bGljIFJlZkNvdW50ZWQ8TGF5b3V0VGVzdENvbnRyb2xsZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxMYXlvdXRUZXN0Q29udHJvbGxlcj4gY3JlYXRlKEZyYW1lKiBmcmFtZSkg
eyByZXR1cm4gYWRvcHRSZWYobmV3IExheW91dFRlc3RDb250cm9sbGVyKGZyYW1lKSk7IH0KKwor
ICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0OworICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CisK
KyAgICBpbnQgZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZShOb2RlKiwgRXhjZXB0aW9uQ29kZSYp
IGNvbnN0OworICAgIFN0cmluZyBkb2N1bWVudE1hcmtlclN0cmluZ0Zvck5vZGVBdChOb2RlKiwg
aW50LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgYm9vbCB2ZXJpZnlD
b25uZWN0ZWQoRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIExheW91dFRlc3RDb250cm9sbGVy
KEZyYW1lKik7CisKKyAgICBGcmFtZSogbV9mcmFtZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIExheW91dFRlc3RDb250cm9sbGVyX2gKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwgYi9XZWJDb3JlL3BhZ2UvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkM2I0NGY1MTdlNmMzOWEzYjFkODFjNjI0
ZDQ0N2NkMDZlN2M4NGEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVz
dENvbnRyb2xsZXIuaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7CisKKyAgICBp
bnRlcmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0gTGF5b3V0VGVzdENvbnRyb2xsZXIgeworICAgICAg
ICBsb25nIGRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUoaW4gTm9kZSBub2RlKSByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKKyAgICAgICAgRE9NU3RyaW5nIGRvY3VtZW50TWFya2VyU3RyaW5nRm9yTm9k
ZUF0KGluIE5vZGUgbm9kZSwgaW4gbG9uZyBpbmRleCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7Cisg
ICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFj
L0NoYW5nZUxvZwppbmRleCA3YmQ2YjQ3NmMwM2VhYjI5MjY2ODY4M2FkODhiYThhYjAzYTgzMDc5
Li44MTE2OTMwNWRkYTVjZjdmMmM2MTc0ZmViMWM4NmMxNTc5YzdkOWNmIDEwMDY0NAotLS0gYS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDEwLTA3LTIxICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgor
CisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJDb3Jl
IGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgorCisgICAgICAgIEFkZGVkIGFu
IGFjY2Vzc29yIGZvciBhbiBKYXZhU2NyaXB0IG9iamVjdCB3aGljaCB3cmFwcyBXZWJDb3JlOjpM
YXlvdXRUZXN0Q29udHJvbGxlci4KKworICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubW06Cisg
ICAgICAgICgtW1dlYkZyYW1lIGxheW91dFRlc3RDb250cm9sbGVyXSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJGcmFtZVByaXZhdGUuaDoKKwogMjAxMC0wNy0yMiAgU2FtIFdlaW5pZyAgPHNhbUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tIGIvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkZyYW1lLm1tCmluZGV4IGI3MWQ1MDFkZmNmYTliMTc5NTE3NDhjZWRmNWE5MjI4YTEx
ZjZlZWQuLjNhMjAwOTVjODMyNGRlN2M0ZGFkMzZjMGE3MDQ2ZmJkMzIyNmNmNTEgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViRnJhbWUubW0KQEAgLTEzNDAsNiArMTM0MCwxNiBAQCBzdGF0aWMgaW5saW5lIFdlYkRh
dGFTb3VyY2UgKmRhdGFTb3VyY2UoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKICAgICByZXR1cm4g
Y29yZUZyYW1lLT5sYXllclRyZWVBc1RleHQoKTsKIH0KIAorLSAoSlNWYWx1ZVJlZilsYXlvdXRU
ZXN0Q29udHJvbGxlcgoreworICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBfcHJpdmF0ZS0+Y29yZUZy
YW1lOworICAgIGlmICghY29yZUZyYW1lKQorICAgICAgICByZXR1cm4gMDsKKyAgICBET01XcmFw
cGVyV29ybGQqIHdvcmxkID0gbWFpblRocmVhZE5vcm1hbFdvcmxkKCk7CisgICAgSlNDOjpFeGVj
U3RhdGUqIGV4ZWMgPSBjb3JlRnJhbWUtPnNjcmlwdCgpLT5nbG9iYWxPYmplY3Qod29ybGQpLT5n
bG9iYWxFeGVjKCk7CisgICAgcmV0dXJuIHRvUmVmKGV4ZWMsIEpTVmFsdWUoY29yZUZyYW1lLT5z
Y3JpcHQoKS0+bGF5b3V0VGVzdENvbnRyb2xsZXIobWFpblRocmVhZE5vcm1hbFdvcmxkKCkpKSk7
Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYkZyYW1lCmRpZmYgLS1naXQgYS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmggYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
RnJhbWVQcml2YXRlLmgKaW5kZXggMGJkYTk2NmFiYmRmYzk0N2M2MjFkNDE0MjlmYjhmN2I5NzAw
OGRiZC4uZmM5ZTczM2FmYTkzMjc5OWJmNWQxYmQ5NTdhNGE0YTE2OTI4YzAxOCAxMDA2NDQKLS0t
IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCisrKyBiL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaApAQCAtMTM2LDQgKzEzNiw3IEBAIHR5cGVkZWYgZW51
bSB7CiAKIC0gKE5TU3RyaW5nKilfbGF5ZXJUcmVlQXNUZXh0OwogCisvLyBSZXR1cm5zIGFzc29j
aWF0ZWQgTGF5b3V0VGVzdENvbnRyb2xsZXIgb2JqZWN0IAorLSAoSlNWYWx1ZVJlZilsYXlvdXRU
ZXN0Q29udHJvbGxlcjsKKwogQGVuZApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
IGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdmYjdhYTdhMDBkMjE5MjA3YmE1MTQ0OGE1
YmYyZWE4YzBlZTFhNTguLmY3Yzc4YmY1YWYwOTM2MmIxYmYyODU0ZjIwYjdkNWU2ZjU4OTA3NTUg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJp
dGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFeHRlbmRlZCBMYXlvdXRUZXN0Q29udHJvbGxlciBvYmplY3QgYnkgYWRkaW5nIGRl
bGdhdGlvbiBtZXRob2RzCisgICAgICAgIGZvciBXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxl
ci4KKyAgICAgICAgTm93IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciBoYXMgbWV0aG9kcyBk
ZWZpbmVkIGluCisgICAgICAgIFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
TGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VEZWxlZ2F0aW9uTWV0aG9kcyk6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZVdpbmRvd09iamVjdCk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW06CisgICAgICAgICgtW0ZyYW1lTG9hZERlbGVnYXRl
IGRpZENsZWFyV2luZG93T2JqZWN0SW5TdGFuZGFyZFdvcmxkRm9yRnJhbWU6XSk6CisKIDIwMTAt
MDctMjUgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCA2YTk1N2MxMjZlZjYxNzcxYTI4NmIwZWRm
ZDM0YjczMGFjNTY4YjJiLi5lMDY1MTQ2MmJkMmI5Y2Y0YjM4OGRlY2RmMjMxOWYyOTRmNTdkMTAy
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwCkBAIC0xNjk1LDkgKzE2OTUsMjggQEAgc3RhdGljIHZvaWQgbGF5b3V0VGVzdENv
bnRyb2xsZXJPYmplY3RGaW5hbGl6ZShKU09iamVjdFJlZiBvYmplY3QpCiAgICAgY29udHJvbGxl
ci0+ZGVyZWYoKTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgc2V0dXBMYXlvdXRUZXN0Q29udHJv
bGxlclNjcmlwdFtdID0gCisgICAgImZ1bmN0aW9uIGRlbGVnYXRlKGRzdCwgc3JjLCBuYW1lKSB7
IGRzdFtuYW1lXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gc3JjW25hbWVdLmFwcGx5KHNyYywgYXJn
dW1lbnRzKTsgfSB9XG4iCisgICAgImZvciAodmFyIG5hbWUgaW4gdGhpcy5jb3JlKSB7XG4iCisg
ICAgIiAgICBkZWxlZ2F0ZSh0aGlzLCB0aGlzLmNvcmUsIG5hbWUpO1xuIgorICAgICJ9XG4iOwor
Cit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtlRGVsZWdhdGlvbk1ldGhvZHMoSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTVmFsdWVSZWYgY29yZU9i
amVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBjb3JlU3RyKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiY29yZSIp
KTsKKyAgICBKU09iamVjdFNldFByb3BlcnR5KGNvbnRleHQsIHRoaXNPYmplY3QsIGNvcmVTdHIu
Z2V0KCksIGNvcmVPYmplY3QsIGtKU1Byb3BlcnR5QXR0cmlidXRlTm9uZSwgZXhjZXB0aW9uKTsK
KyAgICBBU1NFUlQoISpleGNlcHRpb24pOworCisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IHVybFN0cihBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoInNldHVwX2xheW91
dF90ZXN0X2NvbnRyb2xsZXJfdGVzdC5qcyIpKTsKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gc2NyaXB0U3RyKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhzZXR1cExh
eW91dFRlc3RDb250cm9sbGVyU2NyaXB0KSk7CisgICAgQVNTRVJUKCEqZXhjZXB0aW9uKTsKKyAg
ICBKU0V2YWx1YXRlU2NyaXB0KGNvbnRleHQsIHNjcmlwdFN0ci5nZXQoKSwgdGhpc09iamVjdCwg
dXJsU3RyLmdldCgpLCAxLCBleGNlcHRpb24pOworICAgIEFTU0VSVCghKmV4Y2VwdGlvbik7Cit9
CisKIC8vIE9iamVjdCBDcmVhdGlvbgogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtl
V2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmpl
Y3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1h
a2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpbmRvd09i
amVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uLCBKU1ZhbHVlUmVmIGNvcmUpCiB7CiAgICAgSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGxheW91dFRlc3RDb250b2xsZXJTdHIoQWRvcHQsIEpTU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJsYXlvdXRUZXN0Q29udHJvbGxlciIpKTsKICAgICBy
ZWYoKTsKQEAgLTE3MDYsNiArMTcyNSw5IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1h
a2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpCiAgICAg
SlNWYWx1ZVJlZiBsYXlvdXRUZXN0Q29udG9sbGVyT2JqZWN0ID0gSlNPYmplY3RNYWtlKGNvbnRl
eHQsIGNsYXNzUmVmLCB0aGlzKTsKICAgICBKU0NsYXNzUmVsZWFzZShjbGFzc1JlZik7CiAKKyAg
ICBpZiAoY29yZSkKKyAgICAgICAgbWFrZURlbGVnYXRpb25NZXRob2RzKGNvbnRleHQsIEpTVmFs
dWVUb09iamVjdChjb250ZXh0LCBsYXlvdXRUZXN0Q29udG9sbGVyT2JqZWN0LCBleGNlcHRpb24p
LCBjb3JlLCBleGNlcHRpb24pOworCiAgICAgSlNPYmplY3RTZXRQcm9wZXJ0eShjb250ZXh0LCB3
aW5kb3dPYmplY3QsIGxheW91dFRlc3RDb250b2xsZXJTdHIuZ2V0KCksIGxheW91dFRlc3RDb250
b2xsZXJPYmplY3QsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUsIGV4Y2VwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDMwZWI5YmQ0Zjg0NGQ0
Y2E5YzNlZWNhYjdjNjZlZDBlNzc5Mzg3OGYuLjEyOGEwMWM3ZWUwNDQzMTBiMGRiYjRlYTg5NjFi
YzRlODNjOTNlYjggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaApAQCAtNDIsNyArNDIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8TGF5b3V0VGVzdENvbnRyb2xsZXI+IGNyZWF0ZShjb25zdCBzdGQ6OnN0cmluZyYg
dGVzdFBhdGhPclVSTCwgY29uc3Qgc3RkOjpzdHJpbmcmIGV4cGVjdGVkUGl4ZWxIYXNoKTsKICAg
ICB+TGF5b3V0VGVzdENvbnRyb2xsZXIoKTsKIAotICAgIHZvaWQgbWFrZVdpbmRvd09iamVjdChK
U0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2luZG93T2JqZWN0LCBKU1ZhbHVlUmVm
KiBleGNlcHRpb24pOworICAgIHZvaWQgbWFrZURlbGVnYXRpb25NZXRob2RzKEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBKU1ZhbHVlUmVmIGNvcmVPYmplY3Qs
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CisgICAgdm9pZCBtYWtlV2luZG93T2JqZWN0KEpTQ29u
dGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbiwgSlNWYWx1ZVJlZiBjb3JlID0gMCk7CiAKICAgICB2b2lkIGFkZERpc2FsbG93ZWRV
UkwoSlNTdHJpbmdSZWYgdXJsKTsKICAgICB2b2lkIGNsZWFyQWxsRGF0YWJhc2VzKCk7CmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUu
bW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0K
aW5kZXggOTYzZWFlNzBmYTU5ZDgxZWZjZmViOGFiMWU4ODM2YzU1N2M3YWNjZC4uNTUxYWI4YTRk
ZGQwNTc1ZDJjNTQzZTY1NGFjZDM2Mjg5MzJiMWI5YyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCisrKyBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQpAQCAtMjQ1LDcgKzI0NSw4
IEBACiAgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwogCiAgICAgQVNTRVJUKGdMYXlvdXRU
ZXN0Q29udHJvbGxlcik7Ci0gICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5tYWtlV2luZG93T2Jq
ZWN0KGNvbnRleHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlvbik7CisgICAgSlNWYWx1ZVJlZiBj
b3JlTGF5b3V0VGVzdENvbnRyb2xsZXIgPSBbZnJhbWUgbGF5b3V0VGVzdENvbnRyb2xsZXJdOwor
ICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCBnbG9i
YWxPYmplY3QsICZleGNlcHRpb24sIGNvcmVMYXlvdXRUZXN0Q29udHJvbGxlcik7CiAgICAgQVNT
RVJUKCFleGNlcHRpb24pOwogCiAgICAgZ2NDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNv
bnRleHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlvbik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62639</attachid>
            <date>2010-07-26 21:22:03 -0700</date>
            <delta_ts>2010-07-28 01:35:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42612-20100727132201.patch</filename>
            <type>text/plain</type>
            <size>44702</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZGM5ZmM5ZDEzODM4NzdjMzg5YzZkNDQ1YjdhNzAyMzYzM2Q4YjYyLi5lMzViMzM1
NGMxOGIwYmUxNTdmZjFjMjNkZWQzOTg4MjIzY2ZmM2VkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dp
bmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlv
dXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0
ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxh
dGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAtMDctMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGEgY291cGxlIG9mIHRlc3QgcmVzdWx0cyBh
ZnRlciByNjQwOTUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2Ny
aXB0LXRlc3RzL3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1sYXlvdXQtdGVzdC1j
b250cm9sbGVyLXdlYmNvcmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2EzY2ViYTRhN2I2ZWYxMTg1YWY5NDNh
ODBmZWNjMzAyYTI0MGFkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29y
ZS5qcwpAQCAtMCwwICsxLDcgQEAKK2Rlc2NyaXB0aW9uKCJ3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIgc2hvdWxkIGhhdmUgZnVuY3Rpb25zIGRlZmluZWQgaW4gTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaWRsIik7Cit3aW5kb3cubm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKTsKK3No
b3VsZEJlVHJ1ZSgidW5kZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciIpOwor
c2hvdWxkQmVUcnVlKCJ1bmRlZmluZWQgIT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRv
Y3VtZW50TWFya2VyU2l6ZUZvck5vZGUiKTsKK3Nob3VsZEJlVHJ1ZSgiMCA9PSB3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZSh3aW5kb3cubm9kZSki
KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29y
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91
dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY2ZmZm
ZDIzMTVkNGM3YWIyZjc0ZWY2YTlhZGM5NDA3Yzc2OWZkMAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13
ZWJjb3JlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACit3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIgc2hvdWxkIGhhdmUgZnVuY3Rpb25zIGRlZmluZWQgaW4gTGF5b3V0VGVzdENvbnRy
b2xsZXIuaWRsCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHVuZGVmaW5l
ZCAhPSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgaXMgdHJ1ZQorUEFTUyB1bmRlZmluZWQg
IT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUg
aXMgdHJ1ZQorUEFTUyAwID09IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kb2N1bWVudE1h
cmtlclNpemVGb3JOb2RlKHdpbmRvdy5ub2RlKSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJv
bGxlci13ZWJjb3JlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjZlYjY4OWVjZWU4NTk4ODJjNGUxODA3MWM5
M2Y0MmU5ZGFiZGNiZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwKQEAgLTAsMCAr
MSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCAyNjI0ZjM1M2YzMzJlZWNlNmQy
NmYxOTIwZDQwMmJmMWNlN2RlYTY0Li4xM2E5NjRlNTg3ZTY5NDVhMzYzOTNmYjZkNmRjNzhlZWY5
MjRkNDY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0CkBAIC0zMTE4LDYgKzMxMTgsOCBAQCBCVUdXSzQyODQ1IDogaHRtbDVs
aWIvcnVubmVyLmh0bWwgPSBURVhUCiBCVUdXSzQyNzY5IDogaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9yZW1lbWJlci1iYWQtcGFzc3dvcmQuaHRtbCA9IFRFWFQKIEJVR1dLNDI3NjkgOiBodHRw
L3Rlc3RzL3NlY3VyaXR5LzQwMS1sb2dvdXQvNDAxLWxvZ291dC5waHAgPSBUSU1FT1VUCiAKK0JV
R1dLNDI2MTIgOiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXIt
d2ViY29yZS5odG1sID0gRkFJTAorCiAvLyBGbGFreSBzaW5jZSBhdCBsZWFzdCBjaHJvbWl1bSBy
NTI4MzQsIFdlYktpdCByNjM2MTUuCiBCVUc0OTk3MCA6IHBsYXRmb3JtL2Nocm9taXVtL3BsdWdp
bnMvY2FsbC1hcy1mdW5jdGlvbi5odG1sID0gUEFTUyBURVhUCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKaW5kZXggM2U0YzA3OWI0OTkzMTQ4NGM1YjEzNmFlOWQzYWVhNzBkZGQyMmQwZi4uMDFl
YzdiMjA4MDRlOTAwNDMyYTk5MTRjODQzNTY3MzJkM2ViZWVjMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1NraXBwZWQKQEAgLTU4NjgsMyArNTg2OCw3IEBAIGVkaXRpbmcvc2VsZWN0aW9uL2RyYWctc3Rh
cnQtZXZlbnQtY2xpZW50LXgteS5odG1sCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZHJvcC1saW5rLmh0
bWwKIG1lZGlhCiBodHRwL3Rlc3RzL21lZGlhCisKKyMgY3VycmVudGx5IExheW91dFRlc3RDb250
cm9sbGVyQ29yZSBpcyBub3Qgc3VwcG9ydGVkIGh0dHA6Ly93ZWJraXQub3JnL2IvNDI2MTIKK2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggYjI5MGI2MzQzMjUxZmYzYjY5NTMyYzNjNjhh
NmNlMzgwNGRkOGRhYS4uMjUxOWJiNWVkYjZmYzlmZmJlYjNmZjVhNmQyYzY4M2NhYThhN2YyNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC01NDUzLDYgKzU0NTMsOSBAQCBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3JlbWVtYmVyLWJhZC1wYXNzd29yZC5odG1sCiAjIGRpZmZlcmVudCBE
T00gdG8gYmUgY3JlYXRlZC4KIGh0bWw1bGliL3J1bm5lci5odG1sCiAKKyMgY3VycmVudGx5IExh
eW91dFRlc3RDb250cm9sbGVyQ29yZSBpcyBub3Qgc3VwcG9ydGVkIGh0dHA6Ly93ZWJraXQub3Jn
L2IvNDI2MTIKK2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13
ZWJjb3JlLmh0bWwKKwogIyBbUXRdIFJFR1JFU1NJT04oNjM4NjIpOiBhbmltYXRpb25zL3BsYXkt
c3RhdGUuaHRtbCBmYWlscyBpbnRlcm1pdHRlbnRseQogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDI4MjEKIGFuaW1hdGlvbnMvcGxheS1zdGF0ZS5odG1sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDAxNGE1MWY5NWFiYTBmNDdlZWVjN2ZhZGI2OThjOTg4
Nzk3Y2I4MTYuLjQzOTcwOGIzNmE2ZjVjNjU1NGMxM2Q3ODM3MmFjNzA5YzYxMTExY2YgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC05NDQsNiArOTQ0LDkgQEAgZmFzdC9mb3Jtcy9pbnB1
dC1maWxlLWRpcmVjdG9yeS11cGxvYWQuaHRtbAogIyBOZWVkIHNldFByaW50aW5nLiBTZWUgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDExCiBwcmludGluZy9zZXRQ
cmludGluZy5odG1sCiAKKyMgY3VycmVudGx5IExheW91dFRlc3RDb250cm9sbGVyQ29yZSBpcyBu
b3Qgc3VwcG9ydGVkIGh0dHA6Ly93ZWJraXQub3JnL2IvNDI2MTIKK2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwKKwogIyBXZWIgVGltaW5n
IGlzIG5vdCBlbmFibGVkLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDI0MzUKIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS5o
dG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCBkNjk1NjM2YWQ3ZjA1OGJhN2JmZTBhMWU0NmRkYWFhNGYxZGZjMDdmLi42
ZjljZDY2NGU0OWNmZDMzNDhhMzE0NDc3NDI5MDBjNmQzMWJlYjQ5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMxNCw2
ICszMTQsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBwYWdlL0dlb3Bvc2l0aW9uLmlk
bAogICAgIHBhZ2UvSGlzdG9yeS5pZGwKICAgICBwYWdlL0xvY2F0aW9uLmlkbAorICAgIHBhZ2Uv
TGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbAogICAgIHBh
Z2UvTmF2aWdhdGlvbi5pZGwKICAgICBwYWdlL05hdmlnYXRvci5pZGwKQEAgLTExNTMsNiArMTE1
NCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwYWdlL0dlb2xvY2F0aW9uUG9zaXRpb25D
YWNoZS5jcHAKICAgICBwYWdlL0hpc3RvcnkuY3BwCiAgICAgcGFnZS9Mb2NhdGlvbi5jcHAKKyAg
ICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAogICAgIHBhZ2UvTWVtb3J5SW5mby5jcHAK
ICAgICBwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwCiAgICAgcGFnZS9OYXZp
Z2F0aW9uLmNwcApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBkOTM2ZWQ2MDhkNDg1OGJiMzJlYzZlNTM1ZDVlMTczYTNkYmQ0MTFkLi5iZGUx
YmYzNWY4YTA1NGY3MDI5NTE3OWUxNTM5YjQ2ZTBjM2U0ZWRhIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEw
LTA3LTIxICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorICAgICAgICAKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBh
bGxvdyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBz
ZXR1cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQyNjEyCisgICAgICAgIAorICAgICAgICBJbnRyb2R1Y2luZyBXZWJDb3JlOjpM
YXlvdXRUZXN0Q29udHJvbGxlciwgdGhhdCB3aWxsIGhhdmUgV2ViQ29yZS1zaWRlCisgICAgICAg
IGltcGxlbWVudGF0aW9uIG9mIExheW91dFRlc3RDb250cm9sbGVyLiBUaGUgaW5zdGFuY2UgaXMg
b3duZWQgYnkKKyAgICAgICAgRE9NV2luZG93LiAgQ3VycmVudGx5IGRvY3VtZW50TWFrZXJTaXpl
Rm9yTm9kZSgpIGFuZAorICAgICAgICBkb2N1bWVudE1ha2VyU3RyaW5nRm9yTm9kZUF0KCkgYXJl
IGp1c3QgYSBzdHViLiAgVGhlc2UKKyAgICAgICAgaW1wbGVtZW50YXRpb24gd2lsbCBjb21lIGxh
dGVyLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3Qt
Y29udHJvbGxlci13ZWJjb3JlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgor
ICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAg
KiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RP
TVdpbmRvd1NoZWxsOjpKU0RPTVdpbmRvd1NoZWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9N
V2luZG93U2hlbGw6OmxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd1NoZWxsLmg6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpsYXlvdXRUZXN0
Q29udHJvbGxlcik6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRv
dzo6bGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6Cisg
ICAgICAgICogcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OmZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dFRlc3RDb250cm9sbGVyOjpkaXNjb25uZWN0RnJhbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OmRvY3VtZW50TWFrZXJTaXplRm9yTm9kZSk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZG9jdW1lbnRNYWtlclN0cmluZ0Zv
ck5vZGVBdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0
VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6
OnZlcmlmeUNvbm5lY3RlZCk6CisgICAgICAgICogcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyOjpjcmVhdGUp
OgorICAgICAgICAqIHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsOiBBZGRlZC4KKwogMjAx
MC0wNy0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA3OGM1MjNmYTFm
ODZkYjAyM2U3YTM4NzlhNDhhNzdiOTYxY2U0NDUxLi41YTg3ZjI5ZDRmYmQ3NTllNjhjMmFlNmQz
ZjkzOGFjNWQ4NTI2YmJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAor
KysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTk0LDYgKzE5NCw3IEBACiAjaW5j
bHVkZSAiSlNJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIgogI2luY2x1ZGUgIkpTSmF2YVNjcmlw
dENhbGxGcmFtZS5jcHAiCiAjaW5jbHVkZSAiSlNLZXlib2FyZEV2ZW50LmNwcCIKKyNpbmNsdWRl
ICJKU0xheW91dFRlc3RDb250cm9sbGVyLmNwcCIKICNpbmNsdWRlICJKU0xvY2F0aW9uLmNwcCIK
ICNpbmNsdWRlICJKU01lZGlhRXJyb3IuY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFMaXN0LmNwcCIK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQppbmRleCA3YzUzZTg2OTViYzgzN2RjOWIwMGNiNzllOWZlODViN2QwZjQ1
NmVlLi45MDRkMDNhNzhkNmRhNjdlNGUwNzg0MjhhYTdmYTEyYWZmZDRjODRiIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0yMzcsNiArMjM3LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0IFwKICAgICBLZXlib2FyZEV2ZW50IFwKICAgICBMb2NhdGlvbiBcCisgICAg
TGF5b3V0VGVzdENvbnRyb2xsZXIgXAogICAgIE1lZGlhRXJyb3IgXAogICAgIE1lZGlhTGlzdCBc
CiAgICAgTWVtb3J5SW5mbyBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA4MzM5ZmZiYzkxNTIxM2FmMmZmNGY3YWU1MTlm
YjJhMTVjMDRjODdhLi5hZjljYmUyNTMwYmQzNTc0MTBjMTJhYTA2OWRiM2IxYzFkN2EyZjA2IDEw
MDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KQEAgLTQwNiw2ICs0MDYsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNLZXlib2FyZEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0tleWJvYXJkRXZlbnQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xheW91
dFRlc3RDb250cm9sbGVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xheW91dFRl
c3RDb250cm9sbGVyLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5jcHAg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhdGlvbi5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTWVkaWFFcnJvci5jcHAgXApAQCAtMTc4Miw2ICsxNzg0LDggQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3BhZ2UvSGFsdGFibGVQbHVnaW4uaCBcCiAJV2ViQ29y
ZS9wYWdlL0hpc3RvcnkuY3BwIFwKIAlXZWJDb3JlL3BhZ2UvSGlzdG9yeS5oIFwKKwlXZWJDb3Jl
L3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIFwKKwlXZWJDb3JlL3BhZ2UvTGF5b3V0VGVz
dENvbnRyb2xsZXIuaCBcCiAJV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcCBcCiAJV2ViQ29yZS9w
YWdlL0xvY2F0aW9uLmggXAogCVdlYkNvcmUvcGFnZS9NZWRpYUNhblN0YXJ0TGlzdGVuZXIuaCBc
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgppbmRleCA2NjVkYWI0YWIxODk4NDBkNTE1ZjQ2NGYwOGJiYzRiZWFkMTNhMDE1Li4xNDAy
NWNiNzdkNzAwYTVhYTljYmU3N2QzNTJmMTY5ODM3YTJhYzJjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEyMzksNiAr
MTIzOSw3IEBAIF9fTlBOX1JldGFpbk9iamVjdAogX19OUE5fU2V0RXhjZXB0aW9uCiBfX05QTl9T
ZXRQcm9wZXJ0eQogX19OUE5fVVRGOEZyb21JZGVudGlmaWVyCitfX1pON1dlYkNvcmUxNlNjcmlw
dENvbnRyb2xsZXIyMGxheW91dFRlc3RDb250cm9sbGVyRVBOU18xNURPTVdyYXBwZXJXb3JsZEUK
IF9fWk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjIwd2luZG93U2NyaXB0TlBPYmplY3RFdgog
X19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjljbGVhbnVwU2NyaXB0T2JqZWN0c0ZvclBs
dWdpbkVQdgogX19aTks3V2ViQ29yZTEyUmVuZGVyT2JqZWN0NHZpZXdFdgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBiODMyNTZl
ZjBlYWUzODgyMjEyYjJlZDMwNTdkM2U3NTdlMjk2NWUzLi5lYjEwMzY3YTBjZWNhOTQxYmIzNjUy
ZWFkYzU4OWVlZmU2NmY0ZWQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysg
Yi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjE1LDYgKzIxNSw3IEBACiAgICAgICAgICAgICAn
cGFnZS9HZW9wb3NpdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvSGlzdG9yeS5pZGwnLAog
ICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uaWRsJywKKyAgICAgICAgICAgICdwYWdlL0xheW91
dFRlc3RDb250cm9sbGVyLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmlkbCcs
CiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9O
YXZpZ2F0b3IuaWRsJywKQEAgLTE5OTksNiArMjAwMCw4IEBACiAgICAgICAgICAgICAncGFnZS9I
aXN0b3J5LmgnLAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uY3BwJywKICAgICAgICAgICAg
ICdwYWdlL0xvY2F0aW9uLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuY3BwJywKKyAgICAgICAgICAgICdwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmgnLAogICAg
ICAgICAgICAgJ3BhZ2UvTWVtb3J5SW5mby5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvTWVtb3J5
SW5mby5oJywKICAgICAgICAgICAgICdwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMu
Y3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9XZWJDb3JlL1dlYkNvcmUu
cHJpCmluZGV4IDE4YTc2YTA0MWFiNTQ3NTMwZjk0ZmZiNzUyYzYwY2EyNTMwMzZmMzQuLjQyNzdl
NDY0MDI3ZDYzMjY2ZjFjYzcxYjZlMTFmNmQwNDk1MDU0YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtNDY1LDYgKzQ2NSw3IEBA
IElETF9CSU5ESU5HUyArPSBcCiAgICAgcGFnZS9HZW9sb2NhdGlvbi5pZGwgXAogICAgIHBhZ2Uv
R2VvcG9zaXRpb24uaWRsIFwKICAgICBwYWdlL0hpc3RvcnkuaWRsIFwKKyAgICBwYWdlL0xheW91
dFRlc3RDb250cm9sbGVyLmlkbCBcCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwgXAogICAgIHBhZ2Uv
TWVtb3J5SW5mby5pZGwgXAogICAgIHBhZ2UvTmF2aWdhdGlvbi5pZGwgXApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMDkwNTQyMmNk
YjY3NWJhMmIxMWM5OTM1OTlkMGQ4Y2VmZmYxMWU1NC4uODgyMmY2MWU5OWU2NjNmNzExYTNhZWM3
NjU3Y2QxNWFkYmRlZjhiNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9X
ZWJDb3JlL1dlYkNvcmUucHJvCkBAIC04MjYsNiArODI2LDcgQEAgU09VUkNFUyArPSBcCiAgICAg
cGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwIFwKICAgICBwYWdlL0dlb2xvY2F0aW9uUG9z
aXRpb25DYWNoZS5jcHAgXAogICAgIHBhZ2UvSGlzdG9yeS5jcHAgXAorICAgIHBhZ2UvTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwIFwKICAgICBwYWdlL0xvY2F0aW9uLmNwcCBcCiAgICAgcGFnZS9N
ZW1vcnlJbmZvLmNwcCBcCiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNw
cCBcCkBAIC0xNTk2LDYgKzE1OTcsNyBAQCBIRUFERVJTICs9IFwKICAgICBwYWdlL0dlb3Bvc2l0
aW9uLmggXAogICAgIHBhZ2UvSGFsdGFibGVQbHVnaW4uaCBcCiAgICAgcGFnZS9IaXN0b3J5Lmgg
XAorICAgIHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBcCiAgICAgcGFnZS9Mb2NhdGlvbi5o
IFwKICAgICBwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCBcCiAgICAgcGFnZS9O
YXZpZ2F0b3JCYXNlLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
YTk3ZmZhNzVkYjFmODczNDJlOTQ5MTZkZmVkMTQ2NGUzODA2NDY1MS4uODA2ZTRhMmNhNmM2ZjI5
MTAyYmNiNDU4MGViNGViNWIxMGNmNDQwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCkBAIC05MDYxLDYgKzkwNjEsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0xheW91dFRlc3RDb250cm9sbGVyLmNwcCINCisJCQkJPg0K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
Pg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJu
YWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0xheW91dFRlc3RDb250cm9sbGVyLmgiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWVkaWFFcnJv
ci5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMjIzNTMsNiArMjI0
MDksMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5ccGFnZVxMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXExheW91dFRlc3RDb250cm9s
bGVyLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRo
PSIuLlxwYWdlXE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwIg0KIAkJCQk+DQogCQkJ
PC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
M2Q1YmYzMmI1YTI5NGQ1NDU2NjZjMDIzZGYwM2Q1NDIzNjYzMjYwYS4uNGU2NzIyY2I1NmFmOWRh
YTMwNDgxYzUwNDNiYmJjYzlmNzQzMDI1MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTI2ODIsNiArMjY4Miw4IEBACiAJCUE3MTg3ODkwMEIyRDA0QUMw
MEExNkVDRSAvKiBEcmFnQ29udHJvbGxlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MTg3ODhGMEIyRDA0QUMwMEExNkVDRSAvKiBEcmFnQ29u
dHJvbGxlck1hYy5tbSAqLzsgfTsKIAkJQTczNTJDMTkwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRl
clNWR0Jsb2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3MzUyQzE3MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5jcHAgKi87IH07
CiAJCUE3MzUyQzFBMEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTczNTJDMTgwQjFCQjg5RDAw
QTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmggKi87IH07CisJCUE3NDVEMkU2MTFGNUIzNzkwMEFD
RDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc0NUQyRTMxMUY1QjM3OTAwQUNEMDIzIC8qIExh
eW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgKi87IH07CisJCUE3NDVEMkU3MTFGNUIzNzkwMEFD
RDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDVEMkU0MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmUuaCAqLzsgfTsKIAkJQTc1RTQ5NzYxMDc1MkFDQjAwQzlCODk2
IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTc1RTQ5NzQxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUE3NUU0OTc3MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RTQ5
NzUxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgKi87IH07CiAJ
CUE3NUU4Qjg4MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUJsZW5kLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU4QjgwMEUxREUyRDYwMDdGMjQ4MSAv
KiBGRUJsZW5kLmNwcCAqLzsgfTsKQEAgLTI2OTIsNiArMjY5NCw4IEBACiAJCUE3NUU4QjhEMEUx
REUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvbmVudFRyYW5zZmVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFOEI4NTBFMURFMkQ2MDA3RjI0ODEgLyog
RkVDb21wb25lbnRUcmFuc2Zlci5oICovOyB9OwogCQlBNzVFOEI4RTBFMURFMkQ2MDA3RjI0ODEg
LyogRkVDb21wb3NpdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTc1RThCODYwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmNwcCAqLzsg
fTsKIAkJQTc1RThCOEYwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFOEI4NzBFMURFMkQ2MDA3
RjI0ODEgLyogRkVDb21wb3NpdGUuaCAqLzsgfTsKKwkJQTc3NTU4RTMxMUY1QjYwMjAwQjQzQUMx
IC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NzU1OEUxMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xh
eW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgKi87IH07CisJCUE3NzU1OEU0MTFGNUI2MDIwMEI0
M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyQ29yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3NTU4RTIxMUY1QjYwMjAwQjQzQUMxIC8qIEpT
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggKi87IH07CiAJCUE3Nzk3OTE5MEQ2QjlEMEMwMDM4
NTFCOSAvKiBJbWFnZURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTc3OTc5MTMwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5jcHAgKi87
IH07CiAJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Nzk3OTE0MEQ2QjlEMEMwMDM4
NTFCOSAvKiBJbWFnZURhdGEuaCAqLzsgfTsKIAkJQTc3OTc5MjgwRDZCOUU2NDAwMzg1MUI5IC8q
IEpTSW1hZ2VEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3Nzk3OTI0MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5jcHAgKi87IH07
CkBAIC04NDAwLDYgKzg0MDQsOSBAQAogCQlBNzFBNzBDOTExQUZCMDIwMDA5ODlENkQgLyogSFRN
TE1ldGVyRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTE1ldGVyRWxlbWVu
dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MzUyQzE3MEIxQkI4OUQwMEE5
ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVuZGVyU1ZHQmxvY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNzM1MkMxODBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR0Jsb2NrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUE3NDVEMkUzMTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NDVEMkU0
MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRUZXN0Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBNzQ1RDJFNTExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENv
bnRyb2xsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IExheW91dFRlc3RDb250cm9sbGVy
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RTQ5NzQxMDc1MkFDQjAwQzlC
ODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTc1RTQ5NzUxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZXJpYWxpemVkU2NyaXB0
VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFOEI4MDBFMURFMkQ2
MDA3RjI0ODEgLyogRkVCbGVuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBGRUJsZW5kLmNwcDsgcGF0aCA9IGZpbHRlcnMvRkVCbGVuZC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC04NDEwLDYgKzg0MTcsOCBAQAogCQlBNzVFOEI4NTBFMURFMkQ2
MDA3RjI0ODEgLyogRkVDb21wb25lbnRUcmFuc2Zlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBGRUNvbXBvbmVudFRyYW5zZmVyLmg7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9u
ZW50VHJhbnNmZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODYwRTFE
RTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEZFQ29tcG9zaXRlLmNwcDsgcGF0aCA9IGZpbHRlcnMvRkVDb21wb3NpdGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFOEI4NzBFMURFMkQ2MDA3RjI0
ODEgLyogRkVDb21wb3NpdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRkVD
b21wb3NpdGUuaDsgcGF0aCA9IGZpbHRlcnMvRkVDb21wb3NpdGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTc3NTU4RTExMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENv
bnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNMYXlv
dXRUZXN0Q29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NzU1
OEUyMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc3OTc5MTMwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdl
RGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZURhdGEu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzc5NzkxNDBENkI5RDBDMDAzODUx
QjkgLyogSW1hZ2VEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdl
RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzc5NzkxNTBENkI5RDBDMDAz
ODUxQjkgLyogSW1hZ2VEYXRhLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJbWFnZURhdGEu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTIyNzMsNiArMTIyODIsOSBAQAog
CQk2NUJGMDIxODA5NzQ4MDYzMDBDNDMxOTYgLyogcGFnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQTc0NUQyRTMxMUY1QjM3OTAwQUNEMDIzIC8qIExh
eW91dFRlc3RDb250cm9sbGVyLmNwcCAqLywKKwkJCQlBNzQ1RDJFNDExRjVCMzc5MDBBQ0QwMjMg
LyogTGF5b3V0VGVzdENvbnRyb2xsZXIuaCAqLywKKwkJCQlBNzQ1RDJFNTExRjVCMzc5MDBBQ0Qw
MjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsICovLAogCQkJCTMxNkZFMTA2MEU2RTFEODQw
MEJGNjA4OCAvKiBhbmltYXRpb24gKi8sCiAJCQkJOTNDMDlBODIwQjA2NEYwNTAwNUFCRDREIC8q
IG1hYyAqLywKIAkJCQk4NTM4RjAwMDBBRDcxNzcwMDA2QTgxRDEgLyogQWJzdHJhY3RWaWV3Lmlk
bCAqLywKQEAgLTE1OTYxLDYgKzE1OTczLDggQEAKIAkJQkM5ODU0NDMwQ0QzRDlEMDAwMDY5QkMx
IC8qIFdpbmRvdyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJQTc3NTU4RTExMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3Bw
ICovLAorCQkJCUE3NzU1OEUyMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9s
bGVyLmggKi8sCiAJCQkJQkMxMjRFRkQwQzI2NDQ3QTAwOUUyMzQ5IC8qIEpTQmFySW5mby5jcHAg
Ki8sCiAJCQkJQkMxMjRFRkUwQzI2NDQ3QTAwOUUyMzQ5IC8qIEpTQmFySW5mby5oICovLAogCQkJ
CUJDOTg1NDNCMENEM0Q5OEIwMDA2OUJDMSAvKiBKU0NvbnNvbGUuY3BwICovLApAQCAtMTg3NDgs
NiArMTg3NjIsNyBAQAogCQkJCTQ5QzdCOTk2MTA0MkQyRDMwMDA5RDQ0NyAvKiBKU0ludDhBcnJh
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUM1RkFFRDIwRENGRDkwMTAwRDU4Rjc4IC8qIEpTSmF2
YVNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5RDMwOURBMkI0ODAw
OTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc3NTU4RTQx
MUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzNUY0NTQzMEY3QzNCNUYwMEQ3QzFGQiAvKiBKU0xhenlFdmVudExpc3RlbmVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0UxQzQzQzBEOTgzMEQzMDAzQjAyRjIgLyogSlNMb2NhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjE0MTkwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTTWVk
aWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCkBAIC0xOTAwMCw2ICsxOTAxNSw3IEBACiAJCQkJQTQ1
NkZBMjcxMUFENEE4MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk4NUVDOUFGQjBBNzFBMkM2MDBFRUVBRUQgLyogTGFuZ3VhZ2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTc0NUQyRTcxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOThGMDA4MjQ1RTU5MDAxRTlBQkMgLyogTGVn
YWN5SFRNTERvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOThFRjA4MjQ1
RTU5MDAxRTlBQkMgLyogTGVnYWN5SFRNTFRyZWVCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFNDk2MjZDMzBEODBEOTQ5MDBFMzQwNUMgLyogTGVnYWN5UHJlbG9hZFNjYW5uZXIuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjEyMTgsNiArMjEyMzQsNyBAQAogCQkJCTFDNUZBRUQxMERDRkQ5MDEw
MEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MUM1RkFFRTcwRENGREE2ODAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZUN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBODY2MjlENDA5REEyQjQ4MDA5NjMzQTUgLyogSlNLZXli
b2FyZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3NzU1OEUzMTFGNUI2MDIwMEI0M0FD
MSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNUY0
NTQyMEY3QzNCNUYwMEQ3QzFGQiAvKiBKU0xhenlFdmVudExpc3RlbmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDRTFDNDNCMEQ5ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDRTFDNDQwMEQ5ODMwRjQwMDNCMDJGMiAvKiBKU0xvY2F0aW9uQ3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjE1MDgsNiArMjE1MjUsNyBAQAogCQkJCUE0NTZG
QTI2MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5MzUyMDg0NTA5QkQ0M0I5MDBGMjAzOEQgLyogTGFuZ3VhZ2UubW0gaW4gU291cmNlcyAq
LywKIAkJCQkyRDkwNjYwNjBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQTc0NUQyRTYxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250
cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjE5QTlDMDgyNDVFNTkwMDFFOUFCQyAv
KiBMZWdhY3lIVE1MRG9jdW1lbnRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMTlB
OUIwODI0NUU1OTAwMUU5QUJDIC8qIExlZ2FjeUhUTUxUcmVlQnVpbGRlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlFNDk2MjZDMjBEODBEOTQ4MDBFMzQwNUMgLyogTGVnYWN5UHJlbG9hZFNjYW5u
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93U2hlbGwuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxs
LmNwcAppbmRleCA2NTA5NmI5M2MwNmQ4MzdhNDE0YWQ3YTgzZmI2YTYxOWQyMTdmYWZmLi45Yjdk
N2EzZDFkNTVhNWVlMzI2NzA0NGI3YzAxYzJhNjc1ODc5NzJjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dTaGVsbC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgIkZy
YW1lLmgiCiAjaW5jbHVkZSAiSlNET01XaW5kb3cuaCIKKyNpbmNsdWRlICJKU0xheW91dFRlc3RD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29u
dHJvbGxlci5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNPYmplY3QuaD4KQEAgLTQ2LDYgKzQ3LDcg
QEAgY29uc3QgQ2xhc3NJbmZvIEpTRE9NV2luZG93U2hlbGw6OnNfaW5mbyA9IHsgIkpTRE9NV2lu
ZG93U2hlbGwiLCAwLCAwLCAwIH07CiBKU0RPTVdpbmRvd1NoZWxsOjpKU0RPTVdpbmRvd1NoZWxs
KFBhc3NSZWZQdHI8RE9NV2luZG93PiB3aW5kb3csIERPTVdyYXBwZXJXb3JsZCogd29ybGQpCiAg
ICAgOiBCYXNlKEpTRE9NV2luZG93U2hlbGw6OmNyZWF0ZVN0cnVjdHVyZShqc051bGwoKSkpCiAg
ICAgLCBtX3dpbmRvdygwKQorICAgICwgbV9sYXlvdXRUZXN0Q29udHJvbGxlcigwKQogICAgICwg
bV93b3JsZCh3b3JsZCkKIHsKICAgICBzZXRXaW5kb3cod2luZG93KTsKQEAgLTY5LDYgKzcxLDE2
IEBAIHZvaWQgSlNET01XaW5kb3dTaGVsbDo6c2V0V2luZG93KFBhc3NSZWZQdHI8RE9NV2luZG93
PiBkb21XaW5kb3cpCiAgICAgc2V0V2luZG93KGpzRE9NV2luZG93KTsKIH0KIAorSlNPYmplY3Qq
IEpTRE9NV2luZG93U2hlbGw6OmxheW91dFRlc3RDb250cm9sbGVyKCkKK3sKKyAgICBpZiAoIW1f
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gd2luZG93
KCktPmdsb2JhbEV4ZWMoKTsKKyAgICAgICAgbV9sYXlvdXRUZXN0Q29udHJvbGxlciA9IHRvSlMo
ZXhlYywgd2luZG93KCksIHdpbmRvdygpLT5pbXBsKCktPmxheW91dFRlc3RDb250cm9sbGVyKCkp
LnRvT2JqZWN0KGV4ZWMpOworICAgIH0KKworICAgIHJldHVybiBtX2xheW91dFRlc3RDb250cm9s
bGVyOworfQorCiAvLyAtLS0tCiAvLyBKU09iamVjdCBtZXRob2RzCiAvLyAtLS0tCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaCBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCmluZGV4IDg4ODMyNWQwM2ZjYzhmMzRjOWUzM2Fh
MjVmYWFkMDMzMjU0ODNmNzEuLjJjZWM3ZDdmM2M1MjY3MTA3ZmFkNTk1YzM5ZjRjYjhiMjFlNGM2
NzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCkBAIC01Miw2ICs1Miw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgfQogICAgICAgICB2b2lkIHNldFdpbmRv
dyhQYXNzUmVmUHRyPERPTVdpbmRvdz4pOwogCisgICAgICAgIEpTQzo6SlNPYmplY3QqIGxheW91
dFRlc3RDb250cm9sbGVyKCk7CisKICAgICAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJbmZv
IHNfaW5mbzsKIAogICAgICAgICBET01XaW5kb3cqIGltcGwoKSBjb25zdDsKQEAgLTg2LDYgKzg4
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGNvbnN0IEpTQzo6Q2xh
c3NJbmZvKiBjbGFzc0luZm8oKSBjb25zdCB7IHJldHVybiAmc19pbmZvOyB9CiAKICAgICAgICAg
SlNET01XaW5kb3cqIG1fd2luZG93OworICAgICAgICBKU0M6OkpTT2JqZWN0KiBtX2xheW91dFRl
c3RDb250cm9sbGVyOwogICAgICAgICBSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiBtX3dvcmxkOwog
ICAgIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxl
ci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDk4
MDIyZDliMzViZDRjMjlkZjFkY2U0ZWNkYmNmMWM4M2M0Y2UyYzguLjk4OTkyMDcyMjVkMWNlNGY3
Mzc4ZjFhM2ZmMDAyYTUwNzQ5NzMwZjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyLmNwcApAQCAtNTA2LDQgKzUwNiw5IEBAIFNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xs
ZXI6OmV4ZWN1dGVTY3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorSlNPYmplY3QqIFNjcmlwdENvbnRyb2xsZXI6OmxheW91
dFRlc3RDb250cm9sbGVyKERPTVdyYXBwZXJXb3JsZCogd29ybGQpCit7CisgICAgcmV0dXJuIHdp
bmRvd1NoZWxsKHdvcmxkKS0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCA4
MDE1NWU0YjkzNTBmYzg0YjMyNDFkM2UzMzdmMDRkMjQ2OWRiZDk2Li43MzIxMzM4MTQxZTc3OTkx
YmE4MWE5NDdiYTViZGQ1Zjg2ZTEyNjZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRy
b2xsZXIuaApAQCAtOTAsNiArOTAsOCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4g
d2luZG93U2hlbGwod29ybGQpLT53aW5kb3coKTsKICAgICB9CisgICAgCisgICAgSlNDOjpKU09i
amVjdCogbGF5b3V0VGVzdENvbnRyb2xsZXIoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCk7CiAKICAg
ICBzdGF0aWMgdm9pZCBnZXRBbGxXb3JsZHMoVmVjdG9yPERPTVdyYXBwZXJXb3JsZCo+Jik7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAKaW5kZXggYWQ2MzVhNmM2MDMwNjNiYjhjMzllYmI2MmUwMTQxYjMzOTkzODZk
Ni4uODZlZjhkYTU1YWRiYmNmOGExYmZmM2QzODNkODQ5ZDJjYzRmODc5MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5j
cHAKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNsdWRlICJJbmRleGVkRGF0YWJhc2VSZXF1ZXN0Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRp
bWVsaW5lQWdlbnQuaCIKKyNpbmNsdWRlICJMYXlvdXRUZXN0Q29udHJvbGxlci5oIgogI2luY2x1
ZGUgIkxvY2F0aW9uLmgiCiAjaW5jbHVkZSAiU3R5bGVNZWRpYS5oIgogI2luY2x1ZGUgIk1lc3Nh
Z2VFdmVudC5oIgpAQCAtNTkyLDYgKzU5MywxMyBAQCBMb2NhdGlvbiogRE9NV2luZG93Ojpsb2Nh
dGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1fbG9jYXRpb24uZ2V0KCk7CiB9CiAKK0xheW91dFRl
c3RDb250cm9sbGVyKiBET01XaW5kb3c6OmxheW91dFRlc3RDb250cm9sbGVyKCkgY29uc3QKK3sK
KyAgICBpZiAoIW1fbGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIG1fbGF5b3V0VGVzdENv
bnRyb2xsZXIgPSBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y3JlYXRlKG1fZnJhbWUpOworICAgIHJl
dHVybiBtX2xheW91dFRlc3RDb250cm9sbGVyLmdldCgpOworfQorCiAjaWYgRU5BQkxFKERPTV9T
VE9SQUdFKQogU3RvcmFnZSogRE9NV2luZG93OjpzZXNzaW9uU3RvcmFnZShFeGNlcHRpb25Db2Rl
JiBlYykgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCA2OWQ3NDI4ODRmZTliNWIzYTMwYWFlNDMyOGM5
OGY2ODAzMTI1ZmZmLi41MmEyNmI2MGNjMDE3NGFhZDEwODc0ZjQzMDg5NDlkYzllNWQzMWE5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oCkBAIC01NSw2ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBIaXN0b3J5OwogICAgIGNsYXNzIEluZGV4ZWREYXRhYmFzZVJlcXVlc3Q7CiAgICAgY2xhc3Mg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKKyAgICBjbGFzcyBMYXlvdXRUZXN0Q29udHJvbGxlcjsK
ICAgICBjbGFzcyBMb2NhdGlvbjsKICAgICBjbGFzcyBTdHlsZU1lZGlhOwogICAgIGNsYXNzIE5h
dmlnYXRvcjsKQEAgLTM3OSw2ICszODAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IERPTUFwcGxpY2F0aW9uQ2FjaGUqIG9wdGlvbmFsQXBwbGljYXRpb25DYWNoZSgpIGNvbnN0IHsg
cmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZS5nZXQoKTsgfQogI2VuZGlmCiAKKyAgICAgICAgTGF5
b3V0VGVzdENvbnRyb2xsZXIqIGxheW91dFRlc3RDb250cm9sbGVyKCkgY29uc3Q7CisKICAgICAg
ICAgdXNpbmcgUmVmQ291bnRlZDxET01XaW5kb3c+OjpyZWY7CiAgICAgICAgIHVzaW5nIFJlZkNv
dW50ZWQ8RE9NV2luZG93Pjo6ZGVyZWY7CiAKQEAgLTQwOSw2ICs0MTIsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAjaWYgRU5BQkxFKFdFQl9USU1JTkcpCiAgICAgICAgIG11dGFibGUgUmVmUHRy
PFBlcmZvcm1hbmNlPiBtX3BlcmZvcm1hbmNlOwogI2VuZGlmCisgICAgICAgIG11dGFibGUgUmVm
UHRyPExheW91dFRlc3RDb250cm9sbGVyPiBtX2xheW91dFRlc3RDb250cm9sbGVyOwogICAgICAg
ICBtdXRhYmxlIFJlZlB0cjxMb2NhdGlvbj4gbV9sb2NhdGlvbjsKICAgICAgICAgbXV0YWJsZSBS
ZWZQdHI8U3R5bGVNZWRpYT4gbV9tZWRpYTsKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9w
YWdlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ODNkZGZhYjE0NTc2OGZj
Nzk2NTgxMzlmNTc5NDQxNGVkNDRkOWM4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdl
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJMYXlvdXRUZXN0Q29udHJvbGxlci5oIgorCisjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiTm9kZS5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRnJhbWUq
IExheW91dFRlc3RDb250cm9sbGVyOjpmcmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZnJh
bWU7Cit9CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCit7
CisgICAgbV9mcmFtZSA9IDA7Cit9CisKK2ludCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZG9jdW1l
bnRNYXJrZXJTaXplRm9yTm9kZShOb2RlKiwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7Cisg
ICAgaWYgKCF2ZXJpZnlDb25uZWN0ZWQoZWMpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8v
IEZJWE1FOiBpbXBsZW1lbnQKKyAgICByZXR1cm4gMDsKK30KKworU3RyaW5nIExheW91dFRlc3RD
b250cm9sbGVyOjpkb2N1bWVudE1hcmtlclN0cmluZ0Zvck5vZGVBdChOb2RlKiwgaW50LCBFeGNl
cHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIXZlcmlmeUNvbm5lY3RlZChlYykpCisg
ICAgICAgIHJldHVybiAiIjsKKworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyAgICByZXR1cm4g
IiI7Cit9CisKK0xheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihGcmFt
ZSogZnJhbWUpCisgICAgOiBtX2ZyYW1lKGZyYW1lKQoreworfQorCitib29sIExheW91dFRlc3RD
b250cm9sbGVyOjp2ZXJpZnlDb25uZWN0ZWQoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7Cisg
ICAgaWYgKCFtX2ZyYW1lKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENv
bnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk1Njg0MzUxNjRiMTk2OGE0MzRhMGFhY2UxMzY0N2QwYjQ5MTBkYzUKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMCwwICsxLDY0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgTGF5b3V0VGVzdENvbnRyb2xsZXJfaAorI2RlZmluZSBMYXlvdXRUZXN0Q29u
dHJvbGxlcl9oCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBGcmFtZTsKK2NsYXNzIE5vZGU7CitjbGFzcyBTdHJpbmc7Cit0eXBlZGVm
IGludCBFeGNlcHRpb25Db2RlOworCitjbGFzcyBMYXlvdXRUZXN0Q29udHJvbGxlciA6IHB1Ymxp
YyBSZWZDb3VudGVkPExheW91dFRlc3RDb250cm9sbGVyPiB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8TGF5b3V0VGVzdENvbnRyb2xsZXI+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsg
cmV0dXJuIGFkb3B0UmVmKG5ldyBMYXlvdXRUZXN0Q29udHJvbGxlcihmcmFtZSkpOyB9CisKKyAg
ICBGcmFtZSogZnJhbWUoKSBjb25zdDsKKyAgICB2b2lkIGRpc2Nvbm5lY3RGcmFtZSgpOworCisg
ICAgaW50IGRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKSBj
b25zdDsKKyAgICBTdHJpbmcgZG9jdW1lbnRNYXJrZXJTdHJpbmdGb3JOb2RlQXQoTm9kZSosIGlu
dCwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworCitwcml2YXRlOgorICAgIGJvb2wgdmVyaWZ5Q29u
bmVjdGVkKEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICBMYXlvdXRUZXN0Q29udHJvbGxlcihG
cmFtZSopOworCisgICAgRnJhbWUqIG1fZnJhbWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBMYXlvdXRUZXN0Q29udHJvbGxlcl9oCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsIGIvV2ViQ29yZS9wYWdlL0xheW91dFRl
c3RDb250cm9sbGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDNiNDRmNTE3ZTZjMzlhM2IxZDgxYzYyNGQ0
NDdjZDA2ZTdjODRhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RD
b250cm9sbGVyLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAgaW50
ZXJmYWNlIFtPbWl0Q29uc3RydWN0b3JdIExheW91dFRlc3RDb250cm9sbGVyIHsKKyAgICAgICAg
bG9uZyBkb2N1bWVudE1hcmtlclNpemVGb3JOb2RlKGluIE5vZGUgbm9kZSkgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CisgICAgICAgIERPTVN0cmluZyBkb2N1bWVudE1hcmtlclN0cmluZ0Zvck5vZGVB
dChpbiBOb2RlIG5vZGUsIGluIGxvbmcgaW5kZXgpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAg
IH07CisKK30KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggN2JkNmI0NzZjMDNlYWIyOTI2Njg2ODNhZDg4YmE4YWIwM2E4MzA3OS4u
ODExNjkzMDVkZGE1Y2Y3ZjJjNjE3NGZlYjFjODZjMTU3OWM3ZDljZiAxMDA2NDQKLS0tIGEvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBEUlQgc2hvdWxkIGFsbG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBp
bnRlcm5hbCBzdGF0ZXMgZm9yIHNldHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2MTIKKworICAgICAgICBBZGRlZCBhbiBh
Y2Nlc3NvciBmb3IgYW4gSmF2YVNjcmlwdCBvYmplY3Qgd2hpY2ggd3JhcHMgV2ViQ29yZTo6TGF5
b3V0VGVzdENvbnRyb2xsZXIuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lLm1tOgorICAg
ICAgICAoLVtXZWJGcmFtZSBsYXlvdXRUZXN0Q29udHJvbGxlcl0pOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViRnJhbWVQcml2YXRlLmg6CisKIDIwMTAtMDctMjIgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KZGlmZiAt
LWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbSBiL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJGcmFtZS5tbQppbmRleCBiNzFkNTAxZGZjZmE5YjE3OTUxNzQ4Y2VkZjVhOTIyOGExMWY2
ZWVkLi4zYTIwMDk1YzgzMjRkZTdjNGRhZDM2YzBhNzA0NmZiZDMyMjZjZjUxIDEwMDY0NAotLS0g
YS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkZyYW1lLm1tCkBAIC0xMzQwLDYgKzEzNDAsMTYgQEAgc3RhdGljIGlubGluZSBXZWJEYXRh
U291cmNlICpkYXRhU291cmNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgcmV0dXJuIGNv
cmVGcmFtZS0+bGF5ZXJUcmVlQXNUZXh0KCk7CiB9CiAKKy0gKEpTVmFsdWVSZWYpbGF5b3V0VGVz
dENvbnRyb2xsZXIKK3sKKyAgICBGcmFtZSogY29yZUZyYW1lID0gX3ByaXZhdGUtPmNvcmVGcmFt
ZTsKKyAgICBpZiAoIWNvcmVGcmFtZSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgRE9NV3JhcHBl
cldvcmxkKiB3b3JsZCA9IG1haW5UaHJlYWROb3JtYWxXb3JsZCgpOworICAgIEpTQzo6RXhlY1N0
YXRlKiBleGVjID0gY29yZUZyYW1lLT5zY3JpcHQoKS0+Z2xvYmFsT2JqZWN0KHdvcmxkKS0+Z2xv
YmFsRXhlYygpOworICAgIHJldHVybiB0b1JlZihleGVjLCBKU1ZhbHVlKGNvcmVGcmFtZS0+c2Ny
aXB0KCktPmxheW91dFRlc3RDb250cm9sbGVyKG1haW5UaHJlYWROb3JtYWxXb3JsZCgpKSkpOwor
fQorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJGcmFtZQpkaWZmIC0tZ2l0IGEvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZy
YW1lUHJpdmF0ZS5oCmluZGV4IDBiZGE5NjZhYmJkZmM5NDdjNjIxZDQxNDI5ZmI4ZjdiOTcwMDhk
YmQuLmZjOWU3MzNhZmE5MzI3OTliZjVkMWJkOTU3YTRhNGExNjkyOGMwMTggMTAwNjQ0Ci0tLSBh
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViRnJhbWVQcml2YXRlLmgKQEAgLTEzNiw0ICsxMzYsNyBAQCB0eXBlZGVmIGVudW0g
ewogCiAtIChOU1N0cmluZyopX2xheWVyVHJlZUFzVGV4dDsKIAorLy8gUmV0dXJucyBhc3NvY2lh
dGVkIExheW91dFRlc3RDb250cm9sbGVyIG9iamVjdCAKKy0gKEpTVmFsdWVSZWYpbGF5b3V0VGVz
dENvbnRyb2xsZXI7CisKIEBlbmQKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBi
L1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCBlYjc1Y2E1ZjI1MjE5MmVkZmYzNTlkZThkNjM3
NGVhYWMwNTA2M2U4Li5jM2EwZWNiN2VlMmMwMDFkOTAxZGM3YzA2NzRlMTBhMTA1OTVmNzNhIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDctMjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRh
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRXh0ZW5kZWQgTGF5b3V0VGVzdENvbnRyb2xsZXIgb2JqZWN0IGJ5IGFkZGluZyBkZWxn
YXRpb24gbWV0aG9kcworICAgICAgICBmb3IgV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXIu
CisgICAgICAgIE5vdyB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgaGFzIG1ldGhvZHMgZGVm
aW5lZCBpbgorICAgICAgICBXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlci4KKworICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjptYWtlRGVsZWdhdGlvbk1ldGhvZHMpOgorICAgICAgICAoTGF5
b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
bWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tOgorICAgICAgICAoLVtGcmFtZUxvYWREZWxlZ2F0ZSBk
aWRDbGVhcldpbmRvd09iamVjdEluU3RhbmRhcmRXb3JsZEZvckZyYW1lOl0pOgorCiAyMDEwLTA3
LTI2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDZhOTU3YzEyNmVmNjE3NzFhMjg2YjBlZGZkMzRiNzMw
YWM1NjhiMmIuLjRkMWZkMzE4NGE5YTFhZmMyYjU4Y2Y0OGRhMzk2Y2I3NjMyZTc5OWEgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5j
cHAKQEAgLTE2OTUsOSArMTY5NSwyOCBAQCBzdGF0aWMgdm9pZCBsYXlvdXRUZXN0Q29udHJvbGxl
ck9iamVjdEZpbmFsaXplKEpTT2JqZWN0UmVmIG9iamVjdCkKICAgICBjb250cm9sbGVyLT5kZXJl
ZigpOwogfQogCitzdGF0aWMgY29uc3QgY2hhciBzZXR1cExheW91dFRlc3RDb250cm9sbGVyU2Ny
aXB0W10gPSAKKyAgICAiZnVuY3Rpb24gZGVsZWdhdGUoZHN0LCBzcmMsIG5hbWUpIHsgZHN0W25h
bWVdID0gZnVuY3Rpb24oKSB7IHJldHVybiBzcmNbbmFtZV0uYXBwbHkoc3JjLCBhcmd1bWVudHMp
OyB9IH1cbiIKKyAgICAiZm9yICh2YXIgbmFtZSBpbiB0aGlzLndlYkNvcmVMYXlvdXRUZXN0Q29u
dHJvbGxlcikge1xuIgorICAgICIgICAgZGVsZWdhdGUodGhpcywgdGhpcy53ZWJDb3JlTGF5b3V0
VGVzdENvbnRyb2xsZXIsIG5hbWUpO1xuIgorICAgICJ9XG4iOworCit2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjptYWtlRGVsZWdhdGlvbk1ldGhvZHMoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
T2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTVmFsdWVSZWYgd2ViQ29yZUxheW91dFRlc3RDb250cm9s
bGVyT2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IHdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlclN0cihBZG9wdCwgSlNTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoIndlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlciIpKTsKKyAg
ICBKU09iamVjdFNldFByb3BlcnR5KGNvbnRleHQsIHRoaXNPYmplY3QsIHdlYkNvcmVMYXlvdXRU
ZXN0Q29udHJvbGxlclN0ci5nZXQoKSwgd2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVyT2JqZWN0
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZU5vbmUsIGV4Y2VwdGlvbik7CisgICAgQVNTRVJUKCEqZXhj
ZXB0aW9uKTsKKworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiB1cmxTdHIoQWRvcHQsIEpT
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJzZXR1cF9sYXlvdXRfdGVzdF9jb250cm9sbGVy
X3Rlc3QuanMiKSk7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHNjcmlwdFN0cihBZG9w
dCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoc2V0dXBMYXlvdXRUZXN0Q29udHJvbGxl
clNjcmlwdCkpOworICAgIEFTU0VSVCghKmV4Y2VwdGlvbik7CisgICAgSlNFdmFsdWF0ZVNjcmlw
dChjb250ZXh0LCBzY3JpcHRTdHIuZ2V0KCksIHRoaXNPYmplY3QsIHVybFN0ci5nZXQoKSwgMSwg
ZXhjZXB0aW9uKTsKKyAgICBBU1NFUlQoISpleGNlcHRpb24pOworfQorCiAvLyBPYmplY3QgQ3Jl
YXRpb24KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZVdpbmRvd09iamVjdChKU0Nv
bnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2luZG93T2JqZWN0LCBKU1ZhbHVlUmVmKiBl
eGNlcHRpb24pCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtlV2luZG93T2JqZWN0KEpT
Q29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYq
IGV4Y2VwdGlvbiwgSlNWYWx1ZVJlZiB3ZWJDb3JlbGF5b3V0VGVzdENvbnRvbGxlcikKIHsKICAg
ICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gbGF5b3V0VGVzdENvbnRvbGxlclN0cihBZG9wdCwg
SlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImxheW91dFRlc3RDb250cm9sbGVyIikpOwog
ICAgIHJlZigpOwpAQCAtMTcwNiw2ICsxNzI1LDkgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6bWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2kK
ICAgICBKU1ZhbHVlUmVmIGxheW91dFRlc3RDb250b2xsZXJPYmplY3QgPSBKU09iamVjdE1ha2Uo
Y29udGV4dCwgY2xhc3NSZWYsIHRoaXMpOwogICAgIEpTQ2xhc3NSZWxlYXNlKGNsYXNzUmVmKTsK
IAorICAgIGlmICh3ZWJDb3JlbGF5b3V0VGVzdENvbnRvbGxlcikKKyAgICAgICAgbWFrZURlbGVn
YXRpb25NZXRob2RzKGNvbnRleHQsIEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBsYXlvdXRUZXN0
Q29udG9sbGVyT2JqZWN0LCBleGNlcHRpb24pLCB3ZWJDb3JlbGF5b3V0VGVzdENvbnRvbGxlciwg
ZXhjZXB0aW9uKTsKKwogICAgIEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwgd2luZG93T2Jq
ZWN0LCBsYXlvdXRUZXN0Q29udG9sbGVyU3RyLmdldCgpLCBsYXlvdXRUZXN0Q29udG9sbGVyT2Jq
ZWN0LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlLCBleGNlcHRpb24pOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCAzMGViOWJkNGY4NDRkNGNhOWMzZWVj
YWI3YzY2ZWQwZTc3OTM4NzhmLi4wNmIzOWNkNjhiNTRhNGZmOTgxNTMwYzk2ZjUwNjk2ZjgwZTNj
NzhmIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250
cm9sbGVyLmgKQEAgLTQyLDcgKzQyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PExheW91dFRlc3RDb250cm9sbGVyPiBjcmVhdGUoY29uc3Qgc3RkOjpzdHJpbmcmIHRlc3RQYXRo
T3JVUkwsIGNvbnN0IHN0ZDo6c3RyaW5nJiBleHBlY3RlZFBpeGVsSGFzaCk7CiAgICAgfkxheW91
dFRlc3RDb250cm9sbGVyKCk7CiAKLSAgICB2b2lkIG1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0
aW9uKTsKKyAgICB2b2lkIG1ha2VEZWxlZ2F0aW9uTWV0aG9kcyhKU0NvbnRleHRSZWYgY29udGV4
dCwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgSlNWYWx1ZVJlZiB3ZWJDb3JlTGF5b3V0VGVzdENv
bnRyb2xsZXIsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CisgICAgdm9pZCBtYWtlV2luZG93T2Jq
ZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmplY3QsIEpTVmFs
dWVSZWYqIGV4Y2VwdGlvbiwgSlNWYWx1ZVJlZiB3ZWJDb3JlbGF5b3V0VGVzdENvbnRvbGxlciA9
IDApOwogCiAgICAgdm9pZCBhZGREaXNhbGxvd2VkVVJMKEpTU3RyaW5nUmVmIHVybCk7CiAgICAg
dm9pZCBjbGVhckFsbERhdGFiYXNlcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCmluZGV4IDk2M2VhZTcwZmE1OWQ4MWVmY2Zl
YjhhYjFlODgzNmM1NTdjN2FjY2QuLjE4ZDlkYWM0NDBlMzlmOGFkMzU5MWQ2MzMzOTcyZDI1N2Ri
NjE5NDEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxv
YWREZWxlZ2F0ZS5tbQorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVM
b2FkRGVsZWdhdGUubW0KQEAgLTI0NSw3ICsyNDUsOCBAQAogICAgIEpTVmFsdWVSZWYgZXhjZXB0
aW9uID0gMDsKIAogICAgIEFTU0VSVChnTGF5b3V0VGVzdENvbnRyb2xsZXIpOwotICAgIGdMYXlv
dXRUZXN0Q29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCBnbG9iYWxPYmplY3Qs
ICZleGNlcHRpb24pOworICAgIEpTVmFsdWVSZWYgd2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVy
ID0gW2ZyYW1lIGxheW91dFRlc3RDb250cm9sbGVyXTsKKyAgICBnTGF5b3V0VGVzdENvbnRyb2xs
ZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uLCB3
ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXIpOwogICAgIEFTU0VSVCghZXhjZXB0aW9uKTsKIAog
ICAgIGdjQ29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCBnbG9iYWxPYmplY3Qs
ICZleGNlcHRpb24pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62801</attachid>
            <date>2010-07-28 01:35:50 -0700</date>
            <delta_ts>2010-07-28 02:21:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42612-20100728173548.patch</filename>
            <type>text/plain</type>
            <size>54366</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggNGIzNjNhYTY3MDY4MjhiY2U4NDhkOGZjNWY1MWUzNmU5Y2VlM2Q0NS4u
MmQ2MzhhMDQ5MzhkZGQ2YWRjMTM1YTk0YjJhZDA4M2Y3OGMyNWJmZiAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
SmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQyLDkgKzQyLDE0IEBAIEVOQUJMRV8zRF9SRU5ERVJJTkdfMTA1MCA9IEVOQUJMRV8zRF9SRU5E
RVJJTkc7CiBFTkFCTEVfM0RfUkVOREVSSU5HXzEwNjAgPSBFTkFCTEVfM0RfUkVOREVSSU5HOwog
RU5BQkxFXzNEX1JFTkRFUklOR18xMDcwID0gRU5BQkxFXzNEX1JFTkRFUklORzsKIAorRU5BQkxF
X0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExFUl9EZWJ1ZyA9IEVOQUJMRV9DT1JFX0xBWU9VVF9U
RVNUX0NPTlRST0xMRVI7CitFTkFCTEVfQ09SRV9MQVlPVVRfVEVTVF9DT05UUk9MTEVSX1JlbGVh
c2UgPSBFTkFCTEVfQ09SRV9MQVlPVVRfVEVTVF9DT05UUk9MTEVSOworRU5BQkxFX0NPUkVfTEFZ
T1VUX1RFU1RfQ09OVFJPTExFUl9Qcm9kdWN0aW9uID0gOworCiBFTkFCTEVfQkxPQl9TTElDRSA9
IEVOQUJMRV9CTE9CX1NMSUNFOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTiA9IEVOQUJM
RV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT047CitFTkFCTEVfQ09SRV9MQVlPVVRfVEVTVF9DT05U
Uk9MTEVSID0gJChFTkFCTEVfQ09SRV9MQVlPVVRfVEVTVF9DT05UUk9MTEVSXyQoQ09ORklHVVJB
VElPTikpOwogRU5BQkxFX0RBVEFCQVNFID0gRU5BQkxFX0RBVEFCQVNFOwogRU5BQkxFX0RBVEFH
UklEID0gOwogRU5BQkxFX0RBVEFMSVNUID0gRU5BQkxFX0RBVEFMSVNUOwpAQCAtODUsNCArOTAs
NCBAQCBFTkFCTEVfWEhUTUxNUCA9IDsKIEVOQUJMRV9YUEFUSCA9IEVOQUJMRV9YUEFUSDsKIEVO
QUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9CTE9CX1NMSUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFU
QUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9F
VkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9SRUFERVIpICQoRU5B
QkxFX0ZJTEVfV1JJVEVSKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTUFHRV9SRVNJWkVSKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1BST0dSRVNTX1RBRykg
JChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0FOREJPWCkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMp
ICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lN
QUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgp
ICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRD
SCkgJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JM
T0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFT
RURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExFUikgJChF
TkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVO
QUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMp
ICQoRU5BQkxFX0ZJTEVfUkVBREVSKSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJM
RV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RB
RykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJ
T05TKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRC
T1gpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19B
TklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJ
TkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkg
JChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5B
QkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMTc4
Yjk5ZDEzZTMzNTFlNDY4NWZlNmI5NTg5MjY5YzZhYTM1MTc4Li4wZjczZDkwZDFiOWM1MGFlYWIx
MzExOTU1NDI5ZDE4MGM0YTRhZmZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDctMjEg
IE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxvdyB0ZXN0IHNjcmlw
dHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1cC92ZXJpZmljYXRp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEy
CisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1sYXlvdXQt
dGVzdC1jb250cm9sbGVyLXdlYmNvcmUuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dp
bmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250
cm9sbGVyLXdlYmNvcmUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgor
ICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Nr
aXBwZWQ6CisKIDIwMTAtMDctMjcgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQ7IHJlbW92ZSBwbGF0Zm9ybS1zcGVjaWZpYyBleHBlY3RlZCByZXN1
bHRzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0
cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmpzIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxl
ci13ZWJjb3JlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhM2NlYmE0YTdiNmVmMTE4NWFmOTQzYTgwZmVjYzMw
MmEyNDBhZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
c2NyaXB0LXRlc3RzL3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuanMKQEAg
LTAsMCArMSw3IEBACitkZXNjcmlwdGlvbigid2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIHNo
b3VsZCBoYXZlIGZ1bmN0aW9ucyBkZWZpbmVkIGluIExheW91dFRlc3RDb250cm9sbGVyLmlkbCIp
Oword2luZG93Lm5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIik7CitzaG91bGRCZVRy
dWUoInVuZGVmaW5lZCAhPSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIiKTsKK3Nob3VsZEJl
VHJ1ZSgidW5kZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kb2N1bWVudE1h
cmtlclNpemVGb3JOb2RlIik7CitzaG91bGRCZVRydWUoIjAgPT0gd2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyLmRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUod2luZG93Lm5vZGUpIik7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1j
b250cm9sbGVyLXdlYmNvcmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmNmZmZmQyMzE1ZDRj
N2FiMmY3NGVmNmE5YWRjOTQwN2M3NjlmZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAord2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
IHNob3VsZCBoYXZlIGZ1bmN0aW9ucyBkZWZpbmVkIGluIExheW91dFRlc3RDb250cm9sbGVyLmlk
bAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB1bmRlZmluZWQgIT0gd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyIGlzIHRydWUKK1BBU1MgdW5kZWZpbmVkICE9IHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlci5kb2N1bWVudE1hcmtlclNpemVGb3JOb2RlIGlzIHRydWUK
K1BBU1MgMCA9PSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYXJrZXJTaXpl
Rm9yTm9kZSh3aW5kb3cubm9kZSkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2Vi
Y29yZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2ZWI2ODllY2VlODU5ODgyYzRlMTgwNzFjOTNmNDJlOWRh
YmRjYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggNjdkOTU0NTQwMTNjYjZhYWIzM2EyMjNlOTRm
M2YyODgzMzkyYTkwZS4uNDM2NDEwYTcwMzE4MTJkZTE0OTg4YWY3Yjg0ZjNhNjZkNzUxNjIwMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dApAQCAtMzEyMiw2ICszMTIyLDggQEAgQlVHV0s0Mjg0NSA6IGh0bWw1bGliL3J1bm5l
ci5odG1sID0gVEVYVAogQlVHV0s0Mjc2OSA6IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVt
ZW1iZXItYmFkLXBhc3N3b3JkLmh0bWwgPSBURVhUCiBCVUdXSzQyNzY5IDogaHR0cC90ZXN0cy9z
ZWN1cml0eS80MDEtbG9nb3V0LzQwMS1sb2dvdXQucGhwID0gVElNRU9VVAogCitCVUdXSzQyNjEy
IDogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUu
aHRtbCA9IEZBSUwKKwogLy8gRmxha3kgc2luY2UgYXQgbGVhc3QgY2hyb21pdW0gcjUyODM0LCBX
ZWJLaXQgcjYzNjE1LgogQlVHNDk5NzAgOiBwbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2NhbGwt
YXMtZnVuY3Rpb24uaHRtbCA9IFBBU1MgVEVYVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmlu
ZGV4IDM4OTZmOGI0ODAwZWQzOGZkZWVkMmU0MDBiZDVhNDY1NDQ5MjY1NTkuLjY4ZGNhMDI4Y2I0
NTUzZDMyMTM2N2Q0MTgyN2ZhN2QyZjMxNjNlNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVk
CkBAIC01ODY2LDYgKzU4NjYsOSBAQCBlZGl0aW5nL3NlbGVjdGlvbi9kcmFnLXN0YXJ0LWV2ZW50
LWNsaWVudC14LXkuaHRtbAogIyBUZXN0cyB0aGF0IHJlcXVpcmUgZWRpdGluZyBkZWxlZ2F0ZSBk
dW1wcy4KIGVkaXRpbmcvcGFzdGVib2FyZC9kcm9wLWxpbmsuaHRtbAogCisjIGN1cnJlbnRseSBM
YXlvdXRUZXN0Q29udHJvbGxlckNvcmUgaXMgbm90IHN1cHBvcnRlZCBodHRwOi8vd2Via2l0Lm9y
Zy9iLzQyNjEyCitmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXIt
d2ViY29yZS5odG1sCisKICMgRmxha3kgZHVlIHRvIEpTQyBkZWJ1Z2dlciBpc3N1ZS4KICMgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMDM0CiBpbnNwZWN0b3IvZGVi
dWdnZXItYnJlYWtwb2ludHMtbm90LWFjdGl2YXRlZC1vbi1yZWxvYWQuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQKaW5kZXggYjNlZmZiZWE2ZmRjY2VmZDU4MDY2NWQ5NDY1MmY4ZmM3YTVkYjRi
ZS4uMGI2ODQ5YmI1YzhlMDMwODY3MjQ1YjQyZWYwYzg0MWU0NzQ3MDU5YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9Ta2lwcGVkCkBAIC01NDU3LDYgKzU0NTcsOSBAQCBodG1sNWxpYi9ydW5uZXIuaHRtbAog
ZmFzdC9mb3Jtcy9pbnRlcmFjdGl2ZS12YWxpZGF0aW9uLWxvc3QtZm9jdXNhYmxlLmh0bWwKIGZh
c3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1wcmV2ZW50ZWQuaHRtbAogCisjIGN1cnJl
bnRseSBMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUgaXMgbm90IHN1cHBvcnRlZCBodHRwOi8vd2Vi
a2l0Lm9yZy9iLzQyNjEyCitmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRy
b2xsZXItd2ViY29yZS5odG1sCisKICMgW1F0XSBSRUdSRVNTSU9OKDYzODYyKTogYW5pbWF0aW9u
cy9wbGF5LXN0YXRlLmh0bWwgZmFpbHMgaW50ZXJtaXR0ZW50bHkKICMgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODIxCiBhbmltYXRpb25zL3BsYXktc3RhdGUuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAyMjY5YjljYzU3MTAzY2RhY2QxNDBhODVj
MmJjZjc0NWI2OWI2MTRiLi5mNzNlMDYzNDllODNlNjMyNTllYTIyNDQ0ZTI3N2JmNTk0ZGY4NzJm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtOTQ5LDYgKzk0OSw5IEBAIHByaW50aW5n
L3NldFByaW50aW5nLmh0bWwKIGZhc3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1sb3N0
LWZvY3VzYWJsZS5odG1sCiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24tcHJldmVu
dGVkLmh0bWwKIAorIyBjdXJyZW50bHkgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIGlzIG5vdCBz
dXBwb3J0ZWQgaHR0cDovL3dlYmtpdC5vcmcvYi80MjYxMgorZmFzdC9kb20vV2luZG93L3dpbmRv
dy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuaHRtbAorCiAjIFdlYiBUaW1pbmcgaXMg
bm90IGVuYWJsZWQuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
MjQzNQogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNlLmh0bWwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDNiZmEwYTlmNzY2Yzk2OGM5Yzc1Y2QyZGJkNTcyNzUxM2VlMGYxYTkuLjgwMDk2
ZTVlMWMwMmQxMDY3NTkxNmY2ZGMzNDJkY2M4MzdkMmE3NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzEzLDYgKzMx
Myw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2UvR2VvcG9zaXRpb24uaWRsCiAg
ICAgcGFnZS9IaXN0b3J5LmlkbAogICAgIHBhZ2UvTG9jYXRpb24uaWRsCisgICAgcGFnZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5pZGwKICAgICBwYWdlL01lbW9yeUluZm8uaWRsCiAgICAgcGFnZS9O
YXZpZ2F0aW9uLmlkbAogICAgIHBhZ2UvTmF2aWdhdG9yLmlkbApAQCAtMTE1Miw2ICsxMTUzLDcg
QEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHBhZ2UvR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hl
LmNwcAogICAgIHBhZ2UvSGlzdG9yeS5jcHAKICAgICBwYWdlL0xvY2F0aW9uLmNwcAorICAgIHBh
Z2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCiAgICAgcGFnZS9NZW1vcnlJbmZvLmNwcAogICAg
IHBhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAKICAgICBwYWdlL05hdmlnYXRp
b24uY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IGY2YzdlZTQ0MGJiN2NkM2ZiNDZhZGQ2N2NiNmY0NTZjNDQ2ZDY0OTAuLjNjODU0OWVi
MzNmMGRiMDJkYmU5N2ZkYmRlMjdlZTdhOTdhMzM3Y2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIgQEAKKzIwMTAtMDct
MjEgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisgICAgICAgIAorICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQgc2hvdWxkIGFsbG93
IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9yIHNldHVw
L3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDI2MTIKKyAgICAgICAgCisgICAgICAgIEludHJvZHVjaW5nIFdlYkNvcmU6OkxheW91
dFRlc3RDb250cm9sbGVyLCB0aGF0IHdpbGwgaGF2ZSBXZWJDb3JlLXNpZGUKKyAgICAgICAgaW1w
bGVtZW50YXRpb24gb2YgTGF5b3V0VGVzdENvbnRyb2xsZXIuIFRoZSBpbnN0YW5jZSBpcyBvd25l
ZCBieQorICAgICAgICBET01XaW5kb3cuICBDdXJyZW50bHkgZG9jdW1lbnRNYWtlclNpemVGb3JO
b2RlKCkgYW5kCisgICAgICAgIGRvY3VtZW50TWFrZXJTdHJpbmdGb3JOb2RlQXQoKSBhcmUganVz
dCBhIHN0dWIuICBUaGVzZQorICAgICAgICBpbXBsZW1lbnRhdGlvbiB3aWxsIGNvbWUgbGF0ZXIu
CisgICAgICAgIAorICAgICAgICBXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlciBpcyBmb3Ig
dGVzdGluZywgc28gaXQgY2Fubm90IGluc3RhbnRpYXRlCisgICAgICAgIG9uIHByb2R1Y3Rpb24g
YnVpbGQuCisgICAgICAgIAorICAgICAgICBUZXN0OiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxh
eW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3Jl
LmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcmk6
CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dTaGVsbDo6SlNET01XaW5kb3dTaGVsbCk6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpsYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6
bGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRy
b2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpET01XaW5kb3c6OmxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBwYWdlL0RPTVdp
bmRvdy5oOgorICAgICAgICAqIHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyOjpmcmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZGlzY29ubmVjdEZyYW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyOjpkb2N1bWVudE1ha2VyU2l6ZUZvck5v
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OmRvY3VtZW50TWFr
ZXJTdHJpbmdGb3JOb2RlQXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xs
ZXI6OkxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFRlc3RD
b250cm9sbGVyOjp2ZXJpZnlDb25uZWN0ZWQpOgorICAgICAgICAqIHBhZ2UvTGF5b3V0VGVzdENv
bnRyb2xsZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxl
cjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmlkbDogQWRk
ZWQuCisKIDIwMTAtMDctMjYgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFNoaW5pY2hpcm8gSGFtYWppLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNGIzNjNhYTY3MDY4MjhiY2U4
NDhkOGZjNWY1MWUzNmU5Y2VlM2Q0NS4uMmQ2MzhhMDQ5MzhkZGQ2YWRjMTM1YTk0YjJhZDA4M2Y3
OGMyNWJmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZworKysgYi9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC00Miw5ICs0MiwxNCBAQCBFTkFCTEVfM0RfUkVOREVSSU5HXzEwNTAgPSBFTkFC
TEVfM0RfUkVOREVSSU5HOwogRU5BQkxFXzNEX1JFTkRFUklOR18xMDYwID0gRU5BQkxFXzNEX1JF
TkRFUklORzsKIEVOQUJMRV8zRF9SRU5ERVJJTkdfMTA3MCA9IEVOQUJMRV8zRF9SRU5ERVJJTkc7
CiAKK0VOQUJMRV9DT1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVJfRGVidWcgPSBFTkFCTEVfQ09S
RV9MQVlPVVRfVEVTVF9DT05UUk9MTEVSOworRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJP
TExFUl9SZWxlYXNlID0gRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExFUjsKK0VOQUJM
RV9DT1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVJfUHJvZHVjdGlvbiA9IDsKKwogRU5BQkxFX0JM
T0JfU0xJQ0UgPSBFTkFCTEVfQkxPQl9TTElDRTsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9
IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJ
T04gPSBFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OOworRU5BQkxFX0NPUkVfTEFZT1VU
X1RFU1RfQ09OVFJPTExFUiA9ICQoRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExFUl8k
KENPTkZJR1VSQVRJT04pKTsKIEVOQUJMRV9EQVRBQkFTRSA9IEVOQUJMRV9EQVRBQkFTRTsKIEVO
QUJMRV9EQVRBR1JJRCA9IDsKIEVOQUJMRV9EQVRBTElTVCA9IEVOQUJMRV9EQVRBTElTVDsKQEAg
LTg1LDQgKzkwLDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBBVEggPSBFTkFCTEVf
WFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQkxPQl9TTElDRSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJBU0UpICQo
RU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkg
JChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfUkVB
REVSKSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVH
R0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9QUk9H
UkVTU19UQUcpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NIQVJF
RF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxF
X1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5H
KSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5B
QkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9CTE9CX1NMSUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DT1JFX0xBWU9VVF9URVNUX0NPTlRS
T0xMRVIpICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFU
QUxJU1QpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQ
TE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJM
RV9GSUxURVJTKSAkKEVOQUJMRV9GSUxFX1JFQURFUikgJChFTkFCTEVfRklMRV9XUklURVIpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lNQUdF
X1JFU0laRVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVD
SCkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VC
X0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9SVUJZKSAkKEVO
QUJMRV9TQU5EQk9YKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVO
QUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19E
T01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlH
Tl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV01MKSAkKEVOQUJMRV9XT1JL
RVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCmluZGV4IGVhNmU0N2UwNGY1ODA3Mjc5MTNiYjIxNmY4OWU1ODk4ZmVhZmQ2NjAu
LmIyNDJiMmNkYmUyNzEzZDQ2YzRkNTEwNTdlMzM2NWU1YTYwM2ZmNjAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CkBAIC0xOTMsNiArMTkzLDcgQEAKICNpbmNsdWRlICJKU0luc3BlY3RvckZyb250ZW5kSG9zdC5j
cHAiCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCIKICNpbmNsdWRlICJKU0tl
eWJvYXJkRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIgog
I2luY2x1ZGUgIkpTTG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFFcnJvci5jcHAiCiAj
aW5jbHVkZSAiSlNNZWRpYUxpc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDhjZWNjMmI1Njhi
ZGEwNTk1ZGNmODY3M2ZlNTQzNzA1YTczMGE2Y2IuLmE2MGFhZTkyMGI1NDMzMDZiYzhiMDAzODk1
MTk5NTlkYjQ2YTQ0YWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTIzNiw2ICsyMzYsNyBAQCBET01f
Q0xBU1NFUyA9IFwKICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QgXAogICAgIEtleWJvYXJkRXZl
bnQgXAogICAgIExvY2F0aW9uIFwKKyAgICBMYXlvdXRUZXN0Q29udHJvbGxlciBcCiAgICAgTWVk
aWFFcnJvciBcCiAgICAgTWVkaWFMaXN0IFwKICAgICBNZW1vcnlJbmZvIFwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDZm
ZWZjOGJhMzczZWFkZTY3YzUxZWRjZDVmZjE5MmI1ODY3ODA0ZWQuLmRhNTk3YWM4NDEyOGJiZWFk
MTA0ODc5YzIzMDQxNzE2YzIyN2ZkYzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDA0LDYgKzQwNCw4IEBAIHdlYmNv
cmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0phdmFTY3Jp
cHRDYWxsRnJhbWUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTS2V5Ym9hcmRFdmVudC5oIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIFwKKwlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0xvY2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xv
Y2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUVycm9yLmNwcCBcCkBA
IC0xNzgwLDYgKzE3ODIsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcGFnZS9I
YWx0YWJsZVBsdWdpbi5oIFwKIAlXZWJDb3JlL3BhZ2UvSGlzdG9yeS5jcHAgXAogCVdlYkNvcmUv
cGFnZS9IaXN0b3J5LmggXAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAg
XAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIFwKIAlXZWJDb3JlL3BhZ2Uv
TG9jYXRpb24uY3BwIFwKIAlXZWJDb3JlL3BhZ2UvTG9jYXRpb24uaCBcCiAJV2ViQ29yZS9wYWdl
L01lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4gYi9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGRmYmQxNTBjN2UwMTAzYTc2ZDhj
ZjI5ODRhZWM2Y2M0NjljN2RjZWUuLmFmZjBiMWZhNTlhZTE4NzNlYzY2MGUxYmRjN2M4MWI2ZjQ0
MDk3MmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgpAQCAtMTI0MCw2ICsxMjQwLDcgQEAgX19OUE5fUmV0YWluT2JqZWN0CiBf
X05QTl9TZXRFeGNlcHRpb24KIF9fTlBOX1NldFByb3BlcnR5CiBfX05QTl9VVEY4RnJvbUlkZW50
aWZpZXIKK19fWk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjIwbGF5b3V0VGVzdENvbnRyb2xs
ZXJFUE5TXzE1RE9NV3JhcHBlcldvcmxkRQogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVy
MjB3aW5kb3dTY3JpcHROUE9iamVjdEV2CiBfX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIy
OWNsZWFudXBTY3JpcHRPYmplY3RzRm9yUGx1Z2luRVB2CiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJP
YmplY3Q0dmlld0V2CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUv
V2ViQ29yZS5neXBpCmluZGV4IGFhZmIyMjJlYTJkNmQyYzUyOTM5N2E1NDRhYjlhMGRlMmQwODQ4
M2YuLmI5NjlkOThkZmQzYWYwNTFkM2IzZTI1MjYyNmIxYjZhOWViYTlmZjYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMTQs
NiArMjE0LDcgQEAKICAgICAgICAgICAgICdwYWdlL0dlb3Bvc2l0aW9uLmlkbCcsCiAgICAgICAg
ICAgICAncGFnZS9IaXN0b3J5LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9Mb2NhdGlvbi5pZGwn
LAorICAgICAgICAgICAgJ3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsJywKICAgICAgICAg
ICAgICdwYWdlL01lbW9yeUluZm8uaWRsJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRpb24u
aWRsJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5pZGwnLApAQCAtMTk5OCw2ICsxOTk5
LDggQEAKICAgICAgICAgICAgICdwYWdlL0hpc3RvcnkuaCcsCiAgICAgICAgICAgICAncGFnZS9M
b2NhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uaCcsCisgICAgICAgICAg
ICAncGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5
b3V0VGVzdENvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmNwcCcs
CiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTW91
c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggZTU5Y2M5OGZlY2ZlOWUwMDYxNDAz
ZGMwYWNhNzkyZjk1ZDg2MjIwMi4uMjdlNmY2MmU5YmY3ZGJmMDhjM2NjY2FhMGJjNTBlZGIwN2Vh
MTliOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNv
cmUucHJpCkBAIC00NjQsNiArNDY0LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBwYWdlL0dl
b2xvY2F0aW9uLmlkbCBcCiAgICAgcGFnZS9HZW9wb3NpdGlvbi5pZGwgXAogICAgIHBhZ2UvSGlz
dG9yeS5pZGwgXAorICAgIHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsIFwKICAgICBwYWdl
L0xvY2F0aW9uLmlkbCBcCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbCBcCiAgICAgcGFnZS9OYXZp
Z2F0aW9uLmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9X
ZWJDb3JlLnBybwppbmRleCAwNzUxODA5YWJjNjEzZjFhZGE2MmQxNmU3YTViYWU1ZWQwODFlZDM5
Li4wMDJlNDQ4NWY3MTM2ZWQ4OTI2YTM3YzM3ZjUzMTI3ODZmMWNlYmRlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTgyNiw2ICs4
MjYsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAg
XAogICAgIHBhZ2UvR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcCBcCiAgICAgcGFnZS9IaXN0
b3J5LmNwcCBcCisgICAgcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgXAogICAgIHBhZ2Uv
TG9jYXRpb24uY3BwIFwKICAgICBwYWdlL01lbW9yeUluZm8uY3BwIFwKICAgICBwYWdlL01vdXNl
RXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwIFwKQEAgLTE1OTYsNiArMTU5Nyw3IEBAIEhFQURF
UlMgKz0gXAogICAgIHBhZ2UvR2VvcG9zaXRpb24uaCBcCiAgICAgcGFnZS9IYWx0YWJsZVBsdWdp
bi5oIFwKICAgICBwYWdlL0hpc3RvcnkuaCBcCisgICAgcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5oIFwKICAgICBwYWdlL0xvY2F0aW9uLmggXAogICAgIHBhZ2UvTW91c2VFdmVudFdpdGhIaXRU
ZXN0UmVzdWx0cy5oIFwKICAgICBwYWdlL05hdmlnYXRvckJhc2UuaCBcCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA4OWMwN2Q1ODAzYmIzNWM1MmNlNjliNjdkNTk1Mjkw
N2RlMmM5OWExLi44Nzg1N2ZkYzFhNmI0ZjcyOTMwMWFhNWYzMzg2Nzc3MzExY2ZjNDhiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTkwMDUsNiArOTAwNSw2MiBAQAog
CQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0K
KwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJ
CQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0K
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxX
aW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRv
b2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
TGF5b3V0VGVzdENvbnRyb2xsZXIuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
IAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNNZWRpYUVycm9yLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCkBAIC0yMjI5Nyw2ICsyMjM1MywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXExheW91dFRlc3RDb250cm9sbGVy
LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHBhZ2VcTGF5b3V0VGVzdENvbnRyb2xsZXIuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTW91c2VFdmVudFdpdGhIaXRUZXN0
UmVzdWx0cy5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5NDVhYTVkYTAyYmZkNzIxN2JiMDU1ZWNjMWJiYzMw
NDgyNjFhOTE2Li4xOWYyMjNkYmEyYmE1NzYzZGYzMzY2ZTViMmI0YWU2NTI3NTJhOTA3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjY3OSw2ICsyNjc5
LDggQEAKIAkJQTcxODc4OTAwQjJEMDRBQzAwQTE2RUNFIC8qIERyYWdDb250cm9sbGVyTWFjLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcxODc4OEYw
QjJEMDRBQzAwQTE2RUNFIC8qIERyYWdDb250cm9sbGVyTWFjLm1tICovOyB9OwogCQlBNzM1MkMx
OTBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTczNTJDMTcwQjFCQjg5RDAwQTk4NkQwIC8q
IFJlbmRlclNWR0Jsb2NrLmNwcCAqLzsgfTsKIAkJQTczNTJDMUEwQjFCQjg5RDAwQTk4NkQwIC8q
IFJlbmRlclNWR0Jsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzM1MkMxODBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suaCAqLzsg
fTsKKwkJQTc0NUQyRTYxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzQ1
RDJFMzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCAqLzsg
fTsKKwkJQTc0NUQyRTcxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29y
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc0NUQy
RTQxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyQ29yZS5oICovOyB9Owog
CQlBNzVFNDk3NjEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFNDk3NDEwNzUy
QUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTc1RTQ5NzcxMDc1MkFDQjAwQzlCODk2
IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFNDk3NTEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcCAqLzsgfTsKIAkJQTc1RThCODgwRTFERTJENjAwN0YyNDgxIC8qIEZF
QmxlbmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTc1RThCODAwRTFERTJENjAwN0YyNDgxIC8qIEZFQmxlbmQuY3BwICovOyB9OwpAQCAtMjY4OSw2
ICsyNjkxLDggQEAKIAkJQTc1RThCOEQwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9uZW50VHJh
bnNmZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
NUU4Qjg1MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvbmVudFRyYW5zZmVyLmggKi87IH07CiAJ
CUE3NUU4QjhFMEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFOEI4NjBFMURFMkQ2MDA3RjI0
ODEgLyogRkVDb21wb3NpdGUuY3BwICovOyB9OwogCQlBNzVFOEI4RjBFMURFMkQ2MDA3RjI0ODEg
LyogRkVDb21wb3NpdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3NUU4Qjg3MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5oICovOyB9Owor
CQlBNzc1NThFMzExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3NTU4
RTExMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmNwcCAqLzsg
fTsKKwkJQTc3NTU4RTQxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXJD
b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc1
NThFMjExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlckNvcmUuaCAqLzsg
fTsKIAkJQTc3OTc5MTkwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc5NzkxMzBENkI5RDBDMDAz
ODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLzsgfTsKIAkJQTc3OTc5MUEwRDZCOUQwQzAwMzg1MUI5
IC8qIEltYWdlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTc3OTc5MTQwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5oICovOyB9OwogCQlB
Nzc5NzkyODBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3OTc5MjQwRDZCOUU2NDAwMzg1MUI5
IC8qIEpTSW1hZ2VEYXRhLmNwcCAqLzsgfTsKQEAgLTgzOTMsNiArODM5Nyw5IEBACiAJCUE3MUE3
MEM5MTFBRkIwMjAwMDk4OUQ2RCAvKiBIVE1MTWV0ZXJFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTczNTJDMTcwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdCbG9jay5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MzUyQzE4MEIxQkI4OUQwMEE5ODZEMCAvKiBS
ZW5kZXJTVkdCbG9jay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVy
U1ZHQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc0NUQyRTMxMUY1QjM3
OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFRlc3RDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTc0NUQyRTQxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RD
b250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dFRlc3RD
b250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NDVEMkU1MTFGNUIz
NzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlci5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBNzVFNDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFNDk3NTEwNzUyQUNCMDBDOUI4OTYg
LyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUE3NUU4QjgwMEUxREUyRDYwMDdGMjQ4MSAvKiBGRUJsZW5kLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZFQmxlbmQuY3BwOyBwYXRoID0gZmlsdGVy
cy9GRUJsZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg0MDMsNiArODQx
MCw4IEBACiAJCUE3NUU4Qjg1MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvbmVudFRyYW5zZmVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZFQ29tcG9uZW50VHJhbnNmZXIu
aDsgcGF0aCA9IGZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNzVFOEI4NjBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRkVDb21wb3NpdGUuY3BwOyBw
YXRoID0gZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE3NUU4Qjg3MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBGRUNvbXBvc2l0ZS5oOyBwYXRoID0gZmlsdGVycy9GRUNv
bXBvc2l0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzc1NThFMTExRjVCNjAy
MDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0xheW91dFRlc3RDb250cm9sbGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc3NTU4RTIxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0
VGVzdENvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNMYXlv
dXRUZXN0Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzc5Nzkx
MzBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEltYWdlRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE3Nzk3OTE0MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE3Nzk3OTE1MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEltYWdlRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMjI2Myw2ICsxMjI3Miw5IEBACiAJCTY1QkYwMjE4MDk3NDgwNjMwMEM0MzE5NiAvKiBw
YWdlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzQ1
RDJFMzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwICovLAorCQkJ
CUE3NDVEMkU0MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlci5oICovLAor
CQkJCUE3NDVEMkU1MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlci5pZGwg
Ki8sCiAJCQkJMzE2RkUxMDYwRTZFMUQ4NDAwQkY2MDg4IC8qIGFuaW1hdGlvbiAqLywKIAkJCQk5
M0MwOUE4MjBCMDY0RjA1MDA1QUJENEQgLyogbWFjICovLAogCQkJCTg1MzhGMDAwMEFENzE3NzAw
MDZBODFEMSAvKiBBYnN0cmFjdFZpZXcuaWRsICovLApAQCAtMTU5NTAsNiArMTU5NjIsOCBAQAog
CQlCQzk4NTQ0MzBDRDNEOUQwMDAwNjlCQzEgLyogV2luZG93ICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzc1NThFMTExRjVCNjAyMDBCNDNBQzEgLyog
SlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgKi8sCisJCQkJQTc3NTU4RTIxMUY1QjYwMjAwQjQz
QUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCAqLywKIAkJCQlCQzEyNEVGRDBDMjY0NDdB
MDA5RTIzNDkgLyogSlNCYXJJbmZvLmNwcCAqLywKIAkJCQlCQzEyNEVGRTBDMjY0NDdBMDA5RTIz
NDkgLyogSlNCYXJJbmZvLmggKi8sCiAJCQkJQkM5ODU0M0IwQ0QzRDk4QjAwMDY5QkMxIC8qIEpT
Q29uc29sZS5jcHAgKi8sCkBAIC0xODczNiw2ICsxODc1MCw3IEBACiAJCQkJNDlDN0I5OTYxMDQy
RDJEMzAwMDlENDQ3IC8qIEpTSW50OEFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzVGQUVE
MjBEQ0ZEOTAxMDBENThGNzggLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBODY2MjlEMzA5REEyQjQ4MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQlBNzc1NThFNDExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RjQ1NDMwRjdDM0I1RjAwRDdDMUZC
IC8qIEpTTGF6eUV2ZW50TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTFDNDNDMEQ5
ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQ2MTQx
OTBDRDY4MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKQEAgLTE4
OTg4LDYgKzE5MDAzLDcgQEAKIAkJCQlBNDU2RkEyNzExQUQ0QTgzMDAyMEI0MjAgLyogTGFiZWxz
Tm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RUM5QUZCMEE3MUEyQzYwMEVFRUFFRCAv
KiBMYW5ndWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5MDY2MDcwQkUxNDFENDAwOTU2OTk4
IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzQ1RDJFNzExRjVCMzc5MDBB
Q0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5
OEYwMDgyNDVFNTkwMDFFOUFCQyAvKiBMZWdhY3lIVE1MRG9jdW1lbnRQYXJzZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTkzRjE5OEVGMDgyNDVFNTkwMDFFOUFCQyAvKiBMZWdhY3lIVE1MVHJlZUJ1
aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0OTYyNkMzMEQ4MEQ5NDkwMEUzNDA1QyAvKiBM
ZWdhY3lQcmVsb2FkU2Nhbm5lci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTIwNCw2ICsyMTIyMCw3
IEBACiAJCQkJMUM1RkFFRDEwRENGRDkwMTAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFt
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQzVGQUVFNzBEQ0ZEQTY4MDBENThGNzggLyogSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NjYyOUQ0
MDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQTc3NTU4RTMxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RjQ1NDIwRjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2
ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0M0IwRDk4MzBEMzAwM0Iw
MkYyIC8qIEpTTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0NDAwRDk4MzBG
NDAwM0IwMkYyIC8qIEpTTG9jYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMTQ5
NCw2ICsyMTUxMSw3IEBACiAJCQkJQTQ1NkZBMjYxMUFENEE4MzAwMjBCNDIwIC8qIExhYmVsc05v
ZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNTIwODQ1MDlCRDQzQjkwMEYyMDM4RCAv
KiBMYW5ndWFnZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEOTA2NjA2MEJFMTQxRDQwMDk1Njk5
OCAvKiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzQ1RDJFNjExRjVCMzc5
MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OTNGMTlBOUMwODI0NUU1OTAwMUU5QUJDIC8qIExlZ2FjeUhUTUxEb2N1bWVudFBhcnNlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5M0YxOUE5QjA4MjQ1RTU5MDAxRTlBQkMgLyogTGVnYWN5SFRN
TFRyZWVCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0OTYyNkMyMEQ4MEQ5NDgwMEUz
NDA1QyAvKiBMZWdhY3lQcmVsb2FkU2Nhbm5lci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAgYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCmluZGV4IDY1MDk2YjkzYzA2ZDgzN2E0MTRh
ZDdhODNmYjZhNjE5ZDIxN2ZhZmYuLjk4MjlmZTBiY2Y0NjQ1OGMzMDA5MWM0NWI1ZTg5OWQ2YmEw
MDVmNjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5j
cHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcApAQCAtMzEs
NiArMzEsNyBAQAogCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5o
IgorI2luY2x1ZGUgIkpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJET01XaW5k
b3cuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSA8cnVudGltZS9K
U09iamVjdC5oPgpAQCAtNjksNiArNzAsMTUgQEAgdm9pZCBKU0RPTVdpbmRvd1NoZWxsOjpzZXRX
aW5kb3coUGFzc1JlZlB0cjxET01XaW5kb3c+IGRvbVdpbmRvdykKICAgICBzZXRXaW5kb3coanNE
T01XaW5kb3cpOwogfQogCitKU09iamVjdCogSlNET01XaW5kb3dTaGVsbDo6bGF5b3V0VGVzdENv
bnRyb2xsZXIoKQoreworI2lmIEVOQUJMRShDT1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVIpCisg
ICAgcmV0dXJuIHRvSlMoZXhlYywgd2luZG93KCksIHdpbmRvdygpLT5pbXBsKCktPmxheW91dFRl
c3RDb250cm9sbGVyKCkpLnRvT2JqZWN0KGV4ZWMpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNl
bmRpZgorfQorCiAvLyAtLS0tCiAvLyBKU09iamVjdCBtZXRob2RzCiAvLyAtLS0tCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaCBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCmluZGV4IDg4ODMyNWQwM2ZjYzhmMzRjOWUzM2Fh
MjVmYWFkMDMzMjU0ODNmNzEuLjQ1ZmYzN2U5MjhlMDJmMzEyN2I5MDBjN2RhYmNkZmIxYWVjNjYx
ZjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCkBAIC01Miw2ICs1Miw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgfQogICAgICAgICB2b2lkIHNldFdpbmRv
dyhQYXNzUmVmUHRyPERPTVdpbmRvdz4pOwogCisgICAgICAgIEpTQzo6SlNPYmplY3QqIGxheW91
dFRlc3RDb250cm9sbGVyKCk7CisKICAgICAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJbmZv
IHNfaW5mbzsKIAogICAgICAgICBET01XaW5kb3cqIGltcGwoKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDk4MDIyZDliMzViZDRjMjlkZjFkY2U0
ZWNkYmNmMWM4M2M0Y2UyYzguLjk4OTkyMDcyMjVkMWNlNGY3Mzc4ZjFhM2ZmMDAyYTUwNzQ5NzMw
ZjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcApAQCAtNTA2LDQg
KzUwNiw5IEBAIFNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHRJbldv
cmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAorSlNPYmplY3QqIFNjcmlwdENvbnRyb2xsZXI6OmxheW91dFRlc3RDb250cm9sbGVyKERPTVdy
YXBwZXJXb3JsZCogd29ybGQpCit7CisgICAgcmV0dXJuIHdpbmRvd1NoZWxsKHdvcmxkKS0+bGF5
b3V0VGVzdENvbnRyb2xsZXIoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmggYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCA4MDE1NWU0YjkzNTBmYzg0YjMyNDFk
M2UzMzdmMDRkMjQ2OWRiZDk2Li43MzIxMzM4MTQxZTc3OTkxYmE4MWE5NDdiYTViZGQ1Zjg2ZTEy
NjZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAor
KysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaApAQCAtOTAsNiArOTAs
OCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gd2luZG93U2hlbGwod29ybGQpLT53
aW5kb3coKTsKICAgICB9CisgICAgCisgICAgSlNDOjpKU09iamVjdCogbGF5b3V0VGVzdENvbnRy
b2xsZXIoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCk7CiAKICAgICBzdGF0aWMgdm9pZCBnZXRBbGxX
b3JsZHMoVmVjdG9yPERPTVdyYXBwZXJXb3JsZCo+Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZTZk
OGQwNDAzMmIzYTI5ODg3NmU3YzIwZTM5MDk1MGFiNmRkYTFmYS4uNzE1ZjhhNGQ3Y2QwMjE2ODA4
MWIyODM0ZDk4M2I0NTFlYjllODgxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTYxLDYgKzYxLDcgQEAK
ICNpbmNsdWRlICJJbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKKyNpbmNs
dWRlICJMYXlvdXRUZXN0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkxvY2F0aW9uLmgiCiAjaW5j
bHVkZSAiU3R5bGVNZWRpYS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgpAQCAtNTk0LDYg
KzU5NSwxNSBAQCBMb2NhdGlvbiogRE9NV2luZG93Ojpsb2NhdGlvbigpIGNvbnN0CiAgICAgcmV0
dXJuIG1fbG9jYXRpb24uZ2V0KCk7CiB9CiAKK0xheW91dFRlc3RDb250cm9sbGVyKiBET01XaW5k
b3c6OmxheW91dFRlc3RDb250cm9sbGVyKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoQ09SRV9MQVlP
VVRfVEVTVF9DT05UUk9MTEVSKQorICAgIGlmICghbV9sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbV9sYXlvdXRUZXN0Q29udHJvbGxlciA9IExheW91dFRlc3RDb250cm9sbGVyOjpjcmVh
dGUobV9mcmFtZSk7CisjZW5kaWYKKyAgICByZXR1cm4gbV9sYXlvdXRUZXN0Q29udHJvbGxlci5n
ZXQoKTsKK30KKwogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKIFN0b3JhZ2UqIERPTVdpbmRvdzo6
c2Vzc2lvblN0b3JhZ2UoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXgg
N2ExMzY1MTI3ZTA2ODVlMDNlNjQ3YWE2MGVlYWZhODdjYjNmMTYxZi4uZDcxZTgxNzQ2MWNhZTUw
OWY0Zjc1NmZiMjdiMWEzZjI2MWRjMTNkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5oCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtNTYsNiArNTYsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSURCS2V5UmFuZ2U7CiAgICAgY2xhc3MgSW5k
ZXhlZERhdGFiYXNlUmVxdWVzdDsKICAgICBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50Owor
ICAgIGNsYXNzIExheW91dFRlc3RDb250cm9sbGVyOwogICAgIGNsYXNzIExvY2F0aW9uOwogICAg
IGNsYXNzIFN0eWxlTWVkaWE7CiAgICAgY2xhc3MgTmF2aWdhdG9yOwpAQCAtMzgxLDYgKzM4Miw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRE9NQXBwbGljYXRpb25DYWNoZSogb3B0
aW9uYWxBcHBsaWNhdGlvbkNhY2hlKCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkNhY2hl
LmdldCgpOyB9CiAjZW5kaWYKIAorICAgICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogbGF5b3V0
VGVzdENvbnRyb2xsZXIoKSBjb25zdDsKKwogICAgICAgICB1c2luZyBSZWZDb3VudGVkPERPTVdp
bmRvdz46OnJlZjsKICAgICAgICAgdXNpbmcgUmVmQ291bnRlZDxET01XaW5kb3c+OjpkZXJlZjsK
IApAQCAtNDExLDYgKzQxNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoV0VC
X1RJTUlORykKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2U+IG1fcGVyZm9ybWFu
Y2U7CiAjZW5kaWYKKyAgICAgICAgbXV0YWJsZSBSZWZQdHI8TGF5b3V0VGVzdENvbnRyb2xsZXI+
IG1fbGF5b3V0VGVzdENvbnRyb2xsZXI7CiAgICAgICAgIG11dGFibGUgUmVmUHRyPExvY2F0aW9u
PiBtX2xvY2F0aW9uOwogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTdHlsZU1lZGlhPiBtX21lZGlh
OwogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU0YWQwNDM2ZWVhMGRjMjE3OGZjYWZhOTdiYWIyNGU5MTQ0MGQ3ODcK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3Bw
CkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxheW91dFRl
c3RDb250cm9sbGVyLmgiCisKKyNpZiBFTkFCTEUoQ09SRV9MQVlPVVRfVEVTVF9DT05UUk9MTEVS
KQorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5j
bHVkZSAiTm9kZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworRnJhbWUqIExheW91dFRlc3RDb250cm9sbGVyOjpmcmFtZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fZnJhbWU7Cit9CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmRp
c2Nvbm5lY3RGcmFtZSgpCit7CisgICAgbV9mcmFtZSA9IDA7Cit9CisKK2ludCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6ZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZShOb2RlKiwgRXhjZXB0aW9uQ29k
ZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCF2ZXJpZnlDb25uZWN0ZWQoZWMpKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyAgICByZXR1cm4gMDsKK30KKwor
U3RyaW5nIExheW91dFRlc3RDb250cm9sbGVyOjpkb2N1bWVudE1hcmtlclN0cmluZ0Zvck5vZGVB
dChOb2RlKiwgaW50LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIXZlcmlm
eUNvbm5lY3RlZChlYykpCisgICAgICAgIHJldHVybiAiIjsKKworICAgIC8vIEZJWE1FOiBpbXBs
ZW1lbnQKKyAgICByZXR1cm4gIiI7Cit9CisKK0xheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRU
ZXN0Q29udHJvbGxlcihGcmFtZSogZnJhbWUpCisgICAgOiBtX2ZyYW1lKGZyYW1lKQoreworfQor
Citib29sIExheW91dFRlc3RDb250cm9sbGVyOjp2ZXJpZnlDb25uZWN0ZWQoRXhjZXB0aW9uQ29k
ZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKSB7CisgICAgICAgIGVjID0gSU5WQUxJ
RF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvTGF5
b3V0VGVzdENvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzYxOTM5Yjg3ZmE1MDZiY2U4MTNiNzRi
NzlmOGQyMDY2MDk5MjUyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL0xheW91dFRl
c3RDb250cm9sbGVyLmgKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIExheW91dFRlc3RDb250cm9s
bGVyX2gKKyNkZWZpbmUgTGF5b3V0VGVzdENvbnRyb2xsZXJfaAorCisjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworI2lmIEVOQUJMRShDT1JFX0xBWU9V
VF9URVNUX0NPTlRST0xMRVIpCisKK2NsYXNzIEZyYW1lOworY2xhc3MgTm9kZTsKK2NsYXNzIFN0
cmluZzsKK3R5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CisKK2NsYXNzIExheW91dFRlc3RDb250
cm9sbGVyIDogcHVibGljIFJlZkNvdW50ZWQ8TGF5b3V0VGVzdENvbnRyb2xsZXI+IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxMYXlvdXRUZXN0Q29udHJvbGxlcj4gY3JlYXRlKEZy
YW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IExheW91dFRlc3RDb250cm9sbGVyKGZy
YW1lKSk7IH0KKworICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0OworICAgIHZvaWQgZGlzY29ubmVj
dEZyYW1lKCk7CisKKyAgICBpbnQgZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZShOb2RlKiwgRXhj
ZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIFN0cmluZyBkb2N1bWVudE1hcmtlclN0cmluZ0Zvck5v
ZGVBdChOb2RlKiwgaW50LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAg
Ym9vbCB2ZXJpZnlDb25uZWN0ZWQoRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIExheW91dFRl
c3RDb250cm9sbGVyKEZyYW1lKik7CisKKyAgICBGcmFtZSogbV9mcmFtZTsKK307CisKKyNlbHNl
CitjbGFzcyBMYXlvdXRUZXN0Q29udHJvbGxlciA6IHB1YmxpYyBSZWZDb3VudGVkPExheW91dFRl
c3RDb250cm9sbGVyPiB7fTsKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBMYXlvdXRUZXN0Q29udHJvbGxlcl9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
TGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsIGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9s
bGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yM2YxYjdmNmJmM2I1OTE5MzUwNTZjOGMzNTZmMWM4NjA2MzA1
YjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVy
LmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAgaW50ZXJmYWNlIFtP
bWl0Q29uc3RydWN0b3IsIENvbmRpdGlvbmFsPUNPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExFUl0g
TGF5b3V0VGVzdENvbnRyb2xsZXIgeworICAgICAgICBsb25nIGRvY3VtZW50TWFya2VyU2l6ZUZv
ck5vZGUoaW4gTm9kZSBub2RlKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgRE9NU3Ry
aW5nIGRvY3VtZW50TWFya2VyU3RyaW5nRm9yTm9kZUF0KGluIE5vZGUgbm9kZSwgaW4gbG9uZyBp
bmRleCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAzNDc3YjE3MTg4
ODVmYzUyOGUzNTM1NDg3MThmNGQwNDRiMDJmZDlmLi5mNDIyMGVmNWU0YzkzYjA2YmU0ZDdiOGIy
NzYyZTczY2ZiMjI5NjQ1IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA3LTIxICBNT1JJVEEg
SGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cg
dGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAv
dmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00MjYxMgorCisgICAgICAgIEFkZGVkIGFuIGFjY2Vzc29yIGZvciBhbiBKYXZhU2NyaXB0
IG9iamVjdCB3aGljaCB3cmFwcyBXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlci4KKworICAg
ICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAgICgtW1dlYkZyYW1lIGxheW91dFRl
c3RDb250cm9sbGVyXSk6CisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaDoKKwog
MjAxMC0wNy0yNyAgU3RldmUgQmxvY2sgIDxzdGV2ZWJsb2NrQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNGIzNjNhYTY3MDY4MjhiY2U4NDhk
OGZjNWY1MWUzNmU5Y2VlM2Q0NS4uYWI2OTFhMDQwNGUzNDZjZjIzMDU2MDU2YjFhM2FiOWUyNDI2
ZGVmMiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZworKysgYi9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCkBAIC00Miw5ICs0MiwxNCBAQCBFTkFCTEVfM0RfUkVOREVSSU5HXzEwNTAgPSBF
TkFCTEVfM0RfUkVOREVSSU5HOwogRU5BQkxFXzNEX1JFTkRFUklOR18xMDYwID0gRU5BQkxFXzNE
X1JFTkRFUklORzsKIEVOQUJMRV8zRF9SRU5ERVJJTkdfMTA3MCA9IEVOQUJMRV8zRF9SRU5ERVJJ
Tkc7CiAKK0VOQUJMRV9DT1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVJfRGVidWcgPSBFTkFCTEVf
Q09SRV9MQVlPVVRfVEVTVF9DT05UUk9MTEVSOworRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09O
VFJPTExFUl9SZWxlYXNlID0gRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExFUjsKK0VO
QUJMRV9DT1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVJfUHJvZHVjdGlvbiA9IDsKKwogRU5BQkxF
X0JMT0JfU0xJQ0UgPSBFTkFCTEVfQkxPQl9TTElDRTsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9D
QVRJT04gPSBFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OOworRU5BQkxFX0NPUkVfTEFZ
T1VUX1RFU1RfQ09OVFJPTExFUiA9ICQoRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExF
Ul8kKENPTkZJR1VSQVRJT04pKTsKIEVOQUJMRV9EQVRBQkFTRSA9IEVOQUJMRV9EQVRBQkFTRTsK
IEVOQUJMRV9EQVRBR1JJRCA9IDsKIEVOQUJMRV9EQVRBTElTVCA9IEVOQUJMRV9EQVRBTElTVDsK
QEAgLTg1LDQgKzkwLDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBBVEggPSBFTkFC
TEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxFXzNE
X1JFTkRFUklORykgJChFTkFCTEVfQkxPQl9TTElDRSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJBU0Up
ICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFH
RSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVf
UkVBREVSKSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RF
QlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9Q
Uk9HUkVTU19UQUcpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NI
QVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5B
QkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VT
RSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElN
SU5HKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQo
RU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5H
KSAkKEVOQUJMRV9CTE9CX1NMSUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DT1JFX0xBWU9VVF9URVNUX0NP
TlRST0xMRVIpICQoRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExFUikgJChFTkFCTEVf
REFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9E
T01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5B
QkxFX0ZJTEVfUkVBREVSKSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZB
U0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAk
KEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQo
RU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJ
T04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdT
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFC
TEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hI
VE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbSBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5t
bQppbmRleCBiNzFkNTAxZGZjZmE5YjE3OTUxNzQ4Y2VkZjVhOTIyOGExMWY2ZWVkLi4zYTIwMDk1
YzgzMjRkZTdjNGRhZDM2YzBhNzA0NmZiZDMyMjZjZjUxIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViRnJhbWUubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1t
CkBAIC0xMzQwLDYgKzEzNDAsMTYgQEAgc3RhdGljIGlubGluZSBXZWJEYXRhU291cmNlICpkYXRh
U291cmNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgcmV0dXJuIGNvcmVGcmFtZS0+bGF5
ZXJUcmVlQXNUZXh0KCk7CiB9CiAKKy0gKEpTVmFsdWVSZWYpbGF5b3V0VGVzdENvbnRyb2xsZXIK
K3sKKyAgICBGcmFtZSogY29yZUZyYW1lID0gX3ByaXZhdGUtPmNvcmVGcmFtZTsKKyAgICBpZiAo
IWNvcmVGcmFtZSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgRE9NV3JhcHBlcldvcmxkKiB3b3Js
ZCA9IG1haW5UaHJlYWROb3JtYWxXb3JsZCgpOworICAgIEpTQzo6RXhlY1N0YXRlKiBleGVjID0g
Y29yZUZyYW1lLT5zY3JpcHQoKS0+Z2xvYmFsT2JqZWN0KHdvcmxkKS0+Z2xvYmFsRXhlYygpOwor
ICAgIHJldHVybiB0b1JlZihleGVjLCBKU1ZhbHVlKGNvcmVGcmFtZS0+c2NyaXB0KCktPmxheW91
dFRlc3RDb250cm9sbGVyKG1haW5UaHJlYWROb3JtYWxXb3JsZCgpKSkpOworfQorCiBAZW5kCiAK
IEBpbXBsZW1lbnRhdGlvbiBXZWJGcmFtZQpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkZyYW1lUHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5o
CmluZGV4IDBiZGE5NjZhYmJkZmM5NDdjNjIxZDQxNDI5ZmI4ZjdiOTcwMDhkYmQuLjJkMTZhNzE1
ZTIwNTBlYWYzYWE3MWNkNWVjYTZlYTMzZTczZGM4MTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJh
bWVQcml2YXRlLmgKQEAgLTEzNiw0ICsxMzYsNyBAQCB0eXBlZGVmIGVudW0gewogCiAtIChOU1N0
cmluZyopX2xheWVyVHJlZUFzVGV4dDsKIAorLy8gUmV0dXJucyBhc3NvY2lhdGVkIExheW91dFRl
c3RDb250cm9sbGVyIG9iamVjdCwgb3IgbnVsbCBvbiB0aGUgcHJvZHVjdGlvbiBidWlsZC4KKy0g
KEpTVmFsdWVSZWYpbGF5b3V0VGVzdENvbnRyb2xsZXI7CisKIEBlbmQKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA1MDJjZWIz
MjJmMDVhODk0NjNhOGIxNWEzMDVmM2RhMjA1ZWIxMjFkLi4yNDgxYWYxYWM2ZTRmZjQzYzkwOGQy
NTVjNmRhYTM0NjUzZDIzODg4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDctMjEgIE1P
UklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kZWQgTGF5b3V0VGVzdENvbnRyb2xsZXIg
b2JqZWN0IGJ5IGFkZGluZyBkZWxnYXRpb24gbWV0aG9kcworICAgICAgICBmb3IgV2ViQ29yZTo6
TGF5b3V0VGVzdENvbnRyb2xsZXIuCisgICAgICAgIE5vdyB3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIgaGFzIG1ldGhvZHMgZGVmaW5lZCBpbgorICAgICAgICBXZWJDb3JlOjpMYXlvdXRUZXN0
Q29udHJvbGxlci4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjptYWtlRGVsZWdhdGlvbk1l
dGhvZHMpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3Qp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tOgorICAgICAgICAo
LVtGcmFtZUxvYWREZWxlZ2F0ZSBkaWRDbGVhcldpbmRvd09iamVjdEluU3RhbmRhcmRXb3JsZEZv
ckZyYW1lOl0pOgorCiAyMDEwLTA3LTI3ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdh
bGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCA2
YTk1N2MxMjZlZjYxNzcxYTI4NmIwZWRmZDM0YjczMGFjNTY4YjJiLi40ZDFmZDMxODRhOWExYWZj
MmI1OGNmNDhkYTM5NmNiNzYzMmU3OTlhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xNjk1LDkgKzE2OTUsMjggQEAg
c3RhdGljIHZvaWQgbGF5b3V0VGVzdENvbnRyb2xsZXJPYmplY3RGaW5hbGl6ZShKU09iamVjdFJl
ZiBvYmplY3QpCiAgICAgY29udHJvbGxlci0+ZGVyZWYoKTsKIH0KIAorc3RhdGljIGNvbnN0IGNo
YXIgc2V0dXBMYXlvdXRUZXN0Q29udHJvbGxlclNjcmlwdFtdID0gCisgICAgImZ1bmN0aW9uIGRl
bGVnYXRlKGRzdCwgc3JjLCBuYW1lKSB7IGRzdFtuYW1lXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4g
c3JjW25hbWVdLmFwcGx5KHNyYywgYXJndW1lbnRzKTsgfSB9XG4iCisgICAgImZvciAodmFyIG5h
bWUgaW4gdGhpcy53ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXIpIHtcbiIKKyAgICAiICAgIGRl
bGVnYXRlKHRoaXMsIHRoaXMud2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVyLCBuYW1lKTtcbiIK
KyAgICAifVxuIjsKKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZURlbGVnYXRpb25N
ZXRob2RzKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBKU1Zh
bHVlUmVmIHdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlck9iamVjdCwgSlNWYWx1ZVJlZiogZXhj
ZXB0aW9uKQoreworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiB3ZWJDb3JlTGF5b3V0VGVz
dENvbnRyb2xsZXJTdHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJ3ZWJD
b3JlTGF5b3V0VGVzdENvbnRyb2xsZXIiKSk7CisgICAgSlNPYmplY3RTZXRQcm9wZXJ0eShjb250
ZXh0LCB0aGlzT2JqZWN0LCB3ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXJTdHIuZ2V0KCksIHdl
YkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlck9iamVjdCwga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25l
LCBleGNlcHRpb24pOworICAgIEFTU0VSVCghKmV4Y2VwdGlvbik7CisKKyAgICBKU1JldGFpblB0
cjxKU1N0cmluZ1JlZj4gdXJsU3RyKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
Zygic2V0dXBfbGF5b3V0X3Rlc3RfY29udHJvbGxlcl90ZXN0LmpzIikpOworICAgIEpTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBzY3JpcHRTdHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKHNldHVwTGF5b3V0VGVzdENvbnRyb2xsZXJTY3JpcHQpKTsKKyAgICBBU1NFUlQoISpl
eGNlcHRpb24pOworICAgIEpTRXZhbHVhdGVTY3JpcHQoY29udGV4dCwgc2NyaXB0U3RyLmdldCgp
LCB0aGlzT2JqZWN0LCB1cmxTdHIuZ2V0KCksIDEsIGV4Y2VwdGlvbik7CisgICAgQVNTRVJUKCEq
ZXhjZXB0aW9uKTsKK30KKwogLy8gT2JqZWN0IENyZWF0aW9uCiAKLXZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0
UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQordm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6bWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmpl
Y3RSZWYgd2luZG93T2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24sIEpTVmFsdWVSZWYgd2Vi
Q29yZWxheW91dFRlc3RDb250b2xsZXIpCiB7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IGxheW91dFRlc3RDb250b2xsZXJTdHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJsYXlvdXRUZXN0Q29udHJvbGxlciIpKTsKICAgICByZWYoKTsKQEAgLTE3MDYsNiArMTcy
NSw5IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QoSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpCiAgICAgSlNWYWx1ZVJlZiBsYXlvdXRUZXN0
Q29udG9sbGVyT2JqZWN0ID0gSlNPYmplY3RNYWtlKGNvbnRleHQsIGNsYXNzUmVmLCB0aGlzKTsK
ICAgICBKU0NsYXNzUmVsZWFzZShjbGFzc1JlZik7CiAKKyAgICBpZiAod2ViQ29yZWxheW91dFRl
c3RDb250b2xsZXIpCisgICAgICAgIG1ha2VEZWxlZ2F0aW9uTWV0aG9kcyhjb250ZXh0LCBKU1Zh
bHVlVG9PYmplY3QoY29udGV4dCwgbGF5b3V0VGVzdENvbnRvbGxlck9iamVjdCwgZXhjZXB0aW9u
KSwgd2ViQ29yZWxheW91dFRlc3RDb250b2xsZXIsIGV4Y2VwdGlvbik7CisKICAgICBKU09iamVj
dFNldFByb3BlcnR5KGNvbnRleHQsIHdpbmRvd09iamVjdCwgbGF5b3V0VGVzdENvbnRvbGxlclN0
ci5nZXQoKSwgbGF5b3V0VGVzdENvbnRvbGxlck9iamVjdCwga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSwgZXhjZXB0aW9uKTsKIH0K
IApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRy
b2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVy
LmgKaW5kZXggMzBlYjliZDRmODQ0ZDRjYTljM2VlY2FiN2M2NmVkMGU3NzkzODc4Zi4uMDZiMzlj
ZDY4YjU0YTRmZjk4MTUzMGM5NmY1MDY5NmY4MGUzYzc4ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC00Miw3ICs0Miw4IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxMYXlvdXRUZXN0Q29udHJvbGxlcj4gY3Jl
YXRlKGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0UGF0aE9yVVJMLCBjb25zdCBzdGQ6OnN0cmluZyYg
ZXhwZWN0ZWRQaXhlbEhhc2gpOwogICAgIH5MYXlvdXRUZXN0Q29udHJvbGxlcigpOwogCi0gICAg
dm9pZCBtYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB3
aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CisgICAgdm9pZCBtYWtlRGVsZWdh
dGlvbk1ldGhvZHMoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3Qs
IEpTVmFsdWVSZWYgd2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVyLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pOworICAgIHZvaWQgbWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwg
SlNPYmplY3RSZWYgd2luZG93T2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24sIEpTVmFsdWVS
ZWYgd2ViQ29yZWxheW91dFRlc3RDb250b2xsZXIgPSAwKTsKIAogICAgIHZvaWQgYWRkRGlzYWxs
b3dlZFVSTChKU1N0cmluZ1JlZiB1cmwpOwogICAgIHZvaWQgY2xlYXJBbGxEYXRhYmFzZXMoKTsK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxl
Z2F0ZS5tbSBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0
ZS5tbQppbmRleCA5NjNlYWU3MGZhNTlkODFlZmNmZWI4YWIxZTg4MzZjNTU3YzdhY2NkLi4xOGQ5
ZGFjNDQwZTM5ZjhhZDM1OTFkNjMzMzk3MmQyNTdkYjYxOTQxIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCkBAIC0yNDUsNyAr
MjQ1LDggQEAKICAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbiA9IDA7CiAKICAgICBBU1NFUlQoZ0xh
eW91dFRlc3RDb250cm9sbGVyKTsKLSAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPm1ha2VXaW5k
b3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uKTsKKyAgICBKU1ZhbHVl
UmVmIHdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlciA9IFtmcmFtZSBsYXlvdXRUZXN0Q29udHJv
bGxlcl07CisgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRl
eHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlvbiwgd2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVy
KTsKICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CiAKICAgICBnY0NvbnRyb2xsZXItPm1ha2VXaW5k
b3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62805</attachid>
            <date>2010-07-28 02:21:50 -0700</date>
            <delta_ts>2010-08-03 19:09:13 -0700</delta_ts>
            <desc>rebaselined</desc>
            <filename>bug-42612-20100728182148.patch</filename>
            <type>text/plain</type>
            <size>54444</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggOGUzM2E5MTdlYTViYTM1ZjZjZjJkYjE0NTRhMTI2MTQ1NTE0MmIyMy4u
OWJkZmY5NjA5MzQwM2NmYmEwMTY4MDJmMzgyNjViYTU4MzY2M2ZjNCAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
SmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQyLDkgKzQyLDE0IEBAIEVOQUJMRV8zRF9SRU5ERVJJTkdfMTA1MCA9IEVOQUJMRV8zRF9SRU5E
RVJJTkc7CiBFTkFCTEVfM0RfUkVOREVSSU5HXzEwNjAgPSBFTkFCTEVfM0RfUkVOREVSSU5HOwog
RU5BQkxFXzNEX1JFTkRFUklOR18xMDcwID0gRU5BQkxFXzNEX1JFTkRFUklORzsKIAorRU5BQkxF
X0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExFUl9EZWJ1ZyA9IEVOQUJMRV9DT1JFX0xBWU9VVF9U
RVNUX0NPTlRST0xMRVI7CitFTkFCTEVfQ09SRV9MQVlPVVRfVEVTVF9DT05UUk9MTEVSX1JlbGVh
c2UgPSBFTkFCTEVfQ09SRV9MQVlPVVRfVEVTVF9DT05UUk9MTEVSOworRU5BQkxFX0NPUkVfTEFZ
T1VUX1RFU1RfQ09OVFJPTExFUl9Qcm9kdWN0aW9uID0gOworCiBFTkFCTEVfQkxPQl9TTElDRSA9
IEVOQUJMRV9CTE9CX1NMSUNFOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTiA9IEVOQUJM
RV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT047CitFTkFCTEVfQ09SRV9MQVlPVVRfVEVTVF9DT05U
Uk9MTEVSID0gJChFTkFCTEVfQ09SRV9MQVlPVVRfVEVTVF9DT05UUk9MTEVSXyQoQ09ORklHVVJB
VElPTikpOwogRU5BQkxFX0RBVEFCQVNFID0gRU5BQkxFX0RBVEFCQVNFOwogRU5BQkxFX0RBVEFH
UklEID0gOwogRU5BQkxFX0RBVEFMSVNUID0gRU5BQkxFX0RBVEFMSVNUOwpAQCAtODYsNCArOTEs
NCBAQCBFTkFCTEVfWEhUTUxNUCA9IDsKIEVOQUJMRV9YUEFUSCA9IEVOQUJMRV9YUEFUSDsKIEVO
QUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9CTE9CX1NMSUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFU
QUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9F
VkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9SRUFERVIpICQoRU5B
QkxFX0ZJTEVfV1JJVEVSKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZB
U0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAk
KEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQo
RU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJ
T04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdT
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFC
TEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hI
VE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0Rf
UkVOREVSSU5HKSAkKEVOQUJMRV9CTE9CX1NMSUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9DT1JFX0xBWU9V
VF9URVNUX0NPTlRST0xMRVIpICAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQp
ICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNP
VVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9SRUFERVIpICQoRU5BQkxFX0ZJ
TEVfV1JJVEVSKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBU
X0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJM
RV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxF
X1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQo
RU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZH
X1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVAp
ICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ZTQ3NmY0ODEzZjk4MGRj
NTNhNDFiNDhjMGNmOWQzNzk2ODVkMTFiLi44NWUwYWEyNWZjZTRhNmQ1N2NmYWQ0OTQ5MWY3MGE0
MGNkMTAwNzVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDctMjEgIE1PUklUQSBIYWpp
bWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxvdyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNz
IFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1cC92ZXJpZmljYXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEyCisKKyAgICAgICAg
KiBmYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9s
bGVyLXdlYmNvcmUuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ct
bGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNv
cmUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBs
YXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIw
MTAtMDctMjggIFpvbHRhbiBIZXJjemVnICA8emhlcmN6ZWdAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9s
bGVyLXdlYmNvcmUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3Rz
L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Ez
Y2ViYTRhN2I2ZWYxMTg1YWY5NDNhODBmZWNjMzAyYTI0MGFkOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LWxheW91dC10
ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5qcwpAQCAtMCwwICsxLDcgQEAKK2Rlc2NyaXB0aW9uKCJ3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgc2hvdWxkIGhhdmUgZnVuY3Rpb25zIGRlZmluZWQg
aW4gTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsIik7Cit3aW5kb3cubm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKCIiKTsKK3Nob3VsZEJlVHJ1ZSgidW5kZWZpbmVkICE9IHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlciIpOworc2hvdWxkQmVUcnVlKCJ1bmRlZmluZWQgIT0gd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUiKTsKK3Nob3VsZEJl
VHJ1ZSgiMCA9PSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYXJrZXJTaXpl
Rm9yTm9kZSh3aW5kb3cubm9kZSkiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10
ZXN0LWNvbnRyb2xsZXItd2ViY29yZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWY2ZmZmZDIzMTVkNGM3YWIyZjc0ZWY2YTlhZGM5NDA3Yzc2OWZkMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5
b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBA
Cit3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgc2hvdWxkIGhhdmUgZnVuY3Rpb25zIGRlZmlu
ZWQgaW4gTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIHVuZGVmaW5lZCAhPSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgaXMg
dHJ1ZQorUEFTUyB1bmRlZmluZWQgIT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3Vt
ZW50TWFya2VyU2l6ZUZvck5vZGUgaXMgdHJ1ZQorUEFTUyAwID09IHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlci5kb2N1bWVudE1hcmtlclNpemVGb3JOb2RlKHdpbmRvdy5ub2RlKSBpcyB0cnVl
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1j
b250cm9sbGVyLXdlYmNvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjZlYjY4
OWVjZWU4NTk4ODJjNGUxODA3MWM5M2Y0MmU5ZGFiZGNiZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13
ZWJjb3JlLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJv
bGxlci13ZWJjb3JlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRl
eCA2N2Q5NTQ1NDAxM2NiNmFhYjMzYTIyM2U5NGYzZjI4ODMzOTJhOTBlLi40MzY0MTBhNzAzMTgx
MmRlMTQ5ODhhZjdiODRmM2E2NmQ3NTE2MjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0zMTIyLDYgKzMxMjIsOCBA
QCBCVUdXSzQyODQ1IDogaHRtbDVsaWIvcnVubmVyLmh0bWwgPSBURVhUCiBCVUdXSzQyNzY5IDog
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZW1lbWJlci1iYWQtcGFzc3dvcmQuaHRtbCA9IFRF
WFQKIEJVR1dLNDI3NjkgOiBodHRwL3Rlc3RzL3NlY3VyaXR5LzQwMS1sb2dvdXQvNDAxLWxvZ291
dC5waHAgPSBUSU1FT1VUCiAKK0JVR1dLNDI2MTIgOiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxh
eW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5odG1sID0gRkFJTAorCiAvLyBGbGFreSBzaW5j
ZSBhdCBsZWFzdCBjaHJvbWl1bSByNTI4MzQsIFdlYktpdCByNjM2MTUuCiBCVUc0OTk3MCA6IHBs
YXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvY2FsbC1hcy1mdW5jdGlvbi5odG1sID0gUEFTUyBURVhU
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggMzg5NmY4YjQ4MDBlZDM4ZmRlZWQyZTQw
MGJkNWE0NjU0NDkyNjU1OS4uNjhkY2EwMjhjYjQ1NTNkMzIxMzY3ZDQxODI3ZmE3ZDJmMzE2M2U2
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAgLTU4NjYsNiArNTg2Niw5IEBAIGVkaXRp
bmcvc2VsZWN0aW9uL2RyYWctc3RhcnQtZXZlbnQtY2xpZW50LXgteS5odG1sCiAjIFRlc3RzIHRo
YXQgcmVxdWlyZSBlZGl0aW5nIGRlbGVnYXRlIGR1bXBzLgogZWRpdGluZy9wYXN0ZWJvYXJkL2Ry
b3AtbGluay5odG1sCiAKKyMgY3VycmVudGx5IExheW91dFRlc3RDb250cm9sbGVyQ29yZSBpcyBu
b3Qgc3VwcG9ydGVkIGh0dHA6Ly93ZWJraXQub3JnL2IvNDI2MTIKK2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwKKwogIyBGbGFreSBkdWUg
dG8gSlNDIGRlYnVnZ2VyIGlzc3VlLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDMwMzQKIGluc3BlY3Rvci9kZWJ1Z2dlci1icmVha3BvaW50cy1ub3QtYWN0aXZh
dGVkLW9uLXJlbG9hZC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCBiM2VmZmJlYTZm
ZGNjZWZkNTgwNjY1ZDk0NjUyZjhmYzdhNWRiNGJlLi4wYjY4NDliYjVjOGUwMzA4NjcyNDViNDJl
ZjBjODQxZTQ3NDcwNTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lw
cGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTU0NTcsNiArNTQ1
Nyw5IEBAIGh0bWw1bGliL3J1bm5lci5odG1sCiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlk
YXRpb24tbG9zdC1mb2N1c2FibGUuaHRtbAogZmFzdC9mb3Jtcy9pbnRlcmFjdGl2ZS12YWxpZGF0
aW9uLXByZXZlbnRlZC5odG1sCiAKKyMgY3VycmVudGx5IExheW91dFRlc3RDb250cm9sbGVyQ29y
ZSBpcyBub3Qgc3VwcG9ydGVkIGh0dHA6Ly93ZWJraXQub3JnL2IvNDI2MTIKK2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwKKwogIyBbUXRd
IFJFR1JFU1NJT04oNjM4NjIpOiBhbmltYXRpb25zL3BsYXktc3RhdGUuaHRtbCBmYWlscyBpbnRl
cm1pdHRlbnRseQogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4
MjEKIGFuaW1hdGlvbnMvcGxheS1zdGF0ZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmlu
ZGV4IDIyNjliOWNjNTcxMDNjZGFjZDE0MGE4NWMyYmNmNzQ1YjY5YjYxNGIuLmY3M2UwNjM0OWU4
M2U2MzI1OWVhMjI0NDRlMjc3YmY1OTRkZjg3MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVk
CkBAIC05NDksNiArOTQ5LDkgQEAgcHJpbnRpbmcvc2V0UHJpbnRpbmcuaHRtbAogZmFzdC9mb3Jt
cy9pbnRlcmFjdGl2ZS12YWxpZGF0aW9uLWxvc3QtZm9jdXNhYmxlLmh0bWwKIGZhc3QvZm9ybXMv
aW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1wcmV2ZW50ZWQuaHRtbAogCisjIGN1cnJlbnRseSBMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmUgaXMgbm90IHN1cHBvcnRlZCBodHRwOi8vd2Via2l0Lm9yZy9i
LzQyNjEyCitmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2Vi
Y29yZS5odG1sCisKICMgV2ViIFRpbWluZyBpcyBub3QgZW5hYmxlZC4KICMgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNDM1CiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtcGVyZm9ybWFuY2UuaHRtbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggM2JmYTBhOWY3NjZjOTY4Yzlj
NzVjZDJkYmQ1NzI3NTEzZWUwZjFhOS4uODAwOTZlNWUxYzAyZDEwNjc1OTE2ZjZkYzM0MmRjYzgz
N2QyYTc1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC0zMTMsNiArMzEzLDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVT
CiAgICAgcGFnZS9HZW9wb3NpdGlvbi5pZGwKICAgICBwYWdlL0hpc3RvcnkuaWRsCiAgICAgcGFn
ZS9Mb2NhdGlvbi5pZGwKKyAgICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmlkbAogICAgIHBh
Z2UvTWVtb3J5SW5mby5pZGwKICAgICBwYWdlL05hdmlnYXRpb24uaWRsCiAgICAgcGFnZS9OYXZp
Z2F0b3IuaWRsCkBAIC0xMTUyLDYgKzExNTMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
cGFnZS9HZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUuY3BwCiAgICAgcGFnZS9IaXN0b3J5LmNwcAog
ICAgIHBhZ2UvTG9jYXRpb24uY3BwCisgICAgcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
ICAgICBwYWdlL01lbW9yeUluZm8uY3BwCiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RS
ZXN1bHRzLmNwcAogICAgIHBhZ2UvTmF2aWdhdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWFiNTliYWU1ODdkOTRiMDc1ODQx
N2RjNjBjOGU3Yjk0Mjg0ZGJmMy4uZWM0YjNjODYyOTIzNTVlZjA3NjIxNTllZjdkMjRkZGE3ZDgx
MTFkNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw1MiBAQAorMjAxMC0wNy0yMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFA
Z29vZ2xlLmNvbT4KKyAgICAgICAgCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJD
b3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgorICAgICAgICAKKyAgICAg
ICAgSW50cm9kdWNpbmcgV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXIsIHRoYXQgd2lsbCBo
YXZlIFdlYkNvcmUtc2lkZQorICAgICAgICBpbXBsZW1lbnRhdGlvbiBvZiBMYXlvdXRUZXN0Q29u
dHJvbGxlci4gVGhlIGluc3RhbmNlIGlzIG93bmVkIGJ5CisgICAgICAgIERPTVdpbmRvdy4gIEN1
cnJlbnRseSBkb2N1bWVudE1ha2VyU2l6ZUZvck5vZGUoKSBhbmQKKyAgICAgICAgZG9jdW1lbnRN
YWtlclN0cmluZ0Zvck5vZGVBdCgpIGFyZSBqdXN0IGEgc3R1Yi4gIFRoZXNlCisgICAgICAgIGlt
cGxlbWVudGF0aW9uIHdpbGwgY29tZSBsYXRlci4KKyAgICAgICAgCisgICAgICAgIFdlYkNvcmU6
OkxheW91dFRlc3RDb250cm9sbGVyIGlzIGZvciB0ZXN0aW5nLCBzbyBpdCBjYW5ub3QgaW5zdGFu
dGlhdGUKKyAgICAgICAgb24gcHJvZHVjdGlvbiBidWlsZC4KKyAgICAgICAgCisgICAgICAgIFRl
c3Q6IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3Jl
Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01X
aW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpKU0RP
TVdpbmRvd1NoZWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OmxheW91
dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxs
Lmg6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpsYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAg
ICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvRE9N
V2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6bGF5b3V0VGVzdENvbnRy
b2xsZXIpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICogcGFnZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVz
dENvbnRyb2xsZXI6OmZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9s
bGVyOjpkaXNjb25uZWN0RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRy
b2xsZXI6OmRvY3VtZW50TWFrZXJTaXplRm9yTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXRUZXN0Q29udHJvbGxlcjo6ZG9jdW1lbnRNYWtlclN0cmluZ0Zvck5vZGVBdCk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OnZlcmlmeUNvbm5lY3RlZCk6
CisgICAgICAgICogcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uv
TGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsOiBBZGRlZC4KKwogMjAxMC0wNy0yOCAgWm9sdGFuIEhl
cmN6ZWcgIDx6aGVyY3plZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5pa29s
YXMgWmltbWVybWFubi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCmluZGV4IDhlMzNhOTE3ZWE1YmEzNWY2Y2YyZGIxNDU0YTEyNjE0NTUxNDJiMjMu
LmZjNGVmNGI5OTg2YTc5ZGU5YzhiNTI5ZDExM2Q2YzVjOGE0ZDY2NmEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDIsOSArNDIsMTQg
QEAgRU5BQkxFXzNEX1JFTkRFUklOR18xMDUwID0gRU5BQkxFXzNEX1JFTkRFUklORzsKIEVOQUJM
RV8zRF9SRU5ERVJJTkdfMTA2MCA9IEVOQUJMRV8zRF9SRU5ERVJJTkc7CiBFTkFCTEVfM0RfUkVO
REVSSU5HXzEwNzAgPSBFTkFCTEVfM0RfUkVOREVSSU5HOwogCitFTkFCTEVfQ09SRV9MQVlPVVRf
VEVTVF9DT05UUk9MTEVSX0RlYnVnID0gRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExF
UjsKK0VOQUJMRV9DT1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVJfUmVsZWFzZSA9IEVOQUJMRV9D
T1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVI7CitFTkFCTEVfQ09SRV9MQVlPVVRfVEVTVF9DT05U
Uk9MTEVSX1Byb2R1Y3Rpb24gPSA7CisKIEVOQUJMRV9CTE9CX1NMSUNFID0gRU5BQkxFX0JMT0Jf
U0xJQ0U7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
Tkc7CiBFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0NMSUVOVF9CQVNF
RF9HRU9MT0NBVElPTjsKK0VOQUJMRV9DT1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVIgPSAkKEVO
QUJMRV9DT1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVJfJChDT05GSUdVUkFUSU9OKSk7CiBFTkFC
TEVfREFUQUJBU0UgPSBFTkFCTEVfREFUQUJBU0U7CiBFTkFCTEVfREFUQUdSSUQgPSA7CiBFTkFC
TEVfREFUQUxJU1QgPSBFTkFCTEVfREFUQUxJU1Q7CkBAIC04Niw0ICs5MSw0IEBAIEVOQUJMRV9Y
SFRNTE1QID0gOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBF
TkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0Jf
U0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFC
TEVfREFUQUxJU1QpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNU
T1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAk
KEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GSUxFX1JFQURFUikgJChFTkFCTEVfRklMRV9XUklU
RVIpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTUFHRV9SRVNJWkVSKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdH
RVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1BST0dS
RVNTX1RBRykgJChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0FOREJPWCkgJChFTkFCTEVfU0hBUkVE
X1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVf
U1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcp
ICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFC
TEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElO
S19QUkVGRVRDSCkgJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0JMT0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
TElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJP
TExFUikgJChFTkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRB
TElTVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBM
T0FEKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxF
X0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfUkVBREVSKSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChF
TkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUFJPR1JFU1NfVEFH
KSAkKEVOQUJMRV9SVUJZKSAkKEVOQUJMRV9TQU5EQk9YKSAkKEVOQUJMRV9TSEFSRURfV09SS0VS
UykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNf
SU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFC
TEVfV01MKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFU
SCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGVhNmU0N2UwNGY1ODA3Mjc5MTNi
YjIxNmY4OWU1ODk4ZmVhZmQ2NjAuLmIyNDJiMmNkYmUyNzEzZDQ2YzRkNTEwNTdlMzM2NWU1YTYw
M2ZmNjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0xOTMsNiArMTkzLDcgQEAKICNpbmNsdWRlICJKU0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAiCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
LmNwcCIKICNpbmNsdWRlICJKU0tleWJvYXJkRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwIgogI2luY2x1ZGUgIkpTTG9jYXRpb24uY3BwIgogI2luY2x1ZGUg
IkpTTWVkaWFFcnJvci5jcHAiCiAjaW5jbHVkZSAiSlNNZWRpYUxpc3QuY3BwIgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCmluZGV4IDhjZWNjMmI1NjhiZGEwNTk1ZGNmODY3M2ZlNTQzNzA1YTczMGE2Y2IuLmE2MGFh
ZTkyMGI1NDMzMDZiYzhiMDAzODk1MTk5NTlkYjQ2YTQ0YWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAg
LTIzNiw2ICsyMzYsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBJbnNwZWN0b3JGcm9udGVuZEhv
c3QgXAogICAgIEtleWJvYXJkRXZlbnQgXAogICAgIExvY2F0aW9uIFwKKyAgICBMYXlvdXRUZXN0
Q29udHJvbGxlciBcCiAgICAgTWVkaWFFcnJvciBcCiAgICAgTWVkaWFMaXN0IFwKICAgICBNZW1v
cnlJbmZvIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCmluZGV4IDQ5Mzg4Y2NmMjY3ZDcyYzAwZDBkNDg4ZjJiZGEwZTI3YWIyNTk4
NmIuLjU4YTA5YmI4ZWZmYjFjNDdkYzI0ZGViY2ExYTMyNWMyZTdkMGEwNzYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAt
NDA0LDYgKzQwNCw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0tleWJvYXJkRXZlbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTS2V5
Ym9hcmRFdmVudC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9uLmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNNZWRpYUVycm9yLmNwcCBcCkBAIC0xNzgwLDYgKzE3ODIsOCBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVdlYkNvcmUvcGFnZS9IYWx0YWJsZVBsdWdpbi5oIFwKIAlXZWJDb3JlL3BhZ2UvSGlz
dG9yeS5jcHAgXAogCVdlYkNvcmUvcGFnZS9IaXN0b3J5LmggXAorCVdlYkNvcmUvcGFnZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHAgXAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5oIFwKIAlXZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwIFwKIAlXZWJDb3JlL3BhZ2UvTG9jYXRp
b24uaCBcCiAJV2ViQ29yZS9wYWdlL01lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oIFwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IGRmYmQxNTBjN2UwMTAzYTc2ZDhjZjI5ODRhZWM2Y2M0NjljN2RjZWUuLmFmZjBiMWZhNTlhZTE4
NzNlYzY2MGUxYmRjN2M4MWI2ZjQ0MDk3MmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KKysrIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTI0MCw2ICsxMjQwLDcgQEAg
X19OUE5fUmV0YWluT2JqZWN0CiBfX05QTl9TZXRFeGNlcHRpb24KIF9fTlBOX1NldFByb3BlcnR5
CiBfX05QTl9VVEY4RnJvbUlkZW50aWZpZXIKK19fWk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxl
cjIwbGF5b3V0VGVzdENvbnRyb2xsZXJFUE5TXzE1RE9NV3JhcHBlcldvcmxkRQogX19aTjdXZWJD
b3JlMTZTY3JpcHRDb250cm9sbGVyMjB3aW5kb3dTY3JpcHROUE9iamVjdEV2CiBfX1pON1dlYkNv
cmUxNlNjcmlwdENvbnRyb2xsZXIyOWNsZWFudXBTY3JpcHRPYmplY3RzRm9yUGx1Z2luRVB2CiBf
X1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3Q0dmlld0V2CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGFhZmIyMjJlYTJkNmQyYzUy
OTM5N2E1NDRhYjlhMGRlMmQwODQ4M2YuLmI5NjlkOThkZmQzYWYwNTFkM2IzZTI1MjYyNmIxYjZh
OWViYTlmZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0yMTQsNiArMjE0LDcgQEAKICAgICAgICAgICAgICdwYWdlL0dlb3Bv
c2l0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9IaXN0b3J5LmlkbCcsCiAgICAgICAgICAg
ICAncGFnZS9Mb2NhdGlvbi5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5b3V0VGVzdENvbnRy
b2xsZXIuaWRsJywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUluZm8uaWRsJywKICAgICAgICAg
ICAgICdwYWdlL05hdmlnYXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5p
ZGwnLApAQCAtMTk5OCw2ICsxOTk5LDggQEAKICAgICAgICAgICAgICdwYWdlL0hpc3RvcnkuaCcs
CiAgICAgICAgICAgICAncGFnZS9Mb2NhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvTG9j
YXRpb24uaCcsCisgICAgICAgICAgICAncGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAnLAor
ICAgICAgICAgICAgJ3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAn
cGFnZS9NZW1vcnlJbmZvLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmgnLAog
ICAgICAgICAgICAgJ3BhZ2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAnLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXgg
ZWY4N2E0NTVhOWVlNzUxOGFlODE2YjJlYmY5NjUwNzQ4ZGNkODJmMC4uOTBmNjA5NTE1ZDdkOTYx
MGI1ODQxOGJjN2M5ZTZiY2Y4NDNkNzRjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBy
aQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC00NjUsNiArNDY1LDcgQEAgSURMX0JJTkRJ
TkdTICs9IFwKICAgICBwYWdlL0dlb2xvY2F0aW9uLmlkbCBcCiAgICAgcGFnZS9HZW9wb3NpdGlv
bi5pZGwgXAogICAgIHBhZ2UvSGlzdG9yeS5pZGwgXAorICAgIHBhZ2UvTGF5b3V0VGVzdENvbnRy
b2xsZXIuaWRsIFwKICAgICBwYWdlL0xvY2F0aW9uLmlkbCBcCiAgICAgcGFnZS9NZW1vcnlJbmZv
LmlkbCBcCiAgICAgcGFnZS9OYXZpZ2F0aW9uLmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAwNzUxODA5YWJjNjEzZjFhZGE2
MmQxNmU3YTViYWU1ZWQwODFlZDM5Li4wMDJlNDQ4NWY3MTM2ZWQ4OTI2YTM3YzM3ZjUzMTI3ODZm
MWNlYmRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KQEAgLTgyNiw2ICs4MjYsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwYWdlL0dlb2xv
Y2F0aW9uQ29udHJvbGxlci5jcHAgXAogICAgIHBhZ2UvR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hl
LmNwcCBcCiAgICAgcGFnZS9IaXN0b3J5LmNwcCBcCisgICAgcGFnZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAgXAogICAgIHBhZ2UvTG9jYXRpb24uY3BwIFwKICAgICBwYWdlL01lbW9yeUluZm8u
Y3BwIFwKICAgICBwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwIFwKQEAgLTE1
OTYsNiArMTU5Nyw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBhZ2UvR2VvcG9zaXRpb24uaCBcCiAg
ICAgcGFnZS9IYWx0YWJsZVBsdWdpbi5oIFwKICAgICBwYWdlL0hpc3RvcnkuaCBcCisgICAgcGFn
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIFwKICAgICBwYWdlL0xvY2F0aW9uLmggXAogICAgIHBh
Z2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5oIFwKICAgICBwYWdlL05hdmlnYXRvckJh
c2UuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA4OWMwN2Q1ODAz
YmIzNWM1MmNlNjliNjdkNTk1MjkwN2RlMmM5OWExLi44Nzg1N2ZkYzFhNmI0ZjcyOTMwMWFhNWYz
Mzg2Nzc3MzExY2ZjNDhiIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAg
LTkwMDUsNiArOTAwNSw2MiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJ
UmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiIN
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWly
b3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJS
ZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJ
CQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkv
Pg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJ
CQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
KwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNNZWRpYUVycm9yLmNwcCINCiAJ
CQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0yMjI5Nyw2ICsyMjM1MywxNCBAQAog
CQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdl
XExheW91dFRlc3RDb250cm9sbGVyLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8Rmls
ZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTGF5b3V0VGVzdENvbnRyb2xsZXIuaCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2Vc
TW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5NDVhYTVkYTAy
YmZkNzIxN2JiMDU1ZWNjMWJiYzMwNDgyNjFhOTE2Li4xOWYyMjNkYmEyYmE1NzYzZGYzMzY2ZTVi
MmI0YWU2NTI3NTJhOTA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMjY3OSw2ICsyNjc5LDggQEAKIAkJQTcxODc4OTAwQjJEMDRBQzAwQTE2RUNFIC8q
IERyYWdDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTcxODc4OEYwQjJEMDRBQzAwQTE2RUNFIC8qIERyYWdDb250cm9sbGVyTWFj
Lm1tICovOyB9OwogCQlBNzM1MkMxOTBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2su
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTczNTJD
MTcwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmNwcCAqLzsgfTsKIAkJQTczNTJD
MUEwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzM1MkMxODBCMUJCODlEMDBBOTg2RDAgLyog
UmVuZGVyU1ZHQmxvY2suaCAqLzsgfTsKKwkJQTc0NUQyRTYxMUY1QjM3OTAwQUNEMDIzIC8qIExh
eW91dFRlc3RDb250cm9sbGVyQ29yZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNzQ1RDJFMzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlLmNwcCAqLzsgfTsKKwkJQTc0NUQyRTcxMUY1QjM3OTAwQUNEMDIzIC8qIExh
eW91dFRlc3RDb250cm9sbGVyQ29yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTc0NUQyRTQxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250
cm9sbGVyQ29yZS5oICovOyB9OwogCQlBNzVFNDk3NjEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzVFNDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTc1
RTQ5NzcxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFNDk3NTEwNzUyQUNC
MDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCAqLzsgfTsKIAkJQTc1RThCODgw
RTFERTJENjAwN0YyNDgxIC8qIEZFQmxlbmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RThCODAwRTFERTJENjAwN0YyNDgxIC8qIEZFQmxlbmQu
Y3BwICovOyB9OwpAQCAtMjY4OSw2ICsyNjkxLDggQEAKIAkJQTc1RThCOEQwRTFERTJENjAwN0Yy
NDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU4Qjg1MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvbmVu
dFRyYW5zZmVyLmggKi87IH07CiAJCUE3NUU4QjhFMEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBv
c2l0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NzVFOEI4NjBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuY3BwICovOyB9OwogCQlBNzVF
OEI4RjBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU4Qjg3MEUxREUyRDYwMDdGMjQ4MSAvKiBG
RUNvbXBvc2l0ZS5oICovOyB9OworCQlBNzc1NThFMzExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlv
dXRUZXN0Q29udHJvbGxlckNvcmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTc3NTU4RTExMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENv
bnRyb2xsZXJDb3JlLmNwcCAqLzsgfTsKKwkJQTc3NTU4RTQxMUY1QjYwMjAwQjQzQUMxIC8qIEpT
TGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNzc1NThFMjExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0
Q29udHJvbGxlckNvcmUuaCAqLzsgfTsKIAkJQTc3OTc5MTkwRDZCOUQwQzAwMzg1MUI5IC8qIElt
YWdlRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzc5NzkxMzBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLzsgfTsKIAkJQTc3
OTc5MUEwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3OTc5MTQwRDZCOUQwQzAwMzg1MUI5IC8qIElt
YWdlRGF0YS5oICovOyB9OwogCQlBNzc5NzkyODBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURh
dGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3
OTc5MjQwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmNwcCAqLzsgfTsKQEAgLTgzOTMs
NiArODM5Nyw5IEBACiAJCUE3MUE3MEM5MTFBRkIwMjAwMDk4OUQ2RCAvKiBIVE1MTWV0ZXJFbGVt
ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50LmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTczNTJDMTcwQjFCQjg5RDAwQTk4NkQwIC8qIFJl
bmRlclNWR0Jsb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZW5kZXJTVkdCbG9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MzUyQzE4
MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTc0NUQyRTMxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFRlc3RDb250cm9s
bGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc0NUQyRTQxMUY1QjM3OTAw
QUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IExheW91dFRlc3RDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUE3NDVEMkU1MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlci5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFNDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVF
NDk3NTEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU4QjgwMEUxREUyRDYwMDdGMjQ4MSAv
KiBGRUJsZW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZFQmxl
bmQuY3BwOyBwYXRoID0gZmlsdGVycy9GRUJsZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTg0MDMsNiArODQxMCw4IEBACiAJCUE3NUU4Qjg1MEUxREUyRDYwMDdGMjQ4MSAv
KiBGRUNvbXBvbmVudFRyYW5zZmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEZFQ29tcG9uZW50VHJhbnNmZXIuaDsgcGF0aCA9IGZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFOEI4NjBFMURFMkQ2MDA3RjI0
ODEgLyogRkVDb21wb3NpdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gRkVDb21wb3NpdGUuY3BwOyBwYXRoID0gZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU4Qjg3MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNv
bXBvc2l0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGRUNvbXBvc2l0ZS5o
OyBwYXRoID0gZmlsdGVycy9GRUNvbXBvc2l0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBNzc1NThFMTExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xheW91dFRlc3RDb250
cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc3NTU4RTIxMUY1QjYw
MjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNMYXlvdXRUZXN0Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNzc5NzkxMzBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlRGF0YS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTE0MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFn
ZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VEYXRhLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTE1MEQ2QjlEMEMwMDM4NTFCOSAvKiBJ
bWFnZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEltYWdlRGF0YS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjI2Myw2ICsxMjI3Miw5IEBACiAJCTY1QkYwMjE4
MDk3NDgwNjMwMEM0MzE5NiAvKiBwYWdlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKKwkJCQlBNzQ1RDJFMzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENv
bnRyb2xsZXIuY3BwICovLAorCQkJCUE3NDVEMkU0MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRU
ZXN0Q29udHJvbGxlci5oICovLAorCQkJCUE3NDVEMkU1MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlv
dXRUZXN0Q29udHJvbGxlci5pZGwgKi8sCiAJCQkJMzE2RkUxMDYwRTZFMUQ4NDAwQkY2MDg4IC8q
IGFuaW1hdGlvbiAqLywKIAkJCQk5M0MwOUE4MjBCMDY0RjA1MDA1QUJENEQgLyogbWFjICovLAog
CQkJCTg1MzhGMDAwMEFENzE3NzAwMDZBODFEMSAvKiBBYnN0cmFjdFZpZXcuaWRsICovLApAQCAt
MTU5NTAsNiArMTU5NjIsOCBAQAogCQlCQzk4NTQ0MzBDRDNEOUQwMDAwNjlCQzEgLyogV2luZG93
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzc1NThF
MTExRjVCNjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgKi8sCisJCQkJ
QTc3NTU4RTIxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCAqLywK
IAkJCQlCQzEyNEVGRDBDMjY0NDdBMDA5RTIzNDkgLyogSlNCYXJJbmZvLmNwcCAqLywKIAkJCQlC
QzEyNEVGRTBDMjY0NDdBMDA5RTIzNDkgLyogSlNCYXJJbmZvLmggKi8sCiAJCQkJQkM5ODU0M0Iw
Q0QzRDk4QjAwMDY5QkMxIC8qIEpTQ29uc29sZS5jcHAgKi8sCkBAIC0xODczNiw2ICsxODc1MCw3
IEBACiAJCQkJNDlDN0I5OTYxMDQyRDJEMzAwMDlENDQ3IC8qIEpTSW50OEFycmF5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQzVGQUVEMjBEQ0ZEOTAxMDBENThGNzggLyogSlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODY2MjlEMzA5REEyQjQ4MDA5NjMzQTUgLyog
SlNLZXlib2FyZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzc1NThFNDExRjVCNjAyMDBC
NDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1
RjQ1NDMwRjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2ZW50TGlzdGVuZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDRTFDNDNDMEQ5ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFNDQ2MTQxOTBDRDY4MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmgg
aW4gSGVhZGVycyAqLywKQEAgLTE4OTg4LDYgKzE5MDAzLDcgQEAKIAkJCQlBNDU2RkEyNzExQUQ0
QTgzMDAyMEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RUM5
QUZCMEE3MUEyQzYwMEVFRUFFRCAvKiBMYW5ndWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5
MDY2MDcwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlBNzQ1RDJFNzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTkzRjE5OEYwMDgyNDVFNTkwMDFFOUFCQyAvKiBMZWdhY3lIVE1MRG9j
dW1lbnRQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OEVGMDgyNDVFNTkwMDFFOUFC
QyAvKiBMZWdhY3lIVE1MVHJlZUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0OTYyNkMz
MEQ4MEQ5NDkwMEUzNDA1QyAvKiBMZWdhY3lQcmVsb2FkU2Nhbm5lci5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yMTIwNCw2ICsyMTIyMCw3IEBACiAJCQkJMUM1RkFFRDEwRENGRDkwMTAwRDU4Rjc4IC8q
IEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQzVGQUVFNzBE
Q0ZEQTY4MDBENThGNzggLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE4NjYyOUQ0MDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc3NTU4RTMxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RjQ1NDIwRjdDM0I1
RjAwRDdDMUZCIC8qIEpTTGF6eUV2ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNFMUM0M0IwRDk4MzBEMzAwM0IwMkYyIC8qIEpTTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkNFMUM0NDAwRDk4MzBGNDAwM0IwMkYyIC8qIEpTTG9jYXRpb25DdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0yMTQ5NCw2ICsyMTUxMSw3IEBACiAJCQkJQTQ1NkZBMjYxMUFENEE4
MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNTIw
ODQ1MDlCRDQzQjkwMEYyMDM4RCAvKiBMYW5ndWFnZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJE
OTA2NjA2MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBNzQ1RDJFNjExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMTlBOUMwODI0NUU1OTAwMUU5QUJDIC8qIExlZ2FjeUhU
TUxEb2N1bWVudFBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0YxOUE5QjA4MjQ1RTU5
MDAxRTlBQkMgLyogTGVnYWN5SFRNTFRyZWVCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUU0OTYyNkMyMEQ4MEQ5NDgwMEUzNDA1QyAvKiBMZWdhY3lQcmVsb2FkU2Nhbm5lci5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dT
aGVsbC5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCmluZGV4
IDY1MDk2YjkzYzA2ZDgzN2E0MTRhZDdhODNmYjZhNjE5ZDIxN2ZhZmYuLjk4MjlmZTBiY2Y0NjQ1
OGMzMDA5MWM0NWI1ZTg5OWQ2YmEwMDVmNjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmNwcApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNp
bmNsdWRlICJKU0RPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkpTTGF5b3V0VGVzdENvbnRyb2xsZXIu
aCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgi
CiAjaW5jbHVkZSA8cnVudGltZS9KU09iamVjdC5oPgpAQCAtNjksNiArNzAsMTUgQEAgdm9pZCBK
U0RPTVdpbmRvd1NoZWxsOjpzZXRXaW5kb3coUGFzc1JlZlB0cjxET01XaW5kb3c+IGRvbVdpbmRv
dykKICAgICBzZXRXaW5kb3coanNET01XaW5kb3cpOwogfQogCitKU09iamVjdCogSlNET01XaW5k
b3dTaGVsbDo6bGF5b3V0VGVzdENvbnRyb2xsZXIoKQoreworI2lmIEVOQUJMRShDT1JFX0xBWU9V
VF9URVNUX0NPTlRST0xMRVIpCisgICAgcmV0dXJuIHRvSlMoZXhlYywgd2luZG93KCksIHdpbmRv
dygpLT5pbXBsKCktPmxheW91dFRlc3RDb250cm9sbGVyKCkpLnRvT2JqZWN0KGV4ZWMpOworI2Vs
c2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCiAvLyAtLS0tCiAvLyBKU09iamVjdCBtZXRo
b2RzCiAvLyAtLS0tCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
U2hlbGwuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCmluZGV4IDg4
ODMyNWQwM2ZjYzhmMzRjOWUzM2FhMjVmYWFkMDMzMjU0ODNmNzEuLjQ1ZmYzN2U5MjhlMDJmMzEy
N2I5MDBjN2RhYmNkZmIxYWVjNjYxZjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dTaGVsbC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dT
aGVsbC5oCkBAIC01Miw2ICs1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgfQog
ICAgICAgICB2b2lkIHNldFdpbmRvdyhQYXNzUmVmUHRyPERPTVdpbmRvdz4pOwogCisgICAgICAg
IEpTQzo6SlNPYmplY3QqIGxheW91dFRlc3RDb250cm9sbGVyKCk7CisKICAgICAgICAgc3RhdGlj
IGNvbnN0IEpTQzo6Q2xhc3NJbmZvIHNfaW5mbzsKIAogICAgICAgICBET01XaW5kb3cqIGltcGwo
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxl
ci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDk4
MDIyZDliMzViZDRjMjlkZjFkY2U0ZWNkYmNmMWM4M2M0Y2UyYzguLjk4OTkyMDcyMjVkMWNlNGY3
Mzc4ZjFhM2ZmMDAyYTUwNzQ5NzMwZjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyLmNwcApAQCAtNTA2LDQgKzUwNiw5IEBAIFNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xs
ZXI6OmV4ZWN1dGVTY3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorSlNPYmplY3QqIFNjcmlwdENvbnRyb2xsZXI6OmxheW91
dFRlc3RDb250cm9sbGVyKERPTVdyYXBwZXJXb3JsZCogd29ybGQpCit7CisgICAgcmV0dXJuIHdp
bmRvd1NoZWxsKHdvcmxkKS0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCA4
MDE1NWU0YjkzNTBmYzg0YjMyNDFkM2UzMzdmMDRkMjQ2OWRiZDk2Li43MzIxMzM4MTQxZTc3OTkx
YmE4MWE5NDdiYTViZGQ1Zjg2ZTEyNjZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRy
b2xsZXIuaApAQCAtOTAsNiArOTAsOCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4g
d2luZG93U2hlbGwod29ybGQpLT53aW5kb3coKTsKICAgICB9CisgICAgCisgICAgSlNDOjpKU09i
amVjdCogbGF5b3V0VGVzdENvbnRyb2xsZXIoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCk7CiAKICAg
ICBzdGF0aWMgdm9pZCBnZXRBbGxXb3JsZHMoVmVjdG9yPERPTVdyYXBwZXJXb3JsZCo+Jik7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAKaW5kZXggZTZkOGQwNDAzMmIzYTI5ODg3NmU3YzIwZTM5MDk1MGFiNmRkYTFm
YS4uNzE1ZjhhNGQ3Y2QwMjE2ODA4MWIyODM0ZDk4M2I0NTFlYjllODgxZiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5j
cHAKQEAgLTYxLDYgKzYxLDcgQEAKICNpbmNsdWRlICJJbmRleGVkRGF0YWJhc2VSZXF1ZXN0Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRp
bWVsaW5lQWdlbnQuaCIKKyNpbmNsdWRlICJMYXlvdXRUZXN0Q29udHJvbGxlci5oIgogI2luY2x1
ZGUgIkxvY2F0aW9uLmgiCiAjaW5jbHVkZSAiU3R5bGVNZWRpYS5oIgogI2luY2x1ZGUgIk1lc3Nh
Z2VFdmVudC5oIgpAQCAtNTk0LDYgKzU5NSwxNSBAQCBMb2NhdGlvbiogRE9NV2luZG93Ojpsb2Nh
dGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1fbG9jYXRpb24uZ2V0KCk7CiB9CiAKK0xheW91dFRl
c3RDb250cm9sbGVyKiBET01XaW5kb3c6OmxheW91dFRlc3RDb250cm9sbGVyKCkgY29uc3QKK3sK
KyNpZiBFTkFCTEUoQ09SRV9MQVlPVVRfVEVTVF9DT05UUk9MTEVSKQorICAgIGlmICghbV9sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbV9sYXlvdXRUZXN0Q29udHJvbGxlciA9IExheW91
dFRlc3RDb250cm9sbGVyOjpjcmVhdGUobV9mcmFtZSk7CisjZW5kaWYKKyAgICByZXR1cm4gbV9s
YXlvdXRUZXN0Q29udHJvbGxlci5nZXQoKTsKK30KKwogI2lmIEVOQUJMRShET01fU1RPUkFHRSkK
IFN0b3JhZ2UqIERPTVdpbmRvdzo6c2Vzc2lvblN0b3JhZ2UoRXhjZXB0aW9uQ29kZSYgZWMpIGNv
bnN0CiB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmgKaW5kZXggN2ExMzY1MTI3ZTA2ODVlMDNlNjQ3YWE2MGVlYWZhODdjYjNm
MTYxZi4uZDcxZTgxNzQ2MWNhZTUwOWY0Zjc1NmZiMjdiMWEzZjI2MWRjMTNkNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aApAQCAtNTYsNiArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSURCS2V5
UmFuZ2U7CiAgICAgY2xhc3MgSW5kZXhlZERhdGFiYXNlUmVxdWVzdDsKICAgICBjbGFzcyBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OworICAgIGNsYXNzIExheW91dFRlc3RDb250cm9sbGVyOwogICAg
IGNsYXNzIExvY2F0aW9uOwogICAgIGNsYXNzIFN0eWxlTWVkaWE7CiAgICAgY2xhc3MgTmF2aWdh
dG9yOwpAQCAtMzgxLDYgKzM4Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRE9N
QXBwbGljYXRpb25DYWNoZSogb3B0aW9uYWxBcHBsaWNhdGlvbkNhY2hlKCkgY29uc3QgeyByZXR1
cm4gbV9hcHBsaWNhdGlvbkNhY2hlLmdldCgpOyB9CiAjZW5kaWYKIAorICAgICAgICBMYXlvdXRU
ZXN0Q29udHJvbGxlciogbGF5b3V0VGVzdENvbnRyb2xsZXIoKSBjb25zdDsKKwogICAgICAgICB1
c2luZyBSZWZDb3VudGVkPERPTVdpbmRvdz46OnJlZjsKICAgICAgICAgdXNpbmcgUmVmQ291bnRl
ZDxET01XaW5kb3c+OjpkZXJlZjsKIApAQCAtNDExLDYgKzQxNCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICNpZiBFTkFCTEUoV0VCX1RJTUlORykKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8UGVy
Zm9ybWFuY2U+IG1fcGVyZm9ybWFuY2U7CiAjZW5kaWYKKyAgICAgICAgbXV0YWJsZSBSZWZQdHI8
TGF5b3V0VGVzdENvbnRyb2xsZXI+IG1fbGF5b3V0VGVzdENvbnRyb2xsZXI7CiAgICAgICAgIG11
dGFibGUgUmVmUHRyPExvY2F0aW9uPiBtX2xvY2F0aW9uOwogICAgICAgICBtdXRhYmxlIFJlZlB0
cjxTdHlsZU1lZGlhPiBtX21lZGlhOwogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2Uv
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0YWQwNDM2ZWVhMGRjMjE3OGZj
YWZhOTdiYWIyNGU5MTQ0MGQ3ODcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BhZ2UvTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyLmgiCisKKyNpZiBFTkFCTEUoQ09SRV9M
QVlPVVRfVEVTVF9DT05UUk9MTEVSKQorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2lu
Y2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiTm9kZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRnJhbWUqIExheW91dFRlc3RDb250cm9s
bGVyOjpmcmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZnJhbWU7Cit9CisKK3ZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCit7CisgICAgbV9mcmFtZSA9IDA7
Cit9CisKK2ludCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9k
ZShOb2RlKiwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCF2ZXJpZnlDb25u
ZWN0ZWQoZWMpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQK
KyAgICByZXR1cm4gMDsKK30KKworU3RyaW5nIExheW91dFRlc3RDb250cm9sbGVyOjpkb2N1bWVu
dE1hcmtlclN0cmluZ0Zvck5vZGVBdChOb2RlKiwgaW50LCBFeGNlcHRpb25Db2RlJiBlYykgY29u
c3QKK3sKKyAgICBpZiAoIXZlcmlmeUNvbm5lY3RlZChlYykpCisgICAgICAgIHJldHVybiAiIjsK
KworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyAgICByZXR1cm4gIiI7Cit9CisKK0xheW91dFRl
c3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihGcmFtZSogZnJhbWUpCisgICAgOiBt
X2ZyYW1lKGZyYW1lKQoreworfQorCitib29sIExheW91dFRlc3RDb250cm9sbGVyOjp2ZXJpZnlD
b25uZWN0ZWQoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKSB7
CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVy
LmggYi9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzYx
OTM5Yjg3ZmE1MDZiY2U4MTNiNzRiNzlmOGQyMDY2MDk5MjUyCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTAsMCArMSw3MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIExheW91dFRlc3RDb250cm9sbGVyX2gKKyNkZWZpbmUgTGF5b3V0VGVzdENvbnRyb2xsZXJf
aAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
I2lmIEVOQUJMRShDT1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVIpCisKK2NsYXNzIEZyYW1lOwor
Y2xhc3MgTm9kZTsKK2NsYXNzIFN0cmluZzsKK3R5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CisK
K2NsYXNzIExheW91dFRlc3RDb250cm9sbGVyIDogcHVibGljIFJlZkNvdW50ZWQ8TGF5b3V0VGVz
dENvbnRyb2xsZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxMYXlvdXRUZXN0
Q29udHJvbGxlcj4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IExh
eW91dFRlc3RDb250cm9sbGVyKGZyYW1lKSk7IH0KKworICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0
OworICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CisKKyAgICBpbnQgZG9jdW1lbnRNYXJrZXJT
aXplRm9yTm9kZShOb2RlKiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIFN0cmluZyBkb2N1
bWVudE1hcmtlclN0cmluZ0Zvck5vZGVBdChOb2RlKiwgaW50LCBFeGNlcHRpb25Db2RlJikgY29u
c3Q7CisKK3ByaXZhdGU6CisgICAgYm9vbCB2ZXJpZnlDb25uZWN0ZWQoRXhjZXB0aW9uQ29kZSYp
IGNvbnN0OworICAgIExheW91dFRlc3RDb250cm9sbGVyKEZyYW1lKik7CisKKyAgICBGcmFtZSog
bV9mcmFtZTsKK307CisKKyNlbHNlCitjbGFzcyBMYXlvdXRUZXN0Q29udHJvbGxlciA6IHB1Ymxp
YyBSZWZDb3VudGVkPExheW91dFRlc3RDb250cm9sbGVyPiB7fTsKKyNlbmRpZgorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBMYXlvdXRUZXN0Q29udHJvbGxlcl9oCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsIGIvV2ViQ29yZS9w
YWdlL0xheW91dFRlc3RDb250cm9sbGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yM2YxYjdmNmJmM2I1OTE5
MzUwNTZjOGMzNTZmMWM4NjA2MzA1YjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdl
L0xheW91dFRlc3RDb250cm9sbGVyLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cg
eworCisgICAgaW50ZXJmYWNlIFtPbWl0Q29uc3RydWN0b3IsIENvbmRpdGlvbmFsPUNPUkVfTEFZ
T1VUX1RFU1RfQ09OVFJPTExFUl0gTGF5b3V0VGVzdENvbnRyb2xsZXIgeworICAgICAgICBsb25n
IGRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUoaW4gTm9kZSBub2RlKSByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKKyAgICAgICAgRE9NU3RyaW5nIGRvY3VtZW50TWFya2VyU3RyaW5nRm9yTm9kZUF0KGlu
IE5vZGUgbm9kZSwgaW4gbG9uZyBpbmRleCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgfTsK
KworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCBmNzYzN2U3Y2E1YzE0YTc2MzdmNGQzNzcyMjY0ZjY4YThhNjBkMTJlLi5mODFm
MzFiY2ZjYjI5MDlkYjU3N2M0ZmVkMTNkZTkxN2E4NDRhZGM5IDEwMDY0NAotLS0gYS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDEwLTA3LTIxICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAg
ICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVy
bmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgorCisgICAgICAgIEFkZGVkIGFuIGFjY2Vz
c29yIGZvciBhbiBKYXZhU2NyaXB0IG9iamVjdCB3aGljaCB3cmFwcyBXZWJDb3JlOjpMYXlvdXRU
ZXN0Q29udHJvbGxlci4KKworICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAg
ICgtW1dlYkZyYW1lIGxheW91dFRlc3RDb250cm9sbGVyXSk6CisgICAgICAgICogV2ViVmlldy9X
ZWJGcmFtZVByaXZhdGUuaDoKKwogMjAxMC0wNy0yNyAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KZGlmZiAtLWdp
dCBhL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhl
MzNhOTE3ZWE1YmEzNWY2Y2YyZGIxNDU0YTEyNjE0NTUxNDJiMjMuLmZjNGVmNGI5OTg2YTc5ZGU5
YzhiNTI5ZDExM2Q2YzVjOGE0ZDY2NmEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvV2ViS2l0L21hYy9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDIsOSArNDIsMTQgQEAgRU5BQkxFXzNE
X1JFTkRFUklOR18xMDUwID0gRU5BQkxFXzNEX1JFTkRFUklORzsKIEVOQUJMRV8zRF9SRU5ERVJJ
TkdfMTA2MCA9IEVOQUJMRV8zRF9SRU5ERVJJTkc7CiBFTkFCTEVfM0RfUkVOREVSSU5HXzEwNzAg
PSBFTkFCTEVfM0RfUkVOREVSSU5HOwogCitFTkFCTEVfQ09SRV9MQVlPVVRfVEVTVF9DT05UUk9M
TEVSX0RlYnVnID0gRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExFUjsKK0VOQUJMRV9D
T1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVJfUmVsZWFzZSA9IEVOQUJMRV9DT1JFX0xBWU9VVF9U
RVNUX0NPTlRST0xMRVI7CitFTkFCTEVfQ09SRV9MQVlPVVRfVEVTVF9DT05UUk9MTEVSX1Byb2R1
Y3Rpb24gPSA7CisKIEVOQUJMRV9CTE9CX1NMSUNFID0gRU5BQkxFX0JMT0JfU0xJQ0U7CiBFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVf
Q0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElP
TjsKK0VOQUJMRV9DT1JFX0xBWU9VVF9URVNUX0NPTlRST0xMRVIgPSAkKEVOQUJMRV9DT1JFX0xB
WU9VVF9URVNUX0NPTlRST0xMRVJfJChDT05GSUdVUkFUSU9OKSk7CiBFTkFCTEVfREFUQUJBU0Ug
PSBFTkFCTEVfREFUQUJBU0U7CiBFTkFCTEVfREFUQUdSSUQgPSA7CiBFTkFCTEVfREFUQUxJU1Qg
PSBFTkFCTEVfREFUQUxJU1Q7CkBAIC04Niw0ICs5MSw0IEBAIEVOQUJMRV9YSFRNTE1QID0gOwog
RU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsK
IAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfM0Rf
Q0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0JfU0xJQ0UpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1Qp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkg
JChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxU
RVJTKSAkKEVOQUJMRV9GSUxFX1JFQURFUikgJChFTkFCTEVfRklMRV9XUklURVIpICQoRU5BQkxF
X0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTUFHRV9SRVNJWkVSKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChF
TkFCTEVfUlVCWSkgJChFTkFCTEVfU0FOREJPWCkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdF
KSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dN
TCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQo
RU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0Jf
U0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0NPUkVfTEFZT1VUX1RFU1RfQ09OVFJPTExFUikgJChFTkFC
TEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJM
RV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQo
RU5BQkxFX0ZJTEVfUkVBREVSKSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChFTkFCTEVfRklMRV9T
WVNURU0pICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lNQUdFX1JFU0laRVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
UFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09G
RkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9S
VUJZKSAkKEVOQUJMRV9TQU5EQk9YKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVf
U1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5B
QkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9T
VkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV01MKSAkKEVO
QUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVf
WFNMVCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KaW5kZXggYjcxZDUwMWRmY2ZhOWIxNzk1MTc0OGNl
ZGY1YTkyMjhhMTFmNmVlZC4uM2EyMDA5NWM4MzI0ZGU3YzRkYWQzNmMwYTcwNDZmYmQzMjI2Y2Y1
MSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQpAQCAtMTM0MCw2ICsxMzQwLDE2IEBAIHN0YXRpYyBp
bmxpbmUgV2ViRGF0YVNvdXJjZSAqZGF0YVNvdXJjZShEb2N1bWVudExvYWRlciogbG9hZGVyKQog
ICAgIHJldHVybiBjb3JlRnJhbWUtPmxheWVyVHJlZUFzVGV4dCgpOwogfQogCistIChKU1ZhbHVl
UmVmKWxheW91dFRlc3RDb250cm9sbGVyCit7CisgICAgRnJhbWUqIGNvcmVGcmFtZSA9IF9wcml2
YXRlLT5jb3JlRnJhbWU7CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVybiAwOwor
ICAgIERPTVdyYXBwZXJXb3JsZCogd29ybGQgPSBtYWluVGhyZWFkTm9ybWFsV29ybGQoKTsKKyAg
ICBKU0M6OkV4ZWNTdGF0ZSogZXhlYyA9IGNvcmVGcmFtZS0+c2NyaXB0KCktPmdsb2JhbE9iamVj
dCh3b3JsZCktPmdsb2JhbEV4ZWMoKTsKKyAgICByZXR1cm4gdG9SZWYoZXhlYywgSlNWYWx1ZShj
b3JlRnJhbWUtPnNjcmlwdCgpLT5sYXlvdXRUZXN0Q29udHJvbGxlcihtYWluVGhyZWFkTm9ybWFs
V29ybGQoKSkpKTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViRnJhbWUKZGlmZiAt
LWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaCBiL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaAppbmRleCAwYmRhOTY2YWJiZGZjOTQ3YzYyMWQ0MTQy
OWZiOGY3Yjk3MDA4ZGJkLi4yZDE2YTcxNWUyMDUwZWFmM2FhNzFjZDVlY2E2ZWEzM2U3M2RjODEy
IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgKKysrIGIv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCkBAIC0xMzYsNCArMTM2LDcgQEAg
dHlwZWRlZiBlbnVtIHsKIAogLSAoTlNTdHJpbmcqKV9sYXllclRyZWVBc1RleHQ7CiAKKy8vIFJl
dHVybnMgYXNzb2NpYXRlZCBMYXlvdXRUZXN0Q29udHJvbGxlciBvYmplY3QsIG9yIG51bGwgb24g
dGhlIHByb2R1Y3Rpb24gYnVpbGQuCistIChKU1ZhbHVlUmVmKWxheW91dFRlc3RDb250cm9sbGVy
OworCiBAZW5kCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKaW5kZXggMDg3MGRlZjU4NGE4MDQwODc5NmVmOGUzMTYxMGNlOTZlNjI1MTNl
Ny4uNTNiNjJlNjcxNjU3MWJmOWE3YmMyN2MxY2FhZjIwZWY4YTBlZDQyNSAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE5IEBACisyMDEwLTA3LTIxICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4dGVu
ZGVkIExheW91dFRlc3RDb250cm9sbGVyIG9iamVjdCBieSBhZGRpbmcgZGVsZ2F0aW9uIG1ldGhv
ZHMKKyAgICAgICAgZm9yIFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyLgorICAgICAgICBO
b3cgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIGhhcyBtZXRob2RzIGRlZmluZWQgaW4KKyAg
ICAgICAgV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXIuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6bWFrZURlbGVnYXRpb25NZXRob2RzKToKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyOjptYWtlV2luZG93T2JqZWN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxv
YWREZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bRnJhbWVMb2FkRGVsZWdhdGUgZGlkQ2xlYXJXaW5k
b3dPYmplY3RJblN0YW5kYXJkV29ybGRGb3JGcmFtZTpdKToKKwogMjAxMC0wNy0yNyAgS2ludWtv
IFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2ph
biBWYWZhaS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRl
c3RDb250cm9sbGVyLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RD
b250cm9sbGVyLmNwcAppbmRleCA2YTk1N2MxMjZlZjYxNzcxYTI4NmIwZWRmZDM0YjczMGFjNTY4
YjJiLi40ZDFmZDMxODRhOWExYWZjMmI1OGNmNDhkYTM5NmNiNzYzMmU3OTlhIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysr
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBA
IC0xNjk1LDkgKzE2OTUsMjggQEAgc3RhdGljIHZvaWQgbGF5b3V0VGVzdENvbnRyb2xsZXJPYmpl
Y3RGaW5hbGl6ZShKU09iamVjdFJlZiBvYmplY3QpCiAgICAgY29udHJvbGxlci0+ZGVyZWYoKTsK
IH0KIAorc3RhdGljIGNvbnN0IGNoYXIgc2V0dXBMYXlvdXRUZXN0Q29udHJvbGxlclNjcmlwdFtd
ID0gCisgICAgImZ1bmN0aW9uIGRlbGVnYXRlKGRzdCwgc3JjLCBuYW1lKSB7IGRzdFtuYW1lXSA9
IGZ1bmN0aW9uKCkgeyByZXR1cm4gc3JjW25hbWVdLmFwcGx5KHNyYywgYXJndW1lbnRzKTsgfSB9
XG4iCisgICAgImZvciAodmFyIG5hbWUgaW4gdGhpcy53ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHtcbiIKKyAgICAiICAgIGRlbGVnYXRlKHRoaXMsIHRoaXMud2ViQ29yZUxheW91dFRlc3RD
b250cm9sbGVyLCBuYW1lKTtcbiIKKyAgICAifVxuIjsKKwordm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6bWFrZURlbGVnYXRpb25NZXRob2RzKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiB0aGlzT2JqZWN0LCBKU1ZhbHVlUmVmIHdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlck9i
amVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiB3ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXJTdHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKCJ3ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXIiKSk7CisgICAgSlNP
YmplY3RTZXRQcm9wZXJ0eShjb250ZXh0LCB0aGlzT2JqZWN0LCB3ZWJDb3JlTGF5b3V0VGVzdENv
bnRyb2xsZXJTdHIuZ2V0KCksIHdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlck9iamVjdCwga0pT
UHJvcGVydHlBdHRyaWJ1dGVOb25lLCBleGNlcHRpb24pOworICAgIEFTU0VSVCghKmV4Y2VwdGlv
bik7CisKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gdXJsU3RyKEFkb3B0LCBKU1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygic2V0dXBfbGF5b3V0X3Rlc3RfY29udHJvbGxlcl90ZXN0
LmpzIikpOworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBzY3JpcHRTdHIoQWRvcHQsIEpT
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHNldHVwTGF5b3V0VGVzdENvbnRyb2xsZXJTY3Jp
cHQpKTsKKyAgICBBU1NFUlQoISpleGNlcHRpb24pOworICAgIEpTRXZhbHVhdGVTY3JpcHQoY29u
dGV4dCwgc2NyaXB0U3RyLmdldCgpLCB0aGlzT2JqZWN0LCB1cmxTdHIuZ2V0KCksIDEsIGV4Y2Vw
dGlvbik7CisgICAgQVNTRVJUKCEqZXhjZXB0aW9uKTsKK30KKwogLy8gT2JqZWN0IENyZWF0aW9u
CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0
aW9uKQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZVdpbmRvd09iamVjdChKU0NvbnRl
eHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2luZG93T2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24sIEpTVmFsdWVSZWYgd2ViQ29yZWxheW91dFRlc3RDb250b2xsZXIpCiB7CiAgICAgSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGxheW91dFRlc3RDb250b2xsZXJTdHIoQWRvcHQsIEpTU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJsYXlvdXRUZXN0Q29udHJvbGxlciIpKTsKICAgICBy
ZWYoKTsKQEAgLTE3MDYsNiArMTcyNSw5IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1h
a2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpCiAgICAg
SlNWYWx1ZVJlZiBsYXlvdXRUZXN0Q29udG9sbGVyT2JqZWN0ID0gSlNPYmplY3RNYWtlKGNvbnRl
eHQsIGNsYXNzUmVmLCB0aGlzKTsKICAgICBKU0NsYXNzUmVsZWFzZShjbGFzc1JlZik7CiAKKyAg
ICBpZiAod2ViQ29yZWxheW91dFRlc3RDb250b2xsZXIpCisgICAgICAgIG1ha2VEZWxlZ2F0aW9u
TWV0aG9kcyhjb250ZXh0LCBKU1ZhbHVlVG9PYmplY3QoY29udGV4dCwgbGF5b3V0VGVzdENvbnRv
bGxlck9iamVjdCwgZXhjZXB0aW9uKSwgd2ViQ29yZWxheW91dFRlc3RDb250b2xsZXIsIGV4Y2Vw
dGlvbik7CisKICAgICBKU09iamVjdFNldFByb3BlcnR5KGNvbnRleHQsIHdpbmRvd09iamVjdCwg
bGF5b3V0VGVzdENvbnRvbGxlclN0ci5nZXQoKSwgbGF5b3V0VGVzdENvbnRvbGxlck9iamVjdCwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSwgZXhjZXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXggMzBlYjliZDRmODQ0ZDRjYTljM2VlY2FiN2M2
NmVkMGU3NzkzODc4Zi4uMDZiMzljZDY4YjU0YTRmZjk4MTUzMGM5NmY1MDY5NmY4MGUzYzc4ZiAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5oCkBAIC00Miw3ICs0Miw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxMYXlv
dXRUZXN0Q29udHJvbGxlcj4gY3JlYXRlKGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0UGF0aE9yVVJM
LCBjb25zdCBzdGQ6OnN0cmluZyYgZXhwZWN0ZWRQaXhlbEhhc2gpOwogICAgIH5MYXlvdXRUZXN0
Q29udHJvbGxlcigpOwogCi0gICAgdm9pZCBtYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBj
b250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7
CisgICAgdm9pZCBtYWtlRGVsZWdhdGlvbk1ldGhvZHMoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
T2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTVmFsdWVSZWYgd2ViQ29yZUxheW91dFRlc3RDb250cm9s
bGVyLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOworICAgIHZvaWQgbWFrZVdpbmRvd09iamVjdChK
U0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2luZG93T2JqZWN0LCBKU1ZhbHVlUmVm
KiBleGNlcHRpb24sIEpTVmFsdWVSZWYgd2ViQ29yZWxheW91dFRlc3RDb250b2xsZXIgPSAwKTsK
IAogICAgIHZvaWQgYWRkRGlzYWxsb3dlZFVSTChKU1N0cmluZ1JlZiB1cmwpOwogICAgIHZvaWQg
Y2xlYXJBbGxEYXRhYmFzZXMoKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbSBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQppbmRleCA5NjNlYWU3MGZhNTlkODFlZmNmZWI4YWIx
ZTg4MzZjNTU3YzdhY2NkLi4xOGQ5ZGFjNDQwZTM5ZjhhZDM1OTFkNjMzMzk3MmQyNTdkYjYxOTQx
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVs
ZWdhdGUubW0KKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERl
bGVnYXRlLm1tCkBAIC0yNDUsNyArMjQ1LDggQEAKICAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbiA9
IDA7CiAKICAgICBBU1NFUlQoZ0xheW91dFRlc3RDb250cm9sbGVyKTsKLSAgICBnTGF5b3V0VGVz
dENvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhj
ZXB0aW9uKTsKKyAgICBKU1ZhbHVlUmVmIHdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlciA9IFtm
cmFtZSBsYXlvdXRUZXN0Q29udHJvbGxlcl07CisgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5t
YWtlV2luZG93T2JqZWN0KGNvbnRleHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlvbiwgd2ViQ29y
ZUxheW91dFRlc3RDb250cm9sbGVyKTsKICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CiAKICAgICBn
Y0NvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhj
ZXB0aW9uKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63403</attachid>
            <date>2010-08-03 19:09:21 -0700</date>
            <delta_ts>2010-08-11 21:37:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42612-20100804110918.patch</filename>
            <type>text/plain</type>
            <size>84136</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4OWMyMjJlMGMzNWU5YzlkOWVkOThhZTA4MmQ3OWIzYjc0ZWE5NGJiLi4wMWRjMmYw
MGNlZDg3ZmNlY2YwZjExNTMyYTVlYjk5YmU5M2EyYjJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDgtMDMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dp
bmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlv
dXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0
ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxh
dGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAtMDgtMDMgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBTa2lwcGluZyB0ZXN0IHdoaWNoIGZhaWxz
IG9uIHNvbWUgTGVvcGFyZCBpbnN0YWxscy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2Vi
Y29yZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93
LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTNjZWJhNGE3
YjZlZjExODVhZjk0M2E4MGZlY2MzMDJhMjQwYWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29u
dHJvbGxlci13ZWJjb3JlLmpzCkBAIC0wLDAgKzEsNyBAQAorZGVzY3JpcHRpb24oIndpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlciBzaG91bGQgaGF2ZSBmdW5jdGlvbnMgZGVmaW5lZCBpbiBMYXlv
dXRUZXN0Q29udHJvbGxlci5pZGwiKTsKK3dpbmRvdy5ub2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoIiIpOworc2hvdWxkQmVUcnVlKCJ1bmRlZmluZWQgIT0gd2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyIik7CitzaG91bGRCZVRydWUoInVuZGVmaW5lZCAhPSB3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIuZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZSIpOworc2hvdWxkQmVUcnVlKCIw
ID09IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kb2N1bWVudE1hcmtlclNpemVGb3JOb2Rl
KHdpbmRvdy5ub2RlKSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29u
dHJvbGxlci13ZWJjb3JlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hZjZmZmZkMjMxNWQ0YzdhYjJmNzRlZjZhOWFkYzk0MDdjNzY5ZmQwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVz
dC1jb250cm9sbGVyLXdlYmNvcmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK3dpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlciBzaG91bGQgaGF2ZSBmdW5jdGlvbnMgZGVmaW5lZCBpbiBM
YXlvdXRUZXN0Q29udHJvbGxlci5pZGwKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgdW5kZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciBpcyB0cnVlCitQ
QVNTIHVuZGVmaW5lZCAhPSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYXJr
ZXJTaXplRm9yTm9kZSBpcyB0cnVlCitQQVNTIDAgPT0gd2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyLmRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUod2luZG93Lm5vZGUpIGlzIHRydWUKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xs
ZXItd2ViY29yZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlv
dXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNmViNjg5ZWNlZTg1
OTg4MmM0ZTE4MDcxYzkzZjQyZTlkYWJkY2JlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUu
aHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdl
YmNvcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDBlNTIw
ZDYzMDUxZjE4OWE2NmRlMzdiYjdkNTQxOGFmNjljNDIzOGIuLjk0NDgwZmRkMDRkYmIwN2EwNTEz
YWVlNTUwZWVjNDc1YWEyYWZmOGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTMxMjEsNiArMzEyMSw4IEBAIEJVR1dL
NDI4NDUgOiBodG1sNWxpYi9ydW5uZXIuaHRtbCA9IFRFWFQKIEJVR1dLNDI3NjkgOiBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L3JlbWVtYmVyLWJhZC1wYXNzd29yZC5odG1sID0gVEVYVAogQlVH
V0s0Mjc2OSA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvNDAxLWxvZ291dC80MDEtbG9nb3V0LnBocCA9
IFRJTUVPVVQKIAorQlVHV0s0MjYxMiA6IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRl
c3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwgPSBGQUlMCisKIC8vIEZsYWt5IHNpbmNlIGF0IGxl
YXN0IGNocm9taXVtIHI1MjgzNCwgV2ViS2l0IHI2MzYxNS4KIEJVRzQ5OTcwIDogcGxhdGZvcm0v
Y2hyb21pdW0vcGx1Z2lucy9jYWxsLWFzLWZ1bmN0aW9uLmh0bWwgPSBQQVNTIFRFWFQKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCA2MTVhMzdlZDc2MzhkYzdiYzJiMDRhYmQ5ZDBkYzAz
ZmNlN2JlNWFkLi5kOGY3YWYxNWY2ZWNlMWUzZThjMThhZDc2YWExMmI3ZDUyNGZkN2Q2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtNTg1Niw2ICs1ODU2LDkgQEAgZWRpdGluZy9zZWxl
Y3Rpb24vZHJhZy1zdGFydC1ldmVudC1jbGllbnQteC15Lmh0bWwKICMgVGVzdHMgdGhhdCByZXF1
aXJlIGVkaXRpbmcgZGVsZWdhdGUgZHVtcHMuCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZHJvcC1saW5r
Lmh0bWwKIAorIyBjdXJyZW50bHkgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIGlzIG5vdCBzdXBw
b3J0ZWQgaHR0cDovL3dlYmtpdC5vcmcvYi80MjYxMgorZmFzdC9kb20vV2luZG93L3dpbmRvdy1s
YXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuaHRtbAorCiAjIEZsYWt5IGR1ZSB0byBKU0Mg
ZGVidWdnZXIgaXNzdWUuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MzAzNAogaW5zcGVjdG9yL2RlYnVnZ2VyLWJyZWFrcG9pbnRzLW5vdC1hY3RpdmF0ZWQtb24t
cmVsb2FkLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDgwZTU0ZDA5YTE5MmM5YjY4
ODE2OTFkMDAyYjQxM2VmN2IwY2IxZWYuLmQzMTlmMDQ2ZmNhYWRlMjg2N2IwNGNlYjQ1ZmUzY2I4
MmE2ZmY0NTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtNTQ2MCw2ICs1NDYwLDkgQEAg
aHRtbDVsaWIvcnVubmVyLmh0bWwKIGZhc3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1s
b3N0LWZvY3VzYWJsZS5odG1sCiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24tcHJl
dmVudGVkLmh0bWwKIAorIyBjdXJyZW50bHkgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIGlzIG5v
dCBzdXBwb3J0ZWQgaHR0cDovL3dlYmtpdC5vcmcvYi80MjYxMgorZmFzdC9kb20vV2luZG93L3dp
bmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuaHRtbAorCiAjIFtRdF0gUkVHUkVT
U0lPTig2Mzg2Mik6IGFuaW1hdGlvbnMvcGxheS1zdGF0ZS5odG1sIGZhaWxzIGludGVybWl0dGVu
dGx5CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjgyMQogYW5p
bWF0aW9ucy9wbGF5LXN0YXRlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggMWNh
N2VjYTJhMTI0ODk3YmI0MWYzNzllYTQ0YjVjZjcwMDJjODE3OC4uZDgyNWQ3MDJhM2QxOGNjYjZj
NDViZjIxYTU0ODliZDgwZTE3MzQwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTk0
Myw2ICs5NDMsOSBAQCBwcmludGluZy9zZXRQcmludGluZy5odG1sCiBmYXN0L2Zvcm1zL2ludGVy
YWN0aXZlLXZhbGlkYXRpb24tbG9zdC1mb2N1c2FibGUuaHRtbAogZmFzdC9mb3Jtcy9pbnRlcmFj
dGl2ZS12YWxpZGF0aW9uLXByZXZlbnRlZC5odG1sCiAKKyMgY3VycmVudGx5IExheW91dFRlc3RD
b250cm9sbGVyQ29yZSBpcyBub3Qgc3VwcG9ydGVkIGh0dHA6Ly93ZWJraXQub3JnL2IvNDI2MTIK
K2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0
bWwKKwogIyBXZWIgVGltaW5nIGlzIG5vdCBlbmFibGVkLgogIyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI0MzUKIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1wZXJmb3JtYW5jZS5odG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
IGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkYzJhZDE3OWM2MTFiYzMxN2MxNzIyYjY0
ZDNiZmYzYmRmOWVlMjdmLi43YjM0YzliODYyZWFkY2MyZjk4NDg4NDI1ZjZiODQ0NjcyNDYzNmRk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTMxNSw2ICszMTUsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBw
YWdlL0dlb3Bvc2l0aW9uLmlkbAogICAgIHBhZ2UvSGlzdG9yeS5pZGwKICAgICBwYWdlL0xvY2F0
aW9uLmlkbAorICAgIHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsCiAgICAgcGFnZS9NZW1v
cnlJbmZvLmlkbAogICAgIHBhZ2UvTmF2aWdhdGlvbi5pZGwKICAgICBwYWdlL05hdmlnYXRvci5p
ZGwKQEAgLTExNTYsNiArMTE1Nyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwYWdlL0dl
b2xvY2F0aW9uUG9zaXRpb25DYWNoZS5jcHAKICAgICBwYWdlL0hpc3RvcnkuY3BwCiAgICAgcGFn
ZS9Mb2NhdGlvbi5jcHAKKyAgICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAogICAgIHBh
Z2UvTWVtb3J5SW5mby5jcHAKICAgICBwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMu
Y3BwCiAgICAgcGFnZS9OYXZpZ2F0aW9uLmNwcApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMjc4MTM4N2E4ZjYyMjFmZjhlODY4NDNiNjI4
OWE4ZTkzNWZiNmVjLi43NDZkMzFiMTViMTE0NWVhNzUwMTg1N2JlOTdmZTdkMGZkMTc2NWI3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDY3IEBACisyMDEwLTA4LTAzICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERS
VCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0
YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgorCisgICAgICAgIEludHJvZHVjZWQ6CisgICAgICAg
IAorICAgICAgICAtIFdlYkNvcmU6OlRlc3RpbmcgbmFtZXNwYWNlIGZvciB0ZXN0aW5nLXNwZWNp
ZmljIGNvZGUuCisgICAgICAgICAgSW1wbGVtZW50YXRpb24gZmlsZXMgYXJlIGxvY2F0ZWQgdW5k
ZXIgdGVzdGluZy8gZGlyZWN0b3J5LgorICAgICAgICAtIFdlYkNvcmU6OkxheW91dFRlc3RDb250
cm9sbGVyIGludGVyZmFjZSwgdGhhdCBkZWZpbmVzCisgICAgICAgICAgTGF5b3V0VGVzdENvbnRy
b2xsZXIgQVBJIHRoYXQgd2lsbCBiZSBpbXBsZW1lbnRlZCBpbnNpZGUKKyAgICAgICAgICBXZWJD
b3JlOjpUZXN0aW5nLgorICAgICAgICAtIFdlYkNvcmU6OlRlc3Rpbmc6OkxheW91dFRlc3RDb250
cm9sbGVySW1wbCB0aGF0IGltcGxlbWVudHMKKyAgICAgICAgICBXZWJDb3JlOjpMYXlvdXRUZXN0
Q29udHJvbGxlci4KKyAgICAgICAgLSAoTWFjKTogV2ViS2l0VGVzdGluZy5mcmFtZXdvcmsgdG8g
aGF2ZSBjb2RlIHVuZGVyIHRlc3RpbmcvLgorICAgICAgICAKKyAgICAgICAgTm90ZSB0aGF0IGZp
bGVzIHVuZGVyIFdlYkNvcmU6OlRlc3Rpbmcgd2lsbCBiZSBidWlsdCBzZXBhcmF0ZWx5CisgICAg
ICAgIGZyb20gV2ViQ29yZS5mcmFtZXdvcmsgZm9yIGEgc2VjdXJpdHkgcmVhc29uLiBTbyBXZWJD
b3JlIGRvZXNuJ3QKKyAgICAgICAgZGVwZW5kIG9uIFdlYkNvcmU6VGVzdGluZyB0aG91Z2ggcHJv
dmlkZXMgaW50ZXJmYWNlcyBmb3IgaXQuCisgICAgICAgIAorICAgICAgICBUZXN0OiBmYXN0L2Rv
bS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5odG1sCisKKyAg
ICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJDb3Jl
LnhjY29uZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYkNvcmVUZXN0aW5nLnhjY29u
ZmlnOiBBZGRlZC4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBX
ZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29y
ZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFdlYkNvcmVUZXN0aW5nLUluZm8ucGxpc3Q6IEFkZGVkLgorICAgICAg
ICAqIFdlYkNvcmVUZXN0aW5nLmV4cDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxl
ci5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpsYXlvdXRUZXN0
Q29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldExheW91dFRlc3RD
b250cm9sbGVyKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2Uv
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXRUZXN0Q29udHJvbGxlcjo6fkxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAg
KiBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvTGF5
b3V0VGVzdENvbnRyb2xsZXIuaWRsOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0xheW91dFRl
c3RDb250cm9sbGVySW1wbC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VGVzdGluZzo6
TGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsOjpmcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0
aW5nOjpMYXlvdXRUZXN0Q29udHJvbGxlckltcGw6OmRpc2Nvbm5lY3RGcmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjpUZXN0aW5nOjpMYXlvdXRUZXN0Q29udHJvbGxlckltcGw6OmRvY3VtZW50TWFy
a2VyU2l6ZUZvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6VGVzdGluZzo6TGF5b3V0VGVzdENv
bnRyb2xsZXJJbXBsOjpkb2N1bWVudE1hcmtlclN0cmluZ0Zvck5vZGVBdCk6CisgICAgICAgIChX
ZWJDb3JlOjpUZXN0aW5nOjpMYXlvdXRUZXN0Q29udHJvbGxlckltcGw6OkxheW91dFRlc3RDb250
cm9sbGVySW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0aW5nOjpMYXlvdXRUZXN0Q29udHJv
bGxlckltcGw6OnZlcmlmeUNvbm5lY3RlZCk6CisgICAgICAgICogdGVzdGluZy9MYXlvdXRUZXN0
Q29udHJvbGxlckltcGwuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUZXN0aW5nOjpMYXlv
dXRUZXN0Q29udHJvbGxlckltcGw6OmNyZWF0ZSk6CisgICAgICAgICogdGVzdGluZy9XZWJDb3Jl
VGVzdGluZy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VGVzdGluZzo6Y3JlYXRlTGF5
b3V0VGVzdENvbnRyb2xsZXJGb3IpOgorICAgICAgICAoV2ViQ29yZTo6VGVzdGluZzo6Y3JlYXRl
SlNMYXlvdXRUZXN0Q29udHJvbGxlckZvcik6CisgICAgICAgICogdGVzdGluZy9XZWJDb3JlVGVz
dGluZy5oOiBBZGRlZC4KKwogMjAxMC0wOC0wMyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZyBiL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvV2ViQ29yZS54Y2NvbmZpZwppbmRleCA3M2UzNTE5MGJlNGU0MjU2OGFmYWQwNGJlYjkw
NGU4YjdhMjZhZjZmLi4yOTg2NzQxMDNlNDI0ODRhMTc0ZjBhNzYxM2I1OGMyOGE4MDZlMjNlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKKysrIGIv
V2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmlnCkBAIC00Myw3ICs0Myw5IEBA
IEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfaXBob25lb3NfUHJvZHVjdGlvbiA9ICQoUFJPRFVDVElP
Tl9GUkFNRVdPUktTX0RJUik7CiBGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2lwaG9uZXNpbXVsYXRv
ciA9ICQoRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19pcGhvbmVvc18kKENPTkZJR1VSQVRJT04pKTsK
IEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfbWFjb3N4ID0gJChTWVNURU1fTElCUkFSWV9ESVIpL0Zy
YW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9GcmFtZXdvcmtzICQoU1lTVEVNX0xJQlJBUllfRElS
KS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MgJChG
UkFNRVdPUktfU0VBUkNIX1BBVEhTKTsKIAotSEVBREVSX1NFQVJDSF9QQVRIUyA9IEZvcndhcmRp
bmdIZWFkZXJzIGljdSAvdXNyL2luY2x1ZGUvbGlieHNsdCAvdXNyL2luY2x1ZGUvbGlieG1sMiAk
KFNRTElURTNfSEVBREVSX1NFQVJDSF9QQVRIUykgIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlIiAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpOworV0VCQ09SRV9IRUFE
RVJfU0VBUkNIX1BBVEhTID0gRm9yd2FyZGluZ0hlYWRlcnMgaWN1IC91c3IvaW5jbHVkZS9saWJ4
c2x0IC91c3IvaW5jbHVkZS9saWJ4bWwyICQoU1FMSVRFM19IRUFERVJfU0VBUkNIX1BBVEhTKSAi
JHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUiICQoSEVBREVSX1NF
QVJDSF9QQVRIUyk7CitIRUFERVJfU0VBUkNIX1BBVEhTID0gJChXRUJDT1JFX0hFQURFUl9TRUFS
Q0hfUEFUSFMpCisKIElORk9QTElTVF9GSUxFID0gSW5mby5wbGlzdDsKIElOU1RBTExfUEFUSCA9
ICQoSU5TVEFMTF9QQVRIXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7CiBJTlNUQUxMX1BBVEhfbWFj
b3N4ID0gJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9W
ZXJzaW9ucy9BL0ZyYW1ld29ya3M7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25z
L1dlYkNvcmVUZXN0aW5nLnhjY29uZmlnIGIvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3Jl
VGVzdGluZy54Y2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTE0YjFiNmU5OWY4YjExMjFjN2Y3NjZmN2Nl
MmVhMzUyY2JhMWM1Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9X
ZWJDb3JlVGVzdGluZy54Y2NvbmZpZwpAQCAtMCwwICsxLDM5IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
Ky8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8K
Ky8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorLy8gRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKy8vIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorLy8g
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorLy8gUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisvLyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisvLyBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy8vIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisKKyNpbmNsdWRlICJXZWJDb3JlLnhjY29uZmlnIgor
CitFWFBPUlRFRF9TWU1CT0xTX0ZJTEUgPSAkKEVYUE9SVEVEX1NZTUJPTFNfRklMRV8kKENVUlJF
TlRfQVJDSCkpOworRVhQT1JURURfU1lNQk9MU19GSUxFXyA9ICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1dlYkNvcmVUZXN0aW5nLmV4cDsKK0VYUE9SVEVEX1NZ
TUJPTFNfRklMRV9hcm12NSA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL1dlYkNvcmVUZXN0aW5nLkxQNjQuZXhwOworRVhQT1JURURfU1lNQk9MU19GSUxFX2Fy
bXY2ID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvV2ViQ29y
ZVRlc3RpbmcuTFA2NC5leHA7CitFWFBPUlRFRF9TWU1CT0xTX0ZJTEVfYXJtdjcgPSAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9XZWJDb3JlVGVzdGluZy5MUDY0
LmV4cDsKK0VYUE9SVEVEX1NZTUJPTFNfRklMRV9pMzg2ID0gJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvV2ViQ29yZVRlc3RpbmcuZXhwOworRVhQT1JURURfU1lN
Qk9MU19GSUxFX3BwYyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL1dlYkNvcmVUZXN0aW5nLmV4cDsKK0VYUE9SVEVEX1NZTUJPTFNfRklMRV9wcGM2NCA9ICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1dlYkNvcmVUZXN0aW5n
LkxQNjQuZXhwOworRVhQT1JURURfU1lNQk9MU19GSUxFX3g4Nl82NCA9ICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1dlYkNvcmVUZXN0aW5nLkxQNjQuZXhwOwor
CitIRUFERVJfU0VBUkNIX1BBVEhTID0gJChXRUJDT1JFX0hFQURFUl9TRUFSQ0hfUEFUSFMpICQo
Q09ORklHVVJBVElPTl9URU1QX0RJUikvV2ViQ29yZS5idWlsZC9XZWJDb3JlLmhtYXAKKworUFJP
RFVDVF9OQU1FID0gV2ViQ29yZVRlc3Rpbmc7CisKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNGJlZDU2OGQ3
MDNiNDVkNjVkZTY3MWEwZTcyMTQ0Njg4YzY3MmMyMy4uNmEyODMxZTZiZjNiODNlYjExNjg5YTY2
YzM0YjM5MmQ4MzQ1MjAyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
KysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTE5Myw2ICsxOTMsNyBAQAogI2lu
Y2x1ZGUgIkpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCIKICNpbmNsdWRlICJKU0phdmFTY3Jp
cHRDYWxsRnJhbWUuY3BwIgogI2luY2x1ZGUgIkpTS2V5Ym9hcmRFdmVudC5jcHAiCisjaW5jbHVk
ZSAiSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAiCiAjaW5jbHVkZSAiSlNMb2NhdGlvbi5jcHAi
CiAjaW5jbHVkZSAiSlNNZWRpYUVycm9yLmNwcCIKICNpbmNsdWRlICJKU01lZGlhTGlzdC5jcHAi
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKaW5kZXggZTI2M2M3ZTYwMGQwMzVjZmZmYjliNDJhNjBjZTZmZjZlNDMy
Njc1Ni4uZWI4YWZlMGJmZjMwNTI2MTY0YzBhNmU0ZDYzYjMxYTc3NTQ3YzVjMSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtMjQzLDYgKzI0Myw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIEluc3BlY3Rv
ckZyb250ZW5kSG9zdCBcCiAgICAgS2V5Ym9hcmRFdmVudCBcCiAgICAgTG9jYXRpb24gXAorICAg
IExheW91dFRlc3RDb250cm9sbGVyIFwKICAgICBNZWRpYUVycm9yIFwKICAgICBNZWRpYUxpc3Qg
XAogICAgIE1lbW9yeUluZm8gXApAQCAtODQ5LDcgKzg1MCw3IEBAIENoYXJzZXREYXRhLmNwcCA6
IHBsYXRmb3JtL3RleHQvbWFjL21ha2UtY2hhcnNldC10YWJsZS5wbCBwbGF0Zm9ybS90ZXh0L21h
Yy9jaGFyCiAKIGlmbmVxICgkKEFDVElPTiksaW5zdGFsbGhkcnMpCiAKLWFsbCA6IFdlYkNvcmUu
ZXhwIFdlYkNvcmUuTFA2NC5leHAKK2FsbCA6IFdlYkNvcmUuZXhwIFdlYkNvcmUuTFA2NC5leHAg
V2ViQ29yZVRlc3RpbmcuTFA2NC5leHAKIAogV2ViQ29yZS5leHAgOiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IKIAkkXiA+ICRACkBAIC04NTgsNiArODU5
LDkgQEAgV2ViQ29yZS5leHAgOiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvV2ViQ29yZUV4cG9ydEZp
bGVHZW5lcmF0b3IKIFdlYkNvcmUuTFA2NC5leHAgOiBXZWJDb3JlLmV4cAogCWNhdCAkXiB8IHNl
ZCAtZSBzLzdfTlNSZWN0LzZDR1JlY3QvIC1lIHMvN19OU1NpemUvNkNHU2l6ZS8gLWUgcy84X05T
UG9pbnQvN0NHUG9pbnQvID4gJEAKIAorV2ViQ29yZVRlc3RpbmcuTFA2NC5leHAgOiBXZWJDb3Jl
VGVzdGluZy5leHAKKwljYXQgJF4gfCBzZWQgLWUgcy83X05TUmVjdC82Q0dSZWN0LyAtZSBzLzdf
TlNTaXplLzZDR1NpemUvIC1lIHMvOF9OU1BvaW50LzdDR1BvaW50LyA+ICRACisKIGVuZGlmICMg
aW5zdGFsbGhkcnMKIAogIyAtLS0tLS0tLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggOTE5YTM1NGM2Yzc1YmM4MTQ4MmRi
Yjk0M2Q0YjFjMWJiNWFhYWQwMi4uZjU1Y2FmYzY2ZTcyODU1MjY5MGIxMmI2N2Y2ODQ5YzkxODkw
ZjJlZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCkBAIC00MDQsNiArNDA0LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5oIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTS2V5Ym9hcmRFdmVudC5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNLZXlib2FyZEV2ZW50LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNM
YXlvdXRUZXN0Q29udHJvbGxlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTG9jYXRp
b24uY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTG9jYXRpb24uaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhRXJyb3IuY3BwIFwKQEAgLTE3ODMsNiArMTc4NSw4IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wYWdlL0hhbHRhYmxlUGx1Z2luLmggXAog
CVdlYkNvcmUvcGFnZS9IaXN0b3J5LmNwcCBcCiAJV2ViQ29yZS9wYWdlL0hpc3RvcnkuaCBcCisJ
V2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBcCisJV2ViQ29yZS9wYWdlL0xh
eW91dFRlc3RDb250cm9sbGVyLmggXAogCVdlYkNvcmUvcGFnZS9Mb2NhdGlvbi5jcHAgXAogCVdl
YkNvcmUvcGFnZS9Mb2NhdGlvbi5oIFwKIAlXZWJDb3JlL3BhZ2UvTWVkaWFDYW5TdGFydExpc3Rl
bmVyLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KaW5kZXggYzA3YTViODA1NzJhODA3MTUwYzliZDBmZGZiZmZhZmY3YWY1Y2Ri
Yy4uOGNiNjRjMzJhMmQ0MGM0NjU2MjMxZGVhNTBlNDAxYWQzODA0NmRmOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0x
NDgzLDMgKzE0ODMsOCBAQCBfX1pON1dlYkNvcmUyM0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlMzZy
ZW1haW5pbmdTaXplRm9yT3JpZ2luRXhjbHVkaW5nQ2FjaGVFUEtOUwogX19aTjdXZWJDb3JlMjNB
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZTVlbXB0eUV2CiBfX1pOSzdXZWJDb3JlMjNBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZTExbWF4aW11bVNpemVFdgogI2VuZGlmCisKK19fWk43V2ViQ29yZTIwTGF5
b3V0VGVzdENvbnRyb2xsZXJEMkV2CitfX1pON1dlYkNvcmUyMExheW91dFRlc3RDb250cm9sbGVy
QzJFdgorX19aTjdXZWJDb3JlNHRvSlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2Jh
bE9iamVjdEVQTlNfMjBMYXlvdXRUZXN0Q29udHJvbGxlckUKK19fWk43V2ViQ29yZTlET01XaW5k
b3cyM3NldExheW91dFRlc3RDb250cm9sbGVyRVBOU18yMExheW91dFRlc3RDb250cm9sbGVyRQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCA1MmJmZTFkNWIwMTBkNjM5MGFkOWQ0NDlmM2Q4Y2E0NzAwYThhMTM3Li41ZTU2MjVjOWRl
MDc4NGE1NjE3MDM0N2IzYTg3NDk2OWVhNjk1NzU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjE0LDYgKzIxNCw3IEBACiAg
ICAgICAgICAgICAncGFnZS9HZW9wb3NpdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvSGlz
dG9yeS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uaWRsJywKKyAgICAgICAgICAg
ICdwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9NZW1v
cnlJbmZvLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0aW9uLmlkbCcsCiAgICAgICAg
ICAgICAncGFnZS9OYXZpZ2F0b3IuaWRsJywKQEAgLTIwMDgsNiArMjAwOSw4IEBACiAgICAgICAg
ICAgICAncGFnZS9IaXN0b3J5LmgnLAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uY3BwJywK
ICAgICAgICAgICAgICdwYWdlL0xvY2F0aW9uLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwJywKKyAgICAgICAgICAgICdwYWdlL0xheW91dFRlc3RDb250cm9s
bGVyLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTWVtb3J5SW5mby5jcHAnLAogICAgICAgICAgICAg
J3BhZ2UvTWVtb3J5SW5mby5oJywKICAgICAgICAgICAgICdwYWdlL01vdXNlRXZlbnRXaXRoSGl0
VGVzdFJlc3VsdHMuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9XZWJD
b3JlL1dlYkNvcmUucHJpCmluZGV4IGNlMGY3MDEyYTM1Yjc4ODQxYzNiZmI2NWQyNWRhN2U2MTg4
N2NkNmMuLmNkMWFlODI0NmE4OTVkYjI4ZGIyZjA0Y2MzNGI0ZTNiZDQ3OWNlNGIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtNDY1
LDYgKzQ2NSw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgcGFnZS9HZW9sb2NhdGlvbi5pZGwg
XAogICAgIHBhZ2UvR2VvcG9zaXRpb24uaWRsIFwKICAgICBwYWdlL0hpc3RvcnkuaWRsIFwKKyAg
ICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmlkbCBcCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwg
XAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwgXAogICAgIHBhZ2UvTmF2aWdhdGlvbi5pZGwgXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5k
ZXggZWQ1ZTJkYTZiYzYxYWE4MzJmMmFjODBjMjkxYzY0YzVkYzMwMmZmMS4uOTY0MjQyNTA2NmEy
NzIzNDU4NTY3ODgzZDFjNmVlNTM5NzQwNWY5YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
LnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC04MjcsNiArODI3LDcgQEAgU09VUkNF
UyArPSBcCiAgICAgcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwIFwKICAgICBwYWdlL0dl
b2xvY2F0aW9uUG9zaXRpb25DYWNoZS5jcHAgXAogICAgIHBhZ2UvSGlzdG9yeS5jcHAgXAorICAg
IHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIFwKICAgICBwYWdlL0xvY2F0aW9uLmNwcCBc
CiAgICAgcGFnZS9NZW1vcnlJbmZvLmNwcCBcCiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRl
c3RSZXN1bHRzLmNwcCBcCkBAIC0xNjAwLDYgKzE2MDEsNyBAQCBIRUFERVJTICs9IFwKICAgICBw
YWdlL0dlb3Bvc2l0aW9uLmggXAogICAgIHBhZ2UvSGFsdGFibGVQbHVnaW4uaCBcCiAgICAgcGFn
ZS9IaXN0b3J5LmggXAorICAgIHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBcCiAgICAgcGFn
ZS9Mb2NhdGlvbi5oIFwKICAgICBwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCBc
CiAgICAgcGFnZS9OYXZpZ2F0b3JCYXNlLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKaW5kZXggZGEyZDQzZDU0Y2Q5YzQ0ZTg1OGU3YjNmMmFlZDUxZjgyNDg4ZGMwNy4uMjcy
MjViYTYzOTBjYmJmYjhmM2YyOTMzNjFmNzEwZTAxY2ZlNDAxZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCkBAIC05MDEzLDYgKzkwMTMsNjIgQEAKIAkJCQk+DQogCQkJPC9G
aWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0xheW91dFRlc3RDb250cm9sbGVyLmNw
cCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdp
bjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9v
bA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVh
c2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
RGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0xheW91dFRlc3RDb250
cm9sbGVyLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTTWVkaWFFcnJvci5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAt
MjIyOTcsNiArMjIzNTMsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXExheW91
dFRlc3RDb250cm9sbGVyLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxwYWdlXE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuY3BwIg0K
IAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggMzRlM2I5OGQ0YTg1MzI4MWVhNmMxY2I3NTM5NzFkNWJjNmYxZjRiYi4uZGJk
NDhiMzViNWUyZTA5Zjk0ZDI1NmM2OWZlY2ZmNDhmMDI2ZmI5OSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE4LDYgKzE4LDE4IEBACiAJCQluYW1lID0g
IldlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yIEdlbmVyYXRvciI7CiAJCQlwcm9kdWN0TmFtZSA9
ICJXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciBHZW5lcmF0b3IiOwogCQl9OworCQlBNzY0RjMw
RTEyMDdDN0YyMDA4RDA1QjUgLyogV2ViQ29yZUFuZFdlYkNvcmVUZXN0aW5nICovID0geworCQkJ
aXNhID0gUEJYQWdncmVnYXRlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IEE3
NjRGMzE2MTIwN0M4MzMwMDhEMDVCNSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBC
WEFnZ3JlZ2F0ZVRhcmdldCAiV2ViQ29yZUFuZFdlYkNvcmVUZXN0aW5nIiAqLzsKKwkJCWJ1aWxk
UGhhc2VzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCQlBNzY0RjMxMzEyMDdD
N0Y4MDA4RDA1QjUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCQlBN0EyNEQ4QjEyMDdG
NjcwMDBCRUM5RUQgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0g
V2ViQ29yZUFuZFdlYkNvcmVUZXN0aW5nOworCQkJcHJvZHVjdE5hbWUgPSBXZWJDb3JlQW5kV2Vi
Q29yZVRlc3Rpbmc7CisJCX07CiAJCUREMDQxRkJFMDlEOUREQkUwMDEwQUYyQSAvKiBEZXJpdmVk
IFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhBZ2dyZWdhdGVUYXJnZXQ7CiAJCQlidWlsZENv
bmZpZ3VyYXRpb25MaXN0ID0gREQwNDFGQzEwOUQ5REREQzAwMTBBRjJBIC8qIEJ1aWxkIGNvbmZp
Z3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJEZXJpdmVkIFNvdXJjZXMiICov
OwpAQCAtMjY5Myw2ICsyNzA1LDkgQEAKIAkJQTcxODc4OTAwQjJEMDRBQzAwQTE2RUNFIC8qIERy
YWdDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTcxODc4OEYwQjJEMDRBQzAwQTE2RUNFIC8qIERyYWdDb250cm9sbGVyTWFjLm1t
ICovOyB9OwogCQlBNzM1MkMxOTBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTczNTJDMTcw
QjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmNwcCAqLzsgfTsKIAkJQTczNTJDMUEw
QjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzM1MkMxODBCMUJCODlEMDBBOTg2RDAgLyogUmVu
ZGVyU1ZHQmxvY2suaCAqLzsgfTsKKwkJQTc0NUQyRTYxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91
dFRlc3RDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3NDVEMkUzMTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxl
ci5jcHAgKi87IH07CisJCUE3NDVEMkU3MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29u
dHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTc0NUQyRTQxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyLmggKi87IH07
CisJCUE3NDdGREUwMTIwN0Y4QjMwMEZBMTRCQyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckltcGwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Q0QzMTdB
MTIwN0E2QUMwMDRCNEI0QSAvKiBMYXlvdXRUZXN0Q29udHJvbGxlckltcGwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNzVFNDk3NjEwNzUyQUNC
MDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFNDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQTc1RTQ5NzcxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzVFNDk3NTEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCAq
LzsgfTsKIAkJQTc1RThCODgwRTFERTJENjAwN0YyNDgxIC8qIEZFQmxlbmQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RThCODAwRTFERTJENjAw
N0YyNDgxIC8qIEZFQmxlbmQuY3BwICovOyB9OwpAQCAtMjcwMyw2ICsyNzE4LDkgQEAKIAkJQTc1
RThCOEQwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU4Qjg1MEUxREUyRDYwMDdG
MjQ4MSAvKiBGRUNvbXBvbmVudFRyYW5zZmVyLmggKi87IH07CiAJCUE3NUU4QjhFMEUxREUyRDYw
MDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNzVFOEI4NjBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUu
Y3BwICovOyB9OwogCQlBNzVFOEI4RjBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NUU4Qjg3MEUx
REUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5oICovOyB9OworCQlBNzVGQ0I5MDEyMDdGNjRB
MDAxOUUyMkQgLyogV2ViQ29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0YxOUIxQTA4MjQ1RTVBMDAxRTlBQkMgLyogV2ViQ29y
ZS5mcmFtZXdvcmsgKi87IH07CisJCUE3NzU1OEUzMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91
dFRlc3RDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3NzU1OEUxMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9s
bGVyLmNwcCAqLzsgfTsKKwkJQTc3NTU4RTQxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVz
dENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3NzU1OEUyMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyLmgg
Ki87IH07CiAJCUE3Nzk3OTE5MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3OTc5MTMwRDZCOUQw
QzAwMzg1MUI5IC8qIEltYWdlRGF0YS5jcHAgKi87IH07CiAJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4
NTFCOSAvKiBJbWFnZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3Nzk3OTE0MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLzsgfTsK
IAkJQTc3OTc5MjgwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Nzk3OTI0MEQ2QjlFNjQwMDM4
NTFCOSAvKiBKU0ltYWdlRGF0YS5jcHAgKi87IH07CkBAIC0yNzEwLDYgKzI3MjgsOSBAQAogCQlB
Nzg0OTQxQjBCNUZFNTA3MDAxRTIzN0EgLyogQ2xpcGJvYXJkLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3ODQ5NDFBMEI1RkU1MDcwMDFFMjM3QSAv
KiBDbGlwYm9hcmQuY3BwICovOyB9OwogCQlBNzk1NDYzRTBCNUM0QzgwMDA3QjQzOEYgLyogRHJh
Z0RhdGFNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzk1NDYzRDBCNUM0QzgwMDA3QjQzOEYgLyogRHJhZ0RhdGFNYWMubW0gKi87IH07CiAJCUE3
OTU0NjQzMEI1QzRDQjQwMDdCNDM4RiAvKiBEcmFnRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzk1NDY0MjBCNUM0Q0I0MDA3QjQzOEYgLyog
RHJhZ0RhdGEuY3BwICovOyB9OworCQlBNzlGQUU2QTEyMDgxRkVCMDAxMjAzRkUgLyogV2ViQ29y
ZVRlc3RpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTc1NjQ0QzkxMjA4MUZBNDAwODA0RkRCIC8qIFdlYkNvcmVUZXN0aW5nLmNwcCAqLzsgfTsK
KwkJQTc5RkFFNkMxMjA4MUZGQTAwMTIwM0ZFIC8qIFdlYkNvcmVUZXN0aW5nLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzU2NDRDQTEyMDgxRkFDMDA4
MDRGREIgLyogV2ViQ29yZVRlc3RpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
dWJsaWMsICk7IH07IH07CisJCUE3OUZBRTZEMTIwODIwMDEwMDEyMDNGRSAvKiBMYXlvdXRUZXN0
Q29udHJvbGxlckltcGwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTdDRDMxNzkxMjA3QTZBQzAwNEI0QjRBIC8qIExheW91dFRlc3RDb250cm9sbGVy
SW1wbC5jcHAgKi87IH07CiAJCUE3QUE2NkQ2MTFDNUVENkEwMDFEOEM4QyAvKiBSZW5kZXJJbmRp
Y2F0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTdBQTY2RDQxMUM1RUQ2QTAwMUQ4QzhDIC8qIFJlbmRlckluZGljYXRvci5jcHAgKi87IH07CiAJ
CUE3QUE2NkQ3MTFDNUVENkEwMDFEOEM4QyAvKiBSZW5kZXJJbmRpY2F0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QUE2NkQ1MTFDNUVENkEwMDFE
OEM4QyAvKiBSZW5kZXJJbmRpY2F0b3IuaCAqLzsgfTsKIAkJQTdBRDJGODcwRUM4OUQwNzAwOEFC
MDAyIC8qIExpbmtIYXNoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3QUQyRjg1MEVDODlEMDcwMDhBQjAwMiAvKiBMaW5rSGFzaC5jcHAgKi87IH07
CkBAIC01Mjc0LDYgKzUyOTUsMjAgQEAKIAkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNUQ4N0JC
NEUxMUUzRUFFQjAwNzAyQjZGOwogCQkJcmVtb3RlSW5mbyA9IFdlYkNvcmVFeHBvcnRGaWxlR2Vu
ZXJhdG9yOwogCQl9OworCQlBNzY0RjMxMjEyMDdDN0Y4MDA4RDA1QjUgLyogUEJYQ29udGFpbmVy
SXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29u
dGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0
ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gOTNGMTk4
QTUwODI0NUU1OTAwMUU5QUJDOworCQkJcmVtb3RlSW5mbyA9IFdlYkNvcmU7CisJCX07CisJCUE3
QTI0RDhBMTIwN0Y2NzAwMEJFQzlFRCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJ
CQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3
RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUg
PSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSBBNzVGQ0I4OTEyMDdGNjNCMDAxOUUyMkQ7
CisJCQlyZW1vdGVJbmZvID0gV2ViQ29yZVRlc3Rpbmc7CisJCX07CiAJCUREMDQxRkYwMDlEOUUz
MjUwMDEwQUYyQSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CiAJCQlpc2EgPSBQQlhD
b250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhG
QzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CkBAIC04NDU2LDYgKzg0OTEsMTIgQEAKIAkJ
QTcxQTcwQzkxMUFGQjAyMDAwOTg5RDZEIC8qIEhUTUxNZXRlckVsZW1lbnQuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEhUTUxNZXRlckVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR0Jsb2NrLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTczNTJDMTgwQjFCQjg5RDAwQTk4NkQw
IC8qIFJlbmRlclNWR0Jsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZW5kZXJTVkdCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzQyMUMxQjEy
MDdBRTA2MDBEOTM3NzkgLyogV2ViQ29yZVRlc3RpbmcueGNjb25maWcgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
LnhjY29uZmlnOyBwYXRoID0gV2ViQ29yZVRlc3RpbmcueGNjb25maWc7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUE3NDVEMkUzMTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NDVEMkU0
MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRUZXN0Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBNzQ1RDJFNTExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENv
bnRyb2xsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IExheW91dFRlc3RDb250cm9sbGVy
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc1NjQ0QzkxMjA4MUZBNDAwODA0
RkRCIC8qIFdlYkNvcmVUZXN0aW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IFdlYkNvcmVUZXN0aW5nLmNwcDsgcGF0aCA9IHRlc3RpbmcvV2ViQ29yZVRlc3Rpbmcu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzU2NDRDQTEyMDgxRkFDMDA4MDRG
REIgLyogV2ViQ29yZVRlc3RpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V2ViQ29yZVRlc3RpbmcuaDsgcGF0aCA9IHRlc3RpbmcvV2ViQ29yZVRlc3RpbmcuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RTQ5NzQxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJp
YWxpemVkU2NyaXB0VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RTQ5
NzUxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzVFOEI4MDBFMURFMkQ2MDA3RjI0ODEgLyog
RkVCbGVuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGRUJsZW5k
LmNwcDsgcGF0aCA9IGZpbHRlcnMvRkVCbGVuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC04NDY2LDYgKzg1MDcsMTAgQEAKIAkJQTc1RThCODUwRTFERTJENjAwN0YyNDgxIC8q
IEZFQ29tcG9uZW50VHJhbnNmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
RkVDb21wb25lbnRUcmFuc2Zlci5oOyBwYXRoID0gZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU4Qjg2MEUxREUyRDYwMDdGMjQ4
MSAvKiBGRUNvbXBvc2l0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBGRUNvbXBvc2l0ZS5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThCODcwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29t
cG9zaXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZFQ29tcG9zaXRlLmg7
IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3NUZDQjhBMTIwN0Y2M0IwMDE5RTIyRCAvKiBXZWJDb3JlVGVzdGluZy5mcmFtZXdvcmsg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIu
ZnJhbWV3b3JrOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBXZWJDb3JlVGVzdGluZy5mcmFt
ZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCUE3NUZDQjhCMTIw
N0Y2M0IwMDE5RTIyRCAvKiBXZWJDb3JlVGVzdGluZy1JbmZvLnBsaXN0ICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGgg
PSAiV2ViQ29yZVRlc3RpbmctSW5mby5wbGlzdCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3NzU1OEUxMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzc1NThFMjExRjVCNjAy
MDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0xheW91dFRlc3RDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE3Nzk3OTEzMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VEYXRhLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc3OTc5MTQwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdl
RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZURhdGEuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc3OTc5MTUwRDZCOUQwQzAwMzg1MUI5IC8qIElt
YWdlRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW1hZ2VEYXRhLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg0ODQsNiArODUyOSw4IEBACiAJCUE3Q0E1OTVCMEIy
N0JEOUUwMEZBMDIxRCAvKiBEcmFnQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEcmFnQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBN0NBNTk1QzBCMjdCRDlFMDBGQTAyMUQgLyogRHJhZ0NvbnRyb2xsZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRHJhZ0NvbnRyb2xsZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBN0NBNTk2MjBCMjdDMUYyMDBGQTAyMUQgLyogRHJhZ0Ns
aWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEcmFnQ2xpZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Q0QzMTc5MTIwN0E2QUMwMDRCNEI0QSAvKiBM
YXlvdXRUZXN0Q29udHJvbGxlckltcGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsLmNwcDsgcGF0aCA9IHRlc3RpbmcvTGF5
b3V0VGVzdENvbnRyb2xsZXJJbXBsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTdDRDMxN0ExMjA3QTZBQzAwNEI0QjRBIC8qIExheW91dFRlc3RDb250cm9sbGVySW1wbC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMYXlvdXRUZXN0Q29udHJvbGxlckltcGwu
aDsgcGF0aCA9IHRlc3RpbmcvTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE3Q0ZCM0NGMEI3RUQxMEEwMDcwQzMyRCAvKiBEcmFnSW1hZ2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERyYWdJbWFnZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Q0ZCM0QwMEI3RUQxMEEwMDcwQzMyRCAv
KiBEcmFnSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERyYWdJbWFn
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBN0NGQjNENDBCN0VEMTE4MDA3MEMz
MkQgLyogRHJhZ0ltYWdlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IERyYWdJbWFnZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEx
MDU3LDYgKzExMTA0LDE1IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CisJCUE3NUZDQjg4MTIwN0Y2M0IwMDE5RTIyRCAvKiBGcmFtZXdv
cmtzICovID0geworCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CisJCQlidWlsZEFj
dGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJQTc1RkNCOTAxMjA3RjY0
QTAwMTlFMjJEIC8qIFdlYkNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJOTNG
MTlCMTYwODI0NUU1OTAwMUU5QUJDIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOworCQl9OwogLyogRW5kIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAog
LyogQmVnaW4gUEJYR3JvdXAgc2VjdGlvbiAqLwpAQCAtMTEwNjUsNiArMTExMjEsNyBAQAogCQkJ
Y2hpbGRyZW4gPSAoCiAJCQkJNUQ4N0JCNEYxMUUzRUFFQjAwNzAyQjZGIC8qIFdlYkNvcmVFeHBv
cnRGaWxlR2VuZXJhdG9yICovLAogCQkJCTkzRjE5QjFBMDgyNDVFNUEwMDFFOUFCQyAvKiBXZWJD
b3JlLmZyYW1ld29yayAqLywKKwkJCQlBNzVGQ0I4QTEyMDdGNjNCMDAxOUUyMkQgLyogV2ViQ29y
ZVRlc3RpbmcuZnJhbWV3b3JrICovLAogCQkJKTsKIAkJCW5hbWUgPSBQcm9kdWN0czsKIAkJCXNv
dXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsKQEAgLTExMDk2LDYgKzExMTUzLDcgQEAKIAkJCQlGNTIz
RDJGMzAyREU0NDNCMDE4NjM1Q0EgLyogcmVuZGVyaW5nICovLAogCQkJCTFBRTgyRUM5MENBQUUx
NzcwMDIyMzdBRSAvKiBzdG9yYWdlICovLAogCQkJCUIyMjI3N0NBMEQwMEJGMUUwMDcxQjc4MiAv
KiBzdmcgKi8sCisJCQkJQTdDRDMwM0UxMjA3QTA3RDAwNEI0QjRBIC8qIHRlc3RpbmcgKi8sCiAJ
CQkJNTE4QTM0QkQxMDI2QzgzMTAwMUI2ODk2IC8qIHdlYnNvY2tldHMgKi8sCiAJCQkJNEM2Qjk5
MTUwRTUyRTM3MzAwNDg3QkI3IC8qIHdtbCAqLywKIAkJCQkyRTQzNDYzMTBGNTQ2QTY4MDBCMEYx
QkEgLyogd29ya2VycyAqLywKQEAgLTExMTA2LDYgKzExMTY0LDcgQEAKIAkJCQkwMzQ3NjhERkZG
MzhBNTA0MTFEQjlDOEIgLyogUHJvZHVjdHMgKi8sCiAJCQkJMUNERDQ0NjYwQkE5QzgwMDAwRjkw
MTQ3IC8qIENvbmZpZ3VyYXRpb25zICovLAogCQkJCTQ0OTE5NTkwMEZCRTE3NUIwMEQ5RjgyNCAv
KiBFeHBvcnRzICovLAorCQkJCUE3NUZDQjhCMTIwN0Y2M0IwMDE5RTIyRCAvKiBXZWJDb3JlVGVz
dGluZy1JbmZvLnBsaXN0ICovLAogCQkJKTsKIAkJCW5hbWUgPSBXZWJLaXQ7CiAJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOwpAQCAtMTE1OTEsNiArMTE2NTAsNyBAQAogCQkxQ0RENDQ2NjBCQTlD
ODAwMDBGOTAxNDcgLyogQ29uZmlndXJhdGlvbnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCUE3NDIxQzFCMTIwN0FFMDYwMEQ5Mzc3OSAvKiBXZWJDb3Jl
VGVzdGluZy54Y2NvbmZpZyAqLywKIAkJCQkxQ0RENDVFNjBCQTlDODQ2MDBGOTAxNDcgLyogQmFz
ZS54Y2NvbmZpZyAqLywKIAkJCQkxQ0RENDVFNDBCQTlDODQ2MDBGOTAxNDcgLyogRGVidWdSZWxl
YXNlLnhjY29uZmlnICovLAogCQkJCTQ0OTA5OEIxMEY4RjgyNTIwMDc2QTMyNyAvKiBGZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZyAqLywKQEAgLTEyMzU2LDYgKzEyNDE2LDkgQEAKIAkJNjVCRjAyMTgw
OTc0ODA2MzAwQzQzMTk2IC8qIHBhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAorCQkJCUE3NDVEMkUzMTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAgKi8sCisJCQkJQTc0NUQyRTQxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRl
c3RDb250cm9sbGVyLmggKi8sCisJCQkJQTc0NUQyRTUxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91
dFRlc3RDb250cm9sbGVyLmlkbCAqLywKIAkJCQkzMTZGRTEwNjBFNkUxRDg0MDBCRjYwODggLyog
YW5pbWF0aW9uICovLAogCQkJCTkzQzA5QTgyMEIwNjRGMDUwMDVBQkQ0RCAvKiBtYWMgKi8sCiAJ
CQkJODUzOEYwMDAwQUQ3MTc3MDAwNkE4MUQxIC8qIEFic3RyYWN0Vmlldy5pZGwgKi8sCkBAIC0x
NDEzNSw2ICsxNDE5OCwxNyBAQAogCQkJbmFtZSA9IGZpbHRlcnM7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwogCQl9OworCQlBN0NEMzAzRTEyMDdBMDdEMDA0QjRCNEEgLyogdGVzdGluZyAq
LyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQTc1NjQ0Qzkx
MjA4MUZBNDAwODA0RkRCIC8qIFdlYkNvcmVUZXN0aW5nLmNwcCAqLywKKwkJCQlBNzU2NDRDQTEy
MDgxRkFDMDA4MDRGREIgLyogV2ViQ29yZVRlc3RpbmcuaCAqLywKKwkJCQlBN0NEMzE3OTEyMDdB
NkFDMDA0QjRCNEEgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsLmNwcCAqLywKKwkJCQlBN0NE
MzE3QTEyMDdBNkFDMDA0QjRCNEEgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsLmggKi8sCisJ
CQkpOworCQkJbmFtZSA9IHRlc3Rpbmc7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OwogCQlBODNCNzkwODBDQ0FGRjJCMDAwQjA4MjUgLyogSFRNTCAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0xNjA2Nyw2ICsxNjE0MSw4IEBACiAJCUJDOTg1
NDQzMENEM0Q5RDAwMDA2OUJDMSAvKiBXaW5kb3cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCUE3NzU1OEUxMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91
dFRlc3RDb250cm9sbGVyLmNwcCAqLywKKwkJCQlBNzc1NThFMjExRjVCNjAyMDBCNDNBQzEgLyog
SlNMYXlvdXRUZXN0Q29udHJvbGxlci5oICovLAogCQkJCUJDMTI0RUZEMEMyNjQ0N0EwMDlFMjM0
OSAvKiBKU0JhckluZm8uY3BwICovLAogCQkJCUJDMTI0RUZFMEMyNjQ0N0EwMDlFMjM0OSAvKiBK
U0JhckluZm8uaCAqLywKIAkJCQlCQzk4NTQzQjBDRDNEOThCMDAwNjlCQzEgLyogSlNDb25zb2xl
LmNwcCAqLywKQEAgLTE4ODYyLDYgKzE4OTM4LDcgQEAKIAkJCQk0OUM3Qjk5NjEwNDJEMkQzMDAw
OUQ0NDcgLyogSlNJbnQ4QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDNUZBRUQyMERDRkQ5
MDEwMEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE4NjYyOUQzMDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE3NzU1OEU0MTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVGNDU0MzBGN0MzQjVGMDBEN0MxRkIgLyogSlNM
YXp5RXZlbnRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFMUM0M0MwRDk4MzBEMzAw
M0IwMkYyIC8qIEpTTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxNDE5MENENjgy
NjkwMEZBREE3NSAvKiBKU01lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovLApAQCAtMTkxMTQsNiAr
MTkxOTEsNyBAQAogCQkJCUE0NTZGQTI3MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlz
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVFQzlBRkIwQTcxQTJDNjAwRUVFQUVEIC8qIExhbmd1
YWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5
b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NDVEMkU3MTFGNUIzNzkwMEFDRDAyMyAv
KiBMYXlvdXRUZXN0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk4RjAwODI0
NUU1OTAwMUU5QUJDIC8qIExlZ2FjeUhUTUxEb2N1bWVudFBhcnNlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTNGMTk4RUYwODI0NUU1OTAwMUU5QUJDIC8qIExlZ2FjeUhUTUxUcmVlQnVpbGRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ5NjI2QzMwRDgwRDk0OTAwRTM0MDVDIC8qIExlZ2FjeVBy
ZWxvYWRTY2FubmVyLmggaW4gSGVhZGVycyAqLywKQEAgLTE5OTg2LDYgKzIwMDY0LDE1IEBACiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CisJ
CUE3NUZDQjg1MTIwN0Y2M0IwMDE5RTIyRCAvKiBIZWFkZXJzICovID0geworCQkJaXNhID0gUEJY
SGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJ
ZmlsZXMgPSAoCisJCQkJQTc0N0ZERTAxMjA3RjhCMzAwRkExNEJDIC8qIExheW91dFRlc3RDb250
cm9sbGVySW1wbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc5RkFFNkMxMjA4MUZGQTAwMTIwM0ZF
IC8qIFdlYkNvcmVUZXN0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIC8qIEVuZCBQQlhIZWFkZXJzQnVp
bGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICov
CkBAIC0yMDAzNSw2ICsyMDEyMiwyNCBAQAogCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDkzRjE5QjFB
MDgyNDVFNUEwMDFFOUFCQyAvKiBXZWJDb3JlLmZyYW1ld29yayAqLzsKIAkJCXByb2R1Y3RUeXBl
ID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUuZnJhbWV3b3JrIjsKIAkJfTsKKwkJQTc1RkNCODkx
MjA3RjYzQjAwMTlFMjJEIC8qIFdlYkNvcmVUZXN0aW5nICovID0geworCQkJaXNhID0gUEJYTmF0
aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IEE3NUZDQjhGMTIwN0Y2M0Mw
MDE5RTIyRCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAi
V2ViQ29yZVRlc3RpbmciICovOworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkJQTc1RkNCODUxMjA3
RjYzQjAwMTlFMjJEIC8qIEhlYWRlcnMgKi8sCisJCQkJQTc1RkNCODYxMjA3RjYzQjAwMTlFMjJE
IC8qIFJlc291cmNlcyAqLywKKwkJCQlBNzVGQ0I4NzEyMDdGNjNCMDAxOUUyMkQgLyogU291cmNl
cyAqLywKKwkJCQlBNzVGQ0I4ODEyMDdGNjNCMDAxOUUyMkQgLyogRnJhbWV3b3JrcyAqLywKKwkJ
CSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7
CisJCQluYW1lID0gV2ViQ29yZVRlc3Rpbmc7CisJCQlwcm9kdWN0TmFtZSA9IFdlYkNvcmVUZXN0
aW5nOworCQkJcHJvZHVjdFJlZmVyZW5jZSA9IEE3NUZDQjhBMTIwN0Y2M0IwMDE5RTIyRCAvKiBX
ZWJDb3JlVGVzdGluZy5mcmFtZXdvcmsgKi87CisJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUu
cHJvZHVjdC10eXBlLmZyYW1ld29yayI7CisJCX07CiAvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0IHNl
Y3Rpb24gKi8KIAogLyogQmVnaW4gUEJYUHJvamVjdCBzZWN0aW9uICovCkBAIC0yMDA1OCwxMCAr
MjAxNjMsMTIgQEAKIAkJCXByb2plY3REaXJQYXRoID0gIiI7CiAJCQlwcm9qZWN0Um9vdCA9ICIi
OwogCQkJdGFyZ2V0cyA9ICgKKwkJCQlBNzY0RjMwRTEyMDdDN0YyMDA4RDA1QjUgLyogV2ViQ29y
ZUFuZFdlYkNvcmVUZXN0aW5nICovLAogCQkJCTkzRjE5OEE1MDgyNDVFNTkwMDFFOUFCQyAvKiBX
ZWJDb3JlICovLAogCQkJCUREMDQxRkJFMDlEOUREQkUwMDEwQUYyQSAvKiBEZXJpdmVkIFNvdXJj
ZXMgKi8sCiAJCQkJNUQ4N0JCNEUxMUUzRUFFQjAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxl
R2VuZXJhdG9yICovLAogCQkJCTVEODdCQjY0MTFFM0VCQzEwMDcwMkI2RiAvKiBXZWJDb3JlRXhw
b3J0RmlsZUdlbmVyYXRvciBHZW5lcmF0b3IgKi8sCisJCQkJQTc1RkNCODkxMjA3RjYzQjAwMTlF
MjJEIC8qIFdlYkNvcmVUZXN0aW5nICovLAogCQkJKTsKIAkJfTsKIC8qIEVuZCBQQlhQcm9qZWN0
IHNlY3Rpb24gKi8KQEAgLTIwMTA4LDYgKzIwMjE1LDEzIEBACiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CisJCUE3NUZDQjg2MTIwN0Y2M0Iw
MDE5RTIyRCAvKiBSZXNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBo
YXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJ
KTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OwogLyog
RW5kIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTaGVs
bFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtMjEzNDMsNiArMjE0NTcsNyBAQAogCQkJ
CTFDNUZBRUQxMERDRkQ5MDEwMEQ1OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUM1RkFFRTcwRENGREE2ODAwRDU4Rjc4IC8qIEpTSmF2YVNjcmlw
dENhbGxGcmFtZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODY2MjlENDA5REEyQjQ4
MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE3NzU1
OEUzMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTkzNUY0NTQyMEY3QzNCNUYwMEQ3QzFGQiAvKiBKU0xhenlFdmVudExpc3Rl
bmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRTFDNDNCMEQ5ODMwRDMwMDNCMDJGMiAvKiBK
U0xvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRTFDNDQwMEQ5ODMwRjQwMDNCMDJG
MiAvKiBKU0xvY2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjE2MzMsNiArMjE3
NDgsNyBAQAogCQkJCUE0NTZGQTI2MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzUyMDg0NTA5QkQ0M0I5MDBGMjAzOEQgLyogTGFuZ3Vh
Z2UubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDkwNjYwNjBCRTE0MUQ0MDA5NTY5OTggLyogTGF5
b3V0U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc0NUQyRTYxMUY1QjM3OTAwQUNEMDIz
IC8qIExheW91dFRlc3RDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjE5QTlD
MDgyNDVFNTkwMDFFOUFCQyAvKiBMZWdhY3lIVE1MRG9jdW1lbnRQYXJzZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTNGMTlBOUIwODI0NUU1OTAwMUU5QUJDIC8qIExlZ2FjeUhUTUxUcmVlQnVp
bGRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDk2MjZDMjBEODBEOTQ4MDBFMzQwNUMgLyog
TGVnYWN5UHJlbG9hZFNjYW5uZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMjM5MCw2ICsyMjUw
NiwxNSBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OworCQlBNzVGQ0I4NzEyMDdGNjNCMDAxOUUyMkQgLyogU291cmNlcyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCUE3OUZBRTZBMTIwODFGRUIwMDEyMDNGRSAvKiBXZWJD
b3JlVGVzdGluZy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNzlGQUU2RDEyMDgyMDAxMDAxMjAz
RkUgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsLmNwcCBpbiBTb3VyY2VzICovLAorCQkJKTsK
KwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OwogLyogRW5k
IFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYVGFyZ2V0RGVw
ZW5kZW5jeSBzZWN0aW9uICovCkBAIC0yMjQwMyw2ICsyMjUyOCwxNiBAQAogCQkJdGFyZ2V0ID0g
NUQ4N0JCNEUxMUUzRUFFQjAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yICov
OwogCQkJdGFyZ2V0UHJveHkgPSA1RDg3QkI4RTExRTNFRTJCMDA3MDJCNkYgLyogUEJYQ29udGFp
bmVySXRlbVByb3h5ICovOwogCQl9OworCQlBNzY0RjMxMzEyMDdDN0Y4MDA4RDA1QjUgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJ
CQl0YXJnZXQgPSA5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZSAqLzsKKwkJCXRh
cmdldFByb3h5ID0gQTc2NEYzMTIxMjA3QzdGODAwOEQwNUI1IC8qIFBCWENvbnRhaW5lckl0ZW1Q
cm94eSAqLzsKKwkJfTsKKwkJQTdBMjREOEIxMjA3RjY3MDAwQkVDOUVEIC8qIFBCWFRhcmdldERl
cGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0
ID0gQTc1RkNCODkxMjA3RjYzQjAwMTlFMjJEIC8qIFdlYkNvcmVUZXN0aW5nICovOworCQkJdGFy
Z2V0UHJveHkgPSBBN0EyNEQ4QTEyMDdGNjcwMDBCRUM5RUQgLyogUEJYQ29udGFpbmVySXRlbVBy
b3h5ICovOworCQl9OwogCQlERDA0MUZGMTA5RDlFMzI1MDAxMEFGMkEgLyogUEJYVGFyZ2V0RGVw
ZW5kZW5jeSAqLyA9IHsKIAkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CiAJCQl0YXJnZXQg
PSBERDA0MUZCRTA5RDlEREJFMDAxMEFGMkEgLyogRGVyaXZlZCBTb3VyY2VzICovOwpAQCAtMjI1
MzEsNiArMjI2NjYsNTggQEAKIAkJCX07CiAJCQluYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJ
QTc1RkNCOEMxMjA3RjYzQjAwMTlFMjJEIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEE3NDIxQzFC
MTIwN0FFMDYwMEQ5Mzc3OSAvKiBXZWJDb3JlVGVzdGluZy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxk
U2V0dGluZ3MgPSB7CisJCQkJSU5TVEFMTF9QQVRIID0gIiQoSE9NRSkvTGlicmFyeS9GcmFtZXdv
cmtzIjsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCUE3NUZDQjhEMTIwN0Y2M0Iw
MDE5RTIyRCAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEE3NDIxQzFCMTIwN0FFMDYwMEQ5Mzc3
OSAvKiBXZWJDb3JlVGVzdGluZy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJ
CQkJSU5TVEFMTF9QQVRIID0gIiQoSE9NRSkvTGlicmFyeS9GcmFtZXdvcmtzIjsKKwkJCX07CisJ
CQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJQTc1RkNCOEUxMjA3RjYzQjAwMTlFMjJEIC8qIFBy
b2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VD
b25maWd1cmF0aW9uUmVmZXJlbmNlID0gQTc0MjFDMUIxMjA3QUUwNjAwRDkzNzc5IC8qIFdlYkNv
cmVUZXN0aW5nLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlJTlNUQUxM
X1BBVEggPSAiJChIT01FKS9MaWJyYXJ5L0ZyYW1ld29ya3MiOworCQkJfTsKKwkJCW5hbWUgPSBQ
cm9kdWN0aW9uOworCQl9OworCQlBNzY0RjMwRjEyMDdDN0YyMDA4RDA1QjUgLyogRGVidWcgKi8g
PSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7
CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POworCQkJCUdDQ19EWU5BTUlDX05PX1BJQyA9IE5P
OworCQkJCUdDQ19PUFRJTUlaQVRJT05fTEVWRUwgPSAwOworCQkJCVBST0RVQ1RfTkFNRSA9IFdl
YkNvcmVBbmRXZWJDb3JlVGVzdGluZzsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJ
CUE3NjRGMzEwMTIwN0M3RjIwMDhEMDVCNSAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENC
dWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUNPUFlfUEhBU0Vf
U1RSSVAgPSBZRVM7CisJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgt
ZHN5bSI7CisJCQkJR0NDX0VOQUJMRV9GSVhfQU5EX0NPTlRJTlVFID0gTk87CisJCQkJUFJPRFVD
VF9OQU1FID0gV2ViQ29yZUFuZFdlYkNvcmVUZXN0aW5nOworCQkJCVpFUk9fTElOSyA9IE5POwor
CQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQlBNzY0RjMxMTEyMDdDN0YyMDA4RDA1
QjUgLyogUHJvZHVjdGlvbiAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwor
CQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlQUk9EVUNUX05BTUUgPSBXZWJDb3JlQW5kV2ViQ29y
ZVRlc3Rpbmc7CisJCQl9OworCQkJbmFtZSA9IFByb2R1Y3Rpb247CisJCX07CiAJCUREMDQxRkMy
MDlEOUREREMwMDEwQUYyQSAvKiBEZWJ1ZyAqLyA9IHsKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1
cmF0aW9uOwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQ0RENDVFNTBCQTlDODQ2
MDBGOTAxNDcgLyogV2ViQ29yZS54Y2NvbmZpZyAqLzsKQEAgLTIyNTk4LDYgKzIyNzg1LDI2IEBA
CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmln
dXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OworCQlBNzVGQ0I4RjEyMDdGNjNDMDAxOUUy
MkQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldlYkNv
cmVUZXN0aW5nIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWls
ZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCUE3NUZDQjhDMTIwN0Y2M0IwMDE5RTIyRCAvKiBEZWJ1
ZyAqLywKKwkJCQlBNzVGQ0I4RDEyMDdGNjNCMDAxOUUyMkQgLyogUmVsZWFzZSAqLywKKwkJCQlB
NzVGQ0I4RTEyMDdGNjNCMDAxOUUyMkQgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJCQlkZWZh
dWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5h
bWUgPSBQcm9kdWN0aW9uOworCQl9OworCQlBNzY0RjMxNjEyMDdDODMzMDA4RDA1QjUgLyogQnVp
bGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIldlYkNvcmVBbmRX
ZWJDb3JlVGVzdGluZyIgKi8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJ
YnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQlBNzY0RjMwRjEyMDdDN0YyMDA4RDA1QjUgLyog
RGVidWcgKi8sCisJCQkJQTc2NEYzMTAxMjA3QzdGMjAwOEQwNUI1IC8qIFJlbGVhc2UgKi8sCisJ
CQkJQTc2NEYzMTExMjA3QzdGMjAwOEQwNUI1IC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJ
ZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRp
b25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIAkJREQwNDFGQzEwOUQ5REREQzAwMTBBRjJBIC8q
IEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJEZXJpdmVk
IFNvdXJjZXMiICovID0gewogCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKIAkJCWJ1aWxk
Q29uZmlndXJhdGlvbnMgPSAoCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmVUZXN0aW5nLUlu
Zm8ucGxpc3QgYi9XZWJDb3JlL1dlYkNvcmVUZXN0aW5nLUluZm8ucGxpc3QKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZmExYmQyM2U5MGJkMmYzMjk2YzVlYjdjYzYyNDE0MDI3M2IzYWI3YwotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvV2ViQ29yZVRlc3RpbmctSW5mby5wbGlzdApAQCAtMCwwICsxLDIyIEBACis8
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIHBsaXN0IFBV
QkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20v
RFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+Cis8cGxpc3QgdmVyc2lvbj0iMS4wIj4KKzxkaWN0
PgorCTxrZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5PgorCTxzdHJpbmc+RW5nbGlz
aDwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVFeGVjdXRhYmxlPC9rZXk+CisJPHN0cmluZz4ke0VY
RUNVVEFCTEVfTkFNRX08L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSWRlbnRpZmllcjwva2V5Pgor
CTxzdHJpbmc+Y29tLnlvdXJjb21wYW55LiR7UFJPRFVDVF9OQU1FOnJmYzEwMzRpZGVudGlmaWVy
fTwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVJbmZvRGljdGlvbmFyeVZlcnNpb248L2tleT4KKwk8
c3RyaW5nPjYuMDwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgorCTxz
dHJpbmc+Rk1XSzwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tl
eT4KKwk8c3RyaW5nPjEuMDwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVTaWduYXR1cmU8L2tleT4K
Kwk8c3RyaW5nPj8/Pz88L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgorCTxz
dHJpbmc+MTwvc3RyaW5nPgorPC9kaWN0PgorPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
V2ViQ29yZVRlc3RpbmcuZXhwIGIvV2ViQ29yZS9XZWJDb3JlVGVzdGluZy5leHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzRlZjMzY2RiYjlhZDlhMzI0YjgxYTA3YjczNWMzYjc1YjU2NjM5YwotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvV2ViQ29yZVRlc3RpbmcuZXhwCkBAIC0wLDAgKzEsMiBAQAorCitfX1pO
N1dlYkNvcmU3VGVzdGluZzMxY3JlYXRlSlNMYXlvdXRUZXN0Q29udHJvbGxlckZvckVQTjNKU0M5
RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOU181RnJhbWVFCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAppbmRleCA2NTA5NmI5M2MwNmQ4MzdhNDE0YWQ3
YTgzZmI2YTYxOWQyMTdmYWZmLi5iYjFlNzhkMmJmOTg3MDQ0ODIxZjdmM2E5OTYzMmExZjRlMWMz
YzQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3Bw
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKQEAgLTMxLDcg
KzMxLDYgQEAKIAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSlNET01XaW5kb3cuaCIK
LSNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSA8cnVudGltZS9KU09iamVjdC5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oCmluZGV4IDgwMTU1ZTRiOTM1MGZjODRiMzI0MWQzZTMzN2YwNGQyNDY5ZGJkOTYu
LmZmMzE1NDJmNDllMmIzOWFhOGIzN2U5NWRlMWRhNGJmN2U2NzNkNTYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0Q29udHJvbGxlci5oCkBAIC05MCw3ICs5MCw3IEBAIHB1YmxpYzoKICAgICB7
CiAgICAgICAgIHJldHVybiB3aW5kb3dTaGVsbCh3b3JsZCktPndpbmRvdygpOwogICAgIH0KLQor
ICAgIAogICAgIHN0YXRpYyB2b2lkIGdldEFsbFdvcmxkcyhWZWN0b3I8RE9NV3JhcHBlcldvcmxk
Kj4mKTsKIAogICAgIFNjcmlwdFZhbHVlIGV4ZWN1dGVTY3JpcHQoY29uc3QgU2NyaXB0U291cmNl
Q29kZSYsIFNob3VsZEFsbG93WFNTIHNob3VsZEFsbG93WFNTID0gRG9Ob3RBbGxvd1hTUyk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwCmluZGV4IGZjNjk2ZGFiYjk4ODI0ZmVhOTk1NjMzNDQ5Mzg4MzNmNGQ4ZmVhZWQu
LmZlZWMyOWM2OTAwNGQyNjE2NWE0MjJlN2JjNmYzYmI3YTY0NGY2NjAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CkBAIC02Miw2ICs2Miw3IEBACiAjaW5jbHVkZSAiSURCS2V5UmFuZ2UuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IgorI2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiTG9jYXRpb24u
aCIKICNpbmNsdWRlICJTdHlsZU1lZGlhLmgiCiAjaW5jbHVkZSAiTWVzc2FnZUV2ZW50LmgiCkBA
IC00ODgsNiArNDg5LDEwIEBAIHZvaWQgRE9NV2luZG93OjpjbGVhcigpCiAgICAgbV9pZGJGYWN0
b3J5ID0gMDsKICAgICBtX2lkYktleVJhbmdlID0gMDsKICNlbmRpZgorCisgICAgaWYgKG1fbGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIG1fbGF5b3V0VGVzdENvbnRyb2xsZXItPmRpc2Nv
bm5lY3RGcmFtZSgpOworICAgIG1fbGF5b3V0VGVzdENvbnRyb2xsZXIgPSAwOwogfQogCiAjaWYg
RU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykKQEAgLTU5NSw2ICs2MDAsMTcgQEAgTG9jYXRpb24q
IERPTVdpbmRvdzo6bG9jYXRpb24oKSBjb25zdAogICAgIHJldHVybiBtX2xvY2F0aW9uLmdldCgp
OwogfQogCitMYXlvdXRUZXN0Q29udHJvbGxlciogRE9NV2luZG93OjpsYXlvdXRUZXN0Q29udHJv
bGxlcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbGF5b3V0VGVzdENvbnRyb2xsZXIuZ2V0KCk7
Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRMYXlvdXRUZXN0Q29udHJvbGxlcihMYXlvdXRUZXN0
Q29udHJvbGxlciogY29udHJvbGxlcikKK3sKKyAgICBBU1NFUlQoIW1fbGF5b3V0VGVzdENvbnRy
b2xsZXIpOworICAgIG1fbGF5b3V0VGVzdENvbnRyb2xsZXIgPSBjb250cm9sbGVyOworfQorCiAj
aWYgRU5BQkxFKERPTV9TVE9SQUdFKQogU3RvcmFnZSogRE9NV2luZG93OjpzZXNzaW9uU3RvcmFn
ZShFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCA1MWQ0MDdjYTgyM2I5
NjBmYzA4ZjFhMjAyYzA3ZjE4YzNmZmVlYzU4Li4xZmU2YzBjYTFkMDM1YjY0OWFkMDVmMGRhNjY0
OTE1OGNkYzU5MGZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC01Niw2ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBJREJGYWN0b3J5OwogICAgIGNsYXNzIElEQktleVJhbmdlOwogICAg
IGNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7CisgICAgY2xhc3MgTGF5b3V0VGVzdENvbnRy
b2xsZXI7CiAgICAgY2xhc3MgTG9jYXRpb247CiAgICAgY2xhc3MgU3R5bGVNZWRpYTsKICAgICBj
bGFzcyBOYXZpZ2F0b3I7CkBAIC0zODEsNiArMzgyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBET01BcHBsaWNhdGlvbkNhY2hlKiBvcHRpb25hbEFwcGxpY2F0aW9uQ2FjaGUoKSBj
b25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9uQ2FjaGUuZ2V0KCk7IH0KICNlbmRpZgogCisgICAg
ICAgIExheW91dFRlc3RDb250cm9sbGVyKiBsYXlvdXRUZXN0Q29udHJvbGxlcigpIGNvbnN0Owor
ICAgICAgICB2b2lkIHNldExheW91dFRlc3RDb250cm9sbGVyKExheW91dFRlc3RDb250cm9sbGVy
Kik7CisKICAgICAgICAgdXNpbmcgUmVmQ291bnRlZDxET01XaW5kb3c+OjpyZWY7CiAgICAgICAg
IHVzaW5nIFJlZkNvdW50ZWQ8RE9NV2luZG93Pjo6ZGVyZWY7CiAKQEAgLTQxMSw2ICs0MTUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKFdFQl9USU1JTkcpCiAgICAgICAgIG11
dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlPiBtX3BlcmZvcm1hbmNlOwogI2VuZGlmCisgICAgICAg
IG11dGFibGUgUmVmUHRyPExheW91dFRlc3RDb250cm9sbGVyPiBtX2xheW91dFRlc3RDb250cm9s
bGVyOwogICAgICAgICBtdXRhYmxlIFJlZlB0cjxMb2NhdGlvbj4gbV9sb2NhdGlvbjsKICAgICAg
ICAgbXV0YWJsZSBSZWZQdHI8U3R5bGVNZWRpYT4gbV9tZWRpYTsKICNpZiBFTkFCTEUoRE9NX1NU
T1JBR0UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3Bw
IGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjhi
MzAxOTU4YjYwZTBjZTFiNGM5MzU4Yzg0YjQ5NGUxYTVlNzEwCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMCwwICsxLDQ0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMYXlvdXRUZXN0Q29udHJvbGxlci5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0xheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29u
dHJvbGxlcigpCit7Cit9CisKK0xheW91dFRlc3RDb250cm9sbGVyOjp+TGF5b3V0VGVzdENvbnRy
b2xsZXIoKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxNjlkMTNmZDhiYzE4NzVhNGVlN2M0ODIwYzVmOTdm
NzU0NDBjMmQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRy
b2xsZXIuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTGF5b3V0VGVzdENvbnRyb2xsZXJfaAor
I2RlZmluZSBMYXlvdXRUZXN0Q29udHJvbGxlcl9oCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGcmFtZTsKK2NsYXNzIE5vZGU7Citj
bGFzcyBTdHJpbmc7Cit0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOworCitjbGFzcyBMYXlvdXRU
ZXN0Q29udHJvbGxlciA6IHB1YmxpYyBSZWZDb3VudGVkPExheW91dFRlc3RDb250cm9sbGVyPiB7
CitwdWJsaWM6CisgICAgTGF5b3V0VGVzdENvbnRyb2xsZXIoKTsKKyAgICB2aXJ0dWFsIH5MYXlv
dXRUZXN0Q29udHJvbGxlcigpOworCisgICAgdmlydHVhbCBGcmFtZSogZnJhbWUoKSBjb25zdCA9
IDA7CisgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RGcmFtZSgpID0gMDsKKworICAgIHZpcnR1
YWwgaW50IGRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKSBj
b25zdCA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcgZG9jdW1lbnRNYXJrZXJTdHJpbmdGb3JOb2Rl
QXQoTm9kZSosIGludCwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0ID0gMDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIExheW91dFRlc3RDb250cm9sbGVyX2gKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwgYi9XZWJDb3JlL3Bh
Z2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkM2I0NGY1MTdlNmMzOWEz
YjFkODFjNjI0ZDQ0N2NkMDZlN2M4NGEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BhZ2Uv
TGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7
CisKKyAgICBpbnRlcmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0gTGF5b3V0VGVzdENvbnRyb2xsZXIg
eworICAgICAgICBsb25nIGRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUoaW4gTm9kZSBub2RlKSBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgRE9NU3RyaW5nIGRvY3VtZW50TWFya2VyU3Ry
aW5nRm9yTm9kZUF0KGluIE5vZGUgbm9kZSwgaW4gbG9uZyBpbmRleCkgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS90ZXN0aW5nL0xheW91dFRl
c3RDb250cm9sbGVySW1wbC5jcHAgYi9XZWJDb3JlL3Rlc3RpbmcvTGF5b3V0VGVzdENvbnRyb2xs
ZXJJbXBsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODczYzFlMjdkYzI2YmZkNjExZDA0MmU1NmQ1NWY1NGUy
YzViYjdkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS90ZXN0aW5nL0xheW91dFRlc3RDb250
cm9sbGVySW1wbC5jcHAKQEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsLmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb25D
b2RlLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIFRlc3Rp
bmcgeworCitGcmFtZSogTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsOjpmcmFtZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fZnJhbWU7Cit9CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBs
OjpkaXNjb25uZWN0RnJhbWUoKQoreworICAgIG1fZnJhbWUgPSAwOworfQorCitpbnQgTGF5b3V0
VGVzdENvbnRyb2xsZXJJbXBsOjpkb2N1bWVudE1hcmtlclNpemVGb3JOb2RlKE5vZGUqLCBFeGNl
cHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIXZlcmlmeUNvbm5lY3RlZChlYykpCisg
ICAgICAgIHJldHVybiAwOworCisgICAgLy8gRklYTUU6IGltcGxlbWVudAorICAgIHJldHVybiAw
OworfQorCitTdHJpbmcgTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsOjpkb2N1bWVudE1hcmtlclN0
cmluZ0Zvck5vZGVBdChOb2RlKiwgaW50LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAg
ICBpZiAoIXZlcmlmeUNvbm5lY3RlZChlYykpCisgICAgICAgIHJldHVybiAiIjsKKworICAgIC8v
IEZJWE1FOiBpbXBsZW1lbnQKKyAgICByZXR1cm4gIiI7Cit9CisKK0xheW91dFRlc3RDb250cm9s
bGVySW1wbDo6TGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsKEZyYW1lKiBmcmFtZSkKKyAgICA6IG1f
ZnJhbWUoZnJhbWUpCit7Cit9CisKK2Jvb2wgTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsOjp2ZXJp
ZnlDb25uZWN0ZWQoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1l
KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdGlu
ZworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS90ZXN0aW5nL0xh
eW91dFRlc3RDb250cm9sbGVySW1wbC5oIGIvV2ViQ29yZS90ZXN0aW5nL0xheW91dFRlc3RDb250
cm9sbGVySW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5NzdmMDRiMDQ2NTYxNTU3M2YyYjMzNDM1YWI1MzRl
M2EyMzA2ODgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3Rlc3RpbmcvTGF5b3V0VGVzdENv
bnRyb2xsZXJJbXBsLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIExheW91dFRlc3RDb250cm9s
bGVySW1wbF9oCisjZGVmaW5lIExheW91dFRlc3RDb250cm9sbGVySW1wbF9oCisKKyNpbmNsdWRl
ICJMYXlvdXRUZXN0Q29udHJvbGxlci5oIgorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBUZXN0aW5nIHsKKworY2xhc3MgTGF5b3V0
VGVzdENvbnRyb2xsZXJJbXBsIDogcHVibGljIExheW91dFRlc3RDb250cm9sbGVyIHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxMYXlvdXRUZXN0Q29udHJvbGxlckltcGw+IGNyZWF0
ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBMYXlvdXRUZXN0Q29udHJvbGxl
ckltcGwoZnJhbWUpKTsgfQorCisgICAgRnJhbWUqIGZyYW1lKCkgY29uc3Q7CisgICAgdm9pZCBk
aXNjb25uZWN0RnJhbWUoKTsKKworICAgIGludCBkb2N1bWVudE1hcmtlclNpemVGb3JOb2RlKE5v
ZGUqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgU3RyaW5nIGRvY3VtZW50TWFya2VyU3Ry
aW5nRm9yTm9kZUF0KE5vZGUqLCBpbnQsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKworcHJpdmF0
ZToKKyAgICBib29sIHZlcmlmeUNvbm5lY3RlZChFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAg
TGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsKEZyYW1lKik7CisKKyAgICBGcmFtZSogbV9mcmFtZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFRlc3RpbmcKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIExheW91dFRlc3RDb250cm9sbGVySW1wbF9oCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3Rlc3RpbmcvV2ViQ29yZVRlc3RpbmcuY3BwIGIvV2ViQ29yZS90ZXN0aW5nL1dlYkNvcmVUZXN0
aW5nLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hZmFlYmVmOGE0ZTYxOWU0YTkwNjliMWQwM2NhNjg0YzAwMGQ0
YjNjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS90ZXN0aW5nL1dlYkNvcmVUZXN0aW5nLmNw
cApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJDb3Jl
VGVzdGluZy5oIgorCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJMYXlvdXRUZXN0Q29u
dHJvbGxlckltcGwuaCIKKworI2lmIFVTRShKU0MpCisjIGluY2x1ZGUgIkpTTGF5b3V0VGVzdENv
bnRyb2xsZXIuaCIKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgVGVz
dGluZyB7CisKK3N0YXRpYyBSZWZQdHI8TGF5b3V0VGVzdENvbnRyb2xsZXI+IGNyZWF0ZUxheW91
dFRlc3RDb250cm9sbGVyRm9yKEZyYW1lKiBmcmFtZSkKK3sKKyAgICBSZWZQdHI8TGF5b3V0VGVz
dENvbnRyb2xsZXI+IHJldChMYXlvdXRUZXN0Q29udHJvbGxlckltcGw6OmNyZWF0ZShmcmFtZSkp
OworICAgIGZyYW1lLT5kb21XaW5kb3coKS0+c2V0TGF5b3V0VGVzdENvbnRyb2xsZXIocmV0Lmdl
dCgpKTsKKyAgICByZXR1cm4gcmV0OworfQorCisjaWYgVVNFKEpTQykKK0pTQzo6SlNPYmplY3Qq
IGNyZWF0ZUpTTGF5b3V0VGVzdENvbnRyb2xsZXJGb3IoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpT
RE9NR2xvYmFsT2JqZWN0KiB3aW5kb3csIEZyYW1lKiBmcmFtZSkKK3sKKyAgICBSZWZQdHI8TGF5
b3V0VGVzdENvbnRyb2xsZXI+IGNvbnRyb2xsZXIgPSBjcmVhdGVMYXlvdXRUZXN0Q29udHJvbGxl
ckZvcihmcmFtZSk7CisgICAgcmV0dXJuIHRvSlMoZXhlYywgd2luZG93LCBjb250cm9sbGVyLmdl
dCgpKS50b09iamVjdChleGVjKTsKK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBUZXN0aW5n
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Rlc3RpbmcvV2Vi
Q29yZVRlc3RpbmcuaCBiL1dlYkNvcmUvdGVzdGluZy9XZWJDb3JlVGVzdGluZy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI4Yzg5ZWU2NWU3NzUxZmJlMDFjNjYxZmNlODRmMGI2MWFhMGE3MDkKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL3Rlc3RpbmcvV2ViQ29yZVRlc3RpbmcuaApAQCAtMCwwICsxLDU4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgV2ViQ29yZVRlc3RpbmdfaAorI2RlZmluZSBXZWJDb3JlVGVzdGluZ19oCisKKyNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU09iamVj
dDsKK2NsYXNzIEV4ZWNTdGF0ZTsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBG
cmFtZTsKK2NsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OworY2xhc3MgTGF5b3V0VGVzdENvbnRyb2xs
ZXI7CisKK25hbWVzcGFjZSBUZXN0aW5nIHsKKworI2lmIFVTRShKU0MpCitKU0M6OkpTT2JqZWN0
KiBjcmVhdGVKU0xheW91dFRlc3RDb250cm9sbGVyRm9yKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqLCBGcmFtZSopOworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFRlc3RpbmcK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFdlYkNvcmVUZXN0aW5nX2gKZGlm
ZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc1MTgx
ZTZhNWE0MGYxOTk1YzAzOTRmNDNhY2MwNGVjNjM0MTUyOWQuLjJkYzM0NTFiYTNiMmNkMDUxMWRl
ZTM3NGZjN2NjMzJlN2EwMDc3ZTQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEwLTA4LTAzICBNT1JJVEEgSGFq
aW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVz
dCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVy
aWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MjYxMgorCisgICAgICAgIExpbmsgV2ViS2l0VGVzdGluZy5mcmFtZXdvcmsgd2l0aCB3ZWFr
IGxpbmthZ2UuCisKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KwogMjAxMC0wNy0zMSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzQzMzA3PiBNYWtlIHN1cmUgYWxsIHByaXZhdGUgaGVh
ZGVycyBhcmUgY29waWVkIHRvIFByaXZhdGVIZWFkZXJzIGRpcmVjdG9yeQpkaWZmIC0tZ2l0IGEv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGU0NDdiN2Y3NzNkN2Y5M2Q4MDk1ZTNiNWNh
Y2FjNjU0ODVkZjdlNDEuLjliOTNhYjNjM2M1Mjc4OTJiYTZkZjFkMjdkMTlhMTk1OTE2OWRkMmUg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMwNyw3ICszMDcs
NiBAQAogCQk5Mzk4MTEyOTA4MjRCRjAxMDA4REYwMzggLyogQ2FyYm9uLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1QzI4Njk0MDI4
NDZEQ0QwMTg2MzVDQSAvKiBDYXJib24uZnJhbWV3b3JrICovOyB9OwogCQk5Mzk4MTEyQTA4MjRC
RjAxMDA4REYwMzggLyogQ29jb2EuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjVDMjg2OTUwMjg0NkRDRDAxODYzNUNBIC8qIENvY29h
LmZyYW1ld29yayAqLzsgfTsKIAkJOTM5ODExMkIwODI0QkYwMTAwOERGMDM4IC8qIEphdmFTY3Jp
cHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY3MzhDOUU5MDNGQUQzREYwMzIxRkJFMCAvKiBKYXZhU2NyaXB0Q29yZS5mcmFt
ZXdvcmsgKi87IH07Ci0JCTkzOTgxMTJDMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJDb3JlLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY3
MzhDOUVBMDNGQUQzREYwMzIxRkJFMCAvKiBXZWJDb3JlLmZyYW1ld29yayAqLzsgfTsKIAkJOTM5
ODExMkUwODI0QkYwMTAwOERGMDM4IC8qIGxpYmljdWNvcmUuZHlsaWIgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Q2MjNERDA1MUU3OTFGMDAyRjQ3
REQgLyogbGliaWN1Y29yZS5keWxpYiAqLzsgfTsKIAkJOTM5ODExMkYwODI0QkYwMTAwOERGMDM4
IC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDgzMEU4MUUwMDU4NTNBQzAwMEFEMDg5MSAvKiBTZWN1cml0eS5mcmFt
ZXdvcmsgKi87IH07CiAJCTkzRUIxNzhEMDlGODhENDYwMDkxRjhGRiAvKiBXZWJTeXN0ZW1JbnRl
cmZhY2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
M0VCMTc4QzA5Rjg4RDQ2MDA5MUY4RkYgLyogV2ViU3lzdGVtSW50ZXJmYWNlLm1tICovOyB9OwpA
QCAtMzIyLDYgKzMyMSw3IEBACiAJCUE1REVGQzE0MTFENTM0NEIwMDg4NTI3MyAvKiBXZWJBcHBs
aWNhdGlvbkNhY2hlU2VjdXJpdHlPcmlnaW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNURFRkMxMjExRDUzNDRCMDA4ODUyNzMgLyogV2ViQXBwbGlj
YXRpb25DYWNoZVNlY3VyaXR5T3JpZ2luLm1tICovOyB9OwogCQlBNzA5MzZBRjBCNTYwOERDMDBD
REI0OEUgLyogV2ViRHJhZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTcwOTM2QUQwQjU2MDhEQzAwQ0RCNDhFIC8qIFdlYkRyYWdDbGllbnQu
aCAqLzsgfTsKIAkJQTcwOTM2QjAwQjU2MDhEQzAwQ0RCNDhFIC8qIFdlYkRyYWdDbGllbnQubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzA5MzZBRTBC
NTYwOERDMDBDREI0OEUgLyogV2ViRHJhZ0NsaWVudC5tbSAqLzsgfTsKKwkJQTcxMjE5NDkxMjA4
MzZEMDAwM0E5OTlBIC8qIFdlYkNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjczOEM5RUEwM0ZBRDNERjAzMjFGQkUwIC8qIFdl
YkNvcmUuZnJhbWV3b3JrICovOyB9OwogCQlBN0QzQzVCQzBCNTc3M0M1MDAyQ0E0NTAgLyogV2Vi
UGFzdGVib2FyZEhlbHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTdEM0M1QkEwQjU3NzNDNTAwMkNBNDUwIC8qIFdlYlBhc3RlYm9hcmRIZWxwZXIu
aCAqLzsgfTsKIAkJQTdEM0M1QkQwQjU3NzNDNTAwMkNBNDUwIC8qIFdlYlBhc3RlYm9hcmRIZWxw
ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Qz
QzVCQjBCNTc3M0M1MDAyQ0E0NTAgLyogV2ViUGFzdGVib2FyZEhlbHBlci5tbSAqLzsgfTsKIAkJ
QUI5RkJCQkIwRjg1ODJCMDAwNkFEQzQzIC8qIFdlYkRPTU9wZXJhdGlvbnNJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUI5RkJCQkEwRjg1
ODJCMDAwNkFEQzQzIC8qIFdlYkRPTU9wZXJhdGlvbnNJbnRlcm5hbC5oICovOyB9OwpAQCAtNjE3
LDYgKzYxNyw3IEBACiAJCUE1REVGQzEyMTFENTM0NEIwMDg4NTI3MyAvKiBXZWJBcHBsaWNhdGlv
bkNhY2hlU2VjdXJpdHlPcmlnaW4ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXZWJBcHBsaWNhdGlvbkNhY2hlU2VjdXJpdHlPcmlnaW4ubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE3MDkzNkFEMEI1NjA4REMwMENEQjQ4RSAvKiBXZWJEcmFnQ2xp
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJEcmFnQ2xpZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MDkzNkFFMEI1NjA4REMwMENEQjQ4RSAv
KiBXZWJEcmFnQ2xpZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYkRyYWdDbGllbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3MEVC
NEVDMTIwODM0QTgwMDRCMEEzQiAvKiBXZWJDb3JlVGVzdGluZy5mcmFtZXdvcmsgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29y
azsgcGF0aCA9IFdlYkNvcmVUZXN0aW5nLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BS
T0RVQ1RTX0RJUjsgfTsKIAkJQTdEM0M1QkEwQjU3NzNDNTAwMkNBNDUwIC8qIFdlYlBhc3RlYm9h
cmRIZWxwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUGFzdGVib2Fy
ZEhlbHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBN0QzQzVCQjBCNTc3M0M1
MDAyQ0E0NTAgLyogV2ViUGFzdGVib2FyZEhlbHBlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFdlYlBhc3RlYm9hcmRIZWxwZXIubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFCOUZCQkJBMEY4NTgyQjAwMDZBREM0MyAvKiBXZWJET01PcGVyYXRp
b25zSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRE9NT3Bl
cmF0aW9uc0ludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NDQsNyAr
NzQ1LDcgQEAKIAkJCQkwQUNFOTE3MzEwRkU0N0UzMDA5NkE0NUYgLyogT3BlbkdMLmZyYW1ld29y
ayBpbiBGcmFtZXdvcmtzICovLAogCQkJCTFBMjBEMDhCMEVEMzg0RjIwMDQzRkE5RiAvKiBRdWFy
dHpDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCTkzOTgxMTJGMDgyNEJGMDEw
MDhERjAzOCAvKiBTZWN1cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKLQkJCQk5Mzk4
MTEyQzA4MjRCRjAxMDA4REYwMzggLyogV2ViQ29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LywKKwkJCQlBNzEyMTk0OTEyMDgzNkQwMDAzQTk5OUEgLyogV2ViQ29yZS5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTc5MCw2ICs3OTEsNyBAQAogCQkwODY3RDY5QUZFODQwMjhGQzAy
QUFDMDcgLyogRnJhbWV3b3JrcyBhbmQgTGlicmFyaWVzICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzBFQjRFQzEyMDgzNEE4MDA0QjBBM0IgLyogV2Vi
Q29yZVRlc3RpbmcuZnJhbWV3b3JrICovLAogCQkJCUY1QzI4Njk0MDI4NDZEQ0QwMTg2MzVDQSAv
KiBDYXJib24uZnJhbWV3b3JrICovLAogCQkJCUY1QzI4Njk1MDI4NDZEQ0QwMTg2MzVDQSAvKiBD
b2NvYS5mcmFtZXdvcmsgKi8sCiAJCQkJQ0Q4RUFDNzIxMUNBQzlBMzAwNzc0MDc1IC8qIElPS2l0
LmZyYW1ld29yayAqLywKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKaW5kZXggMTlhMThkZTQxY2U4NDdkNDkyNDVkOWNkYzQ0ZmFlNGRjMjFi
OGNlNy4uZTcyODY4NTMxMjAyNzMyYTQzMzg3NDExYWZlYWZiYjk2ZGEzNTAyZiAxMDA2NDQKLS0t
IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMC0wOC0wMyAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNv
bT4KKworICAgICAgICBEUlQgc2hvdWxkIGFsbG93IHRlc3Qgc2NyaXB0cyB0byBhY2Nlc3MgV2Vi
Q29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9yIHNldHVwL3ZlcmlmaWNhdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2MTIKKyAgICAgICAgCisgICAg
ICAgIEV4cG9zZWQgV2ViS2l0OjpUZXN0aW5nIEFQSSBmb3IgZXh0ZW5kaW5nIExheW91dFRlc3RD
b250cm9sbGVyLgorICAgICAgICBOb3RlIHRoYXQgV2ViS2l0VGVzdGluZy5mcmFtZXdvcmsgaXMg
bGlua2VkIHdpdGggIndlYWsiIGxpbmthZ2UKKyAgICAgICAgYW5kIFdlYktpdCBmcmFtZXdvcmsg
d2lsbCBzaGlwIHdpdGhvdXQgdGhhdC4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktp
dC54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lLm1tOgorICAgICAgICAoLVtX
ZWJGcmFtZSBsYXlvdXRUZXN0Q29udHJvbGxlcl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJh
bWVQcml2YXRlLmg6CisKIDIwMTAtMDgtMDMgIEFsZXggTWlsb3dza2kgIDxhbGV4QG1pbG93c2tp
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBCZXRoIERha2luLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcgYi9XZWJLaXQvbWFjL0NvbmZp
Z3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwppbmRleCBkZWY3NmZkNzQzNWI1MjhhZTMxMTg1NjEy
YWRlOGMxNTE1Y2VkYTI5Li45YjA5OGU3NTNkMmZkYWNkZDgxOTFkYzc1NTk2MWQ5YWNiMzkxNmIy
IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwor
KysgYi9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwpAQCAtNDgsNyAr
NDgsNyBAQCBGUkFNRVdPUktfU0VBUkNIX1BBVEhTX21hY29zeCA9ICQoVU1CUkVMTEFfRlJBTUVX
T1JLU19ESVIpICQoU1lTVEVNX0xJQlJBUllfRElSKQogCiBHQ0NfUFJFRklYX0hFQURFUiA9IG1h
Yy9XZWJLaXRQcmVmaXguaDsKIEdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVH
X0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVTKSBGUkFNRVdPUktfTkFNRT1XZWJLaXQgV0VCS0lU
X1ZFUlNJT05fTUlOX1JFUVVJUkVEPVdFQktJVF9WRVJTSU9OX0xBVEVTVCAkKEdDQ19QUkVQUk9D
RVNTT1JfREVGSU5JVElPTlMpOwotSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoV0VCQ09SRV9QUklW
QVRFX0hFQURFUlNfRElSKS9Gb3J3YXJkaW5nSGVhZGVycyAkKFdFQkNPUkVfUFJJVkFURV9IRUFE
RVJTX0RJUikvaWN1ICQoV0VCS0lUU1lTVEVNSU5URVJGQUNFX1NUQVRJQ19MSUJSQVJZX0hFQURF
UlNfRk9MREVSX1BBVEgpICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0IiAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpOworSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoV0VC
Q09SRV9QUklWQVRFX0hFQURFUlNfRElSKS9Gb3J3YXJkaW5nSGVhZGVycyAkKFdFQkNPUkVfUFJJ
VkFURV9IRUFERVJTX0RJUikvaWN1ICQoV0VCS0lUU1lTVEVNSU5URVJGQUNFX1NUQVRJQ19MSUJS
QVJZX0hFQURFUlNfRk9MREVSX1BBVEgpICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNv
dXJjZXMvV2ViS2l0IiAkKFdFQkNPUkVURVNUSU5HX0hFQURFUlNfRElSKSAkKEhFQURFUl9TRUFS
Q0hfUEFUSFMpOwogSU5GT1BMSVNUX0ZJTEUgPSBtYWMvSW5mby5wbGlzdDsKIElOU1RBTExfUEFU
SCA9ICQoSU5TVEFMTF9QQVRIXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7CiBJTlNUQUxMX1BBVEhf
bWFjb3N4ID0gJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29ya3M7CkBAIC02MCw3ICs2MCw3
IEBAIFVNQlJFTExBX0ZSQU1FV09SS1NfRElSID0gJChQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElS
KS9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zCiBPVEhFUl9MREZMQUdTID0gJChPVEhFUl9MREZM
QUdTXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7CiBPVEhFUl9MREZMQUdTX2lwaG9uZW9zID0gLWxv
YmpjIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1l
d29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgR3JhcGhp
Y3NTZXJ2aWNlcyAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBXZWJDb3JlOwogT1RIRVJf
TERGTEFHU19pcGhvbmVzaW11bGF0b3IgPSAkKE9USEVSX0xERkxBR1NfaXBob25lb3MpOwotT1RI
RVJfTERGTEFHU19tYWNvc3ggPSAtc3ViX3VtYnJlbGxhIFdlYkNvcmUgJChPVEhFUl9MREZMQUdT
KTsKK09USEVSX0xERkxBR1NfbWFjb3N4ID0gLXN1Yl91bWJyZWxsYSBXZWJDb3JlICQoT1RIRVJf
TERGTEFHUykgLXdlYWtfZnJhbWV3b3JrIFdlYkNvcmVUZXN0aW5nOwogCiBQUk9EVUNUSU9OX0ZS
QU1FV09SS1NfRElSID0gJChQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSXyQoUkVBTF9QTEFURk9S
TV9OQU1FKSk7CiBQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSX2lwaG9uZW9zID0gJChTREtST09U
KSQoU1lTVEVNX0xJQlJBUllfRElSKS9Qcml2YXRlRnJhbWV3b3JrczsKQEAgLTgxLDYgKzgxLDE1
IEBAIFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUl9Qcm9kdWN0aW9uX2lwaG9uZXNpbXVsYXRv
ciA9ICQoV0VCQ09SRV9QUklWQVRFX0hFQURFCiBXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVJf
UHJvZHVjdGlvbl9tYWNvc3ggPSAkKFVNQlJFTExBX0ZSQU1FV09SS1NfRElSKS9XZWJDb3JlLmZy
YW1ld29yay9Qcml2YXRlSGVhZGVyczsKIFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX2VuZ2luZWVy
aW5nID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL1dlYkNvcmUuZnJhbWV3b3JrL1ByaXZhdGVIZWFk
ZXJzOwogCitXRUJDT1JFVEVTVElOR19IRUFERVJTX0RJUiA9ICQoV0VCQ09SRVRFU1RJTkdfSEVB
REVSU19ESVJfJChDT05GSUdVUkFUSU9OKSk7CitXRUJDT1JFVEVTVElOR19IRUFERVJTX0RJUl9S
ZWxlYXNlID0gJChXRUJDT1JFVEVTVElOR19IRUFERVJTX2VuZ2luZWVyaW5nKTsKK1dFQkNPUkVU
RVNUSU5HX0hFQURFUlNfRElSX0RlYnVnICA9ICQoV0VCQ09SRVRFU1RJTkdfSEVBREVSU19lbmdp
bmVlcmluZyk7CitXRUJDT1JFVEVTVElOR19IRUFERVJTX0RJUl9Qcm9kdWN0aW9uID0gJChXRUJD
T1JFVEVTVElOR19IRUFERVJTX0RJUl9Qcm9kdWN0aW9uXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7
CitXRUJDT1JFVEVTVElOR19IRUFERVJTX0RJUl9Qcm9kdWN0aW9uX2lwaG9uZW9zID0gJChQUk9E
VUNUSU9OX0ZSQU1FV09SS1NfRElSKS9XZWJDb3JlVGVzdGluZy5mcmFtZXdvcmsvSGVhZGVyczsK
K1dFQkNPUkVURVNUSU5HX0hFQURFUlNfRElSX1Byb2R1Y3Rpb25faXBob25lc2ltdWxhdG9yID0g
JChXRUJDT1JFVEVTVElOR19IRUFERVJTX0RJUl9Qcm9kdWN0aW9uX2lwaG9uZW9zKTsKK1dFQkNP
UkVURVNUSU5HX0hFQURFUlNfRElSX1Byb2R1Y3Rpb25fbWFjb3N4ID0gJChVTUJSRUxMQV9GUkFN
RVdPUktTX0RJUikvV2ViQ29yZVRlc3RpbmcuZnJhbWV3b3JrL0hlYWRlcnM7CitXRUJDT1JFVEVT
VElOR19IRUFERVJTX0RJUl9lbmdpbmVlcmluZyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9XZWJD
b3JlLmZyYW1ld29yay9Qcml2YXRlSGVhZGVyczsKKwogV0VCS0lUU1lTVEVNSU5URVJGQUNFX1NU
QVRJQ19MSUJSQVJZX0hFQURFUlNfRk9MREVSX1BBVEggPSAkKFdFQktJVFNZU1RFTUlOVEVSRkFD
RV9TVEFUSUNfTElCUkFSWV9IRUFERVJTX0ZPTERFUl9QQVRIXyQoQ09ORklHVVJBVElPTikpOwog
V0VCS0lUU1lTVEVNSU5URVJGQUNFX1NUQVRJQ19MSUJSQVJZX0hFQURFUlNfRk9MREVSX1BBVEhf
RGVidWcgPSAkKFdFQktJVFNZU1RFTUlOVEVSRkFDRV9TVEFUSUNfTElCUkFSWV9IRUFERVJTX0ZP
TERFUl9QQVRIX2VuZ2luZWVyaW5nKTsKIFdFQktJVFNZU1RFTUlOVEVSRkFDRV9TVEFUSUNfTElC
UkFSWV9IRUFERVJTX0ZPTERFUl9QQVRIX1JlbGVhc2UgPSAkKFdFQktJVFNZU1RFTUlOVEVSRkFD
RV9TVEFUSUNfTElCUkFSWV9IRUFERVJTX0ZPTERFUl9QQVRIX2VuZ2luZWVyaW5nKTsKZGlmZiAt
LWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbSBiL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJGcmFtZS5tbQppbmRleCBiNzFkNTAxZGZjZmE5YjE3OTUxNzQ4Y2VkZjVhOTIyOGExMWY2
ZWVkLi5mMjRmZWYyZTAxYTg2MzAyY2FhODc0ZjNlODU2MGVmNTQ3NmNkM2I5IDEwMDY0NAotLS0g
YS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkZyYW1lLm1tCkBAIC05MCw2ICs5MCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL2h0bWxlZGl0
aW5nLmg+CiAjaW1wb3J0IDxXZWJDb3JlL21hcmt1cC5oPgogI2ltcG9ydCA8V2ViQ29yZS92aXNp
YmxlX3VuaXRzLmg+CisjaW1wb3J0IDxXZWJDb3JlVGVzdGluZy9XZWJDb3JlVGVzdGluZy5oPgog
I2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW1wb3J0IDxydW50aW1lL0pTTG9j
ay5oPgogI2ltcG9ydCA8cnVudGltZS9KU09iamVjdC5oPgpAQCAtMTM0MCw2ICsxMzQxLDE3IEBA
IHN0YXRpYyBpbmxpbmUgV2ViRGF0YVNvdXJjZSAqZGF0YVNvdXJjZShEb2N1bWVudExvYWRlciog
bG9hZGVyKQogICAgIHJldHVybiBjb3JlRnJhbWUtPmxheWVyVHJlZUFzVGV4dCgpOwogfQogCist
IChKU1ZhbHVlUmVmKWxheW91dFRlc3RDb250cm9sbGVyCit7CisgICAgRnJhbWUqIGNvcmVGcmFt
ZSA9IF9wcml2YXRlLT5jb3JlRnJhbWU7CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJl
dHVybiAwOworICAgIERPTVdyYXBwZXJXb3JsZCogd29ybGQgPSBtYWluVGhyZWFkTm9ybWFsV29y
bGQoKTsKKyAgICBXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gY29y
ZUZyYW1lLT5zY3JpcHQoKS0+Z2xvYmFsT2JqZWN0KHdvcmxkKTsKKyAgICBKU0M6OkV4ZWNTdGF0
ZSogZXhlYyA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpOworICAgIHJldHVybiB0b1JlZihl
eGVjLCBKU1ZhbHVlKFdlYkNvcmU6OlRlc3Rpbmc6OmNyZWF0ZUpTTGF5b3V0VGVzdENvbnRyb2xs
ZXJGb3IoZXhlYywgZ2xvYmFsT2JqZWN0LCBjb3JlRnJhbWUpKSk7Cit9CisKIEBlbmQKIAogQGlt
cGxlbWVudGF0aW9uIFdlYkZyYW1lCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
RnJhbWVQcml2YXRlLmggYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgKaW5k
ZXggMGJkYTk2NmFiYmRmYzk0N2M2MjFkNDE0MjlmYjhmN2I5NzAwOGRiZC4uMmQxNmE3MTVlMjA1
MGVhZjNhYTcxY2Q1ZWNhNmVhMzNlNzNkYzgxMiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkZyYW1lUHJpdmF0ZS5oCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVBy
aXZhdGUuaApAQCAtMTM2LDQgKzEzNiw3IEBAIHR5cGVkZWYgZW51bSB7CiAKIC0gKE5TU3RyaW5n
KilfbGF5ZXJUcmVlQXNUZXh0OwogCisvLyBSZXR1cm5zIGFzc29jaWF0ZWQgTGF5b3V0VGVzdENv
bnRyb2xsZXIgb2JqZWN0LCBvciBudWxsIG9uIHRoZSBwcm9kdWN0aW9uIGJ1aWxkLgorLSAoSlNW
YWx1ZVJlZilsYXlvdXRUZXN0Q29udHJvbGxlcjsKKwogQGVuZApkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDk5ZTY3ZmY5NTg3
NTM4OTdmNzc5ZTAxZWEyZjNkYjMyNGU1NTcwNGMuLmQ3ZjgwZmM5MmU4NTdkYmM4NzViZTVkNzIz
OTQ0Yzc5NTlmZTY0YTMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9X
ZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wOC0wMyAgTU9SSVRB
IEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmRlZCBMYXlvdXRUZXN0Q29udHJvbGxlciBvYmpl
Y3QgYnkgYWRkaW5nIGRlbGdhdGlvbiBtZXRob2RzCisgICAgICAgIGZvciBXZWJDb3JlOjpMYXlv
dXRUZXN0Q29udHJvbGxlci4KKyAgICAgICAgTm93IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ciBoYXMgbWV0aG9kcyBkZWZpbmVkIGluCisgICAgICAgIFdlYkNvcmU6OkxheW91dFRlc3RDb250
cm9sbGVyLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VEZWxlZ2F0aW9uTWV0aG9k
cyk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZVdpbmRvd09iamVjdCk6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW06CisgICAgICAgICgtW0Zy
YW1lTG9hZERlbGVnYXRlIGRpZENsZWFyV2luZG93T2JqZWN0SW5TdGFuZGFyZFdvcmxkRm9yRnJh
bWU6XSk6CisKIDIwMTAtMDgtMDMgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgYSBuZXcgTGVvcGFyZCBidWlsZCBzbGF2ZSB0byBydW4gdGhlIHJlbGVhc2UgdGVz
dHMuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAKaW5kZXggZDk4MTY0Yjc4YmMxNTEzODJlYTYxODVmZmY0MDIxYzlkZjA4YzhjNS4u
MzdhZTE3Y2EyYjYyYjkxYjVmMjNjOTc1ZTJkMTE4MTFiN2YwZDRkYiAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTcx
Niw5ICsxNzE2LDI4IEBAIHN0YXRpYyB2b2lkIGxheW91dFRlc3RDb250cm9sbGVyT2JqZWN0Rmlu
YWxpemUoSlNPYmplY3RSZWYgb2JqZWN0KQogICAgIGNvbnRyb2xsZXItPmRlcmVmKCk7CiB9CiAK
K3N0YXRpYyBjb25zdCBjaGFyIHNldHVwTGF5b3V0VGVzdENvbnRyb2xsZXJTY3JpcHRbXSA9IAor
ICAgICJmdW5jdGlvbiBkZWxlZ2F0ZShkc3QsIHNyYywgbmFtZSkgeyBkc3RbbmFtZV0gPSBmdW5j
dGlvbigpIHsgcmV0dXJuIHNyY1tuYW1lXS5hcHBseShzcmMsIGFyZ3VtZW50cyk7IH0gfVxuIgor
ICAgICJmb3IgKHZhciBuYW1lIGluIHRoaXMud2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVyKSB7
XG4iCisgICAgIiAgICBkZWxlZ2F0ZSh0aGlzLCB0aGlzLndlYkNvcmVMYXlvdXRUZXN0Q29udHJv
bGxlciwgbmFtZSk7XG4iCisgICAgIn1cbiI7CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
Om1ha2VEZWxlZ2F0aW9uTWV0aG9kcyhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYg
dGhpc09iamVjdCwgSlNWYWx1ZVJlZiB3ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXJPYmplY3Qs
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
d2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVyU3RyKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygid2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVyIikpOworICAgIEpTT2JqZWN0
U2V0UHJvcGVydHkoY29udGV4dCwgdGhpc09iamVjdCwgd2ViQ29yZUxheW91dFRlc3RDb250cm9s
bGVyU3RyLmdldCgpLCB3ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXJPYmplY3QsIGtKU1Byb3Bl
cnR5QXR0cmlidXRlTm9uZSwgZXhjZXB0aW9uKTsKKyAgICBBU1NFUlQoISpleGNlcHRpb24pOwor
CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHVybFN0cihBZG9wdCwgSlNTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoInNldHVwX2xheW91dF90ZXN0X2NvbnRyb2xsZXJfdGVzdC5qcyIp
KTsKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gc2NyaXB0U3RyKEFkb3B0LCBKU1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhzZXR1cExheW91dFRlc3RDb250cm9sbGVyU2NyaXB0KSk7
CisgICAgQVNTRVJUKCEqZXhjZXB0aW9uKTsKKyAgICBKU0V2YWx1YXRlU2NyaXB0KGNvbnRleHQs
IHNjcmlwdFN0ci5nZXQoKSwgdGhpc09iamVjdCwgdXJsU3RyLmdldCgpLCAxLCBleGNlcHRpb24p
OworICAgIEFTU0VSVCghKmV4Y2VwdGlvbik7Cit9CisKIC8vIE9iamVjdCBDcmVhdGlvbgogCi12
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBj
b250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
K3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVm
IGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9u
LCBKU1ZhbHVlUmVmIHdlYkNvcmVsYXlvdXRUZXN0Q29udG9sbGVyKQogewogICAgIEpTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBsYXlvdXRUZXN0Q29udG9sbGVyU3RyKEFkb3B0LCBKU1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygibGF5b3V0VGVzdENvbnRyb2xsZXIiKSk7CiAgICAgcmVmKCk7
CkBAIC0xNzI3LDYgKzE3NDYsOSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtlV2lu
ZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aQogICAgIEpTVmFs
dWVSZWYgbGF5b3V0VGVzdENvbnRvbGxlck9iamVjdCA9IEpTT2JqZWN0TWFrZShjb250ZXh0LCBj
bGFzc1JlZiwgdGhpcyk7CiAgICAgSlNDbGFzc1JlbGVhc2UoY2xhc3NSZWYpOwogCisgICAgaWYg
KHdlYkNvcmVsYXlvdXRUZXN0Q29udG9sbGVyKQorICAgICAgICBtYWtlRGVsZWdhdGlvbk1ldGhv
ZHMoY29udGV4dCwgSlNWYWx1ZVRvT2JqZWN0KGNvbnRleHQsIGxheW91dFRlc3RDb250b2xsZXJP
YmplY3QsIGV4Y2VwdGlvbiksIHdlYkNvcmVsYXlvdXRUZXN0Q29udG9sbGVyLCBleGNlcHRpb24p
OworCiAgICAgSlNPYmplY3RTZXRQcm9wZXJ0eShjb250ZXh0LCB3aW5kb3dPYmplY3QsIGxheW91
dFRlc3RDb250b2xsZXJTdHIuZ2V0KCksIGxheW91dFRlc3RDb250b2xsZXJPYmplY3QsIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUs
IGV4Y2VwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDM5Y2MzZmI0ZjlkNmIxODMxZGM4NDY0ZGY1YTAwMWM1
ZmVlNTQyODIuLmMzZGY3NDM2M2ViNmY5MGYwNzUwNWQ3MDQ3OTU0MmMzMjUwOGY1NGIgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgK
KysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApA
QCAtNDIsNyArNDIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8TGF5b3V0VGVz
dENvbnRyb2xsZXI+IGNyZWF0ZShjb25zdCBzdGQ6OnN0cmluZyYgdGVzdFBhdGhPclVSTCwgY29u
c3Qgc3RkOjpzdHJpbmcmIGV4cGVjdGVkUGl4ZWxIYXNoKTsKICAgICB+TGF5b3V0VGVzdENvbnRy
b2xsZXIoKTsKIAotICAgIHZvaWQgbWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4
dCwgSlNPYmplY3RSZWYgd2luZG93T2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOworICAg
IHZvaWQgbWFrZURlbGVnYXRpb25NZXRob2RzKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiB0aGlzT2JqZWN0LCBKU1ZhbHVlUmVmIHdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlciwg
SlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKKyAgICB2b2lkIG1ha2VXaW5kb3dPYmplY3QoSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhj
ZXB0aW9uLCBKU1ZhbHVlUmVmIHdlYkNvcmVsYXlvdXRUZXN0Q29udG9sbGVyID0gMCk7CiAKICAg
ICB2b2lkIGFkZERpc2FsbG93ZWRVUkwoSlNTdHJpbmdSZWYgdXJsKTsKICAgICB2b2lkIGNsZWFy
QWxsRGF0YWJhc2VzKCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRnJhbWVMb2FkRGVsZWdhdGUubW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RnJhbWVMb2FkRGVsZWdhdGUubW0KaW5kZXggOTYzZWFlNzBmYTU5ZDgxZWZjZmViOGFiMWU4ODM2
YzU1N2M3YWNjZC4uMThkOWRhYzQ0MGUzOWY4YWQzNTkxZDYzMzM5NzJkMjU3ZGI2MTk0MSAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRl
Lm1tCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0
ZS5tbQpAQCAtMjQ1LDcgKzI0NSw4IEBACiAgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwog
CiAgICAgQVNTRVJUKGdMYXlvdXRUZXN0Q29udHJvbGxlcik7Ci0gICAgZ0xheW91dFRlc3RDb250
cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlv
bik7CisgICAgSlNWYWx1ZVJlZiB3ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXIgPSBbZnJhbWUg
bGF5b3V0VGVzdENvbnRyb2xsZXJdOworICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+bWFrZVdp
bmRvd09iamVjdChjb250ZXh0LCBnbG9iYWxPYmplY3QsICZleGNlcHRpb24sIHdlYkNvcmVMYXlv
dXRUZXN0Q29udHJvbGxlcik7CiAgICAgQVNTRVJUKCFleGNlcHRpb24pOwogCiAgICAgZ2NDb250
cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlv
bik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64186</attachid>
            <date>2010-08-11 21:37:23 -0700</date>
            <delta_ts>2010-09-09 01:56:57 -0700</delta_ts>
            <desc>Rebaselined. Could anyone take a look?</desc>
            <filename>bug-42612-20100812133720.patch</filename>
            <type>text/plain</type>
            <size>84235</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3NDYwOTNmYzUyMDVlYzFiNDQ4MmZhYWU0ZWExNGYwNjExN2ViN2ViLi4zOGQ3YjJm
ZjRmNzE3OGQzZTA4OTcwNzU1ODY4MzljYzI4OGNmZjZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDgtMDMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dp
bmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlv
dXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0
ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxh
dGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAtMDgtMTEgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBKb24gSG9uZXljdXR0LgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctbGF5
b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdhM2NlYmE0YTdiNmVmMTE4NWFmOTQzYTgwZmVjYzMwMmEyNDBhZDkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3Rz
L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuanMKQEAgLTAsMCArMSw3IEBA
CitkZXNjcmlwdGlvbigid2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIHNob3VsZCBoYXZlIGZ1
bmN0aW9ucyBkZWZpbmVkIGluIExheW91dFRlc3RDb250cm9sbGVyLmlkbCIpOword2luZG93Lm5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIik7CitzaG91bGRCZVRydWUoInVuZGVmaW5l
ZCAhPSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIiKTsKK3Nob3VsZEJlVHJ1ZSgidW5kZWZp
bmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kb2N1bWVudE1hcmtlclNpemVGb3JO
b2RlIik7CitzaG91bGRCZVRydWUoIjAgPT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRv
Y3VtZW50TWFya2VyU2l6ZUZvck5vZGUod2luZG93Lm5vZGUpIik7CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdl
YmNvcmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmNmZmZmQyMzE1ZDRjN2FiMmY3NGVmNmE5
YWRjOTQwN2M3NjlmZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAord2luZG93LmxheW91dFRlc3RDb250cm9sbGVyIHNob3VsZCBoYXZl
IGZ1bmN0aW9ucyBkZWZpbmVkIGluIExheW91dFRlc3RDb250cm9sbGVyLmlkbAorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB1bmRlZmluZWQgIT0gd2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyIGlzIHRydWUKK1BBU1MgdW5kZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlci5kb2N1bWVudE1hcmtlclNpemVGb3JOb2RlIGlzIHRydWUKK1BBU1MgMCA9PSB3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZSh3aW5k
b3cubm9kZSkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI2ZWI2ODllY2VlODU5ODgyYzRlMTgwNzFjOTNmNDJlOWRhYmRjYmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10
ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvd2luZG93LWxh
eW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVj
dGF0aW9ucy50eHQKaW5kZXggYzQ3YWFhZDA4YzNhNjVlODVlODRmYWIxNmJmODM5MTA3YjgzZmNi
Zi4uNGQ3YTUwN2VlMjhjMDMwYWRmNWFiMDQ2NjA5NjI3MWI3MGI5OWE1NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAt
MzExMSw2ICszMTExLDggQEAgQlVHV0s0Mjg0NSA6IGh0bWw1bGliL3J1bm5lci5odG1sID0gVEVY
VAogQlVHV0s0Mjc2OSA6IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVtZW1iZXItYmFkLXBh
c3N3b3JkLmh0bWwgPSBURVhUCiBCVUdXSzQyNzY5IDogaHR0cC90ZXN0cy9zZWN1cml0eS80MDEt
bG9nb3V0LzQwMS1sb2dvdXQucGhwID0gVElNRU9VVAogCitCVUdXSzQyNjEyIDogZmFzdC9kb20v
V2luZG93L3dpbmRvdy1sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUuaHRtbCA9IEZBSUwK
KwogLy8gRmxha3kgc2luY2UgYXQgbGVhc3QgY2hyb21pdW0gcjUyODM0LCBXZWJLaXQgcjYzNjE1
LgogQlVHNDk5NzAgOiBwbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2NhbGwtYXMtZnVuY3Rpb24u
aHRtbCA9IFBBU1MgVEVYVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDQ4MDE2OWMw
YTI2OGY4MmEyMmRlY2Q4MmY1NGY0Y2E3OWE0ZmFkZDEuLjk1MmVhMmQwYzJhNzA1MDhiNWU1OTE4
ZjEyN2Q1ZmQ4MDhjNTU0OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC01ODUwLDYg
KzU4NTAsOSBAQCBlZGl0aW5nL3NlbGVjdGlvbi9kcmFnLXN0YXJ0LWV2ZW50LWNsaWVudC14LXku
aHRtbAogIyBUZXN0cyB0aGF0IHJlcXVpcmUgZWRpdGluZyBkZWxlZ2F0ZSBkdW1wcy4KIGVkaXRp
bmcvcGFzdGVib2FyZC9kcm9wLWxpbmsuaHRtbAogCisjIGN1cnJlbnRseSBMYXlvdXRUZXN0Q29u
dHJvbGxlckNvcmUgaXMgbm90IHN1cHBvcnRlZCBodHRwOi8vd2Via2l0Lm9yZy9iLzQyNjEyCitm
YXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5odG1s
CisKICMgRmxha3kgZHVlIHRvIEpTQyBkZWJ1Z2dlciBpc3N1ZS4KICMgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMDM0CiBpbnNwZWN0b3IvZGVidWdnZXItYnJlYWtw
b2ludHMtbm90LWFjdGl2YXRlZC1vbi1yZWxvYWQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQK
aW5kZXggMTc4Yzk3M2I2OTEwYmU2ODNiOTMxZjA1ZTI4ODk4MGViMmFjNDIyZi4uYjE3ZTNlYTRh
YjQ3NDU5NzNjNGM3MWJiNzFlNzc4NzIxMjgwNGIxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CkBAIC01NDU5LDYgKzU0NTksOSBAQCBodG1sNWxpYi9ydW5uZXIuaHRtbAogZmFzdC9mb3Jtcy9p
bnRlcmFjdGl2ZS12YWxpZGF0aW9uLWxvc3QtZm9jdXNhYmxlLmh0bWwKIGZhc3QvZm9ybXMvaW50
ZXJhY3RpdmUtdmFsaWRhdGlvbi1wcmV2ZW50ZWQuaHRtbAogCisjIGN1cnJlbnRseSBMYXlvdXRU
ZXN0Q29udHJvbGxlckNvcmUgaXMgbm90IHN1cHBvcnRlZCBodHRwOi8vd2Via2l0Lm9yZy9iLzQy
NjEyCitmYXN0L2RvbS9XaW5kb3cvd2luZG93LWxheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29y
ZS5odG1sCisKICMgW1F0XSBSRUdSRVNTSU9OKDYzODYyKTogYW5pbWF0aW9ucy9wbGF5LXN0YXRl
Lmh0bWwgZmFpbHMgaW50ZXJtaXR0ZW50bHkKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQyODIxCiBhbmltYXRpb25zL3BsYXktc3RhdGUuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vU2tpcHBlZAppbmRleCA1YjEyYmE5ZjUxYTY2YTMxMmFhOGFhMTA2OWE3YzEwM2NjNWEz
OGYwLi5hOWU3ZGUxNjIzYTI1M2JjM2I3NjAzNmMxYTEyZDJlYTczZWVhZmY3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vU2tpcHBlZApAQCAtOTQ3LDYgKzk0Nyw5IEBAIHByaW50aW5nL3NldFByaW50aW5n
Lmh0bWwKIGZhc3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1sb3N0LWZvY3VzYWJsZS5o
dG1sCiBmYXN0L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24tcHJldmVudGVkLmh0bWwKIAor
IyBjdXJyZW50bHkgTGF5b3V0VGVzdENvbnRyb2xsZXJDb3JlIGlzIG5vdCBzdXBwb3J0ZWQgaHR0
cDovL3dlYmtpdC5vcmcvYi80MjYxMgorZmFzdC9kb20vV2luZG93L3dpbmRvdy1sYXlvdXQtdGVz
dC1jb250cm9sbGVyLXdlYmNvcmUuaHRtbAorCiAjIFdlYiBUaW1pbmcgaXMgbm90IGVuYWJsZWQu
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjQzNQogZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBlcmZvcm1hbmNlLmh0bWwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDUz
MzJiNGVjNWZlYWM1MWQ4NjAwNTY3ZTRhNDc3MDQyNmIzMWMyYjcuLmE0OGM1ZjE4ZmQ3NzQwYzY4
MzRlMmE5MDFkMTU0Y2M2ZDAyYzljOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzE2LDYgKzMxNiw3IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2UvR2VvcG9zaXRpb24uaWRsCiAgICAgcGFnZS9IaXN0
b3J5LmlkbAogICAgIHBhZ2UvTG9jYXRpb24uaWRsCisgICAgcGFnZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5pZGwKICAgICBwYWdlL01lbW9yeUluZm8uaWRsCiAgICAgcGFnZS9OYXZpZ2F0aW9uLmlk
bAogICAgIHBhZ2UvTmF2aWdhdG9yLmlkbApAQCAtMTE2NSw2ICsxMTY2LDcgQEAgU0VUKFdlYkNv
cmVfU09VUkNFUwogICAgIHBhZ2UvR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcAogICAgIHBh
Z2UvSGlzdG9yeS5jcHAKICAgICBwYWdlL0xvY2F0aW9uLmNwcAorICAgIHBhZ2UvTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwCiAgICAgcGFnZS9NZW1vcnlJbmZvLmNwcAogICAgIHBhZ2UvTW91c2VF
dmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAKICAgICBwYWdlL05hdmlnYXRpb24uY3BwCmRpZmYg
LS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDY1ODVk
MGFlYmZlYTE2ZWFjYTA3ODljODQ1MjVlNzI2ZTUwNGI2MTcuLjU0M2VmNzY1ZGQ4MjQ2NmQzZmUw
ZGM2ZTJiNjgyZTM2MmQ4NDgwYzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcgQEAKKzIwMTAtMDgtMDMgIE1PUklUQSBI
YWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxvdyB0ZXN0IHNjcmlwdHMgdG8gYWNj
ZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1cC92ZXJpZmljYXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEyCisKKyAgICAg
ICAgSW50cm9kdWNlZDoKKyAgICAgICAgCisgICAgICAgIC0gV2ViQ29yZTo6VGVzdGluZyBuYW1l
c3BhY2UgZm9yIHRlc3Rpbmctc3BlY2lmaWMgY29kZS4KKyAgICAgICAgICBJbXBsZW1lbnRhdGlv
biBmaWxlcyBhcmUgbG9jYXRlZCB1bmRlciB0ZXN0aW5nLyBkaXJlY3RvcnkuCisgICAgICAgIC0g
V2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXIgaW50ZXJmYWNlLCB0aGF0IGRlZmluZXMKKyAg
ICAgICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciBBUEkgdGhhdCB3aWxsIGJlIGltcGxlbWVudGVk
IGluc2lkZQorICAgICAgICAgIFdlYkNvcmU6OlRlc3RpbmcuCisgICAgICAgIC0gV2ViQ29yZTo6
VGVzdGluZzo6TGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsIHRoYXQgaW1wbGVtZW50cworICAgICAg
ICAgIFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyLgorICAgICAgICAtIChNYWMpOiBXZWJL
aXRUZXN0aW5nLmZyYW1ld29yayB0byBoYXZlIGNvZGUgdW5kZXIgdGVzdGluZy8uCisgICAgICAg
IAorICAgICAgICBOb3RlIHRoYXQgZmlsZXMgdW5kZXIgV2ViQ29yZTo6VGVzdGluZyB3aWxsIGJl
IGJ1aWx0IHNlcGFyYXRlbHkKKyAgICAgICAgZnJvbSBXZWJDb3JlLmZyYW1ld29yayBmb3IgYSBz
ZWN1cml0eSByZWFzb24uIFNvIFdlYkNvcmUgZG9lc24ndAorICAgICAgICBkZXBlbmQgb24gV2Vi
Q29yZTpUZXN0aW5nIHRob3VnaCBwcm92aWRlcyBpbnRlcmZhY2VzIGZvciBpdC4KKyAgICAgICAg
CisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctbGF5b3V0LXRlc3QtY29udHJv
bGxlci13ZWJjb3JlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvV2ViQ29yZVRlc3RpbmcueGNjb25maWc6IEFkZGVkLgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViQ29yZVRlc3RpbmctSW5m
by5wbGlzdDogQWRkZWQuCisgICAgICAgICogV2ViQ29yZVRlc3RpbmcuZXhwOiBBZGRlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjbGVhcik6CisgICAgICAgIChXZWJDb3Jl
OjpET01XaW5kb3c6OmxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6c2V0TGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIHBhZ2UvRE9NV2lu
ZG93Lmg6CisgICAgICAgICogcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyOjp+TGF5b3V0VGVz
dENvbnRyb2xsZXIpOgorICAgICAgICAqIHBhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDogQWRk
ZWQuCisgICAgICAgICogcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGw6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RpbmcvTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpUZXN0aW5nOjpMYXlvdXRUZXN0Q29udHJvbGxlckltcGw6OmZyYW1lKToK
KyAgICAgICAgKFdlYkNvcmU6OlRlc3Rpbmc6OkxheW91dFRlc3RDb250cm9sbGVySW1wbDo6ZGlz
Y29ubmVjdEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3Rpbmc6OkxheW91dFRlc3RDb250
cm9sbGVySW1wbDo6ZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZSk6CisgICAgICAgIChXZWJDb3Jl
OjpUZXN0aW5nOjpMYXlvdXRUZXN0Q29udHJvbGxlckltcGw6OmRvY3VtZW50TWFya2VyU3RyaW5n
Rm9yTm9kZUF0KToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3Rpbmc6OkxheW91dFRlc3RDb250cm9s
bGVySW1wbDo6TGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
c3Rpbmc6OkxheW91dFRlc3RDb250cm9sbGVySW1wbDo6dmVyaWZ5Q29ubmVjdGVkKToKKyAgICAg
ICAgKiB0ZXN0aW5nL0xheW91dFRlc3RDb250cm9sbGVySW1wbC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlRlc3Rpbmc6OkxheW91dFRlc3RDb250cm9sbGVySW1wbDo6Y3JlYXRlKToKKyAg
ICAgICAgKiB0ZXN0aW5nL1dlYkNvcmVUZXN0aW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpUZXN0aW5nOjpjcmVhdGVMYXlvdXRUZXN0Q29udHJvbGxlckZvcik6CisgICAgICAgIChX
ZWJDb3JlOjpUZXN0aW5nOjpjcmVhdGVKU0xheW91dFRlc3RDb250cm9sbGVyRm9yKToKKyAgICAg
ICAgKiB0ZXN0aW5nL1dlYkNvcmVUZXN0aW5nLmg6IEFkZGVkLgorCiAyMDEwLTA4LTExICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBT
ZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25m
aWcgYi9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKaW5kZXggNzNlMzUx
OTBiZTRlNDI1NjhhZmFkMDRiZWI5MDRlOGI3YTI2YWY2Zi4uMjk4Njc0MTAzZTQyNDg0YTE3NGYw
YTc2MTNiNThjMjhhODA2ZTIzZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9X
ZWJDb3JlLnhjY29uZmlnCisrKyBiL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2Nv
bmZpZwpAQCAtNDMsNyArNDMsOSBAQCBGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2lwaG9uZW9zX1By
b2R1Y3Rpb24gPSAkKFBST0RVQ1RJT05fRlJBTUVXT1JLU19ESVIpOwogRlJBTUVXT1JLX1NFQVJD
SF9QQVRIU19pcGhvbmVzaW11bGF0b3IgPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfaXBob25l
b3NfJChDT05GSUdVUkFUSU9OKSk7CiBGUkFNRVdPUktfU0VBUkNIX1BBVEhTX21hY29zeCA9ICQo
U1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvRnJhbWV3b3Jr
cyAkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZy
YW1ld29yay9GcmFtZXdvcmtzICQoRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyk7CiAKLUhFQURFUl9T
RUFSQ0hfUEFUSFMgPSBGb3J3YXJkaW5nSGVhZGVycyBpY3UgL3Vzci9pbmNsdWRlL2xpYnhzbHQg
L3Vzci9pbmNsdWRlL2xpYnhtbDIgJChTUUxJVEUzX0hFQURFUl9TRUFSQ0hfUEFUSFMpICIke0JV
SUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29yZSIgJChIRUFERVJfU0VBUkNI
X1BBVEhTKTsKK1dFQkNPUkVfSEVBREVSX1NFQVJDSF9QQVRIUyA9IEZvcndhcmRpbmdIZWFkZXJz
IGljdSAvdXNyL2luY2x1ZGUvbGlieHNsdCAvdXNyL2luY2x1ZGUvbGlieG1sMiAkKFNRTElURTNf
SEVBREVSX1NFQVJDSF9QQVRIUykgIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlIiAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpOworSEVBREVSX1NFQVJDSF9QQVRIUyA9
ICQoV0VCQ09SRV9IRUFERVJfU0VBUkNIX1BBVEhTKQorCiBJTkZPUExJU1RfRklMRSA9IEluZm8u
cGxpc3Q7CiBJTlNUQUxMX1BBVEggPSAkKElOU1RBTExfUEFUSF8kKFJFQUxfUExBVEZPUk1fTkFN
RSkpOwogSU5TVEFMTF9QQVRIX21hY29zeCA9ICQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdv
cmtzL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlVGVzdGluZy54Y2NvbmZpZyBiL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvV2ViQ29yZVRlc3RpbmcueGNjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmUxNGIx
YjZlOTlmOGIxMTIxYzdmNzY2ZjdjZTJlYTM1MmNiYTFjNQotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZVRlc3RpbmcueGNjb25maWcKQEAgLTAsMCArMSwz
OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vCisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLy8gYXJlIG1ldDoKKy8v
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
Ly8gICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKy8vIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisvLyBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKy8v
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisvLyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKy8vIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKy8vIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorLy8gUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorLy8gT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKy8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisjaW5jbHVk
ZSAiV2ViQ29yZS54Y2NvbmZpZyIKKworRVhQT1JURURfU1lNQk9MU19GSUxFID0gJChFWFBPUlRF
RF9TWU1CT0xTX0ZJTEVfJChDVVJSRU5UX0FSQ0gpKTsKK0VYUE9SVEVEX1NZTUJPTFNfRklMRV8g
PSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9XZWJDb3JlVGVz
dGluZy5leHA7CitFWFBPUlRFRF9TWU1CT0xTX0ZJTEVfYXJtdjUgPSAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9XZWJDb3JlVGVzdGluZy5MUDY0LmV4cDsKK0VY
UE9SVEVEX1NZTUJPTFNfRklMRV9hcm12NiA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL1dlYkNvcmVUZXN0aW5nLkxQNjQuZXhwOworRVhQT1JURURfU1lNQk9M
U19GSUxFX2FybXY3ID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvV2ViQ29yZVRlc3RpbmcuTFA2NC5leHA7CitFWFBPUlRFRF9TWU1CT0xTX0ZJTEVfaTM4NiA9
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1dlYkNvcmVUZXN0
aW5nLmV4cDsKK0VYUE9SVEVEX1NZTUJPTFNfRklMRV9wcGMgPSAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9XZWJDb3JlVGVzdGluZy5leHA7CitFWFBPUlRFRF9T
WU1CT0xTX0ZJTEVfcHBjNjQgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9XZWJDb3JlVGVzdGluZy5MUDY0LmV4cDsKK0VYUE9SVEVEX1NZTUJPTFNfRklMRV94
ODZfNjQgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9XZWJD
b3JlVGVzdGluZy5MUDY0LmV4cDsKKworSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoV0VCQ09SRV9I
RUFERVJfU0VBUkNIX1BBVEhTKSAkKENPTkZJR1VSQVRJT05fVEVNUF9ESVIpL1dlYkNvcmUuYnVp
bGQvV2ViQ29yZS5obWFwCisKK1BST0RVQ1RfTkFNRSA9IFdlYkNvcmVUZXN0aW5nOworCmRpZmYg
LS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCmluZGV4IGZkN2ZjZjhmMTlkM2ZlMjVhZGVjZTM1ZjdjN2MxOTA4OTE5ZTA1MzIuLmEy
NDEyZmQ3N2ZjODA5ODE2YzUzMzBiYmIzYmQyMmY0NDBjYWVlNzMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBA
IC0xOTUsNiArMTk1LDcgQEAKICNpbmNsdWRlICJKU0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAi
CiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCIKICNpbmNsdWRlICJKU0tleWJv
YXJkRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIgogI2lu
Y2x1ZGUgIkpTTG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFFcnJvci5jcHAiCiAjaW5j
bHVkZSAiSlNNZWRpYUxpc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGYyNWU5MWVlNzkwZmYx
ODJlY2M0MDFmMjFiMjliNmE0NTYwMmY5ZDguLjI1ZjIwNjc5YWNlMTI0NmYyMjc2NmJhZmJlNjAw
ZDg2MGViOWIyYzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI0Niw2ICsyNDYsNyBAQCBET01fQ0xB
U1NFUyA9IFwKICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QgXAogICAgIEtleWJvYXJkRXZlbnQg
XAogICAgIExvY2F0aW9uIFwKKyAgICBMYXlvdXRUZXN0Q29udHJvbGxlciBcCiAgICAgTWVkaWFF
cnJvciBcCiAgICAgTWVkaWFMaXN0IFwKICAgICBNZW1vcnlJbmZvIFwKQEAgLTg1Miw3ICs4NTMs
NyBAQCBDaGFyc2V0RGF0YS5jcHAgOiBwbGF0Zm9ybS90ZXh0L21hYy9tYWtlLWNoYXJzZXQtdGFi
bGUucGwgcGxhdGZvcm0vdGV4dC9tYWMvY2hhcgogCiBpZm5lcSAoJChBQ1RJT04pLGluc3RhbGxo
ZHJzKQogCi1hbGwgOiBXZWJDb3JlLmV4cCBXZWJDb3JlLkxQNjQuZXhwCithbGwgOiBXZWJDb3Jl
LmV4cCBXZWJDb3JlLkxQNjQuZXhwIFdlYkNvcmVUZXN0aW5nLkxQNjQuZXhwCiAKIFdlYkNvcmUu
ZXhwIDogJChCVUlMVF9QUk9EVUNUU19ESVIpL1dlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yCiAJ
JF4gPiAkQApAQCAtODYxLDYgKzg2Miw5IEBAIFdlYkNvcmUuZXhwIDogJChCVUlMVF9QUk9EVUNU
U19ESVIpL1dlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yCiBXZWJDb3JlLkxQNjQuZXhwIDogV2Vi
Q29yZS5leHAKIAljYXQgJF4gfCBzZWQgLWUgcy83X05TUmVjdC82Q0dSZWN0LyAtZSBzLzdfTlNT
aXplLzZDR1NpemUvIC1lIHMvOF9OU1BvaW50LzdDR1BvaW50LyA+ICRACiAKK1dlYkNvcmVUZXN0
aW5nLkxQNjQuZXhwIDogV2ViQ29yZVRlc3RpbmcuZXhwCisJY2F0ICReIHwgc2VkIC1lIHMvN19O
U1JlY3QvNkNHUmVjdC8gLWUgcy83X05TU2l6ZS82Q0dTaXplLyAtZSBzLzhfTlNQb2ludC83Q0dQ
b2ludC8gPiAkQAorCiBlbmRpZiAjIGluc3RhbGxoZHJzCiAKICMgLS0tLS0tLS0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4
IDdhMTRjYjE2YzhjOTc0ZmE2MDljODc5NTI5YzE0MGMyZTI0NzkxNmYuLjZlMzQ5ZjUzYWZiYWU4
OTZjOTNhNmMxMmM4NjlhZTQ3OTA5ZmMxMWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDA2LDYgKzQwNiw4IEBAIHdl
YmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0phdmFT
Y3JpcHRDYWxsRnJhbWUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZl
bnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTS2V5Ym9hcmRFdmVudC5oIFwKKwlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0xvY2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUVycm9yLmNwcCBc
CkBAIC0xODAxLDYgKzE4MDMsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcGFn
ZS9IYWx0YWJsZVBsdWdpbi5oIFwKIAlXZWJDb3JlL3BhZ2UvSGlzdG9yeS5jcHAgXAogCVdlYkNv
cmUvcGFnZS9IaXN0b3J5LmggXAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5j
cHAgXAorCVdlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIFwKIAlXZWJDb3JlL3Bh
Z2UvTG9jYXRpb24uY3BwIFwKIAlXZWJDb3JlL3BhZ2UvTG9jYXRpb24uaCBcCiAJV2ViQ29yZS9w
YWdlL01lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4gYi9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDJkYTRkZWUwOGQ0ZWNmMGQ2
Y2I2MGFjZmFhY2Q0ZWEwODk0NTZkOTcuLjZhNjZiMGZhNzM2ZWY0Y2U1ZmZiODU2NDFhOTQ5MGU2
YTM1YTE5Y2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTQ4NCwzICsxNDg0LDggQEAgX19aTjdXZWJDb3JlMjNBcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZTM2cmVtYWluaW5nU2l6ZUZvck9yaWdpbkV4Y2x1ZGluZ0NhY2hl
RVBLTlMKIF9fWk43V2ViQ29yZTIzQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U1ZW1wdHlFdgogX19a
Tks3V2ViQ29yZTIzQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UxMW1heGltdW1TaXplRXYKICNlbmRp
ZgorCitfX1pON1dlYkNvcmUyMExheW91dFRlc3RDb250cm9sbGVyRDJFdgorX19aTjdXZWJDb3Jl
MjBMYXlvdXRUZXN0Q29udHJvbGxlckMyRXYKK19fWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVj
U3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE5TXzIwTGF5b3V0VGVzdENvbnRyb2xsZXJF
CitfX1pON1dlYkNvcmU5RE9NV2luZG93MjNzZXRMYXlvdXRUZXN0Q29udHJvbGxlckVQTlNfMjBM
YXlvdXRUZXN0Q29udHJvbGxlckUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYTJmYWY1MzE3OTlmNjg5ZmE5ODYxZjJmZWI0NTkz
YzAyYTMyZTcyMi4uOWRmY2YxYjViOTFhNzJkMjQ0YWVhMDE2ZThkYTI0ZDkzYzE5MTU1OSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTIxNSw2ICsyMTUsNyBAQAogICAgICAgICAgICAgJ3BhZ2UvR2VvcG9zaXRpb24uaWRsJywK
ICAgICAgICAgICAgICdwYWdlL0hpc3RvcnkuaWRsJywKICAgICAgICAgICAgICdwYWdlL0xvY2F0
aW9uLmlkbCcsCisgICAgICAgICAgICAncGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwnLAog
ICAgICAgICAgICAgJ3BhZ2UvTWVtb3J5SW5mby5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2
aWdhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yLmlkbCcsCkBAIC0yMDIx
LDYgKzIwMjIsOCBAQAogICAgICAgICAgICAgJ3BhZ2UvSGlzdG9yeS5oJywKICAgICAgICAgICAg
ICdwYWdlL0xvY2F0aW9uLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9Mb2NhdGlvbi5oJywKKyAg
ICAgICAgICAgICdwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCcsCisgICAgICAgICAgICAn
cGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oJywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUlu
Zm8uY3BwJywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUluZm8uaCcsCiAgICAgICAgICAgICAn
cGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCBiMGVmZmVlN2ViNmVl
MmIxZWI3ZWI0ZmI1ZGU2Njk5ZmU4YTg0ZWM4Li40YWNiYTkwMjE4ZTI4NGJjNzQ5YzczZGExZmRi
Y2Y0NDZmZWRjY2MyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS5wcmkKQEAgLTI3NCw2ICsyNzQsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAg
IHBhZ2UvR2VvbG9jYXRpb24uaWRsIFwKICAgICBwYWdlL0dlb3Bvc2l0aW9uLmlkbCBcCiAgICAg
cGFnZS9IaXN0b3J5LmlkbCBcCisgICAgcGFnZS9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwgXAog
ICAgIHBhZ2UvTG9jYXRpb24uaWRsIFwKICAgICBwYWdlL01lbW9yeUluZm8uaWRsIFwKICAgICBw
YWdlL05hdmlnYXRpb24uaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9X
ZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IGJjODdlMjViMTRhYTU4NmRiMDNkYTVhYWM2MTNlNWZm
ZDU4ZTczMTEuLjA2ZWI0Yzg1MDgzM2RlZTY0OWVkZTY3MjhmZDcwZWQwMGFiOTdhZTIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAt
ODQwLDYgKzg0MCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBhZ2UvR2VvbG9jYXRpb25Db250cm9s
bGVyLmNwcCBcCiAgICAgcGFnZS9HZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUuY3BwIFwKICAgICBw
YWdlL0hpc3RvcnkuY3BwIFwKKyAgICBwYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBcCiAg
ICAgcGFnZS9Mb2NhdGlvbi5jcHAgXAogICAgIHBhZ2UvTWVtb3J5SW5mby5jcHAgXAogICAgIHBh
Z2UvTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5jcHAgXApAQCAtMTYyMCw2ICsxNjIxLDcg
QEAgSEVBREVSUyArPSBcCiAgICAgcGFnZS9HZW9wb3NpdGlvbi5oIFwKICAgICBwYWdlL0hhbHRh
YmxlUGx1Z2luLmggXAogICAgIHBhZ2UvSGlzdG9yeS5oIFwKKyAgICBwYWdlL0xheW91dFRlc3RD
b250cm9sbGVyLmggXAogICAgIHBhZ2UvTG9jYXRpb24uaCBcCiAgICAgcGFnZS9Nb3VzZUV2ZW50
V2l0aEhpdFRlc3RSZXN1bHRzLmggXAogICAgIHBhZ2UvTmF2aWdhdG9yQmFzZS5oIFwKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDQ2M2Y1ZDllOWQyMDZiZmE3MDU4ZjNl
MWE3ZGZjMjQzZGYzZjM3MmYuLjA3YTI1ZThkNmZlNGNlMTQwZjBkY2UwMTM0MWEyOWJlNmNkNjIy
YjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtOTA2OSw2ICs5MDY5
LDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9
IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNM
YXlvdXRUZXN0Q29udHJvbGxlci5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9u
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
dXJjZXNcSlNMYXlvdXRUZXN0Q29udHJvbGxlci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJ
CTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU01lZGlhRXJyb3IuY3BwIg0KIAkJCQk+DQogCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KQEAgLTIyMzUzLDYgKzIyNDA5LDE0IEBACiAJCQkJPg0KIAkJCTwv
RmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTGF5b3V0VGVzdENv
bnRyb2xsZXIuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5ccGFnZVxMYXlvdXRUZXN0Q29udHJvbGxlci5oIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxNb3VzZUV2ZW50V2l0
aEhpdFRlc3RSZXN1bHRzLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDkwZTUzYWIzZDFjYjg2YWMxMDMyM2Yz
NjVlMDNhYzg1MzViNmQ3NjUuLjc2ZjIwMTZhYjg2OTg0ZmYwNmE4ZWJhMDk0MTgwZjEwOTk2ZjNh
MjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xOCw2
ICsxOCwxOCBAQAogCQkJbmFtZSA9ICJXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciBHZW5lcmF0
b3IiOwogCQkJcHJvZHVjdE5hbWUgPSAiV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IgR2VuZXJh
dG9yIjsKIAkJfTsKKwkJQTc2NEYzMEUxMjA3QzdGMjAwOEQwNUI1IC8qIFdlYkNvcmVBbmRXZWJD
b3JlVGVzdGluZyAqLyA9IHsKKwkJCWlzYSA9IFBCWEFnZ3JlZ2F0ZVRhcmdldDsKKwkJCWJ1aWxk
Q29uZmlndXJhdGlvbkxpc3QgPSBBNzY0RjMxNjEyMDdDODMzMDA4RDA1QjUgLyogQnVpbGQgY29u
ZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIldlYkNvcmVBbmRXZWJDb3Jl
VGVzdGluZyIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNpZXMg
PSAoCisJCQkJQTc2NEYzMTMxMjA3QzdGODAwOEQwNUI1IC8qIFBCWFRhcmdldERlcGVuZGVuY3kg
Ki8sCisJCQkJQTdBMjREOEIxMjA3RjY3MDAwQkVDOUVEIC8qIFBCWFRhcmdldERlcGVuZGVuY3kg
Ki8sCisJCQkpOworCQkJbmFtZSA9IFdlYkNvcmVBbmRXZWJDb3JlVGVzdGluZzsKKwkJCXByb2R1
Y3ROYW1lID0gV2ViQ29yZUFuZFdlYkNvcmVUZXN0aW5nOworCQl9OwogCQlERDA0MUZCRTA5RDlE
REJFMDAxMEFGMkEgLyogRGVyaXZlZCBTb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYQWdncmVn
YXRlVGFyZ2V0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IEREMDQxRkMxMDlEOUREREMw
MDEwQUYyQSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdl
dCAiRGVyaXZlZCBTb3VyY2VzIiAqLzsKQEAgLTI3MzYsNiArMjc0OCw5IEBACiAJCUE3MTg3ODkw
MEIyRDA0QUMwMEExNkVDRSAvKiBEcmFnQ29udHJvbGxlck1hYy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MTg3ODhGMEIyRDA0QUMwMEExNkVDRSAv
KiBEcmFnQ29udHJvbGxlck1hYy5tbSAqLzsgfTsKIAkJQTczNTJDMTkwQjFCQjg5RDAwQTk4NkQw
IC8qIFJlbmRlclNWR0Jsb2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3MzUyQzE3MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5j
cHAgKi87IH07CiAJCUE3MzUyQzFBMEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTczNTJDMTgw
QjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmggKi87IH07CisJCUE3NDVEMkU2MTFG
NUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzQ1RDJFMzExRjVCMzc5MDBBQ0QwMjMg
LyogTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwICovOyB9OworCQlBNzQ1RDJFNzExRjVCMzc5MDBB
Q0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDVEMkU0MTFGNUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRU
ZXN0Q29udHJvbGxlci5oICovOyB9OworCQlBNzQ3RkRFMDEyMDdGOEIzMDBGQTE0QkMgLyogTGF5
b3V0VGVzdENvbnRyb2xsZXJJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBN0NEMzE3QTEyMDdBNkFDMDA0QjRCNEEgLyogTGF5b3V0VGVzdENvbnRy
b2xsZXJJbXBsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJQTc1RTQ5NzYxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RTQ5NzQx
MDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE3NUU0OTc3MTA3NTJBQ0IwMEM5
Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RTQ5NzUxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5jcHAgKi87IH07CiAJCUE3NUU4Qjg4MEUxREUyRDYwMDdGMjQ4MSAv
KiBGRUJsZW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3NUU4QjgwMEUxREUyRDYwMDdGMjQ4MSAvKiBGRUJsZW5kLmNwcCAqLzsgfTsKQEAgLTI3
NDYsNiArMjc2MSw5IEBACiAJCUE3NUU4QjhEMEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvbmVu
dFRyYW5zZmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzVFOEI4NTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb25lbnRUcmFuc2Zlci5oICovOyB9
OwogCQlBNzVFOEI4RTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc1RThCODYwRTFERTJENjAw
N0YyNDgxIC8qIEZFQ29tcG9zaXRlLmNwcCAqLzsgfTsKIAkJQTc1RThCOEYwRTFERTJENjAwN0Yy
NDgxIC8qIEZFQ29tcG9zaXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNzVFOEI4NzBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuaCAqLzsg
fTsKKwkJQTc1RkNCOTAxMjA3RjY0QTAwMTlFMjJEIC8qIFdlYkNvcmUuZnJhbWV3b3JrIGluIEZy
YW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGMTlCMUEwODI0
NUU1QTAwMUU5QUJDIC8qIFdlYkNvcmUuZnJhbWV3b3JrICovOyB9OworCQlBNzc1NThFMzExRjVC
NjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc1NThFMTExRjVCNjAyMDBCNDNBQzEg
LyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgKi87IH07CisJCUE3NzU1OEU0MTFGNUI2MDIw
MEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc1NThFMjExRjVCNjAyMDBCNDNBQzEgLyogSlNM
YXlvdXRUZXN0Q29udHJvbGxlci5oICovOyB9OwogCQlBNzc5NzkxOTBENkI5RDBDMDAzODUxQjkg
LyogSW1hZ2VEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE3Nzk3OTEzMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwICovOyB9Owog
CQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc5NzkxNDBENkI5RDBDMDAzODUxQjkg
LyogSW1hZ2VEYXRhLmggKi87IH07CiAJCUE3Nzk3OTI4MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0lt
YWdlRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNzc5NzkyNDBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuY3BwICovOyB9OwpAQCAt
Mjc1Myw2ICsyNzcxLDkgQEAKIAkJQTc4NDk0MUIwQjVGRTUwNzAwMUUyMzdBIC8qIENsaXBib2Fy
ZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzg0
OTQxQTBCNUZFNTA3MDAxRTIzN0EgLyogQ2xpcGJvYXJkLmNwcCAqLzsgfTsKIAkJQTc5NTQ2M0Uw
QjVDNEM4MDAwN0I0MzhGIC8qIERyYWdEYXRhTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc5NTQ2M0QwQjVDNEM4MDAwN0I0MzhGIC8qIERyYWdE
YXRhTWFjLm1tICovOyB9OwogCQlBNzk1NDY0MzBCNUM0Q0I0MDA3QjQzOEYgLyogRHJhZ0RhdGEu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc5NTQ2
NDIwQjVDNENCNDAwN0I0MzhGIC8qIERyYWdEYXRhLmNwcCAqLzsgfTsKKwkJQTc5RkFFNkExMjA4
MUZFQjAwMTIwM0ZFIC8qIFdlYkNvcmVUZXN0aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NTY0NEM5MTIwODFGQTQwMDgwNEZEQiAvKiBXZWJD
b3JlVGVzdGluZy5jcHAgKi87IH07CisJCUE3OUZBRTZDMTIwODFGRkEwMDEyMDNGRSAvKiBXZWJD
b3JlVGVzdGluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTc1NjQ0Q0ExMjA4MUZBQzAwODA0RkRCIC8qIFdlYkNvcmVUZXN0aW5nLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OworCQlBNzlGQUU2RDEyMDgyMDAx
MDAxMjAzRkUgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3Q0QzMTc5MTIwN0E2QUMwMDRCNEI0QSAv
KiBMYXlvdXRUZXN0Q29udHJvbGxlckltcGwuY3BwICovOyB9OwogCQlBN0FBNjZENjExQzVFRDZB
MDAxRDhDOEMgLyogUmVuZGVySW5kaWNhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QUE2NkQ0MTFDNUVENkEwMDFEOEM4QyAvKiBSZW5kZXJJ
bmRpY2F0b3IuY3BwICovOyB9OwogCQlBN0FBNjZENzExQzVFRDZBMDAxRDhDOEMgLyogUmVuZGVy
SW5kaWNhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBN0FBNjZENTExQzVFRDZBMDAxRDhDOEMgLyogUmVuZGVySW5kaWNhdG9yLmggKi87IH07CiAJ
CUE3QUQyRjg3MEVDODlEMDcwMDhBQjAwMiAvKiBMaW5rSGFzaC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0FEMkY4NTBFQzg5RDA3MDA4QUIwMDIg
LyogTGlua0hhc2guY3BwICovOyB9OwpAQCAtNTMxNyw2ICs1MzM4LDIwIEBACiAJCQlyZW1vdGVH
bG9iYWxJRFN0cmluZyA9IDVEODdCQjRFMTFFM0VBRUIwMDcwMkI2RjsKIAkJCXJlbW90ZUluZm8g
PSBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvcjsKIAkJfTsKKwkJQTc2NEYzMTIxMjA3QzdGODAw
OEQwNUI1IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRh
aW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJB
QUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVH
bG9iYWxJRFN0cmluZyA9IDkzRjE5OEE1MDgyNDVFNTkwMDFFOUFCQzsKKwkJCXJlbW90ZUluZm8g
PSBXZWJDb3JlOworCQl9OworCQlBN0EyNEQ4QTEyMDdGNjcwMDBCRUM5RUQgLyogUEJYQ29udGFp
bmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJ
Y29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2Jq
ZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gQTc1
RkNCODkxMjA3RjYzQjAwMTlFMjJEOworCQkJcmVtb3RlSW5mbyA9IFdlYkNvcmVUZXN0aW5nOwor
CQl9OwogCQlERDA0MUZGMDA5RDlFMzI1MDAxMEFGMkEgLyogUEJYQ29udGFpbmVySXRlbVByb3h5
ICovID0gewogCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwogCQkJY29udGFpbmVyUG9y
dGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOwpAQCAt
ODU0Niw2ICs4NTgxLDEyIEBACiAJCUE3MUE3MEM5MTFBRkIwMjAwMDk4OUQ2RCAvKiBIVE1MTWV0
ZXJFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50Lmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTczNTJDMTcwQjFCQjg5RDAwQTk4NkQw
IC8qIFJlbmRlclNWR0Jsb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZW5kZXJTVkdCbG9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3
MzUyQzE4MEIxQkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTc0MjFDMUIxMjA3QUUwNjAwRDkzNzc5IC8qIFdlYkNvcmVUZXN0aW5nLnhj
Y29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYkNvcmVUZXN0aW5nLnhj
Y29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzQ1RDJFMzExRjVCMzc5MDBB
Q0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNzQ1RDJFNDExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRy
b2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0VGVzdENvbnRy
b2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTc0NUQyRTUxMUY1QjM3OTAw
QUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBMYXlvdXRUZXN0Q29udHJvbGxlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE3NTY0NEM5MTIwODFGQTQwMDgwNEZEQiAvKiBXZWJDb3JlVGVzdGluZy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJDb3JlVGVzdGluZy5jcHA7IHBhdGggPSB0
ZXN0aW5nL1dlYkNvcmVUZXN0aW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTc1NjQ0Q0ExMjA4MUZBQzAwODA0RkRCIC8qIFdlYkNvcmVUZXN0aW5nLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkNvcmVUZXN0aW5nLmg7IHBhdGggPSB0ZXN0aW5nL1dl
YkNvcmVUZXN0aW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU0OTc0MTA3
NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE3NUU0OTc1MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThC
ODAwRTFERTJENjAwN0YyNDgxIC8qIEZFQmxlbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gRkVCbGVuZC5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZFQmxlbmQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODU1Niw2ICs4NTk3LDEwIEBACiAJCUE3NUU4
Qjg1MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvbmVudFRyYW5zZmVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZFQ29tcG9uZW50VHJhbnNmZXIuaDsgcGF0aCA9IGZpbHRl
cnMvRkVDb21wb25lbnRUcmFuc2Zlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
NzVFOEI4NjBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRkVDb21wb3NpdGUuY3BwOyBwYXRoID0gZmlsdGVycy9G
RUNvbXBvc2l0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NUU4Qjg3MEUx
REUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBGRUNvbXBvc2l0ZS5oOyBwYXRoID0gZmlsdGVycy9GRUNvbXBvc2l0ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzVGQ0I4QTEyMDdGNjNCMDAxOUUyMkQgLyogV2Vi
Q29yZVRlc3RpbmcuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxp
Y2l0RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRo
ID0gV2ViQ29yZVRlc3RpbmcuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNf
RElSOyB9OworCQlBNzVGQ0I4QjEyMDdGNjNCMDAxOUUyMkQgLyogV2ViQ29yZVRlc3RpbmctSW5m
by5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQucGxpc3QueG1sOyBwYXRoID0gIldlYkNvcmVUZXN0aW5nLUluZm8ucGxpc3QiOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzc1NThFMTExRjVCNjAyMDBCNDNBQzEgLyogSlNM
YXlvdXRUZXN0Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0xheW91dFRlc3RDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTc3NTU4RTIxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNMYXlvdXRUZXN0Q29udHJvbGxl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzc5NzkxMzBENkI5RDBDMDAzODUx
QjkgLyogSW1hZ2VEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEltYWdlRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTE0MEQ2
QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSW1hZ2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3OTE1
MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IEltYWdlRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NTc0LDYgKzg2
MTksOCBAQAogCQlBN0NBNTk1QjBCMjdCRDlFMDBGQTAyMUQgLyogRHJhZ0NvbnRyb2xsZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRHJhZ0NvbnRyb2xsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdDQTU5NUMwQjI3QkQ5RTAwRkEwMjFEIC8qIERyYWdD
b250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERyYWdD
b250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdDQTU5NjIwQjI3
QzFGMjAwRkEwMjFEIC8qIERyYWdDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRHJhZ0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0NEMzE3
OTEyMDdBNkFDMDA0QjRCNEEgLyogTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExheW91dFRlc3RDb250cm9sbGVySW1wbC5j
cHA7IHBhdGggPSB0ZXN0aW5nL0xheW91dFRlc3RDb250cm9sbGVySW1wbC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3Q0QzMTdBMTIwN0E2QUMwMDRCNEI0QSAvKiBMYXlvdXRU
ZXN0Q29udHJvbGxlckltcGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGF5
b3V0VGVzdENvbnRyb2xsZXJJbXBsLmg7IHBhdGggPSB0ZXN0aW5nL0xheW91dFRlc3RDb250cm9s
bGVySW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBN0NGQjNDRjBCN0VEMTBB
MDA3MEMzMkQgLyogRHJhZ0ltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEcmFnSW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBN0NG
QjNEMDBCN0VEMTBBMDA3MEMzMkQgLyogRHJhZ0ltYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBEcmFnSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTdDRkIzRDQwQjdFRDExODAwNzBDMzJEIC8qIERyYWdJbWFnZU1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEcmFnSW1hZ2VNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMTE0Nyw2ICsxMTE5NCwxNSBAQAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OworCQlBNzVGQ0I4ODEyMDdG
NjNCMDAxOUUyMkQgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NC
dWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0g
KAorCQkJCUE3NUZDQjkwMTIwN0Y2NEEwMDE5RTIyRCAvKiBXZWJDb3JlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovLAorCQkJCTkzRjE5QjE2MDgyNDVFNTkwMDFFOUFCQyAvKiBKYXZhU2NyaXB0
Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIC8qIEVuZCBQQlhGcmFtZXdvcmtzQnVp
bGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEdyb3VwIHNlY3Rpb24gKi8KQEAgLTEx
MTU1LDYgKzExMjExLDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTVEODdCQjRGMTFFM0VBRUIw
MDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciAqLywKIAkJCQk5M0YxOUIxQTA4
MjQ1RTVBMDAxRTlBQkMgLyogV2ViQ29yZS5mcmFtZXdvcmsgKi8sCisJCQkJQTc1RkNCOEExMjA3
RjYzQjAwMTlFMjJEIC8qIFdlYkNvcmVUZXN0aW5nLmZyYW1ld29yayAqLywKIAkJCSk7CiAJCQlu
YW1lID0gUHJvZHVjdHM7CiAJCQlzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7CkBAIC0xMTE4Niw2
ICsxMTI0Myw3IEBACiAJCQkJRjUyM0QyRjMwMkRFNDQzQjAxODYzNUNBIC8qIHJlbmRlcmluZyAq
LywKIAkJCQkxQUU4MkVDOTBDQUFFMTc3MDAyMjM3QUUgLyogc3RvcmFnZSAqLywKIAkJCQlCMjIy
NzdDQTBEMDBCRjFFMDA3MUI3ODIgLyogc3ZnICovLAorCQkJCUE3Q0QzMDNFMTIwN0EwN0QwMDRC
NEI0QSAvKiB0ZXN0aW5nICovLAogCQkJCTUxOEEzNEJEMTAyNkM4MzEwMDFCNjg5NiAvKiB3ZWJz
b2NrZXRzICovLAogCQkJCTRDNkI5OTE1MEU1MkUzNzMwMDQ4N0JCNyAvKiB3bWwgKi8sCiAJCQkJ
MkU0MzQ2MzEwRjU0NkE2ODAwQjBGMUJBIC8qIHdvcmtlcnMgKi8sCkBAIC0xMTE5Niw2ICsxMTI1
NCw3IEBACiAJCQkJMDM0NzY4REZGRjM4QTUwNDExREI5QzhCIC8qIFByb2R1Y3RzICovLAogCQkJ
CTFDREQ0NDY2MEJBOUM4MDAwMEY5MDE0NyAvKiBDb25maWd1cmF0aW9ucyAqLywKIAkJCQk0NDkx
OTU5MDBGQkUxNzVCMDBEOUY4MjQgLyogRXhwb3J0cyAqLywKKwkJCQlBNzVGQ0I4QjEyMDdGNjNC
MDAxOUUyMkQgLyogV2ViQ29yZVRlc3RpbmctSW5mby5wbGlzdCAqLywKIAkJCSk7CiAJCQluYW1l
ID0gV2ViS2l0OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTExNjkzLDYgKzExNzUy
LDcgQEAKIAkJMUNERDQ0NjYwQkE5QzgwMDAwRjkwMTQ3IC8qIENvbmZpZ3VyYXRpb25zICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzQyMUMxQjEyMDdB
RTA2MDBEOTM3NzkgLyogV2ViQ29yZVRlc3RpbmcueGNjb25maWcgKi8sCiAJCQkJMUNERDQ1RTYw
QkE5Qzg0NjAwRjkwMTQ3IC8qIEJhc2UueGNjb25maWcgKi8sCiAJCQkJMUNERDQ1RTQwQkE5Qzg0
NjAwRjkwMTQ3IC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLywKIAkJCQk0NDkwOThCMTBGOEY4
MjUyMDA3NkEzMjcgLyogRmVhdHVyZURlZmluZXMueGNjb25maWcgKi8sCkBAIC0xMjQ1OCw2ICsx
MjUxOCw5IEBACiAJCTY1QkYwMjE4MDk3NDgwNjMwMEM0MzE5NiAvKiBwYWdlICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzQ1RDJFMzExRjVCMzc5MDBB
Q0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwICovLAorCQkJCUE3NDVEMkU0MTFGNUIz
NzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlci5oICovLAorCQkJCUE3NDVEMkU1MTFG
NUIzNzkwMEFDRDAyMyAvKiBMYXlvdXRUZXN0Q29udHJvbGxlci5pZGwgKi8sCiAJCQkJMzE2RkUx
MDYwRTZFMUQ4NDAwQkY2MDg4IC8qIGFuaW1hdGlvbiAqLywKIAkJCQk5M0MwOUE4MjBCMDY0RjA1
MDA1QUJENEQgLyogbWFjICovLAogCQkJCTg1MzhGMDAwMEFENzE3NzAwMDZBODFEMSAvKiBBYnN0
cmFjdFZpZXcuaWRsICovLApAQCAtMTQyNDAsNiArMTQzMDMsMTcgQEAKIAkJCW5hbWUgPSBmaWx0
ZXJzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJQTdDRDMwM0UxMjA3QTA3
RDAwNEI0QjRBIC8qIHRlc3RpbmcgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxk
cmVuID0gKAorCQkJCUE3NTY0NEM5MTIwODFGQTQwMDgwNEZEQiAvKiBXZWJDb3JlVGVzdGluZy5j
cHAgKi8sCisJCQkJQTc1NjQ0Q0ExMjA4MUZBQzAwODA0RkRCIC8qIFdlYkNvcmVUZXN0aW5nLmgg
Ki8sCisJCQkJQTdDRDMxNzkxMjA3QTZBQzAwNEI0QjRBIC8qIExheW91dFRlc3RDb250cm9sbGVy
SW1wbC5jcHAgKi8sCisJCQkJQTdDRDMxN0ExMjA3QTZBQzAwNEI0QjRBIC8qIExheW91dFRlc3RD
b250cm9sbGVySW1wbC5oICovLAorCQkJKTsKKwkJCW5hbWUgPSB0ZXN0aW5nOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJQTgzQjc5MDgwQ0NBRkYyQjAwMEIwODI1IC8qIEhU
TUwgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMTYxODcs
NiArMTYyNjEsOCBAQAogCQlCQzk4NTQ0MzBDRDNEOUQwMDAwNjlCQzEgLyogV2luZG93ICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzc1NThFMTExRjVC
NjAyMDBCNDNBQzEgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgKi8sCisJCQkJQTc3NTU4
RTIxMUY1QjYwMjAwQjQzQUMxIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCAqLywKIAkJCQlC
QzEyNEVGRDBDMjY0NDdBMDA5RTIzNDkgLyogSlNCYXJJbmZvLmNwcCAqLywKIAkJCQlCQzEyNEVG
RTBDMjY0NDdBMDA5RTIzNDkgLyogSlNCYXJJbmZvLmggKi8sCiAJCQkJQkM5ODU0M0IwQ0QzRDk4
QjAwMDY5QkMxIC8qIEpTQ29uc29sZS5jcHAgKi8sCkBAIC0xOTAxMCw2ICsxOTA4Niw3IEBACiAJ
CQkJNDlDN0I5OTYxMDQyRDJEMzAwMDlENDQ3IC8qIEpTSW50OEFycmF5LmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQzVGQUVEMjBEQ0ZEOTAxMDBENThGNzggLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODY2MjlEMzA5REEyQjQ4MDA5NjMzQTUgLyogSlNLZXli
b2FyZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzc1NThFNDExRjVCNjAyMDBCNDNBQzEg
LyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RjQ1NDMw
RjdDM0I1RjAwRDdDMUZCIC8qIEpTTGF6eUV2ZW50TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDRTFDNDNDMEQ5ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFNDQ2MTQxOTBDRDY4MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmggaW4gSGVh
ZGVycyAqLywKQEAgLTE5MjYyLDYgKzE5MzM5LDggQEAKIAkJCQlBNDU2RkEyNzExQUQ0QTgzMDAy
MEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RUM5QUZCMEE3
MUEyQzYwMEVFRUFFRCAvKiBMYW5ndWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5MDY2MDcw
QkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNzQ1
RDJFNzExRjVCMzc5MDBBQ0QwMjMgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTkzRjE5OEYwMDgyNDVFNTkwMDFFOUFCQyAvKiBMZWdhY3lIVE1MRG9jdW1lbnRQ
YXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OEVGMDgyNDVFNTkwMDFFOUFCQyAvKiBM
ZWdhY3lIVE1MVHJlZUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkREOEY1MEQ5MUU2
QUYwMDBGODlFRSAvKiBMZWdhY3lXZWJBcmNoaXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0U2
NUJFQjBFQUNERjE2MDA3RTQ1MzMgLyogTGVuZ3RoLmggaW4gSGVhZGVycyAqLywKQEAgLTIwMTQ1
LDYgKzIwMjI0LDE1IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CisJCUE3NUZDQjg1MTIwN0Y2M0IwMDE5RTIyRCAvKiBIZWFkZXJzICov
ID0geworCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sg
PSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJQTc0N0ZERTAxMjA3RjhCMzAwRkExNEJD
IC8qIExheW91dFRlc3RDb250cm9sbGVySW1wbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc5RkFF
NkMxMjA4MUZGQTAwMTIwM0ZFIC8qIFdlYkNvcmVUZXN0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJ
CSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIC8q
IEVuZCBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWE5hdGl2
ZVRhcmdldCBzZWN0aW9uICovCkBAIC0yMDE5NCw2ICsyMDI4MiwyNCBAQAogCQkJcHJvZHVjdFJl
ZmVyZW5jZSA9IDkzRjE5QjFBMDgyNDVFNUEwMDFFOUFCQyAvKiBXZWJDb3JlLmZyYW1ld29yayAq
LzsKIAkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUuZnJhbWV3b3JrIjsK
IAkJfTsKKwkJQTc1RkNCODkxMjA3RjYzQjAwMTlFMjJEIC8qIFdlYkNvcmVUZXN0aW5nICovID0g
eworCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9
IEE3NUZDQjhGMTIwN0Y2M0MwMDE5RTIyRCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9y
IFBCWE5hdGl2ZVRhcmdldCAiV2ViQ29yZVRlc3RpbmciICovOworCQkJYnVpbGRQaGFzZXMgPSAo
CisJCQkJQTc1RkNCODUxMjA3RjYzQjAwMTlFMjJEIC8qIEhlYWRlcnMgKi8sCisJCQkJQTc1RkNC
ODYxMjA3RjYzQjAwMTlFMjJEIC8qIFJlc291cmNlcyAqLywKKwkJCQlBNzVGQ0I4NzEyMDdGNjNC
MDAxOUUyMkQgLyogU291cmNlcyAqLywKKwkJCQlBNzVGQ0I4ODEyMDdGNjNCMDAxOUUyMkQgLyog
RnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVu
ZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gV2ViQ29yZVRlc3Rpbmc7CisJCQlwcm9kdWN0
TmFtZSA9IFdlYkNvcmVUZXN0aW5nOworCQkJcHJvZHVjdFJlZmVyZW5jZSA9IEE3NUZDQjhBMTIw
N0Y2M0IwMDE5RTIyRCAvKiBXZWJDb3JlVGVzdGluZy5mcmFtZXdvcmsgKi87CisJCQlwcm9kdWN0
VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmZyYW1ld29yayI7CisJCX07CiAvKiBFbmQg
UEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYUHJvamVjdCBzZWN0aW9u
ICovCkBAIC0yMDIxNiwxMCArMjAzMjIsMTIgQEAKIAkJCXByb2plY3REaXJQYXRoID0gIiI7CiAJ
CQlwcm9qZWN0Um9vdCA9ICIiOwogCQkJdGFyZ2V0cyA9ICgKKwkJCQlBNzY0RjMwRTEyMDdDN0Yy
MDA4RDA1QjUgLyogV2ViQ29yZUFuZFdlYkNvcmVUZXN0aW5nICovLAogCQkJCTkzRjE5OEE1MDgy
NDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlICovLAogCQkJCUREMDQxRkJFMDlEOUREQkUwMDEwQUYy
QSAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCiAJCQkJNUQ4N0JCNEUxMUUzRUFFQjAwNzAyQjZGIC8q
IFdlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yICovLAogCQkJCTVEODdCQjY0MTFFM0VCQzEwMDcw
MkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciBHZW5lcmF0b3IgKi8sCisJCQkJQTc1
RkNCODkxMjA3RjYzQjAwMTlFMjJEIC8qIFdlYkNvcmVUZXN0aW5nICovLAogCQkJKTsKIAkJfTsK
IC8qIEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KQEAgLTIwMjY2LDYgKzIwMzc0LDEzIEBACiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CisJ
CUE3NUZDQjg2MTIwN0Y2M0IwMDE5RTIyRCAvKiBSZXNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQ
QlhSZXNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOworCQl9OwogLyogRW5kIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwog
CiAvKiBCZWdpbiBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtMjE1MDks
NiArMjE2MjQsNyBAQAogCQkJCTFDNUZBRUQxMERDRkQ5MDEwMEQ1OEY3OCAvKiBKU0phdmFTY3Jp
cHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUM1RkFFRTcwRENGREE2ODAwRDU4
Rjc4IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBODY2MjlENDA5REEyQjQ4MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE3NzU1OEUzMTFGNUI2MDIwMEI0M0FDMSAvKiBKU0xheW91dFRlc3RDb250
cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNUY0NTQyMEY3QzNCNUYwMEQ3QzFGQiAv
KiBKU0xhenlFdmVudExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRTFDNDNCMEQ5
ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRTFD
NDQwMEQ5ODMwRjQwMDNCMDJGMiAvKiBKU0xvY2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMjE3OTksNiArMjE5MTUsOCBAQAogCQkJCUE0NTZGQTI2MTFBRDRBODMwMDIwQjQyMCAv
KiBMYWJlbHNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzUyMDg0NTA5QkQ0M0I5
MDBGMjAzOEQgLyogTGFuZ3VhZ2UubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDkwNjYwNjBCRTE0
MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTc0NUQy
RTYxMUY1QjM3OTAwQUNEMDIzIC8qIExheW91dFRlc3RDb250cm9sbGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTkzRjE5QTlDMDgyNDVFNTkwMDFFOUFCQyAvKiBMZWdhY3lIVE1MRG9jdW1lbnRQ
YXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMTlBOUIwODI0NUU1OTAwMUU5QUJDIC8q
IExlZ2FjeUhUTUxUcmVlQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTJERDhGNDBE
OTFFNkFGMDAwRjg5RUUgLyogTGVnYWN5V2ViQXJjaGl2ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1MUIyNDE3QjBEOTMxRjNGMDBFODNGNUMgLyogTGVnYWN5V2ViQXJjaGl2ZU1hYy5tbSBpbiBT
b3VyY2VzICovLApAQCAtMjI1NjksNiArMjI2ODcsMTUgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKKwkJQTc1RkNCODcxMjA3RjYzQjAw
MTlFMjJEIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsK
KwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQlBNzlG
QUU2QTEyMDgxRkVCMDAxMjAzRkUgLyogV2ViQ29yZVRlc3RpbmcuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQTc5RkFFNkQxMjA4MjAwMTAwMTIwM0ZFIC8qIExheW91dFRlc3RDb250cm9sbGVySW1w
bC5jcHAgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKKwkJfTsKIC8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9u
ICovCiAKIC8qIEJlZ2luIFBCWFRhcmdldERlcGVuZGVuY3kgc2VjdGlvbiAqLwpAQCAtMjI1ODIs
NiArMjI3MDksMTYgQEAKIAkJCXRhcmdldCA9IDVEODdCQjRFMTFFM0VBRUIwMDcwMkI2RiAvKiBX
ZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciAqLzsKIAkJCXRhcmdldFByb3h5ID0gNUQ4N0JCOEUx
MUUzRUUyQjAwNzAyQjZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKIAkJfTsKKwkJQTc2
NEYzMTMxMjA3QzdGODAwOEQwNUI1IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlp
c2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gOTNGMTk4QTUwODI0NUU1OTAw
MUU5QUJDIC8qIFdlYkNvcmUgKi87CisJCQl0YXJnZXRQcm94eSA9IEE3NjRGMzEyMTIwN0M3Rjgw
MDhEMDVCNSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CisJCUE3QTI0RDhCMTIw
N0Y2NzAwMEJFQzlFRCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJY
VGFyZ2V0RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IEE3NUZDQjg5MTIwN0Y2M0IwMDE5RTIyRCAv
KiBXZWJDb3JlVGVzdGluZyAqLzsKKwkJCXRhcmdldFByb3h5ID0gQTdBMjREOEExMjA3RjY3MDAw
QkVDOUVEIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKIAkJREQwNDFGRjEwOUQ5
RTMyNTAwMTBBRjJBIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhU
YXJnZXREZXBlbmRlbmN5OwogCQkJdGFyZ2V0ID0gREQwNDFGQkUwOUQ5RERCRTAwMTBBRjJBIC8q
IERlcml2ZWQgU291cmNlcyAqLzsKQEAgLTIyNzEwLDYgKzIyODQ3LDU4IEBACiAJCQl9OwogCQkJ
bmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCUE3NUZDQjhDMTIwN0Y2M0IwMDE5RTIyRCAvKiBE
ZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZp
Z3VyYXRpb25SZWZlcmVuY2UgPSBBNzQyMUMxQjEyMDdBRTA2MDBEOTM3NzkgLyogV2ViQ29yZVRl
c3RpbmcueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUlOU1RBTExfUEFU
SCA9ICIkKEhPTUUpL0xpYnJhcnkvRnJhbWV3b3JrcyI7CisJCQl9OworCQkJbmFtZSA9IERlYnVn
OworCQl9OworCQlBNzVGQ0I4RDEyMDdGNjNCMDAxOUUyMkQgLyogUmVsZWFzZSAqLyA9IHsKKwkJ
CWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVu
Y2UgPSBBNzQyMUMxQjEyMDdBRTA2MDBEOTM3NzkgLyogV2ViQ29yZVRlc3RpbmcueGNjb25maWcg
Ki87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUlOU1RBTExfUEFUSCA9ICIkKEhPTUUpL0xp
YnJhcnkvRnJhbWV3b3JrcyI7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCUE3
NUZDQjhFMTIwN0Y2M0IwMDE5RTIyRCAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENC
dWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEE3NDIx
QzFCMTIwN0FFMDYwMEQ5Mzc3OSAvKiBXZWJDb3JlVGVzdGluZy54Y2NvbmZpZyAqLzsKKwkJCWJ1
aWxkU2V0dGluZ3MgPSB7CisJCQkJSU5TVEFMTF9QQVRIID0gIiQoSE9NRSkvTGlicmFyeS9GcmFt
ZXdvcmtzIjsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJQTc2NEYzMEYx
MjA3QzdGMjAwOEQwNUI1IC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3Vy
YXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsK
KwkJCQlHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKKwkJCQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVM
ID0gMDsKKwkJCQlQUk9EVUNUX05BTUUgPSBXZWJDb3JlQW5kV2ViQ29yZVRlc3Rpbmc7CisJCQl9
OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQlBNzY0RjMxMDEyMDdDN0YyMDA4RDA1QjUgLyog
UmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRT
ZXR0aW5ncyA9IHsKKwkJCQlDT1BZX1BIQVNFX1NUUklQID0gWUVTOworCQkJCURFQlVHX0lORk9S
TUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOworCQkJCUdDQ19FTkFCTEVfRklYX0FO
RF9DT05USU5VRSA9IE5POworCQkJCVBST0RVQ1RfTkFNRSA9IFdlYkNvcmVBbmRXZWJDb3JlVGVz
dGluZzsKKwkJCQlaRVJPX0xJTksgPSBOTzsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJ
fTsKKwkJQTc2NEYzMTExMjA3QzdGMjAwOEQwNUI1IC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlp
c2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJUFJP
RFVDVF9OQU1FID0gV2ViQ29yZUFuZFdlYkNvcmVUZXN0aW5nOworCQkJfTsKKwkJCW5hbWUgPSBQ
cm9kdWN0aW9uOworCQl9OwogCQlERDA0MUZDMjA5RDlERERDMDAxMEFGMkEgLyogRGVidWcgKi8g
PSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJCWJhc2VDb25maWd1cmF0aW9u
UmVmZXJlbmNlID0gMUNERDQ1RTUwQkE5Qzg0NjAwRjkwMTQ3IC8qIFdlYkNvcmUueGNjb25maWcg
Ki87CkBAIC0yMjc3Nyw2ICsyMjk2NiwyNiBAQAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zp
c2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJ
fTsKKwkJQTc1RkNCOEYxMjA3RjYzQzAwMTlFMjJEIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlz
dCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJDb3JlVGVzdGluZyIgKi8gPSB7CisJCQlpc2EgPSBY
Q0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQlBNzVG
Q0I4QzEyMDdGNjNCMDAxOUUyMkQgLyogRGVidWcgKi8sCisJCQkJQTc1RkNCOEQxMjA3RjYzQjAw
MTlFMjJEIC8qIFJlbGVhc2UgKi8sCisJCQkJQTc1RkNCOEUxMjA3RjYzQjAwMTlFMjJEIC8qIFBy
b2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAw
OworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJQTc2
NEYzMTYxMjA3QzgzMzAwOEQwNUI1IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJY
QWdncmVnYXRlVGFyZ2V0ICJXZWJDb3JlQW5kV2ViQ29yZVRlc3RpbmciICovID0geworCQkJaXNh
ID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJ
QTc2NEYzMEYxMjA3QzdGMjAwOEQwNUI1IC8qIERlYnVnICovLAorCQkJCUE3NjRGMzEwMTIwN0M3
RjIwMDhEMDVCNSAvKiBSZWxlYXNlICovLAorCQkJCUE3NjRGMzExMTIwN0M3RjIwMDhEMDVCNSAv
KiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxl
ID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CisJCX07CiAJ
CUREMDQxRkMxMDlEOUREREMwMDEwQUYyQSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9y
IFBCWEFnZ3JlZ2F0ZVRhcmdldCAiRGVyaXZlZCBTb3VyY2VzIiAqLyA9IHsKIAkJCWlzYSA9IFhD
Q29uZmlndXJhdGlvbkxpc3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlVGVzdGluZy1JbmZvLnBsaXN0IGIvV2ViQ29yZS9XZWJDb3JlVGVz
dGluZy1JbmZvLnBsaXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhMWJkMjNlOTBiZDJmMzI5NmM1ZWI3Y2M2MjQx
NDAyNzNiM2FiN2MKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL1dlYkNvcmVUZXN0aW5nLUlu
Zm8ucGxpc3QKQEAgLTAsMCArMSwyMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
VVRGLTgiPz4KKzwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4w
Ly9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgor
PHBsaXN0IHZlcnNpb249IjEuMCI+Cis8ZGljdD4KKwk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRS
ZWdpb248L2tleT4KKwk8c3RyaW5nPkVuZ2xpc2g8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRXhl
Y3V0YWJsZTwva2V5PgorCTxzdHJpbmc+JHtFWEVDVVRBQkxFX05BTUV9PC9zdHJpbmc+CisJPGtl
eT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KKwk8c3RyaW5nPmNvbS55b3VyY29tcGFueS4ke1BS
T0RVQ1RfTkFNRTpyZmMxMDM0aWRlbnRpZmllcn08L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSW5m
b0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+CisJPHN0cmluZz42LjA8L3N0cmluZz4KKwk8a2V5PkNG
QnVuZGxlUGFja2FnZVR5cGU8L2tleT4KKwk8c3RyaW5nPkZNV0s8L3N0cmluZz4KKwk8a2V5PkNG
QnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nPC9rZXk+CisJPHN0cmluZz4xLjA8L3N0cmluZz4KKwk8
a2V5PkNGQnVuZGxlU2lnbmF0dXJlPC9rZXk+CisJPHN0cmluZz4/Pz8/PC9zdHJpbmc+CisJPGtl
eT5DRkJ1bmRsZVZlcnNpb248L2tleT4KKwk8c3RyaW5nPjE8L3N0cmluZz4KKzwvZGljdD4KKzwv
cGxpc3Q+CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmVUZXN0aW5nLmV4cCBiL1dlYkNvcmUv
V2ViQ29yZVRlc3RpbmcuZXhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0ZWYzM2NkYmI5YWQ5YTMyNGI4MWEwN2I3
MzVjM2I3NWI1NjYzOWMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL1dlYkNvcmVUZXN0aW5n
LmV4cApAQCAtMCwwICsxLDIgQEAKKworX19aTjdXZWJDb3JlN1Rlc3RpbmczMWNyZWF0ZUpTTGF5
b3V0VGVzdENvbnRyb2xsZXJGb3JFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9i
amVjdEVQTlNfNUZyYW1lRQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAK
aW5kZXggNjUwOTZiOTNjMDZkODM3YTQxNGFkN2E4M2ZiNmE2MTlkMjE3ZmFmZi4uYmIxZTc4ZDJi
Zjk4NzA0NDgyMWY3ZjNhOTk2MzJhMWY0ZTFjM2M0NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93U2hlbGwuY3BwCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlICJGcmFtZS5o
IgogI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCi0jaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5j
bHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNPYmplY3QuaD4K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmggYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCAyZWM3MWI5NWIwZTZl
ZjVjYTM1OGNhNWYyOTY0NGYxYWU2NTI2ODA2Li4yZTkzZjk3YjQyNWE5ZTg1NzNkZDRiYjhkZDRh
ZjEyNzE5NWMwNWU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRy
b2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaApAQCAt
OTAsNyArOTAsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gd2luZG93U2hlbGwo
d29ybGQpLT53aW5kb3coKTsKICAgICB9Ci0KKyAgICAKICAgICBzdGF0aWMgdm9pZCBnZXRBbGxX
b3JsZHMoVmVjdG9yPERPTVdyYXBwZXJXb3JsZCo+Jik7CiAKICAgICBTY3JpcHRWYWx1ZSBleGVj
dXRlU2NyaXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmLCBTaG91bGRBbGxvd1hTUyBzaG91bGRB
bGxvd1hTUyA9IERvTm90QWxsb3dYU1MpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBiNDc4OWUzMWE0MzM3
NGY1ODgwYzNkZGZlMmZhZTQyZWFmZmMxZGMzLi40YjE0YjA3MWU4ZDFjMGIzNWI4ODAzNTFmYzhm
YTUyN2M0ZDQ2ZDA1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysg
Yi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUg
IklEQktleVJhbmdlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKKyNpbmNsdWRlICJMYXlvdXRUZXN0Q29udHJv
bGxlci5oIgogI2luY2x1ZGUgIkxvY2F0aW9uLmgiCiAjaW5jbHVkZSAiU3R5bGVNZWRpYS5oIgog
I2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgpAQCAtNDg5LDYgKzQ5MCwxMCBAQCB2b2lkIERPTVdp
bmRvdzo6Y2xlYXIoKQogICAgIG1faWRiRmFjdG9yeSA9IDA7CiAgICAgbV9pZGJLZXlSYW5nZSA9
IDA7CiAjZW5kaWYKKworICAgIGlmIChtX2xheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBt
X2xheW91dFRlc3RDb250cm9sbGVyLT5kaXNjb25uZWN0RnJhbWUoKTsKKyAgICBtX2xheW91dFRl
c3RDb250cm9sbGVyID0gMDsKIH0KIAogI2lmIEVOQUJMRShPUklFTlRBVElPTl9FVkVOVFMpCkBA
IC01OTYsNiArNjAxLDE3IEBAIExvY2F0aW9uKiBET01XaW5kb3c6OmxvY2F0aW9uKCkgY29uc3QK
ICAgICByZXR1cm4gbV9sb2NhdGlvbi5nZXQoKTsKIH0KIAorTGF5b3V0VGVzdENvbnRyb2xsZXIq
IERPTVdpbmRvdzo6bGF5b3V0VGVzdENvbnRyb2xsZXIoKSBjb25zdAoreworICAgIHJldHVybiBt
X2xheW91dFRlc3RDb250cm9sbGVyLmdldCgpOworfQorCit2b2lkIERPTVdpbmRvdzo6c2V0TGF5
b3V0VGVzdENvbnRyb2xsZXIoTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIpCit7Cisg
ICAgQVNTRVJUKCFtX2xheW91dFRlc3RDb250cm9sbGVyKTsKKyAgICBtX2xheW91dFRlc3RDb250
cm9sbGVyID0gY29udHJvbGxlcjsKK30KKwogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKIFN0b3Jh
Z2UqIERPTVdpbmRvdzo6c2Vzc2lvblN0b3JhZ2UoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmgKaW5kZXggOGQ1N2RjYzE0YmZmM2RjODVhNzc2OThhYjcyN2Q0OGQ5M2MyNWRmOS4u
M2EwNzg3NTRkMjVkODI1NTRmOTUzNDIyNjNiNTYyMWJjMjVlMGQwOCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAt
NTYsNiArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSURCRmFjdG9yeTsK
ICAgICBjbGFzcyBJREJLZXlSYW5nZTsKICAgICBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50
OworICAgIGNsYXNzIExheW91dFRlc3RDb250cm9sbGVyOwogICAgIGNsYXNzIExvY2F0aW9uOwog
ICAgIGNsYXNzIFN0eWxlTWVkaWE7CiAgICAgY2xhc3MgTmF2aWdhdG9yOwpAQCAtMzgyLDYgKzM4
Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRE9NQXBwbGljYXRpb25DYWNoZSog
b3B0aW9uYWxBcHBsaWNhdGlvbkNhY2hlKCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkNh
Y2hlLmdldCgpOyB9CiAjZW5kaWYKIAorICAgICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogbGF5
b3V0VGVzdENvbnRyb2xsZXIoKSBjb25zdDsKKyAgICAgICAgdm9pZCBzZXRMYXlvdXRUZXN0Q29u
dHJvbGxlcihMYXlvdXRUZXN0Q29udHJvbGxlciopOworCiAgICAgICAgIHVzaW5nIFJlZkNvdW50
ZWQ8RE9NV2luZG93Pjo6cmVmOwogICAgICAgICB1c2luZyBSZWZDb3VudGVkPERPTVdpbmRvdz46
OmRlcmVmOwogCkBAIC00MTIsNiArNDE2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVO
QUJMRShXRUJfVElNSU5HKQogICAgICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZT4gbV9w
ZXJmb3JtYW5jZTsKICNlbmRpZgorICAgICAgICBtdXRhYmxlIFJlZlB0cjxMYXlvdXRUZXN0Q29u
dHJvbGxlcj4gbV9sYXlvdXRUZXN0Q29udHJvbGxlcjsKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8
TG9jYXRpb24+IG1fbG9jYXRpb247CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFN0eWxlTWVkaWE+
IG1fbWVkaWE7CiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGI4YjMwMTk1OGI2MGUwY2UxYjRjOTM1OGM4NGI0OTRl
MWE1ZTcxMAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGFnZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
TGF5b3V0VGVzdENvbnRyb2xsZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIoKQoreworfQorCitMYXlvdXRUZXN0
Q29udHJvbGxlcjo6fkxheW91dFRlc3RDb250cm9sbGVyKCkKK3sKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVy
LmggYi9XZWJDb3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTdm
Nzk2ZjU3MDE2MjJlNTgyNDk1YzY5NDUwZmM4MGZjY2RjYmU1Ci0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9wYWdlL0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTAsMCArMSw1OSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIExheW91dFRlc3RDb250cm9sbGVyX2gKKyNkZWZpbmUgTGF5b3V0VGVzdENvbnRyb2xsZXJf
aAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWU7CitjbGFzcyBOb2Rl
OwordHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKKworY2xhc3MgTGF5b3V0VGVzdENvbnRyb2xs
ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxMYXlvdXRUZXN0Q29udHJvbGxlcj4geworcHVibGljOgor
ICAgIExheW91dFRlc3RDb250cm9sbGVyKCk7CisgICAgdmlydHVhbCB+TGF5b3V0VGVzdENvbnRy
b2xsZXIoKTsKKworICAgIHZpcnR1YWwgRnJhbWUqIGZyYW1lKCkgY29uc3QgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBkaXNjb25uZWN0RnJhbWUoKSA9IDA7CisKKyAgICB2aXJ0dWFsIGludCBkb2N1
bWVudE1hcmtlclNpemVGb3JOb2RlKE5vZGUqLCBFeGNlcHRpb25Db2RlJikgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgU3RyaW5nIGRvY3VtZW50TWFya2VyU3RyaW5nRm9yTm9kZUF0KE5vZGUqLCBp
bnQsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBMYXlvdXRUZXN0Q29udHJvbGxlcl9oCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsIGIvV2ViQ29yZS9wYWdlL0xheW91dFRl
c3RDb250cm9sbGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDNiNDRmNTE3ZTZjMzlhM2IxZDgxYzYyNGQ0
NDdjZDA2ZTdjODRhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wYWdlL0xheW91dFRlc3RD
b250cm9sbGVyLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAgaW50
ZXJmYWNlIFtPbWl0Q29uc3RydWN0b3JdIExheW91dFRlc3RDb250cm9sbGVyIHsKKyAgICAgICAg
bG9uZyBkb2N1bWVudE1hcmtlclNpemVGb3JOb2RlKGluIE5vZGUgbm9kZSkgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CisgICAgICAgIERPTVN0cmluZyBkb2N1bWVudE1hcmtlclN0cmluZ0Zvck5vZGVB
dChpbiBOb2RlIG5vZGUsIGluIGxvbmcgaW5kZXgpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAg
IH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxl
ckltcGwuY3BwIGIvV2ViQ29yZS90ZXN0aW5nL0xheW91dFRlc3RDb250cm9sbGVySW1wbC5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTg3M2MxZTI3ZGMyNmJmZDYxMWQwNDJlNTZkNTVmNTRlMmM1YmI3ZAotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxlckltcGwu
Y3BwCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxheW91
dFRlc3RDb250cm9sbGVySW1wbC5oIgorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2lu
Y2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiTm9kZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBUZXN0aW5nIHsKKworRnJh
bWUqIExheW91dFRlc3RDb250cm9sbGVySW1wbDo6ZnJhbWUoKSBjb25zdAoreworICAgIHJldHVy
biBtX2ZyYW1lOworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVySW1wbDo6ZGlzY29ubmVj
dEZyYW1lKCkKK3sKKyAgICBtX2ZyYW1lID0gMDsKK30KKworaW50IExheW91dFRlc3RDb250cm9s
bGVySW1wbDo6ZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZShOb2RlKiwgRXhjZXB0aW9uQ29kZSYg
ZWMpIGNvbnN0Cit7CisgICAgaWYgKCF2ZXJpZnlDb25uZWN0ZWQoZWMpKQorICAgICAgICByZXR1
cm4gMDsKKworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyAgICByZXR1cm4gMDsKK30KKworU3Ry
aW5nIExheW91dFRlc3RDb250cm9sbGVySW1wbDo6ZG9jdW1lbnRNYXJrZXJTdHJpbmdGb3JOb2Rl
QXQoTm9kZSosIGludCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCF2ZXJp
ZnlDb25uZWN0ZWQoZWMpKQorICAgICAgICByZXR1cm4gIiI7CisKKyAgICAvLyBGSVhNRTogaW1w
bGVtZW50CisgICAgcmV0dXJuICIiOworfQorCitMYXlvdXRUZXN0Q29udHJvbGxlckltcGw6Okxh
eW91dFRlc3RDb250cm9sbGVySW1wbChGcmFtZSogZnJhbWUpCisgICAgOiBtX2ZyYW1lKGZyYW1l
KQoreworfQorCitib29sIExheW91dFRlc3RDb250cm9sbGVySW1wbDo6dmVyaWZ5Q29ubmVjdGVk
KEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmICghbV9mcmFtZSkgeworICAgICAg
ICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor
CisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RpbmcKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0Q29u
dHJvbGxlckltcGwuaCBiL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxlckltcGwu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44OTc3ZjA0YjA0NjU2MTU1NzNmMmIzMzQzNWFiNTM0ZTNhMjMwNjg4Ci0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS90ZXN0aW5nL0xheW91dFRlc3RDb250cm9sbGVySW1w
bC5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBMYXlvdXRUZXN0Q29udHJvbGxlckltcGxfaAor
I2RlZmluZSBMYXlvdXRUZXN0Q29udHJvbGxlckltcGxfaAorCisjaW5jbHVkZSAiTGF5b3V0VGVz
dENvbnRyb2xsZXIuaCIKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CituYW1lc3BhY2UgVGVzdGluZyB7CisKK2NsYXNzIExheW91dFRlc3RDb250cm9s
bGVySW1wbCA6IHB1YmxpYyBMYXlvdXRUZXN0Q29udHJvbGxlciB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8TGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsPiBjcmVhdGUoRnJhbWUqIGZy
YW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsKGZyYW1l
KSk7IH0KKworICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0OworICAgIHZvaWQgZGlzY29ubmVjdEZy
YW1lKCk7CisKKyAgICBpbnQgZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZShOb2RlKiwgRXhjZXB0
aW9uQ29kZSYpIGNvbnN0OworICAgIFN0cmluZyBkb2N1bWVudE1hcmtlclN0cmluZ0Zvck5vZGVB
dChOb2RlKiwgaW50LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgYm9v
bCB2ZXJpZnlDb25uZWN0ZWQoRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIExheW91dFRlc3RD
b250cm9sbGVySW1wbChGcmFtZSopOworCisgICAgRnJhbWUqIG1fZnJhbWU7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBUZXN0aW5nCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBM
YXlvdXRUZXN0Q29udHJvbGxlckltcGxfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS90ZXN0aW5nL1dl
YkNvcmVUZXN0aW5nLmNwcCBiL1dlYkNvcmUvdGVzdGluZy9XZWJDb3JlVGVzdGluZy5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWZhZWJlZjhhNGU2MTllNGE5MDY5YjFkMDNjYTY4NGMwMDBkNGIzYwotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvdGVzdGluZy9XZWJDb3JlVGVzdGluZy5jcHAKQEAgLTAsMCAr
MSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQ29yZVRlc3RpbmcuaCIK
KworI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBs
LmgiCisKKyNpZiBVU0UoSlNDKQorIyBpbmNsdWRlICJKU0xheW91dFRlc3RDb250cm9sbGVyLmgi
CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIFRlc3RpbmcgeworCitz
dGF0aWMgUmVmUHRyPExheW91dFRlc3RDb250cm9sbGVyPiBjcmVhdGVMYXlvdXRUZXN0Q29udHJv
bGxlckZvcihGcmFtZSogZnJhbWUpCit7CisgICAgUmVmUHRyPExheW91dFRlc3RDb250cm9sbGVy
PiByZXQoTGF5b3V0VGVzdENvbnRyb2xsZXJJbXBsOjpjcmVhdGUoZnJhbWUpKTsKKyAgICBmcmFt
ZS0+ZG9tV2luZG93KCktPnNldExheW91dFRlc3RDb250cm9sbGVyKHJldC5nZXQoKSk7CisgICAg
cmV0dXJuIHJldDsKK30KKworI2lmIFVTRShKU0MpCitKU0M6OkpTT2JqZWN0KiBjcmVhdGVKU0xh
eW91dFRlc3RDb250cm9sbGVyRm9yKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9i
amVjdCogd2luZG93LCBGcmFtZSogZnJhbWUpCit7CisgICAgUmVmUHRyPExheW91dFRlc3RDb250
cm9sbGVyPiBjb250cm9sbGVyID0gY3JlYXRlTGF5b3V0VGVzdENvbnRyb2xsZXJGb3IoZnJhbWUp
OworICAgIHJldHVybiB0b0pTKGV4ZWMsIHdpbmRvdywgY29udHJvbGxlci5nZXQoKSkudG9PYmpl
Y3QoZXhlYyk7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgVGVzdGluZworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS90ZXN0aW5nL1dlYkNvcmVUZXN0aW5n
LmggYi9XZWJDb3JlL3Rlc3RpbmcvV2ViQ29yZVRlc3RpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGM4OWVl
NjVlNzc1MWZiZTAxYzY2MWZjZTg0ZjBiNjFhYTBhNzA5Ci0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS90ZXN0aW5nL1dlYkNvcmVUZXN0aW5nLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdl
YkNvcmVUZXN0aW5nX2gKKyNkZWZpbmUgV2ViQ29yZVRlc3RpbmdfaAorCisjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBKU0MgeworY2xhc3MgSlNPYmplY3Q7CitjbGFzcyBF
eGVjU3RhdGU7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWU7CitjbGFz
cyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNzIExheW91dFRlc3RDb250cm9sbGVyOworCituYW1l
c3BhY2UgVGVzdGluZyB7CisKKyNpZiBVU0UoSlNDKQorSlNDOjpKU09iamVjdCogY3JlYXRlSlNM
YXlvdXRUZXN0Q29udHJvbGxlckZvcihKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0
KiwgRnJhbWUqKTsKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBUZXN0aW5nCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBXZWJDb3JlVGVzdGluZ19oCmRpZmYgLS1naXQgYS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5Mjk3NmRiOTA1OWVjN2Uy
OGE0ZTVmNzQzMDFlOGI3MTE3NjNkOGYyLi5iM2E5OWU0MjRiYWFmNmNlMTBjMjc2MTE4YjBhNGJh
MDI0OTIzZmZkIDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMC0wOC0wMyAgTU9SSVRBIEhhamltZSAgPG1vcnJp
dGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBEUlQgc2hvdWxkIGFsbG93IHRlc3Qgc2NyaXB0cyB0
byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9yIHNldHVwL3ZlcmlmaWNhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2MTIKKwor
ICAgICAgICBMaW5rIFdlYktpdFRlc3RpbmcuZnJhbWV3b3JrIHdpdGggd2VhayBsaW5rYWdlLgor
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTAtMDgt
MDYgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAg
IFJ1YmJlciBzdGFtcGVkIGJ5IFNhbSBXZWluaWcKZGlmZiAtLWdpdCBhL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA1MmQ1YjZjZmY3MmNhNjE1NDZlZDRhNDA4ZTRlM2M2OTY0Y2JmYWE5
Li40NjVjNDdiNzU3YjI3YTFhOWMxZWY0YjY2MWM2YWNkMjI3ZTVmZDEzIDEwMDY0NAotLS0gYS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMDcsNyArMzA3LDYgQEAKIAkJOTM5ODEx
MjkwODI0QkYwMTAwOERGMDM4IC8qIENhcmJvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUMyODY5NDAyODQ2RENEMDE4NjM1Q0Eg
LyogQ2FyYm9uLmZyYW1ld29yayAqLzsgfTsKIAkJOTM5ODExMkEwODI0QkYwMTAwOERGMDM4IC8q
IENvY29hLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY1QzI4Njk1MDI4NDZEQ0QwMTg2MzVDQSAvKiBDb2NvYS5mcmFtZXdvcmsgKi87
IH07CiAJCTkzOTgxMTJCMDgyNEJGMDEwMDhERjAzOCAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNzM4
QzlFOTAzRkFEM0RGMDMyMUZCRTAgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovOyB9Owot
CQk5Mzk4MTEyQzA4MjRCRjAxMDA4REYwMzggLyogV2ViQ29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3
b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNzM4QzlFQTAzRkFEM0RG
MDMyMUZCRTAgLyogV2ViQ29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTkzOTgxMTJFMDgyNEJGMDEw
MDhERjAzOCAvKiBsaWJpY3Vjb3JlLmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNENjIzREQwNTFFNzkxRjAwMkY0N0REIC8qIGxpYmljdWNv
cmUuZHlsaWIgKi87IH07CiAJCTkzOTgxMTJGMDgyNEJGMDEwMDhERjAzOCAvKiBTZWN1cml0eS5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4MzBFODFFMDA1ODUzQUMwMDBBRDA4OTEgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovOyB9Owog
CQk5M0VCMTc4RDA5Rjg4RDQ2MDA5MUY4RkYgLyogV2ViU3lzdGVtSW50ZXJmYWNlLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNFQjE3OEMwOUY4OEQ0
NjAwOTFGOEZGIC8qIFdlYlN5c3RlbUludGVyZmFjZS5tbSAqLzsgfTsKQEAgLTMyMyw2ICszMjIs
NyBAQAogCQlBNURFRkMxNDExRDUzNDRCMDA4ODUyNzMgLyogV2ViQXBwbGljYXRpb25DYWNoZVF1
b3RhTWFuYWdlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1REVGQzEyMTFENTM0NEIwMDg4NTI3MyAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlUXVvdGFN
YW5hZ2VyLm1tICovOyB9OwogCQlBNzA5MzZBRjBCNTYwOERDMDBDREI0OEUgLyogV2ViRHJhZ0Ns
aWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcw
OTM2QUQwQjU2MDhEQzAwQ0RCNDhFIC8qIFdlYkRyYWdDbGllbnQuaCAqLzsgfTsKIAkJQTcwOTM2
QjAwQjU2MDhEQzAwQ0RCNDhFIC8qIFdlYkRyYWdDbGllbnQubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzA5MzZBRTBCNTYwOERDMDBDREI0OEUgLyog
V2ViRHJhZ0NsaWVudC5tbSAqLzsgfTsKKwkJQTcxMjE5NDkxMjA4MzZEMDAwM0E5OTlBIC8qIFdl
YkNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjczOEM5RUEwM0ZBRDNERjAzMjFGQkUwIC8qIFdlYkNvcmUuZnJhbWV3b3JrICov
OyB9OwogCQlBN0QzQzVCQzBCNTc3M0M1MDAyQ0E0NTAgLyogV2ViUGFzdGVib2FyZEhlbHBlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEM0M1QkEw
QjU3NzNDNTAwMkNBNDUwIC8qIFdlYlBhc3RlYm9hcmRIZWxwZXIuaCAqLzsgfTsKIAkJQTdEM0M1
QkQwQjU3NzNDNTAwMkNBNDUwIC8qIFdlYlBhc3RlYm9hcmRIZWxwZXIubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0QzQzVCQjBCNTc3M0M1MDAyQ0E0
NTAgLyogV2ViUGFzdGVib2FyZEhlbHBlci5tbSAqLzsgfTsKIAkJQUI5RkJCQkIwRjg1ODJCMDAw
NkFEQzQzIC8qIFdlYkRPTU9wZXJhdGlvbnNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUI5RkJCQkEwRjg1ODJCMDAwNkFEQzQzIC8qIFdl
YkRPTU9wZXJhdGlvbnNJbnRlcm5hbC5oICovOyB9OwpAQCAtNjE5LDYgKzYxOSw3IEBACiAJCUE1
REVGQzEyMTFENTM0NEIwMDg4NTI3MyAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlUXVvdGFNYW5hZ2Vy
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQXBwbGljYXRp
b25DYWNoZVF1b3RhTWFuYWdlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcw
OTM2QUQwQjU2MDhEQzAwQ0RCNDhFIC8qIFdlYkRyYWdDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkRyYWdDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTcwOTM2QUUwQjU2MDhEQzAwQ0RCNDhFIC8qIFdlYkRyYWdDbGllbnQubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViRHJhZ0NsaWVudC5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcwRUI0RUMxMjA4MzRBODAwNEIwQTNCIC8q
IFdlYkNvcmVUZXN0aW5nLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBwYXRoID0gV2ViQ29yZVRlc3Rp
bmcuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlBN0Qz
QzVCQTBCNTc3M0M1MDAyQ0E0NTAgLyogV2ViUGFzdGVib2FyZEhlbHBlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQYXN0ZWJvYXJkSGVscGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE3RDNDNUJCMEI1NzczQzUwMDJDQTQ1MCAvKiBXZWJQYXN0ZWJv
YXJkSGVscGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2Vi
UGFzdGVib2FyZEhlbHBlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUI5RkJC
QkEwRjg1ODJCMDAwNkFEQzQzIC8qIFdlYkRPTU9wZXJhdGlvbnNJbnRlcm5hbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJET01PcGVyYXRpb25zSW50ZXJuYWwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc0Niw3ICs3NDcsNyBAQAogCQkJCTBBQ0U5MTcz
MTBGRTQ3RTMwMDk2QTQ1RiAvKiBPcGVuR0wuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJ
CQkJMUEyMEQwOEIwRUQzODRGMjAwNDNGQTlGIC8qIFF1YXJ0ekNvcmUuZnJhbWV3b3JrIGluIEZy
YW1ld29ya3MgKi8sCiAJCQkJOTM5ODExMkYwODI0QkYwMTAwOERGMDM4IC8qIFNlY3VyaXR5LmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovLAotCQkJCTkzOTgxMTJDMDgyNEJGMDEwMDhERjAzOCAv
KiBXZWJDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCUE3MTIxOTQ5MTIwODM2
RDAwMDNBOTk5QSAvKiBXZWJDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNzky
LDYgKzc5Myw3IEBACiAJCTA4NjdENjlBRkU4NDAyOEZDMDJBQUMwNyAvKiBGcmFtZXdvcmtzIGFu
ZCBMaWJyYXJpZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCUE3MEVCNEVDMTIwODM0QTgwMDRCMEEzQiAvKiBXZWJDb3JlVGVzdGluZy5mcmFtZXdvcmsg
Ki8sCiAJCQkJRjVDMjg2OTQwMjg0NkRDRDAxODYzNUNBIC8qIENhcmJvbi5mcmFtZXdvcmsgKi8s
CiAJCQkJRjVDMjg2OTUwMjg0NkRDRDAxODYzNUNBIC8qIENvY29hLmZyYW1ld29yayAqLywKIAkJ
CQlDRDhFQUM3MjExQ0FDOUEzMDA3NzQwNzUgLyogSU9LaXQuZnJhbWV3b3JrICovLApkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAz
MzQ0Yzc2OGE2NGRlMzY4M2I1OTIwNmJmZWNmZDljN2RjMzFmNjU5Li4wNzM0NTQzYzk2ODA5MDk3
NmNkODE0ZjQ2MjgzMzk0YWE0NjYzZTM2IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTA4LTAz
ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIERSVCBzaG91
bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBm
b3Igc2V0dXAvdmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MjYxMgorICAgICAgICAKKyAgICAgICAgRXhwb3NlZCBXZWJLaXQ6OlRl
c3RpbmcgQVBJIGZvciBleHRlbmRpbmcgTGF5b3V0VGVzdENvbnRyb2xsZXIuCisgICAgICAgIE5v
dGUgdGhhdCBXZWJLaXRUZXN0aW5nLmZyYW1ld29yayBpcyBsaW5rZWQgd2l0aCAid2VhayIgbGlu
a2FnZQorICAgICAgICBhbmQgV2ViS2l0IGZyYW1ld29yayB3aWxsIHNoaXAgd2l0aG91dCB0aGF0
LgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnOgorICAgICAgICAq
IFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAgICgtW1dlYkZyYW1lIGxheW91dFRlc3RDb250
cm9sbGVyXSk6CisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaDoKKwogMjAxMC0w
OC0xMSAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgUnViYmVyIHN0YW1wcyBieSBEYXJpbiBBZGxlciAmIFNhbSBXZWluaWcuCmRpZmYgLS1naXQg
YS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZyBiL1dlYktpdC9tYWMv
Q29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCmluZGV4IGRlZjc2ZmQ3NDM1YjUyOGFlMzEx
ODU2MTJhZGU4YzE1MTVjZWRhMjkuLjliMDk4ZTc1M2QyZmRhY2RkODE5MWRjNzU1OTYxZDlhY2Iz
OTE2YjIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29u
ZmlnCisrKyBiL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCkBAIC00
OCw3ICs0OCw3IEBAIEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfbWFjb3N4ID0gJChVTUJSRUxMQV9G
UkFNRVdPUktTX0RJUikgJChTWVNURU1fTElCUkFSWV9ESVIpCiAKIEdDQ19QUkVGSVhfSEVBREVS
ID0gbWFjL1dlYktpdFByZWZpeC5oOwogR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQo
REVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RFRklORVMpIEZSQU1FV09SS19OQU1FPVdlYktpdCBX
RUJLSVRfVkVSU0lPTl9NSU5fUkVRVUlSRUQ9V0VCS0lUX1ZFUlNJT05fTEFURVNUICQoR0NDX1BS
RVBST0NFU1NPUl9ERUZJTklUSU9OUyk7Ci1IRUFERVJfU0VBUkNIX1BBVEhTID0gJChXRUJDT1JF
X1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzICQoV0VCQ09SRV9QUklWQVRF
X0hFQURFUlNfRElSKS9pY3UgJChXRUJLSVRTWVNURU1JTlRFUkZBQ0VfU1RBVElDX0xJQlJBUllf
SEVBREVSU19GT0xERVJfUEFUSCkgIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNl
cy9XZWJLaXQiICQoSEVBREVSX1NFQVJDSF9QQVRIUyk7CitIRUFERVJfU0VBUkNIX1BBVEhTID0g
JChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzICQoV0VCQ09S
RV9QUklWQVRFX0hFQURFUlNfRElSKS9pY3UgJChXRUJLSVRTWVNURU1JTlRFUkZBQ0VfU1RBVElD
X0xJQlJBUllfSEVBREVSU19GT0xERVJfUEFUSCkgIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJp
dmVkU291cmNlcy9XZWJLaXQiICQoV0VCQ09SRVRFU1RJTkdfSEVBREVSU19ESVIpICQoSEVBREVS
X1NFQVJDSF9QQVRIUyk7CiBJTkZPUExJU1RfRklMRSA9IG1hYy9JbmZvLnBsaXN0OwogSU5TVEFM
TF9QQVRIID0gJChJTlNUQUxMX1BBVEhfJChSRUFMX1BMQVRGT1JNX05BTUUpKTsKIElOU1RBTExf
UEFUSF9tYWNvc3ggPSAkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3JrczsKQEAgLTYwLDcg
KzYwLDcgQEAgVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIgPSAkKFBST0RVQ1RJT05fRlJBTUVXT1JL
U19ESVIpL1dlYktpdC5mcmFtZXdvcmsvVmVyc2lvbnMKIE9USEVSX0xERkxBR1MgPSAkKE9USEVS
X0xERkxBR1NfJChSRUFMX1BMQVRGT1JNX05BTUUpKTsKIE9USEVSX0xERkxBR1NfaXBob25lb3Mg
PSAtbG9iamMgLWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAt
ZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBH
cmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIFdlYkNvcmU7CiBP
VEhFUl9MREZMQUdTX2lwaG9uZXNpbXVsYXRvciA9ICQoT1RIRVJfTERGTEFHU19pcGhvbmVvcyk7
Ci1PVEhFUl9MREZMQUdTX21hY29zeCA9IC1zdWJfdW1icmVsbGEgV2ViQ29yZSAkKE9USEVSX0xE
RkxBR1MpOworT1RIRVJfTERGTEFHU19tYWNvc3ggPSAtc3ViX3VtYnJlbGxhIFdlYkNvcmUgJChP
VEhFUl9MREZMQUdTKSAtd2Vha19mcmFtZXdvcmsgV2ViQ29yZVRlc3Rpbmc7CiAKIFBST0RVQ1RJ
T05fRlJBTUVXT1JLU19ESVIgPSAkKFBST0RVQ1RJT05fRlJBTUVXT1JLU19ESVJfJChSRUFMX1BM
QVRGT1JNX05BTUUpKTsKIFBST0RVQ1RJT05fRlJBTUVXT1JLU19ESVJfaXBob25lb3MgPSAkKFNE
S1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIpL1ByaXZhdGVGcmFtZXdvcmtzOwpAQCAtODEsNiAr
ODEsMTUgQEAgV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSX1Byb2R1Y3Rpb25faXBob25lc2lt
dWxhdG9yID0gJChXRUJDT1JFX1BSSVZBVEVfSEVBREUKIFdFQkNPUkVfUFJJVkFURV9IRUFERVJT
X0RJUl9Qcm9kdWN0aW9uX21hY29zeCA9ICQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpL1dlYkNv
cmUuZnJhbWV3b3JrL1ByaXZhdGVIZWFkZXJzOwogV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfZW5n
aW5lZXJpbmcgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvV2ViQ29yZS5mcmFtZXdvcmsvUHJpdmF0
ZUhlYWRlcnM7CiAKK1dFQkNPUkVURVNUSU5HX0hFQURFUlNfRElSID0gJChXRUJDT1JFVEVTVElO
R19IRUFERVJTX0RJUl8kKENPTkZJR1VSQVRJT04pKTsKK1dFQkNPUkVURVNUSU5HX0hFQURFUlNf
RElSX1JlbGVhc2UgPSAkKFdFQkNPUkVURVNUSU5HX0hFQURFUlNfZW5naW5lZXJpbmcpOworV0VC
Q09SRVRFU1RJTkdfSEVBREVSU19ESVJfRGVidWcgID0gJChXRUJDT1JFVEVTVElOR19IRUFERVJT
X2VuZ2luZWVyaW5nKTsKK1dFQkNPUkVURVNUSU5HX0hFQURFUlNfRElSX1Byb2R1Y3Rpb24gPSAk
KFdFQkNPUkVURVNUSU5HX0hFQURFUlNfRElSX1Byb2R1Y3Rpb25fJChSRUFMX1BMQVRGT1JNX05B
TUUpKTsKK1dFQkNPUkVURVNUSU5HX0hFQURFUlNfRElSX1Byb2R1Y3Rpb25faXBob25lb3MgPSAk
KFBST0RVQ1RJT05fRlJBTUVXT1JLU19ESVIpL1dlYkNvcmVUZXN0aW5nLmZyYW1ld29yay9IZWFk
ZXJzOworV0VCQ09SRVRFU1RJTkdfSEVBREVSU19ESVJfUHJvZHVjdGlvbl9pcGhvbmVzaW11bGF0
b3IgPSAkKFdFQkNPUkVURVNUSU5HX0hFQURFUlNfRElSX1Byb2R1Y3Rpb25faXBob25lb3MpOwor
V0VCQ09SRVRFU1RJTkdfSEVBREVSU19ESVJfUHJvZHVjdGlvbl9tYWNvc3ggPSAkKFVNQlJFTExB
X0ZSQU1FV09SS1NfRElSKS9XZWJDb3JlVGVzdGluZy5mcmFtZXdvcmsvSGVhZGVyczsKK1dFQkNP
UkVURVNUSU5HX0hFQURFUlNfRElSX2VuZ2luZWVyaW5nID0gJChCVUlMVF9QUk9EVUNUU19ESVIp
L1dlYkNvcmUuZnJhbWV3b3JrL1ByaXZhdGVIZWFkZXJzOworCiBXRUJLSVRTWVNURU1JTlRFUkZB
Q0VfU1RBVElDX0xJQlJBUllfSEVBREVSU19GT0xERVJfUEFUSCA9ICQoV0VCS0lUU1lTVEVNSU5U
RVJGQUNFX1NUQVRJQ19MSUJSQVJZX0hFQURFUlNfRk9MREVSX1BBVEhfJChDT05GSUdVUkFUSU9O
KSk7CiBXRUJLSVRTWVNURU1JTlRFUkZBQ0VfU1RBVElDX0xJQlJBUllfSEVBREVSU19GT0xERVJf
UEFUSF9EZWJ1ZyA9ICQoV0VCS0lUU1lTVEVNSU5URVJGQUNFX1NUQVRJQ19MSUJSQVJZX0hFQURF
UlNfRk9MREVSX1BBVEhfZW5naW5lZXJpbmcpOwogV0VCS0lUU1lTVEVNSU5URVJGQUNFX1NUQVRJ
Q19MSUJSQVJZX0hFQURFUlNfRk9MREVSX1BBVEhfUmVsZWFzZSA9ICQoV0VCS0lUU1lTVEVNSU5U
RVJGQUNFX1NUQVRJQ19MSUJSQVJZX0hFQURFUlNfRk9MREVSX1BBVEhfZW5naW5lZXJpbmcpOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tIGIvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYkZyYW1lLm1tCmluZGV4IDgyZGY3YmM1MjU0ZTM1ZmEzNTZmZTVjNzM0MDcwZjk5
NDE3Y2UzZTYuLjVjYmFjY2U4NmNjZGYzOGY1OTY5YjgzMTYzZDc3NGZhZWIyMTg5YWQgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQorKysgYi9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViRnJhbWUubW0KQEAgLTkwLDYgKzkwLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvaHRt
bGVkaXRpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvbWFya3VwLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L3Zpc2libGVfdW5pdHMuaD4KKyNpbXBvcnQgPFdlYkNvcmVUZXN0aW5nL1dlYkNvcmVUZXN0aW5n
Lmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KICNpbXBvcnQgPHJ1bnRpbWUv
SlNMb2NrLmg+CiAjaW1wb3J0IDxydW50aW1lL0pTT2JqZWN0Lmg+CkBAIC0xMzY2LDYgKzEzNjcs
MTcgQEAgc3RhdGljIGlubGluZSBXZWJEYXRhU291cmNlICpkYXRhU291cmNlKERvY3VtZW50TG9h
ZGVyKiBsb2FkZXIpCiAgICAgcmV0dXJuIGNvcmVGcmFtZS0+bGF5ZXJUcmVlQXNUZXh0KCk7CiB9
CiAKKy0gKEpTVmFsdWVSZWYpbGF5b3V0VGVzdENvbnRyb2xsZXIKK3sKKyAgICBGcmFtZSogY29y
ZUZyYW1lID0gX3ByaXZhdGUtPmNvcmVGcmFtZTsKKyAgICBpZiAoIWNvcmVGcmFtZSkKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCA9IG1haW5UaHJlYWROb3Jt
YWxXb3JsZCgpOworICAgIFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qg
PSBjb3JlRnJhbWUtPnNjcmlwdCgpLT5nbG9iYWxPYmplY3Qod29ybGQpOworICAgIEpTQzo6RXhl
Y1N0YXRlKiBleGVjID0gZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CisgICAgcmV0dXJuIHRv
UmVmKGV4ZWMsIEpTVmFsdWUoV2ViQ29yZTo6VGVzdGluZzo6Y3JlYXRlSlNMYXlvdXRUZXN0Q29u
dHJvbGxlckZvcihleGVjLCBnbG9iYWxPYmplY3QsIGNvcmVGcmFtZSkpKTsKK30KKwogQGVuZAog
CiBAaW1wbGVtZW50YXRpb24gV2ViRnJhbWUKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJGcmFtZVByaXZhdGUuaCBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUu
aAppbmRleCAzNTU2YWQ4MjgwZmMyYWM5NjIzZDgwMjY2ZDE1NTVmZWNkZWMyZjYxLi5mMjZiYzM0
NTM4M2EyMmEyY2JhMGM3ODlmNWEyYmI1NmNlZTA3NGI4IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgKKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZy
YW1lUHJpdmF0ZS5oCkBAIC0xNDAsNCArMTQwLDcgQEAgdHlwZWRlZiBlbnVtIHsKIAogLSAoTlNT
dHJpbmcqKV9sYXllclRyZWVBc1RleHQ7CiAKKy8vIFJldHVybnMgYXNzb2NpYXRlZCBMYXlvdXRU
ZXN0Q29udHJvbGxlciBvYmplY3QsIG9yIG51bGwgb24gdGhlIHByb2R1Y3Rpb24gYnVpbGQuCist
IChKU1ZhbHVlUmVmKWxheW91dFRlc3RDb250cm9sbGVyOworCiBAZW5kCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggMjRiNDFj
NTk3NWIzNmFjMTE4MDM2YTFlYmIyMTlhMTBhNDAwZGYwOS4uZTBhZjhmNjNhMjBmZDVlZGE1Mjgy
MWFkMmRhMzRjMWJkMzJmZTNmNSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTA4LTAzICBN
T1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4dGVuZGVkIExheW91dFRlc3RDb250cm9sbGVy
IG9iamVjdCBieSBhZGRpbmcgZGVsZ2F0aW9uIG1ldGhvZHMKKyAgICAgICAgZm9yIFdlYkNvcmU6
OkxheW91dFRlc3RDb250cm9sbGVyLgorICAgICAgICBOb3cgd2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyIGhhcyBtZXRob2RzIGRlZmluZWQgaW4KKyAgICAgICAgV2ViQ29yZTo6TGF5b3V0VGVz
dENvbnRyb2xsZXIuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZURlbGVnYXRpb25N
ZXRob2RzKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjptYWtlV2luZG93T2JqZWN0
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbToKKyAgICAgICAg
KC1bRnJhbWVMb2FkRGVsZWdhdGUgZGlkQ2xlYXJXaW5kb3dPYmplY3RJblN0YW5kYXJkV29ybGRG
b3JGcmFtZTpdKToKKwogMjAxMC0wOC0xMSAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2
by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBVbnJldmlld2VkLiBBZGRpbmcg
bXkgQ29sbGFib3JhIHBlcnNvbmFsaXR5IHRvIHRoZSBsaXN0LgpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDcwMGI0NGM1
OTRhMmU0MzlkNzEzZjM0NGYyMDU5MmUyY2Y4Y2Q5ZTAuLjUzMTQwZDJjNzhkZTA2ZTlmMjI2MTI1
ODIxNGM5OWIyN2RlNTU4Y2QgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTE3NzUsOSArMTc3NSwyOCBAQCBzdGF0aWMg
dm9pZCBsYXlvdXRUZXN0Q29udHJvbGxlck9iamVjdEZpbmFsaXplKEpTT2JqZWN0UmVmIG9iamVj
dCkKICAgICBjb250cm9sbGVyLT5kZXJlZigpOwogfQogCitzdGF0aWMgY29uc3QgY2hhciBzZXR1
cExheW91dFRlc3RDb250cm9sbGVyU2NyaXB0W10gPSAKKyAgICAiZnVuY3Rpb24gZGVsZWdhdGUo
ZHN0LCBzcmMsIG5hbWUpIHsgZHN0W25hbWVdID0gZnVuY3Rpb24oKSB7IHJldHVybiBzcmNbbmFt
ZV0uYXBwbHkoc3JjLCBhcmd1bWVudHMpOyB9IH1cbiIKKyAgICAiZm9yICh2YXIgbmFtZSBpbiB0
aGlzLndlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlcikge1xuIgorICAgICIgICAgZGVsZWdhdGUo
dGhpcywgdGhpcy53ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXIsIG5hbWUpO1xuIgorICAgICJ9
XG4iOworCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtlRGVsZWdhdGlvbk1ldGhvZHMo
SlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTVmFsdWVSZWYg
d2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVyT2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24p
Cit7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHdlYkNvcmVMYXlvdXRUZXN0Q29udHJv
bGxlclN0cihBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIndlYkNvcmVMYXlv
dXRUZXN0Q29udHJvbGxlciIpKTsKKyAgICBKU09iamVjdFNldFByb3BlcnR5KGNvbnRleHQsIHRo
aXNPYmplY3QsIHdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlclN0ci5nZXQoKSwgd2ViQ29yZUxh
eW91dFRlc3RDb250cm9sbGVyT2JqZWN0LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZU5vbmUsIGV4Y2Vw
dGlvbik7CisgICAgQVNTRVJUKCEqZXhjZXB0aW9uKTsKKworICAgIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiB1cmxTdHIoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJzZXR1
cF9sYXlvdXRfdGVzdF9jb250cm9sbGVyX3Rlc3QuanMiKSk7CisgICAgSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IHNjcmlwdFN0cihBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
c2V0dXBMYXlvdXRUZXN0Q29udHJvbGxlclNjcmlwdCkpOworICAgIEFTU0VSVCghKmV4Y2VwdGlv
bik7CisgICAgSlNFdmFsdWF0ZVNjcmlwdChjb250ZXh0LCBzY3JpcHRTdHIuZ2V0KCksIHRoaXNP
YmplY3QsIHVybFN0ci5nZXQoKSwgMSwgZXhjZXB0aW9uKTsKKyAgICBBU1NFUlQoISpleGNlcHRp
b24pOworfQorCiAvLyBPYmplY3QgQ3JlYXRpb24KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6bWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2lu
ZG93T2JqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit2b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB3
aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbiwgSlNWYWx1ZVJlZiB3ZWJDb3JlbGF5
b3V0VGVzdENvbnRvbGxlcikKIHsKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gbGF5b3V0
VGVzdENvbnRvbGxlclN0cihBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImxh
eW91dFRlc3RDb250cm9sbGVyIikpOwogICAgIHJlZigpOwpAQCAtMTc4Niw2ICsxODA1LDkgQEAg
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZVdpbmRvd09iamVjdChKU0NvbnRleHRSZWYg
Y29udGV4dCwgSlNPYmplY3RSZWYgd2kKICAgICBKU1ZhbHVlUmVmIGxheW91dFRlc3RDb250b2xs
ZXJPYmplY3QgPSBKU09iamVjdE1ha2UoY29udGV4dCwgY2xhc3NSZWYsIHRoaXMpOwogICAgIEpT
Q2xhc3NSZWxlYXNlKGNsYXNzUmVmKTsKIAorICAgIGlmICh3ZWJDb3JlbGF5b3V0VGVzdENvbnRv
bGxlcikKKyAgICAgICAgbWFrZURlbGVnYXRpb25NZXRob2RzKGNvbnRleHQsIEpTVmFsdWVUb09i
amVjdChjb250ZXh0LCBsYXlvdXRUZXN0Q29udG9sbGVyT2JqZWN0LCBleGNlcHRpb24pLCB3ZWJD
b3JlbGF5b3V0VGVzdENvbnRvbGxlciwgZXhjZXB0aW9uKTsKKwogICAgIEpTT2JqZWN0U2V0UHJv
cGVydHkoY29udGV4dCwgd2luZG93T2JqZWN0LCBsYXlvdXRUZXN0Q29udG9sbGVyU3RyLmdldCgp
LCBsYXlvdXRUZXN0Q29udG9sbGVyT2JqZWN0LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5
IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlLCBleGNlcHRpb24pOwogfQogCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5o
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRl
eCAyYmFiNTQyODVkODFkZDVlOTE1ZDdjZWEwYjYwYjYzMjI5NGNjYmIwLi5lODNhMzNjZmViODY2
ZGNiNGNlN2E0YWE2ZjA4ZWEwYzAyNzFhYTY1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTQyLDcgKzQyLDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPExheW91dFRlc3RDb250cm9sbGVyPiBjcmVhdGUoY29u
c3Qgc3RkOjpzdHJpbmcmIHRlc3RQYXRoT3JVUkwsIGNvbnN0IHN0ZDo6c3RyaW5nJiBleHBlY3Rl
ZFBpeGVsSGFzaCk7CiAgICAgfkxheW91dFRlc3RDb250cm9sbGVyKCk7CiAKLSAgICB2b2lkIG1h
a2VXaW5kb3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpbmRvd09i
amVjdCwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKKyAgICB2b2lkIG1ha2VEZWxlZ2F0aW9uTWV0
aG9kcyhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgSlNWYWx1
ZVJlZiB3ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXIsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7
CisgICAgdm9pZCBtYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiB3aW5kb3dPYmplY3QsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbiwgSlNWYWx1ZVJlZiB3ZWJD
b3JlbGF5b3V0VGVzdENvbnRvbGxlciA9IDApOwogCiAgICAgdm9pZCBhZGREaXNhbGxvd2VkVVJM
KEpTU3RyaW5nUmVmIHVybCk7CiAgICAgdm9pZCBjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCk7
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVs
ZWdhdGUubW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdh
dGUubW0KaW5kZXggOTYzZWFlNzBmYTU5ZDgxZWZjZmViOGFiMWU4ODM2YzU1N2M3YWNjZC4uMThk
OWRhYzQ0MGUzOWY4YWQzNTkxZDYzMzM5NzJkMjU3ZGI2MTk0MSAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQpAQCAtMjQ1LDcg
KzI0NSw4IEBACiAgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwogCiAgICAgQVNTRVJUKGdM
YXlvdXRUZXN0Q29udHJvbGxlcik7Ci0gICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5tYWtlV2lu
ZG93T2JqZWN0KGNvbnRleHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlvbik7CisgICAgSlNWYWx1
ZVJlZiB3ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXIgPSBbZnJhbWUgbGF5b3V0VGVzdENvbnRy
b2xsZXJdOworICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250
ZXh0LCBnbG9iYWxPYmplY3QsICZleGNlcHRpb24sIHdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxl
cik7CiAgICAgQVNTRVJUKCFleGNlcHRpb24pOwogCiAgICAgZ2NDb250cm9sbGVyLT5tYWtlV2lu
ZG93T2JqZWN0KGNvbnRleHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlvbik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67009</attachid>
            <date>2010-09-09 01:57:04 -0700</date>
            <delta_ts>2010-09-09 18:25:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42612-20100909175702.patch</filename>
            <type>text/plain</type>
            <size>45562</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlM2NmNjdmMDljNTU4MjIyYjJjZWY4ZGJlNTg2ZGFlZmFmZDIzNjk3Li5lMTMxYjYw
MmYwZDhlMjBmNzBmZTQ1NzMwMDViODJlMmFlYzExYzhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMDktMDkgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvbGF5b3V0LXRlc3QtY29u
dHJvbGxlci13ZWJjb3JlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20v
V2luZG93L2xheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL2xheW91dC10ZXN0LWNvbnRyb2xsZXIt
d2ViY29yZS5qczogQWRkZWQuCisKIDIwMTAtMDktMDggIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy9sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2xheW91dC10ZXN0LWNvbnRyb2xs
ZXItd2ViY29yZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY2ZmZmZDIzMTVkNGM3YWIyZjc0
ZWY2YTlhZGM5NDA3Yzc2OWZkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy9sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTIgQEAKK3dpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciBzaG91bGQgaGF2ZSBm
dW5jdGlvbnMgZGVmaW5lZCBpbiBMYXlvdXRUZXN0Q29udHJvbGxlci5pZGwKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdW5kZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlciBpcyB0cnVlCitQQVNTIHVuZGVmaW5lZCAhPSB3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIuZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZSBpcyB0cnVlCitQQVNTIDAgPT0gd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUod2luZG93
Lm5vZGUpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvbGF5b3V0
LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU3Yzk1
MzBjNTg2ZDdiYzliN2Y1Zjg1ODQ0ZDIzNGQwYjlmYjUyNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdlYmNvcmUu
aHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL2xheW91dC10ZXN0LWNvbnRyb2xsZXItd2Vi
Y29yZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvbGF5b3V0
LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlYmQzOWNiMTIxMzZhODEy
YjRlMWY4MjdmNzE1ZWRlMDBkODE0ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL2xheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29y
ZS5qcwpAQCAtMCwwICsxLDcgQEAKK2Rlc2NyaXB0aW9uKCJ3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIgc2hvdWxkIGhhdmUgZnVuY3Rpb25zIGRlZmluZWQgaW4gTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaWRsIik7Cit3aW5kb3cubm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKTsKK3No
b3VsZEJlVHJ1ZSgidW5kZWZpbmVkICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciIpOwor
c2hvdWxkQmVUcnVlKCJ1bmRlZmluZWQgIT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRv
Y3VtZW50TWFya2VyU2l6ZUZvck5vZGUiKTsKK3Nob3VsZEJlVHJ1ZSgiMCA9PSB3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZSh3aW5kb3cubm9kZSki
KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA3MmRhNmYxNjRmZTMxNzBhMDY3MTMzMzFkZGRiNjkyOTBjNmMyMzQ0Li45ODZkMGU1
MDk1MzIzYjRlN2NhOTc4ZjVmM2ZmNjZjMWU0NmRhZjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEwLTA5
LTA5ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBz
Y3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZp
Y2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
MjYxMgorCisgICAgICAgIC0gQWRkZWQgV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXIgYW5k
IGl0cyBKUyBiaW5kaW5nCisgICAgICAgICAgVGhlIGNsYXNzIGN1cnJlbnRseSBoYXMgb25lIHN0
dWIgbWV0aG9kIHdob3NlIGltcGxlbWVudGF0aW9uIHdpbGwgY29tZSBsYXRlci4KKyAgICAgICAg
LSBBZGRlZCBhZGREZWxlZ2F0ZUZvckxheW91dFRlc3RDb250cm9sbGVyKCkgdG8gY29tYmluZSBX
ZWJDb3JlOjpMVEMgYW5kIExheW91dFRlc3RDb250cm9sbGVyCisgICAgICAgICAgZGVmaW5lZCBp
biBEdW1wUmVuZGVyVHJlZS4gdGhlCisgICAgICAgIE5vdGUgdGhhdCB0ZXN0aW5nLXJlbGF0ZWQg
Y29kZSBpcyBsb2NhdGVkIHVuZGVyIHRlc3RpbmcvIGFuZCB0aGUgcmVzdCBvZiBXZWJDb3JlIGRv
ZXMgbm90IGRlcGVuZCBvbiBpdC4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9XaW5kb3cvbGF5
b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUu
cHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB0ZXN0aW5nL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZG9jdW1lbnRNYXJrZXJTaXpl
Rm9yTm9kZSk6IEFuIHN0dWIgdGVzdCBtZXRob2Qgd2hpY2ggZG9lcyBub3RoaW5nLgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKToK
KyAgICAgICAgKiB0ZXN0aW5nL0xheW91dFRlc3RDb250cm9sbGVyLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OmNyZWF0ZSk6CisgICAgICAgICogdGVz
dGluZy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGw6IEFkZGVkLgorICAgICAgICAqIHRlc3Rpbmcv
TGF5b3V0VGVzdEhlbHBlcnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUpT
TGF5b3V0VGVzdENvbnRyb2xsZXJGb3IpOgorICAgICAgICAoV2ViQ29yZTo6ZGVsZWdhdGVMYXlv
dXRUZXN0Q29udHJvbGxlclRvKToKKyAgICAgICAgKFdlYkNvcmU6OmFkZERlbGVnYXRlRm9yTGF5
b3V0VGVzdENvbnRyb2xsZXIpOiBNYWtlcyBkZWxlZ2F0ZSBtZXRob2QgdG8gZ2l2ZW4gSlMgb2Jq
ZWN0LgorICAgICAgICAqIHRlc3RpbmcvTGF5b3V0VGVzdEhlbHBlcnMuaDogQWRkZWQuCisKIDIw
MTAtMDktMDggIFBldGVyIEthc3RpbmcgIDxwa2FzdGluZ0Bnb29nbGUuY29tPgogCiAgICAgICAg
IE5vdCByZXZpZXdlZCwgbGF5b3V0IHRlc3QgZml4LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA4MWY0MDcw
MDFjOTYxYWM0YzYxNjIyYmI4MGFhMTg5NjgwZWVmZThhLi5mZmU5ZjZkY2U3NTRmNGY5Y2UyZDQy
MDEwYWI0MDhjMWRhYmE2NjBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cAorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMjEwLDYgKzIxMCw3IEBACiAj
aW5jbHVkZSAiSlNJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIgogI2luY2x1ZGUgIkpTSmF2YVNj
cmlwdENhbGxGcmFtZS5jcHAiCiAjaW5jbHVkZSAiSlNLZXlib2FyZEV2ZW50LmNwcCIKKyNpbmNs
dWRlICJKU0xheW91dFRlc3RDb250cm9sbGVyLmNwcCIKICNpbmNsdWRlICJKU0xvY2F0aW9uLmNw
cCIKICNpbmNsdWRlICJKU01lZGlhRXJyb3IuY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFMaXN0LmNw
cCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQppbmRleCA2ZmQxY2RlZTE2ZGQ5YjVlZGZjNDdlYjNjZTBjMzFjMmEy
ZTMzZjI4Li4zYzEyMzQzZWE2MzJmMjJlMDY0NDE0MDUwNGUxNDViNjdlNzZkNjUwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCkBAIC00Niw2ICs0Niw3IEBAIFZQQVRIID0gXAogICAgICQoV2ViQ29yZSkvd21s
IFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMgXAogICAgICQoV2ViQ29yZSkvc3ZnIFwKKyAgICAk
KFdlYkNvcmUpL3Rlc3RpbmcgXAogICAgICQoV2ViQ29yZSkvd2Vic29ja2V0cyBcCiAjCiAKQEAg
LTI1NCw2ICsyNTUsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBJbmplY3RlZFNjcmlwdEhvc3Qg
XAogICAgIEluc3BlY3RvckZyb250ZW5kSG9zdCBcCiAgICAgS2V5Ym9hcmRFdmVudCBcCisgICAg
TGF5b3V0VGVzdENvbnRyb2xsZXIgXAogICAgIExvY2F0aW9uIFwKICAgICBNZWRpYUVycm9yIFwK
ICAgICBNZWRpYUxpc3QgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggODI5NzM2NWYyZGVlOGQ5NWMzYTRkYjM0MjBlYmQ1
MWNmMmQzYjA3Ny4uMjU5NGU3Mzg1M2YwNjMwMTc5OWU2Y2UxYjM4ZmM5NDAxZTIxMDQ0NSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCkBAIC01Niw2ICs1Niw3IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIp
L1dlYkNvcmUvc3ZnL2FuaW1hdGlvbiBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMgXAorCS1JJChz
cmNkaXIpL1dlYkNvcmUvdGVzdGluZyBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS93ZWJzb2NrZXRz
IFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL3dtbCBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS93b3Jr
ZXJzIFwKQEAgLTQwOSw2ICs0MTAsNyBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNLZXlib2FyZEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0tleWJvYXJkRXZlbnQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xheW91
dFRlc3RDb250cm9sbGVyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9u
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9uLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNNZWRpYUVycm9yLmNwcCBcCkBAIC0yNDMyLDYgKzI0MzQsMTAgQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5z
Zm9ybURhdGEuaCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmNw
cCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmggXAorCVdlYkNv
cmUvdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgXAorCVdlYkNvcmUvdGVzdGluZy9M
YXlvdXRUZXN0Q29udHJvbGxlci5oIFwKKwlXZWJDb3JlL3Rlc3RpbmcvTGF5b3V0VGVzdEhlbHBl
cnMuY3BwIFwKKwlXZWJDb3JlL3Rlc3RpbmcvTGF5b3V0VGVzdEhlbHBlcnMuaCBcCiAJV2ViQ29y
ZS94bWwvRE9NUGFyc2VyLmNwcCBcCiAJV2ViQ29yZS94bWwvRE9NUGFyc2VyLmggXAogCVdlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBmYTU2Y2EyMWY0NGQ3ZGViYWJm
N2VlNTdjYTVmMDA5ZjhhODM4MmRhLi5kNWE0ZGM5MDQzM2E2Yzg1NzI4N2I3YzIwZTNkOThiNzNh
OTMzMWQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KQEAgLTUyMCw2ICs1MjAsNyBAQCBfX1pON1dlYkNvcmUzMmNvbnRleHRN
ZW51SXRlbVRhZ1NtYXJ0Q29weVBhc3RlRXYKIF9fWk43V2ViQ29yZTMycGxhaW5UZXh0VG9NYWxs
b2NBbGxvY2F0ZWRCdWZmZXJFUEtOU181UmFuZ2VFUmpiCiBfX1pON1dlYkNvcmUzM2NvbnRleHRN
ZW51SXRlbVRhZ1RleHRSZXBsYWNlbWVudEV2CiBfX1pON1dlYkNvcmUzM3NldERlZmF1bHRUaHJl
YWRWaW9sYXRpb25CZWhhdmlvckVOU18yM1RocmVhZFZpb2xhdGlvbkJlaGF2aW9yRU5TXzIwVGhy
ZWFkVmlvbGF0aW9uUm91bmRFCitfX1pON1dlYkNvcmUzNGFkZERlbGVnYXRlRm9yTGF5b3V0VGVz
dENvbnRyb2xsZXJFUE4zSlNDOEpTT2JqZWN0RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOU181
RnJhbWVFCiBfX1pON1dlYkNvcmUzNGNvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb25F
dgogX19aTjdXZWJDb3JlMzVjb250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxpbmdQYW5lbEViCiBf
X1pON1dlYkNvcmUzNWNvbnRleHRNZW51SXRlbVRhZ1Nob3dTdWJzdGl0dXRpb25zRWIKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9XZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IGE0
YzY5YjEwYzJhMGU2NjBjZjZmYmY3MjZhZTNmMzhlMDZjZjJhOTcuLmY3ZGZjMzI3NDQ3ODE3OGY1
YzRiYzY0NjAwZTc4ZTEyMjE4YWQzMTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtNDY4LDYgKzQ2OCw3IEBAIElETF9CSU5ESU5H
UyArPSBcCiAgICAgc3ZnL1NWR1VzZUVsZW1lbnQuaWRsIFwKICAgICBzdmcvU1ZHVmlld0VsZW1l
bnQuaWRsIFwKICAgICBzdmcvU1ZHVktlcm5FbGVtZW50LmlkbCBcCisgICAgdGVzdGluZy9MYXlv
dXRUZXN0Q29udHJvbGxlci5pZGwgXAogICAgIHdlYnNvY2tldHMvV2ViU29ja2V0LmlkbCBcCiAg
ICAgd29ya2Vycy9BYnN0cmFjdFdvcmtlci5pZGwgXAogICAgIHdvcmtlcnMvRGVkaWNhdGVkV29y
a2VyQ29udGV4dC5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNv
cmUvV2ViQ29yZS5wcm8KaW5kZXggNTVkZjY0NGJjMWE5MzI3NjhkMDE3MjJlODhjYTEzNzgzMmJl
ZDU0Yi4uMTQ5YmFiODk5NzJmNzRlZmFlZGVjN2EyMGMwMWJiZTQ0Mjg1NzIxZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0yMjUs
NiArMjI1LDcgQEAgV0VCQ09SRV9JTkNMVURFUEFUSCA9IFwKICAgICAkJFBXRC9zdmcvZ3JhcGhp
Y3MgXAogICAgICQkUFdEL3N2Zy9ncmFwaGljcy9maWx0ZXJzIFwKICAgICAkJFBXRC93ZWJzb2Nr
ZXRzIFwKKyAgICAkJFBXRC90ZXN0aW5nIFwKICAgICAkJFBXRC93bWwgXAogICAgICQkUFdEL3dv
cmtlcnMgXAogICAgICQkUFdEL3htbCBcCkBAIC0xMDg4LDYgKzEwODksOCBAQCBTT1VSQ0VTICs9
IFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3VuZERhdGEuY3BwIFwKICAgICByZW5k
ZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmNwcCBcCiAgICAgcmVuZGVyaW5nL3N0eWxl
L1N0eWxlVmlzdWFsRGF0YS5jcHAgXAorICAgIHRlc3RpbmcvTGF5b3V0VGVzdENvbnRyb2xsZXIu
Y3BwIFwKKyAgICB0ZXN0aW5nL0xheW91dFRlc3RIZWxwZXJzLmNwcCBcCiAgICAgeG1sL0RPTVBh
cnNlci5jcHAgXAogICAgIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHAgXAogICAgIHhtbC9YTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgXApAQCAtMjE1MCw2ICsyMTUzLDggQEAg
SEVBREVSUyArPSBcCiAgICAgc3ZnL1NWR1ZLZXJuRWxlbWVudC5oIFwKICAgICBzdmcvU1ZHWm9v
bUFuZFBhbi5oIFwKICAgICBzdmcvU1ZHWm9vbUV2ZW50LmggXAorICAgIHRlc3RpbmcvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaCBcCisgICAgdGVzdGluZy9MYXlvdXRUZXN0SGVscGVycy5oIFwKICAg
ICB3bWwvV01MQWNjZXNzRWxlbWVudC5oIFwKICAgICB3bWwvV01MQUVsZW1lbnQuaCBcCiAgICAg
d21sL1dNTEFuY2hvckVsZW1lbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCBiNTg4NTQ4ZTk4YzRhMWQyYWY3NmI2M2YxNDk2NjY1OTk5MWIwYTRiLi4xNGU2NGM4
OGEwZmUxOTkzNGMzNzE3ZDQ0YmY0ZjYxOGVmMDllODZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTk3MDksNiArOTcwOSw2MiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIg0K
KwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxX
aW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRv
b2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1
Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
Pg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4N
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
KwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0
aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9
IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNN
ZWRpYUVycm9yLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC01MzEw
MSw2ICs1MzE1NywyNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQk8L0ZpbHRlcj4NCisJCTxG
aWx0ZXINCisJCQlOYW1lPSJ0ZXN0aW5nIg0KKwkJCT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHRlc3RpbmdcTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cdGVzdGluZ1xMYXlvdXRU
ZXN0Q29udHJvbGxlci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cdGVzdGluZ1xMYXlvdXRUZXN0SGVscGVycy5jcHAiDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlx0ZXN0aW5nXExheW91
dFRlc3RIZWxwZXJzLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQk8L0ZpbHRlcj4NCiAJCTxG
aWxlDQogCQkJUmVsYXRpdmVQYXRoPSIuLlxjb25maWcuaCINCiAJCQk+DQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0NmViYjA5NzY0OTljMTYwODJlZGJm
ZDAxMjI4Y2U1ZjMyYjk1NDU2Li43NzVmNTJlYTMzNzBlZWQ4MzNiY2EyYTcyNTA5YmJiYTAyMzdm
MmZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjg0
NSw2ICsyODQ1LDcgQEAKIAkJQTVBRkIzNTAxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBRkIzNEUx
MTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oICovOyB9OwogCQlBNzE4NzYwRTBCMkExMjAx
MDBBMTZFQ0UgLyogRHJhZ0FjdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3MTg3NjBEMEIyQTEyMDEwMEExNkVDRSAvKiBEcmFnQWN0aW9ucy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE3MTg3
ODkwMEIyRDA0QUMwMEExNkVDRSAvKiBEcmFnQ29udHJvbGxlck1hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MTg3ODhGMEIyRDA0QUMwMEExNkVD
RSAvKiBEcmFnQ29udHJvbGxlck1hYy5tbSAqLzsgfTsKKwkJQTcyM0I0QjIxMjM4Q0ZFNzAwNzY4
MTJFIC8qIExheW91dFRlc3RDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MjNCNEIxMTIzOENGRTcwMDc2ODEyRSAvKiBMYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAgKi87IH07CiAJCUE3MzUyQzE5MEIxQkI4OUQwMEE5ODZEMCAvKiBS
ZW5kZXJTVkdCbG9jay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suY3BwICov
OyB9OwogCQlBNzM1MkMxQTBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MzUyQzE4MEIxQkI4
OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5oICovOyB9OwogCQlBNzVFNDk3NjEwNzUyQUNC
MDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFNDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTI4NTcsNiArMjg1OCw3IEBACiAJCUE3NUU4QjhEMEUxREUyRDYwMDdG
MjQ4MSAvKiBGRUNvbXBvbmVudFRyYW5zZmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFOEI4NTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb25l
bnRUcmFuc2Zlci5oICovOyB9OwogCQlBNzVFOEI4RTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21w
b3NpdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTc1RThCODYwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmNwcCAqLzsgfTsKIAkJQTc1
RThCOEYwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFOEI4NzBFMURFMkQ2MDA3RjI0ODEgLyog
RkVDb21wb3NpdGUuaCAqLzsgfTsKKwkJQTc1RjBCNkExMjM4QTM4NTAwQjU5MDZFIC8qIExheW91
dFRlc3RDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzVGMEI2NjEyMzhBMzg1MDBCNTkwNkUgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIu
aCAqLzsgfTsKIAkJQTc3OTc5MTkwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc5NzkxMzBENkI5
RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLzsgfTsKIAkJQTc3OTc5MUEwRDZCOUQwQzAw
Mzg1MUI5IC8qIEltYWdlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTc3OTc5MTQwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5oICovOyB9
OwogCQlBNzc5NzkyODBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3OTc5MjQwRDZCOUU2NDAw
Mzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmNwcCAqLzsgfTsKQEAgLTI4NjgsNyArMjg3MCwxMSBAQAog
CQlBN0FBNjZENzExQzVFRDZBMDAxRDhDOEMgLyogUmVuZGVySW5kaWNhdG9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0FBNjZENTExQzVFRDZBMDAx
RDhDOEMgLyogUmVuZGVySW5kaWNhdG9yLmggKi87IH07CiAJCUE3QUQyRjg3MEVDODlEMDcwMDhB
QjAwMiAvKiBMaW5rSGFzaC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBN0FEMkY4NTBFQzg5RDA3MDA4QUIwMDIgLyogTGlua0hhc2guY3BwICovOyB9
OwogCQlBN0FEMkY4ODBFQzg5RDA3MDA4QUIwMDIgLyogTGlua0hhc2guaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QUQyRjg2MEVDODlEMDcwMDhBQjAw
MiAvKiBMaW5rSGFzaC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUE3QjM4RTNDMTIzOEI0NzkwMDc4OEJENSAvKiBMYXlvdXRUZXN0SGVscGVycy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0IzOEUz
QTEyMzhCNDc5MDA3ODhCRDUgLyogTGF5b3V0VGVzdEhlbHBlcnMuY3BwICovOyB9OworCQlBN0Iz
OEUzRDEyMzhCNDc5MDA3ODhCRDUgLyogTGF5b3V0VGVzdEhlbHBlcnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QjM4RTNCMTIzOEI0NzkwMDc4OEJE
NSAvKiBMYXlvdXRUZXN0SGVscGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUE3QjZFNjlGMEIyOTFBOTYwMEQwNTI5RiAvKiBEcmFnRGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdCNkU2OUQw
QjI5MUE5NjAwRDA1MjlGIC8qIERyYWdEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTdCODdDRTAxMjM4QjY1OTAwNDBFQTlDIC8qIEpTTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTdCODdDREUxMjM4QjY1OTAwNDBFQTlDIC8qIEpTTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwICovOyB9OworCQlBN0I4N0NFMTEyMzhCNjU5MDA0MEVBOUMgLyogSlNMYXlvdXRU
ZXN0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTdCODdDREYxMjM4QjY1OTAwNDBFQTlDIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIu
aCAqLzsgfTsKIAkJQTdCQkUyNjYxMUFGQjNGMjAwMDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0JC
RTI2NDExQUZCM0YyMDAwNUVBMDMgLyogSlNIVE1MTWV0ZXJFbGVtZW50LmNwcCAqLzsgfTsKIAkJ
QTdCQkUyNjcxMUFGQjNGMjAwMDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdCQkUyNjUxMUFGQjNGMjAw
MDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxlbWVudC5oICovOyB9OwogCQlBN0NBNTk1RDBCMjdCRDlF
MDBGQTAyMUQgLyogRHJhZ0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE3Q0E1OTVCMEIyN0JEOUUwMEZBMDIxRCAvKiBEcmFnQ29udHJv
bGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC04NzI2LDYgKzg3MzIsNyBAQAogCQlBNzE4NzYwRDBCMkExMjAxMDBBMTZFQ0UgLyogRHJhZ0Fj
dGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRHJhZ0FjdGlvbnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcxODc4OEYwQjJEMDRBQzAwQTE2RUNFIC8q
IERyYWdDb250cm9sbGVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRHJhZ0NvbnRyb2xsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3MUE3MEM5MTFBRkIwMjAwMDk4OUQ2RCAvKiBIVE1MTWV0ZXJFbGVtZW50LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTcyM0I0QjExMjM4Q0ZFNzAwNzY4MTJFIC8qIExheW91dFRlc3RDb250cm9s
bGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExheW91dFRlc3RD
b250cm9sbGVyLmNwcDsgcGF0aCA9IHRlc3RpbmcvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAgLyog
UmVuZGVyU1ZHQmxvY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlbmRlclNWR0Jsb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTczNTJD
MTgwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBNzVFNDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODczOCw2ICs4NzQ1LDggQEAKIAkJ
QTc1RThCODUwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRkVDb21wb25lbnRUcmFuc2Zlci5oOyBwYXRoID0g
ZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE3NUU4Qjg2MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGRUNvbXBvc2l0ZS5jcHA7IHBhdGggPSBmaWx0
ZXJzL0ZFQ29tcG9zaXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThC
ODcwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEZFQ29tcG9zaXRlLmg7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NUYwQjY2MTIzOEEzODUwMEI1OTA2RSAv
KiBMYXlvdXRUZXN0Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBMYXlvdXRUZXN0Q29udHJvbGxlci5oOyBwYXRoID0gdGVzdGluZy9MYXlvdXRUZXN0Q29udHJv
bGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzVGMEI2NzEyMzhBMzg1MDBC
NTkwNkUgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9
IExheW91dFRlc3RDb250cm9sbGVyLmlkbDsgcGF0aCA9IHRlc3RpbmcvTGF5b3V0VGVzdENvbnRy
b2xsZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzc5NzkxMzBENkI5RDBD
MDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEltYWdlRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3
OTE0MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW1hZ2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3
Nzk3OTE1MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEltYWdlRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NzUw
LDcgKzg3NTksMTEgQEAKIAkJQTdBQTY2RDUxMUM1RUQ2QTAwMUQ4QzhDIC8qIFJlbmRlckluZGlj
YXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJJbmRpY2F0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdBRDJGODUwRUM4OUQwNzAwOEFCMDAy
IC8qIExpbmtIYXNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExp
bmtIYXNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdBRDJGODYwRUM4OUQw
NzAwOEFCMDAyIC8qIExpbmtIYXNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IExpbmtIYXNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QjM4RTNBMTIzOEI0
NzkwMDc4OEJENSAvKiBMYXlvdXRUZXN0SGVscGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBMYXlvdXRUZXN0SGVscGVycy5jcHA7IHBhdGggPSB0ZXN0aW5nL0xh
eW91dFRlc3RIZWxwZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdCMzhF
M0IxMjM4QjQ3OTAwNzg4QkQ1IC8qIExheW91dFRlc3RIZWxwZXJzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IExheW91dFRlc3RIZWxwZXJzLmg7IHBhdGggPSB0ZXN0aW5nL0xh
eW91dFRlc3RIZWxwZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3QjZFNjlE
MEIyOTFBOTYwMEQwNTI5RiAvKiBEcmFnRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEcmFnRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0I4N0NE
RTEyMzhCNjU5MDA0MEVBOUMgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xheW91dFRlc3RDb250cm9sbGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdCODdDREYxMjM4QjY1OTAwNDBFQTlDIC8q
IEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNMYXlvdXRUZXN0Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBN0JCRTI2NDExQUZCM0YyMDAwNUVBMDMgLyogSlNIVE1MTWV0ZXJFbGVtZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRNTE1ldGVyRWxlbWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3QkJFMjY1MTFBRkIzRjIwMDA1RUEwMyAv
KiBKU0hUTUxNZXRlckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNIVE1MTWV0ZXJFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Q0E1
OTVCMEIyN0JEOUUwMEZBMDIxRCAvKiBEcmFnQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEcmFnQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTEzNTUsNiArMTEzNjgsNyBAQAogCQkJCUY1MjNEMkYzMDJERTQ0M0IwMTg2MzVD
QSAvKiByZW5kZXJpbmcgKi8sCiAJCQkJMUFFODJFQzkwQ0FBRTE3NzAwMjIzN0FFIC8qIHN0b3Jh
Z2UgKi8sCiAJCQkJQjIyMjc3Q0EwRDAwQkYxRTAwNzFCNzgyIC8qIHN2ZyAqLywKKwkJCQlBNzVG
MEI1QzEyMzg5Q0IxMDBCNTkwNkUgLyogdGVzdGluZyAqLywKIAkJCQk1MThBMzRCRDEwMjZDODMx
MDAxQjY4OTYgLyogd2Vic29ja2V0cyAqLywKIAkJCQk0QzZCOTkxNTBFNTJFMzczMDA0ODdCQjcg
Lyogd21sICovLAogCQkJCTJFNDM0NjMxMEY1NDZBNjgwMEIwRjFCQSAvKiB3b3JrZXJzICovLApA
QCAtMTE0NDYsNiArMTE0NjAsNyBAQAogCQkJCUJDOTg1NDQ2MENEM0RBNUYwMDA2OUJDMSAvKiBS
YW5nZXMgKi8sCiAJCQkJQTgzQjc5MTUwQ0NCMDA3ODAwMEIwODI1IC8qIFN0b3JhZ2UgKi8sCiAJ
CQkJQTgzQjc5MEEwQ0NBRkY0NzAwMEIwODI1IC8qIFNWRyAqLywKKwkJCQlBNzE1MDQxMzEyMzhB
QjU5MDAzQzM0OTEgLyogVGVzdGluZyAqLywKIAkJCQlFMUM4QkU0QjBFOEJEMEQxMDA2NENCN0Qg
LyogVGhyZWFkcyAqLywKIAkJCQlCQzk4NTQ1MzBDRDNEQThGMDAwNjlCQzEgLyogVHJhdmVyc2Fs
ICovLAogCQkJCTVEQTVFMEY5MTAyQjk1MDQwMDA4OENGOSAvKiBXZWJTb2NrZXRzICovLApAQCAt
MTQ0NzgsNiArMTQ0OTMsMTUgQEAKIAkJCW5hbWUgPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CiAJCX07CisJCUE3MTUwNDEzMTIzOEFCNTkwMDNDMzQ5MSAvKiBUZXN0aW5nICov
ID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlBN0I4N0NERTEy
MzhCNjU5MDA0MEVBOUMgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgKi8sCisJCQkJQTdC
ODdDREYxMjM4QjY1OTAwNDBFQTlDIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCAqLywKKwkJ
CSk7CisJCQluYW1lID0gVGVzdGluZzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07
CiAJCUE3NUU4QjdGMEUxREUyQjAwMDdGMjQ4MSAvKiBmaWx0ZXJzICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTE0NTAyLDYgKzE0NTI2LDE4IEBACiAJCQlu
YW1lID0gZmlsdGVyczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUE3NUYw
QjVDMTIzODlDQjEwMEI1OTA2RSAvKiB0ZXN0aW5nICovID0geworCQkJaXNhID0gUEJYR3JvdXA7
CisJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzIzQjRCMTEyMzhDRkU3MDA3NjgxMkUgLyogTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwICovLAorCQkJCUE3QjM4RTNBMTIzOEI0NzkwMDc4OEJENSAvKiBM
YXlvdXRUZXN0SGVscGVycy5jcHAgKi8sCisJCQkJQTdCMzhFM0IxMjM4QjQ3OTAwNzg4QkQ1IC8q
IExheW91dFRlc3RIZWxwZXJzLmggKi8sCisJCQkJQTc1RjBCNjYxMjM4QTM4NTAwQjU5MDZFIC8q
IExheW91dFRlc3RDb250cm9sbGVyLmggKi8sCisJCQkJQTc1RjBCNjcxMjM4QTM4NTAwQjU5MDZF
IC8qIExheW91dFRlc3RDb250cm9sbGVyLmlkbCAqLywKKwkJCSk7CisJCQluYW1lID0gdGVzdGlu
ZzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUE4M0I3OTA4MENDQUZGMkIw
MDBCMDgyNSAvKiBIVE1MICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKQEAgLTE5MjUxLDYgKzE5Mjg3LDcgQEAKIAkJCQk0OUM3Qjk5NjEwNDJEMkQzMDAwOUQ0NDcg
LyogSlNJbnQ4QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDNUZBRUQyMERDRkQ5MDEwMEQ1
OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjYy
OUQzMDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUE3Qjg3Q0UxMTIzOEI2NTkwMDQwRUE5QyAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzVGNDU0MzBGN0MzQjVGMDBEN0MxRkIgLyogSlNMYXp5RXZl
bnRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFMUM0M0MwRDk4MzBEMzAwM0IwMkYy
IC8qIEpTTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxNDE5MENENjgyNjkwMEZB
REE3NSAvKiBKU01lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovLApAQCAtMTk1MDMsNiArMTk1NDAs
OCBAQAogCQkJCUE0NTZGQTI3MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODVFQzlBRkIwQTcxQTJDNjAwRUVFQUVEIC8qIExhbmd1YWdlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3Rh
dGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NUYwQjZBMTIzOEEzODUwMEI1OTA2RSAvKiBMYXlv
dXRUZXN0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdCMzhFM0QxMjM4QjQ3OTAw
Nzg4QkQ1IC8qIExheW91dFRlc3RIZWxwZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJERDhG
NTBEOTFFNkFGMDAwRjg5RUUgLyogTGVnYWN5V2ViQXJjaGl2ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNFNjVCRUIwRUFDREYxNjAwN0U0NTMzIC8qIExlbmd0aC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNGRjY0OTEwRUFEMTVDMjAwQzFENkY3IC8qIExlbmd0aEJveC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yMTgxNSw2ICsyMTg1NCw3IEBACiAJCQkJMUM1RkFFRDEwRENGRDkwMTAwRDU4Rjc4IC8q
IEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQzVGQUVFNzBE
Q0ZEQTY4MDBENThGNzggLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE4NjYyOUQ0MDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdCODdDRTAxMjM4QjY1OTAwNDBFQTlDIC8qIEpTTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RjQ1NDIwRjdDM0I1
RjAwRDdDMUZCIC8qIEpTTGF6eUV2ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNFMUM0M0IwRDk4MzBEMzAwM0IwMkYyIC8qIEpTTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkNFMUM0NDAwRDk4MzBGNDAwM0IwMkYyIC8qIEpTTG9jYXRpb25DdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0yMjEwNSw2ICsyMjE0NSw3IEBACiAJCQkJQTQ1NkZBMjYxMUFENEE4
MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNTIw
ODQ1MDlCRDQzQjkwMEYyMDM4RCAvKiBMYW5ndWFnZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJE
OTA2NjA2MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBN0IzOEUzQzEyMzhCNDc5MDA3ODhCRDUgLyogTGF5b3V0VGVzdEhlbHBlcnMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTEyREQ4RjQwRDkxRTZBRjAwMEY4OUVFIC8qIExlZ2FjeVdlYkFy
Y2hpdmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFCMjQxN0IwRDkzMUYzRjAwRTgzRjVDIC8q
IExlZ2FjeVdlYkFyY2hpdmVNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0U2NUJFQTBFQUNE
RjE2MDA3RTQ1MzMgLyogTGVuZ3RoLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjI5MzUsNiArMjI5
NzYsNyBAQAogCQkJCTk3QkM4NDgzMTIzNkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnRQYXJz
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdCQzg0QTQxMjM3MERDODAwMEM2MTYxIC8qIFRl
eHRWaWV3U291cmNlUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QkM4NEIzMTIzNzEx
ODAwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTcyM0I0
QjIxMjM4Q0ZFNzAwNzY4MTJFIC8qIExheW91dFRlc3RDb250cm9sbGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS90ZXN0aW5nL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cCBiL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTZlNTU4ODAyYzNiMzg3YjI3YTQyZmM0YzU2MjczMjJlMmUwNjU0ZgotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTAsMCArMSw1
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIu
aCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2lu
Y2x1ZGUgIk5vZGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2ludCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZG9jdW1lbnRNYXJrZXJTaXpl
Rm9yTm9kZShOb2RlKiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IGlt
cGxlbWVudAorICAgIHJldHVybiAwOworfQorCitMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0
VGVzdENvbnRyb2xsZXIoRnJhbWUqIGZyYW1lKQorICAgIDogbV9mcmFtZShmcmFtZSkKK3sKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS90ZXN0aW5nL0xh
eW91dFRlc3RDb250cm9sbGVyLmggYi9XZWJDb3JlL3Rlc3RpbmcvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MGFjYmE2OGRlYjcxZDM2NzNkY2YwNDFjMThiOTQ4M2U1YmYxNDRi
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS90ZXN0aW5nL0xheW91dFRlc3RDb250cm9sbGVy
LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIExheW91dFRlc3RDb250cm9sbGVyX2gKKyNkZWZp
bmUgTGF5b3V0VGVzdENvbnRyb2xsZXJfaAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWU7CitjbGFzcyBOb2RlOwordHlwZWRl
ZiBpbnQgRXhjZXB0aW9uQ29kZTsKKworY2xhc3MgTGF5b3V0VGVzdENvbnRyb2xsZXIgOiBwdWJs
aWMgUmVmQ291bnRlZDxMYXlvdXRUZXN0Q29udHJvbGxlcj4geworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPExheW91dFRlc3RDb250cm9sbGVyPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7
IHJldHVybiBhZG9wdFJlZihuZXcgTGF5b3V0VGVzdENvbnRyb2xsZXIoZnJhbWUpKTsgfQorICAg
IGludCBkb2N1bWVudE1hcmtlclNpemVGb3JOb2RlKE5vZGUqLCBFeGNlcHRpb25Db2RlJikgY29u
c3Q7Citwcml2YXRlOgorICAgIExheW91dFRlc3RDb250cm9sbGVyKEZyYW1lKik7CisgICAgRnJh
bWUqIG1fZnJhbWU7IC8vIERvZXNuJ3QgdXNlIFJlZlB0ciB0byBhdm9pZCBzaWRlIGVmZmVjdHMK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3Rlc3RpbmcvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsIGIvV2ViQ29yZS90ZXN0aW5nL0xh
eW91dFRlc3RDb250cm9sbGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjVjYmM4NjBlMzk3ZjMxZTY4M2I1
ZjIyNDEzNjZmMmZmMmYzNzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS90ZXN0aW5nL0xh
eW91dFRlc3RDb250cm9sbGVyLmlkbApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgewor
CisgICAgaW50ZXJmYWNlIFtPbWl0Q29uc3RydWN0b3JdIExheW91dFRlc3RDb250cm9sbGVyIHsK
KyAgICAgICAgbG9uZyBkb2N1bWVudE1hcmtlclNpemVGb3JOb2RlKGluIE5vZGUgbm9kZSkgcmFp
c2VzKERPTUV4Y2VwdGlvbik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS90ZXN0
aW5nL0xheW91dFRlc3RIZWxwZXJzLmNwcCBiL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0SGVs
cGVycy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBkYzNmMDI4YjVmMmJlMTliMWFhMWM1OWEyNzIzMDQwNjVm
NmNhMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0SGVscGVy
cy5jcHAKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGF5
b3V0VGVzdEhlbHBlcnMuaCIKKworI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgorI2luY2x1
ZGUgIkxheW91dFRlc3RDb250cm9sbGVyLmgiCisKKyNpZiBVU0UoSlNDKQorIyBpbmNsdWRlICJK
U0xheW91dFRlc3RDb250cm9sbGVyLmgiCisjIGluY2x1ZGUgPHBhcnNlci9Tb3VyY2VDb2RlLmg+
CisjIGluY2x1ZGUgPHJ1bnRpbWUvQ29tcGxldGlvbi5oPgorIyBpbmNsdWRlIDxydW50aW1lL0pT
R2xvYmFsT2JqZWN0Lmg+CisjIGluY2x1ZGUgPHJ1bnRpbWUvSlNPYmplY3QuaD4KKyNlbmRpZgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKKworI2lmIFVTRShKU0MpCitzdGF0aWMgSlNDOjpKU09i
amVjdCogY3JlYXRlSlNMYXlvdXRUZXN0Q29udHJvbGxlckZvcihKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBGcmFtZSogZnJhbWUpCit7CisgICAgUmVmUHRyPExheW91dFRlc3RDb250
cm9sbGVyPiBjb250cm9sbGVyID0gTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNyZWF0ZShmcmFtZSk7
CisgICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKTsK
KyAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIGNvbnRyb2xsZXIuZ2V0KCkpLnRv
T2JqZWN0KGV4ZWMpOworfQorCitzdGF0aWMgY29uc3QgY2hhciBzZXR1cExheW91dFRlc3RDb250
cm9sbGVyU2NyaXB0W10gPSAKKyAgICAiZnVuY3Rpb24gZGVsZWdhdGUoZHN0LCBzcmMsIG5hbWUp
IHsgZHN0W25hbWVdID0gZnVuY3Rpb24oKSB7IHJldHVybiBzcmNbbmFtZV0uYXBwbHkoc3JjLCBh
cmd1bWVudHMpOyB9IH1cbiIKKyAgICAiZm9yICh2YXIgbmFtZSBpbiB0aGlzLndlYkNvcmVMYXlv
dXRUZXN0Q29udHJvbGxlcikge1xuIgorICAgICIgICAgZGVsZWdhdGUodGhpcywgdGhpcy53ZWJD
b3JlTGF5b3V0VGVzdENvbnRyb2xsZXIsIG5hbWUpO1xuIgorICAgICJ9XG4iOworCitzdGF0aWMg
Ym9vbCBkZWxlZ2F0ZUxheW91dFRlc3RDb250cm9sbGVyVG8oSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDOjpKU09iamVjdCogdGhpc09iamVjdCwgSlNDOjpKU09iamVjdCogY29u
dHJvbGxlcikKK3sKKyAgICBKU0M6OkV4ZWNTdGF0ZSogZXhlYyA9IGdsb2JhbE9iamVjdC0+Z2xv
YmFsRXhlYygpOworICAgIEpTQzo6SWRlbnRpZmllciBuYW1lKGV4ZWMsICJ3ZWJDb3JlTGF5b3V0
VGVzdENvbnRyb2xsZXIiKTsKKyAgICB0aGlzT2JqZWN0LT5wdXRXaXRoQXR0cmlidXRlcyhleGVj
LCBuYW1lLCBjb250cm9sbGVyLCBKU0M6Ok5vbmUpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgSlNDOjpVU3RyaW5nIHVybCgic2V0
dXBfbGF5b3V0X3Rlc3RfY29udHJvbGxlcl90ZXN0LmpzIik7CisgICAgSlNDOjpVU3RyaW5nIHRl
eHQoc2V0dXBMYXlvdXRUZXN0Q29udHJvbGxlclNjcmlwdCk7CisgICAgSlNDOjpTb3VyY2VDb2Rl
IHNvdXJjZSA9IEpTQzo6bWFrZVNvdXJjZSh0ZXh0LCB1cmwsIDApOworICAgIEpTQzo6Q29tcGxl
dGlvbiBjb21wbGV0aW9uID0gSlNDOjpldmFsdWF0ZShleGVjLCBnbG9iYWxPYmplY3QtPmdsb2Jh
bFNjb3BlQ2hhaW4oKSwgc291cmNlLCB0aGlzT2JqZWN0KTsKKyAgICByZXR1cm4gKGNvbXBsZXRp
b24uY29tcGxUeXBlKCkgIT0gSlNDOjpUaHJvdyk7Cit9CisKK2Jvb2wgYWRkRGVsZWdhdGVGb3JM
YXlvdXRUZXN0Q29udHJvbGxlcihKU0M6OkpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBGcmFtZSogZnJhbWUpCit7CisgICAgSlNDOjpKU09iamVj
dCogY29udHJvbGxlciA9IGNyZWF0ZUpTTGF5b3V0VGVzdENvbnRyb2xsZXJGb3IoZ2xvYmFsT2Jq
ZWN0LCBmcmFtZSk7CisgICAgcmV0dXJuIGRlbGVnYXRlTGF5b3V0VGVzdENvbnRyb2xsZXJUbyhn
bG9iYWxPYmplY3QsIHRoaXNPYmplY3QsIGNvbnRyb2xsZXIpOworfQorCisjZW5kaWYKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS90ZXN0aW5nL0xheW91dFRl
c3RIZWxwZXJzLmggYi9XZWJDb3JlL3Rlc3RpbmcvTGF5b3V0VGVzdEhlbHBlcnMuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iYzJjNzQyZjQ5OWI2ODMyMDU5NzcxMjRkNTY1MjExY2NmYjY5MzFhCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViQ29yZS90ZXN0aW5nL0xheW91dFRlc3RIZWxwZXJzLmgKQEAgLTAsMCArMSw1
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIExheW91dFRlc3RIZWxwZXJzX2gKKyNkZWZpbmUgTGF5b3V0VGVzdEhlbHBl
cnNfaAorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBKU0MgeworY2xh
c3MgSlNPYmplY3Q7CitjbGFzcyBFeGVjU3RhdGU7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgRnJhbWU7CitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKKworI2lmIFVTRShKU0Mp
Citib29sIGFkZERlbGVnYXRlRm9yTGF5b3V0VGVzdENvbnRyb2xsZXIoSlNDOjpKU09iamVjdCog
dGhpc09iamVjdCwgSlNET01HbG9iYWxPYmplY3QqLCBGcmFtZSopOworI2VuZGlmCisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIExheW91dFRlc3RIZWxwZXJzX2gKZGlmZiAt
LWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXgg
ODBhNmIzMTEwNWM1MTkxNjQ5NmI5MTg0ZTE5NDFkN2RiZTc3ZDE2ZC4uMjk3YjkxZjM4MWYyYWM1
MTFlODgxYTRhZDY3Mzg2MzJiNGJhOTk4ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wOS0w
OSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEUlQgc2hvdWxkIGFsbG93IHRlc3Qgc2Ny
aXB0cyB0byBhY2Nlc3MgV2ViQ29yZSBpbnRlcm5hbCBzdGF0ZXMgZm9yIHNldHVwL3ZlcmlmaWNh
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2
MTIKKworICAgICAgICBBZGRlZCBkZWxlZ2F0ZVdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlciwg
d2hpY2ggaW5qZWN0cworICAgICAgICBXZWJDb3JlOjpMVEMgbWV0aG9kcyBpbnRvIGdpdmVuIEpT
IG9iamVjdC4KKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgQVBJIGlzIG9ubHkgZm9yIER1bXBSZW5k
ZXJUcmVlLgorICAgICAgICAKKyAgICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lLm1tOgorICAgICAg
ICAoLVtXZWJGcmFtZSBkZWxlZ2F0ZVdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlcjpdKToKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oOgorCiAyMDEwLTA5LTA4ICBNT1JJVEEg
SGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkg
Q2hhbmcuCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KaW5kZXggNWIyODgzMzMzNTg5NzczMjFkYWQ3MDY0
YmZiNDRlZjdkOTI3MThhYS4uZmM0ZjU0MmQ4MTc5ZjlhYWE3Njg2ZGFmMjhhNzgxNmVjN2I1MGE1
OCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQpAQCAtNzIsNiArNzIsNyBAQAogI2ltcG9ydCA8V2Vi
Q29yZS9IVE1MRnJhbWVPd25lckVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSGlzdG9yeUl0
ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvSGl0VGVzdFJlc3VsdC5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9MYXlvdXRUZXN0SGVscGVycy5oPgogI2ltcG9ydCA8V2ViQ29yZS9MZWdhY3lXZWJBcmNoaXZl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGx1Z2luRGF0
YS5oPgpAQCAtMTQwMCw2ICsxNDAxLDE1IEBAIHN0YXRpYyBOb2RlKiBzcGVsbGluZ05vZGUoRnJh
bWUqIGNvcmVGcmFtZSkKICAgICByZXR1cm4gTk87CiB9CiAKKy0gKEJPT0wpZGVsZWdhdGVXZWJD
b3JlTGF5b3V0VGVzdENvbnRyb2xsZXI6KEpTT2JqZWN0UmVmKXRoaXNPYmplY3QKK3sKKyAgICBG
cmFtZSogY29yZUZyYW1lID0gX3ByaXZhdGUtPmNvcmVGcmFtZTsKKyAgICBpZiAoIWNvcmVGcmFt
ZSkKKyAgICAgICAgcmV0dXJuIE5POworICAgIFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QgPSBjb3JlRnJhbWUtPnNjcmlwdCgpLT5nbG9iYWxPYmplY3QobWFpblRocmVh
ZE5vcm1hbFdvcmxkKCkpOworICAgIHJldHVybiBhZGREZWxlZ2F0ZUZvckxheW91dFRlc3RDb250
cm9sbGVyKHRvSlModGhpc09iamVjdCksIGdsb2JhbE9iamVjdCwgY29yZUZyYW1lKTsKK30KKwog
QGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViRnJhbWUKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaCBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVBy
aXZhdGUuaAppbmRleCA5Y2I2MjMyMzJiNGExYzNlNTM1YjMxZjZkNDlkNjc0MWJlZTcxOTJmLi5h
ZDk5NGRlM2UyN2ZkMzBjOTk3Yjk5ZTAxNjQzNDFkZTQyOTgwYmFjIDEwMDY0NAotLS0gYS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgKKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkZyYW1lUHJpdmF0ZS5oCkBAIC0xNDYsNCArMTQ2LDYgQEAgdHlwZWRlZiBlbnVtIHsKIC8v
IFJldHVybnMgd2hldGhlciB0aGVyZSBpcyBhIHNwZWxsaW5nIG1hcmtlciBpbiB0aGUgc3BlY2lm
aWVkIHJhbmdlIG9mIHRoZSBmb2N1c2VkIG5vZGUuCiAtIChCT09MKWhhc1NwZWxsaW5nTWFya2Vy
OihpbnQpbG9jYXRpb24gbGVuZ3RoOihpbnQpbGVuZ3RoOwogCisvLyBDcmVhdGVzIFdlYkNvcmU6
TGF5b3V0VGVzdENvbnRyb2xsZXIgYW5kIGFkZHMgZGVsZ2F0ZXMgZm9yIHRoZSBjb250cm9sbGVy
IHRvIGdpdmVuIG9iamVjdC4KKy0gKEJPT0wpZGVsZWdhdGVXZWJDb3JlTGF5b3V0VGVzdENvbnRy
b2xsZXI6KEpTT2JqZWN0UmVmKXRoaXNPYmplY3Q7CiBAZW5kCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggYjhkYmRhYzAxZmNm
OTBmZjEyYjhjMzlmZjZiOWRkNTc2MDY5NTdhYi4uZjI3MzRkZTZkZDBkNmJhNjY1ZDM1NGQ1OGZj
MTM4NDU2ZjgwYTBmNiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEwLTA5LTA5ICBNT1JJVEEg
SGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIERSVCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRvIGFj
Y2VzcyBXZWJDb3JlIGludGVybmFsIHN0YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgorCisgICAg
ICAgIEluamVjdCBXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxlciB0byBEdW1wUmVuZGVyVHJl
ZS1kZWZpbmVkIExheW91dFRlc3RDb250cm9sbGVyLgorICAgICAgICBUaGlzIG1ha2VzIFdlYkNP
cmU6OkxUQyBBUEkgYXZhaWFsYmxlIGZyb20gdGhlIHRlc3QgY2FzZXMuCisKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAoTGF5b3V0VGVz
dENvbnRyb2xsZXI6Om1ha2VXaW5kb3dPYmplY3QpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
d3JhcHBlck9iamVjdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERl
bGVnYXRlLm1tOgorICAgICAgICAoLVtGcmFtZUxvYWREZWxlZ2F0ZSBkaWRDbGVhcldpbmRvd09i
amVjdEluU3RhbmRhcmRXb3JsZEZvckZyYW1lOl0pOiBpbmplY3QgV2ViQ29yZTo6TFRDIHRvIERS
VDo6TFRDCisKIDIwMTAtMDktMDggIFZpY3RvciBXYW5nICA8dmljdG9yd0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCAxNjQzYmE2ZDNh
OWM2ODRlOTE2MDliOTI0OGE5ODU5ZGI5NzBmYmMxLi45ZjIwZDk3YmIxY2UzNTQzODBkMjY1ZDJi
NWNhNmNmMTMzZTA4M2VlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC04Myw2ICs4Myw3IEBAIExheW91dFRlc3RDb250
cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihjb25zdCBzdGQ6OnN0cmluZyYgdGVzdFBhdGhP
clVSTCwgY29uCiAgICAgLCBtX2RlZmVyTWFpblJlc291cmNlRGF0YUxvYWQodHJ1ZSkKICAgICAs
IG1fdGVzdFBhdGhPclVSTCh0ZXN0UGF0aE9yVVJMKQogICAgICwgbV9leHBlY3RlZFBpeGVsSGFz
aChleHBlY3RlZFBpeGVsSGFzaCkKKyAgICAsIG1fd3JhcHBlck9iamVjdCgwKQogewogfQogCkBA
IC0xNzk4LDEwICsxNzk5LDEwIEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1ha2VXaW5k
b3dPYmplY3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpCiAgICAgcmVmKCk7
CiAKICAgICBKU0NsYXNzUmVmIGNsYXNzUmVmID0gZ2V0SlNDbGFzcygpOwotICAgIEpTVmFsdWVS
ZWYgbGF5b3V0VGVzdENvbnRvbGxlck9iamVjdCA9IEpTT2JqZWN0TWFrZShjb250ZXh0LCBjbGFz
c1JlZiwgdGhpcyk7CisgICAgbV93cmFwcGVyT2JqZWN0ID0gSlNPYmplY3RNYWtlKGNvbnRleHQs
IGNsYXNzUmVmLCB0aGlzKTsKICAgICBKU0NsYXNzUmVsZWFzZShjbGFzc1JlZik7CiAKLSAgICBK
U09iamVjdFNldFByb3BlcnR5KGNvbnRleHQsIHdpbmRvd09iamVjdCwgbGF5b3V0VGVzdENvbnRv
bGxlclN0ci5nZXQoKSwgbGF5b3V0VGVzdENvbnRvbGxlck9iamVjdCwga0pTUHJvcGVydHlBdHRy
aWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSwgZXhjZXB0aW9u
KTsKKyAgICBKU09iamVjdFNldFByb3BlcnR5KGNvbnRleHQsIHdpbmRvd09iamVjdCwgbGF5b3V0
VGVzdENvbnRvbGxlclN0ci5nZXQoKSwgbV93cmFwcGVyT2JqZWN0LCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlLCBleGNlcHRpb24p
OwogfQogCiBKU0NsYXNzUmVmIExheW91dFRlc3RDb250cm9sbGVyOjpnZXRKU0NsYXNzKCkKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVy
LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmlu
ZGV4IDJiZjdhNzVhYjM1N2ZiMzI1MTI5ZjkzNmYyNmViZTZkYzcwOTYxMzEuLjk5ZTA5MzViZDY1
Yzc3YTJjZTFlODM4OWVhZDU3YTc2MzU2YmJiYTkgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMjkwLDYgKzI5MCw4IEBAIHB1
YmxpYzoKIAogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBtYXJrZXJUZXh0Rm9yTGlzdEl0
ZW0oSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCkgY29uc3Q7CiAK
KyAgICBKU1ZhbHVlUmVmIHdyYXBwZXJPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX3dyYXBwZXJP
YmplY3Q7IH0KKwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhWaWV3V2lkdGg7CiAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFZpZXdIZWlnaHQ7CiAKQEAgLTM0OCw2ICszNTAsOCBA
QCBwcml2YXRlOgogICAgIAogICAgIC8vIG9yaWdpbnMgd2hpY2ggaGF2ZSBiZWVuIGdyYW50ZWQg
ZGVza3RvcCBub3RpZmljYXRpb24gYWNjZXNzCiAgICAgc3RkOjp2ZWN0b3I8SlNTdHJpbmdSZWY+
IG1fZGVza3RvcE5vdGlmaWNhdGlvbkFsbG93ZWRPcmlnaW5zOworCisgICAgSlNWYWx1ZVJlZiBt
X3dyYXBwZXJPYmplY3Q7CiAgICAgCiAgICAgc3RhdGljIEpTQ2xhc3NSZWYgZ2V0SlNDbGFzcygp
OwogICAgIHN0YXRpYyBKU1N0YXRpY1ZhbHVlKiBzdGF0aWNWYWx1ZXMoKTsKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbSBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQppbmRleCA5
NjNlYWU3MGZhNTlkODFlZmNmZWI4YWIxZTg4MzZjNTU3YzdhY2NkLi43MjZjZmIyNjUxZDFkOTBi
OGRlY2U3YzFhYmFkNDhmM2U5MWMwYjY2IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCkBAIC0yNDcsNiArMjQ3LDkgQEAKICAg
ICBBU1NFUlQoZ0xheW91dFRlc3RDb250cm9sbGVyKTsKICAgICBnTGF5b3V0VGVzdENvbnRyb2xs
ZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uKTsK
ICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CisgICAgQk9PTCBvayA9IFtmcmFtZSBkZWxlZ2F0ZVdl
YkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlcjogSlNWYWx1ZVRvT2JqZWN0KGNvbnRleHQsIGdMYXlv
dXRUZXN0Q29udHJvbGxlci0+d3JhcHBlck9iamVjdCgpLCAmZXhjZXB0aW9uKV07CisgICAgQVNT
RVJUKG9rKTsKKyAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CiAKICAgICBnY0NvbnRyb2xsZXItPm1h
a2VXaW5kb3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uKTsKICAgICBB
U1NFUlQoIWV4Y2VwdGlvbik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67131</attachid>
            <date>2010-09-09 18:25:47 -0700</date>
            <delta_ts>2011-01-25 21:29:16 -0800</delta_ts>
            <desc>an attempt to fix GTK+ build</desc>
            <filename>bug-42612-20100910102545.patch</filename>
            <type>text/plain</type>
            <size>45963</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkOGQ2YTZiZDZlNjA2NmMwNDcxNjUzOGVkZWQ0YzEwMWI4N2JiMWE3Li5iMDdiYjQ5
NTM4NDY0MjZkNjJmYWRkOWJmODVlODQ4N2Q2Mzc2OWMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMDktMDkgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRFJUIHNob3VsZCBhbGxv
dyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUgaW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1
cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyNjEyCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvbGF5b3V0LXRlc3QtY29u
dHJvbGxlci13ZWJjb3JlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20v
V2luZG93L2xheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL2xheW91dC10ZXN0LWNvbnRyb2xsZXIt
d2ViY29yZS5qczogQWRkZWQuCisKIDIwMTAtMDktMDkgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZXhwZWN0YXRpb25zIGNoYW5nZS4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9sYXlvdXQtdGVzdC1jb250
cm9sbGVyLXdlYmNvcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L2xheW91dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWY2ZmZmZDIzMTVkNGM3YWIyZjc0ZWY2YTlhZGM5NDA3Yzc2OWZkMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9sYXlvdXQtdGVzdC1jb250cm9sbGVyLXdl
YmNvcmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK3dpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlciBzaG91bGQgaGF2ZSBmdW5jdGlvbnMgZGVmaW5lZCBpbiBMYXlvdXRUZXN0Q29udHJv
bGxlci5pZGwKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdW5kZWZpbmVk
ICE9IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciBpcyB0cnVlCitQQVNTIHVuZGVmaW5lZCAh
PSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZSBp
cyB0cnVlCitQQVNTIDAgPT0gd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50TWFy
a2VyU2l6ZUZvck5vZGUod2luZG93Lm5vZGUpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjU3Yzk1MzBjNTg2ZDdiYzliN2Y1Zjg1ODQ0ZDIzNGQwYjlmYjUyNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9sYXlvdXQtdGVz
dC1jb250cm9sbGVyLXdlYmNvcmUuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xheW91dC10ZXN0
LWNvbnRyb2xsZXItd2ViY29yZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL2xheW91
dC10ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy9zY3JpcHQtdGVzdHMvbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjFlYmQzOWNiMTIxMzZhODEyYjRlMWY4MjdmNzE1ZWRlMDBkODE0ZmYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL2xheW91dC10
ZXN0LWNvbnRyb2xsZXItd2ViY29yZS5qcwpAQCAtMCwwICsxLDcgQEAKK2Rlc2NyaXB0aW9uKCJ3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgc2hvdWxkIGhhdmUgZnVuY3Rpb25zIGRlZmluZWQg
aW4gTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsIik7Cit3aW5kb3cubm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKCIiKTsKK3Nob3VsZEJlVHJ1ZSgidW5kZWZpbmVkICE9IHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlciIpOworc2hvdWxkQmVUcnVlKCJ1bmRlZmluZWQgIT0gd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyLmRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUiKTsKK3Nob3VsZEJl
VHJ1ZSgiMCA9PSB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZG9jdW1lbnRNYXJrZXJTaXpl
Rm9yTm9kZSh3aW5kb3cubm9kZSkiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3YjNmYjhhZmFmYjRiMDEzMzdlNzA4NDU4MWVl
OWYwM2I0NzQwMDFkLi5kM2NhOThlMDAyZDdlNzljZmUxODk0ZDU5NGM1ZmVkODQxZGZhNTZiIDEw
MDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM4IEBACisyMDEwLTA5LTA5ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERS
VCBzaG91bGQgYWxsb3cgdGVzdCBzY3JpcHRzIHRvIGFjY2VzcyBXZWJDb3JlIGludGVybmFsIHN0
YXRlcyBmb3Igc2V0dXAvdmVyaWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MjYxMgorCisgICAgICAgIC0gQWRkZWQgV2ViQ29yZTo6TGF5
b3V0VGVzdENvbnRyb2xsZXIgYW5kIGl0cyBKUyBiaW5kaW5nCisgICAgICAgICAgVGhlIGNsYXNz
IGN1cnJlbnRseSBoYXMgb25lIHN0dWIgbWV0aG9kIHdob3NlIGltcGxlbWVudGF0aW9uIHdpbGwg
Y29tZSBsYXRlci4KKyAgICAgICAgLSBBZGRlZCBhZGREZWxlZ2F0ZUZvckxheW91dFRlc3RDb250
cm9sbGVyKCkgdG8gY29tYmluZSBXZWJDb3JlOjpMVEMgYW5kIExheW91dFRlc3RDb250cm9sbGVy
CisgICAgICAgICAgZGVmaW5lZCBpbiBEdW1wUmVuZGVyVHJlZS4gdGhlCisgICAgICAgIE5vdGUg
dGhhdCB0ZXN0aW5nLXJlbGF0ZWQgY29kZSBpcyBsb2NhdGVkIHVuZGVyIHRlc3RpbmcvIGFuZCB0
aGUgcmVzdCBvZiBXZWJDb3JlIGRvZXMgbm90IGRlcGVuZCBvbiBpdC4KKworICAgICAgICBUZXN0
OiBmYXN0L2RvbS9XaW5kb3cvbGF5b3V0LXRlc3QtY29udHJvbGxlci13ZWJjb3JlLmh0bWwKKwor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5t
YWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmlu
OgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAg
ICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB0ZXN0aW5nL0xheW91dFRlc3RDb250
cm9sbGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRUZXN0Q29udHJvbGxl
cjo6ZG9jdW1lbnRNYXJrZXJTaXplRm9yTm9kZSk6IEFuIHN0dWIgdGVzdCBtZXRob2Qgd2hpY2gg
ZG9lcyBub3RoaW5nLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6Okxh
eW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0xheW91dFRlc3RDb250cm9s
bGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OmNy
ZWF0ZSk6CisgICAgICAgICogdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGw6IEFkZGVk
LgorICAgICAgICAqIHRlc3RpbmcvTGF5b3V0VGVzdEhlbHBlcnMuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OmNyZWF0ZUpTTGF5b3V0VGVzdENvbnRyb2xsZXJGb3IpOgorICAgICAgICAo
V2ViQ29yZTo6ZGVsZWdhdGVMYXlvdXRUZXN0Q29udHJvbGxlclRvKToKKyAgICAgICAgKFdlYkNv
cmU6OmFkZERlbGVnYXRlRm9yTGF5b3V0VGVzdENvbnRyb2xsZXIpOiBNYWtlcyBkZWxlZ2F0ZSBt
ZXRob2QgdG8gZ2l2ZW4gSlMgb2JqZWN0LgorICAgICAgICAqIHRlc3RpbmcvTGF5b3V0VGVzdEhl
bHBlcnMuaDogQWRkZWQuCisKIDIwMTAtMDktMDkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCmluZGV4IDgxZjQwNzAwMWM5NjFhYzRjNjE2MjJiYjgwYWExODk2ODBlZWZlOGEuLmZmZTlm
NmRjZTc1NGY0ZjljZTJkNDIwMTBhYjQwOGMxZGFiYTY2MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0y
MTAsNiArMjEwLDcgQEAKICNpbmNsdWRlICJKU0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAiCiAj
aW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCIKICNpbmNsdWRlICJKU0tleWJvYXJk
RXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIgogI2luY2x1
ZGUgIkpTTG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFFcnJvci5jcHAiCiAjaW5jbHVk
ZSAiSlNNZWRpYUxpc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDZmZDFjZGVlMTZkZDliNWVk
ZmM0N2ViM2NlMGMzMWMyYTJlMzNmMjguLjNjMTIzNDNlYTYzMmYyMmUwNjQ0MTQwNTA0ZTE0NWI2
N2U3NmQ2NTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTQ2LDYgKzQ2LDcgQEAgVlBBVEggPSBcCiAg
ICAgJChXZWJDb3JlKS93bWwgXAogICAgICQoV2ViQ29yZSkvd29ya2VycyBcCiAgICAgJChXZWJD
b3JlKS9zdmcgXAorICAgICQoV2ViQ29yZSkvdGVzdGluZyBcCiAgICAgJChXZWJDb3JlKS93ZWJz
b2NrZXRzIFwKICMKIApAQCAtMjU0LDYgKzI1NSw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIElu
amVjdGVkU2NyaXB0SG9zdCBcCiAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0IFwKICAgICBLZXli
b2FyZEV2ZW50IFwKKyAgICBMYXlvdXRUZXN0Q29udHJvbGxlciBcCiAgICAgTG9jYXRpb24gXAog
ICAgIE1lZGlhRXJyb3IgXAogICAgIE1lZGlhTGlzdCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA1NzNiN2RiOWZiOTky
MWJlZTZmNDZhNmEyY2VhZTc1ODYzMTc2YTY5Li44MmFlM2UyYmMxZDhlN2YyZjgzYzRkNTA4Mzcw
YjZlMGYyYTBjOTVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTU2LDYgKzU2LDcgQEAgd2ViY29yZV9jcHBmbGFncyAr
PSBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9zdmcvYW5pbWF0aW9uIFwKIAktSSQoc3JjZGlyKS9X
ZWJDb3JlL3N2Zy9ncmFwaGljcyBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
ZmlsdGVycyBcCisJLUkkKHNyY2RpcikvV2ViQ29yZS90ZXN0aW5nIFwKIAktSSQoc3JjZGlyKS9X
ZWJDb3JlL3dlYnNvY2tldHMgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvd21sIFwKIAktSSQoc3Jj
ZGlyKS9XZWJDb3JlL3dvcmtlcnMgXApAQCAtNDA5LDYgKzQxMCw3IEBAIHdlYmNvcmVfYnVpbHRf
c291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0phdmFTY3JpcHRDYWxsRnJh
bWUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTS2V5Ym9hcmRFdmVudC5oIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTG9jYXRpb24uY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTG9jYXRp
b24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhRXJyb3IuY3BwIFwKQEAgLTI0
MzIsNiArMjQzNCwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlVHJhbnNmb3JtRGF0YS5oIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVZpc3VhbERhdGEuY3BwIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3Vh
bERhdGEuaCBcCisJV2ViQ29yZS90ZXN0aW5nL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBcCisJ
V2ViQ29yZS90ZXN0aW5nL0xheW91dFRlc3RDb250cm9sbGVyLmggXAorCVdlYkNvcmUvdGVzdGlu
Zy9MYXlvdXRUZXN0SGVscGVycy5jcHAgXAorCVdlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0SGVs
cGVycy5oIFwKIAlXZWJDb3JlL3htbC9ET01QYXJzZXIuY3BwIFwKIAlXZWJDb3JlL3htbC9ET01Q
YXJzZXIuaCBcCiAJV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIFwKQEAgLTQ1NjksNiAr
NDU3NSw3IEBAIElETF9QQVRIIDo9IFwKICAgICAkKFdlYkNvcmUpL3BsdWdpbnMgXAogICAgICQo
V2ViQ29yZSkvc3RvcmFnZSBcCiAgICAgJChXZWJDb3JlKS9zdmcgXAorICAgICQoV2ViQ29yZSkv
dGVzdGluZyBcCiAgICAgJChXZWJDb3JlKS93ZWJzb2NrZXRzIFwKICAgICAkKFdlYkNvcmUpL3dv
cmtlcnMgXAogICAgICQoV2ViQ29yZSkveG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBhMmQ1YTM5Yjk4NzAwMmI0MDk0
YTVjNGVjM2I2YWI5MjU5ZTkzOTlhLi4yMTIyYmFhMmY2YWVmY2JkZDQ5ZjA3MzAxMWNkODU0YmFj
YzVlMjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KQEAgLTUyMCw2ICs1MjAsNyBAQCBfX1pON1dlYkNvcmUzMmNvbnRleHRN
ZW51SXRlbVRhZ1NtYXJ0Q29weVBhc3RlRXYKIF9fWk43V2ViQ29yZTMycGxhaW5UZXh0VG9NYWxs
b2NBbGxvY2F0ZWRCdWZmZXJFUEtOU181UmFuZ2VFUmpiCiBfX1pON1dlYkNvcmUzM2NvbnRleHRN
ZW51SXRlbVRhZ1RleHRSZXBsYWNlbWVudEV2CiBfX1pON1dlYkNvcmUzM3NldERlZmF1bHRUaHJl
YWRWaW9sYXRpb25CZWhhdmlvckVOU18yM1RocmVhZFZpb2xhdGlvbkJlaGF2aW9yRU5TXzIwVGhy
ZWFkVmlvbGF0aW9uUm91bmRFCitfX1pON1dlYkNvcmUzNGFkZERlbGVnYXRlRm9yTGF5b3V0VGVz
dENvbnRyb2xsZXJFUE4zSlNDOEpTT2JqZWN0RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOU181
RnJhbWVFCiBfX1pON1dlYkNvcmUzNGNvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb25F
dgogX19aTjdXZWJDb3JlMzVjb250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxpbmdQYW5lbEViCiBf
X1pON1dlYkNvcmUzNWNvbnRleHRNZW51SXRlbVRhZ1Nob3dTdWJzdGl0dXRpb25zRWIKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9XZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IGE0
YzY5YjEwYzJhMGU2NjBjZjZmYmY3MjZhZTNmMzhlMDZjZjJhOTcuLmY3ZGZjMzI3NDQ3ODE3OGY1
YzRiYzY0NjAwZTc4ZTEyMjE4YWQzMTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtNDY4LDYgKzQ2OCw3IEBAIElETF9CSU5ESU5H
UyArPSBcCiAgICAgc3ZnL1NWR1VzZUVsZW1lbnQuaWRsIFwKICAgICBzdmcvU1ZHVmlld0VsZW1l
bnQuaWRsIFwKICAgICBzdmcvU1ZHVktlcm5FbGVtZW50LmlkbCBcCisgICAgdGVzdGluZy9MYXlv
dXRUZXN0Q29udHJvbGxlci5pZGwgXAogICAgIHdlYnNvY2tldHMvV2ViU29ja2V0LmlkbCBcCiAg
ICAgd29ya2Vycy9BYnN0cmFjdFdvcmtlci5pZGwgXAogICAgIHdvcmtlcnMvRGVkaWNhdGVkV29y
a2VyQ29udGV4dC5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNv
cmUvV2ViQ29yZS5wcm8KaW5kZXggYjlkNDBmY2Q3NTMxNWNkMzFmMTBiZjA4NjJiMDBjZWY2YTg1
YWI3Yi4uYmNkNDg2YmUzNGI3NjllODIyNjYxMzRhOGVlZThmMjg5MTA5ODljNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0yMjUs
NiArMjI1LDcgQEAgV0VCQ09SRV9JTkNMVURFUEFUSCA9IFwKICAgICAkJFBXRC9zdmcvZ3JhcGhp
Y3MgXAogICAgICQkUFdEL3N2Zy9ncmFwaGljcy9maWx0ZXJzIFwKICAgICAkJFBXRC93ZWJzb2Nr
ZXRzIFwKKyAgICAkJFBXRC90ZXN0aW5nIFwKICAgICAkJFBXRC93bWwgXAogICAgICQkUFdEL3dv
cmtlcnMgXAogICAgICQkUFdEL3htbCBcCkBAIC0xMDg4LDYgKzEwODksOCBAQCBTT1VSQ0VTICs9
IFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3VuZERhdGEuY3BwIFwKICAgICByZW5k
ZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmNwcCBcCiAgICAgcmVuZGVyaW5nL3N0eWxl
L1N0eWxlVmlzdWFsRGF0YS5jcHAgXAorICAgIHRlc3RpbmcvTGF5b3V0VGVzdENvbnRyb2xsZXIu
Y3BwIFwKKyAgICB0ZXN0aW5nL0xheW91dFRlc3RIZWxwZXJzLmNwcCBcCiAgICAgeG1sL0RPTVBh
cnNlci5jcHAgXAogICAgIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHAgXAogICAgIHhtbC9YTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgXApAQCAtMjE1MCw2ICsyMTUzLDggQEAg
SEVBREVSUyArPSBcCiAgICAgc3ZnL1NWR1ZLZXJuRWxlbWVudC5oIFwKICAgICBzdmcvU1ZHWm9v
bUFuZFBhbi5oIFwKICAgICBzdmcvU1ZHWm9vbUV2ZW50LmggXAorICAgIHRlc3RpbmcvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaCBcCisgICAgdGVzdGluZy9MYXlvdXRUZXN0SGVscGVycy5oIFwKICAg
ICB3bWwvV01MQWNjZXNzRWxlbWVudC5oIFwKICAgICB3bWwvV01MQUVsZW1lbnQuaCBcCiAgICAg
d21sL1dNTEFuY2hvckVsZW1lbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCBiNmNkMmM1MmIwOTNmOTk0MTg4MTI4MGQ5MDcyMDJjZDRiOTgwNTA4Li5mMzk3MDAz
NGNmZGY2YmYyYThlYTUzZWQyYWNlYjJlMjE3YzFhMGRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTk3MDksNiArOTcwOSw2MiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIg0K
KwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxX
aW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRv
b2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1
Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
Pg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4N
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
KwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0
aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9
IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNN
ZWRpYUVycm9yLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC01MzEw
NSw2ICs1MzE2MSwyNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQk8L0ZpbHRlcj4NCisJCTxG
aWx0ZXINCisJCQlOYW1lPSJ0ZXN0aW5nIg0KKwkJCT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHRlc3RpbmdcTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cdGVzdGluZ1xMYXlvdXRU
ZXN0Q29udHJvbGxlci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cdGVzdGluZ1xMYXlvdXRUZXN0SGVscGVycy5jcHAiDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlx0ZXN0aW5nXExheW91
dFRlc3RIZWxwZXJzLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQk8L0ZpbHRlcj4NCiAJCTxG
aWxlDQogCQkJUmVsYXRpdmVQYXRoPSIuLlxjb25maWcuaCINCiAJCQk+DQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxMDI3ZmVjNzYzMTFhZWI4NDk2NzBj
ZDllZmI0MzI5ZDczOWY2NzYxLi5hMTJlZjRhOTVkYmFkYWIzOTRjOGE0OWMzNzU4MDVjY2FmOGJm
N2M0IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjg0
Nyw2ICsyODQ3LDcgQEAKIAkJQTVBRkIzNTAxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBRkIzNEUx
MTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oICovOyB9OwogCQlBNzE4NzYwRTBCMkExMjAx
MDBBMTZFQ0UgLyogRHJhZ0FjdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3MTg3NjBEMEIyQTEyMDEwMEExNkVDRSAvKiBEcmFnQWN0aW9ucy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE3MTg3
ODkwMEIyRDA0QUMwMEExNkVDRSAvKiBEcmFnQ29udHJvbGxlck1hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MTg3ODhGMEIyRDA0QUMwMEExNkVD
RSAvKiBEcmFnQ29udHJvbGxlck1hYy5tbSAqLzsgfTsKKwkJQTcyM0I0QjIxMjM4Q0ZFNzAwNzY4
MTJFIC8qIExheW91dFRlc3RDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MjNCNEIxMTIzOENGRTcwMDc2ODEyRSAvKiBMYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAgKi87IH07CiAJCUE3MzUyQzE5MEIxQkI4OUQwMEE5ODZEMCAvKiBS
ZW5kZXJTVkdCbG9jay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suY3BwICov
OyB9OwogCQlBNzM1MkMxQTBCMUJCODlEMDBBOTg2RDAgLyogUmVuZGVyU1ZHQmxvY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MzUyQzE4MEIxQkI4
OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5oICovOyB9OwogCQlBNzVFNDk3NjEwNzUyQUNC
MDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFNDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTI4NTksNiArMjg2MCw3IEBACiAJCUE3NUU4QjhEMEUxREUyRDYwMDdG
MjQ4MSAvKiBGRUNvbXBvbmVudFRyYW5zZmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFOEI4NTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb25l
bnRUcmFuc2Zlci5oICovOyB9OwogCQlBNzVFOEI4RTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21w
b3NpdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTc1RThCODYwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmNwcCAqLzsgfTsKIAkJQTc1
RThCOEYwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzVFOEI4NzBFMURFMkQ2MDA3RjI0ODEgLyog
RkVDb21wb3NpdGUuaCAqLzsgfTsKKwkJQTc1RjBCNkExMjM4QTM4NTAwQjU5MDZFIC8qIExheW91
dFRlc3RDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzVGMEI2NjEyMzhBMzg1MDBCNTkwNkUgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIu
aCAqLzsgfTsKIAkJQTc3OTc5MTkwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzc5NzkxMzBENkI5
RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLzsgfTsKIAkJQTc3OTc5MUEwRDZCOUQwQzAw
Mzg1MUI5IC8qIEltYWdlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTc3OTc5MTQwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5oICovOyB9
OwogCQlBNzc5NzkyODBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc3OTc5MjQwRDZCOUU2NDAw
Mzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmNwcCAqLzsgfTsKQEAgLTI4NzAsNyArMjg3MiwxMSBAQAog
CQlBN0FBNjZENzExQzVFRDZBMDAxRDhDOEMgLyogUmVuZGVySW5kaWNhdG9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0FBNjZENTExQzVFRDZBMDAx
RDhDOEMgLyogUmVuZGVySW5kaWNhdG9yLmggKi87IH07CiAJCUE3QUQyRjg3MEVDODlEMDcwMDhB
QjAwMiAvKiBMaW5rSGFzaC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBN0FEMkY4NTBFQzg5RDA3MDA4QUIwMDIgLyogTGlua0hhc2guY3BwICovOyB9
OwogCQlBN0FEMkY4ODBFQzg5RDA3MDA4QUIwMDIgLyogTGlua0hhc2guaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QUQyRjg2MEVDODlEMDcwMDhBQjAw
MiAvKiBMaW5rSGFzaC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUE3QjM4RTNDMTIzOEI0NzkwMDc4OEJENSAvKiBMYXlvdXRUZXN0SGVscGVycy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0IzOEUz
QTEyMzhCNDc5MDA3ODhCRDUgLyogTGF5b3V0VGVzdEhlbHBlcnMuY3BwICovOyB9OworCQlBN0Iz
OEUzRDEyMzhCNDc5MDA3ODhCRDUgLyogTGF5b3V0VGVzdEhlbHBlcnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QjM4RTNCMTIzOEI0NzkwMDc4OEJE
NSAvKiBMYXlvdXRUZXN0SGVscGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUE3QjZFNjlGMEIyOTFBOTYwMEQwNTI5RiAvKiBEcmFnRGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdCNkU2OUQw
QjI5MUE5NjAwRDA1MjlGIC8qIERyYWdEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTdCODdDRTAxMjM4QjY1OTAwNDBFQTlDIC8qIEpTTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTdCODdDREUxMjM4QjY1OTAwNDBFQTlDIC8qIEpTTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwICovOyB9OworCQlBN0I4N0NFMTEyMzhCNjU5MDA0MEVBOUMgLyogSlNMYXlvdXRU
ZXN0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTdCODdDREYxMjM4QjY1OTAwNDBFQTlDIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIu
aCAqLzsgfTsKIAkJQTdCQkUyNjYxMUFGQjNGMjAwMDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0JC
RTI2NDExQUZCM0YyMDAwNUVBMDMgLyogSlNIVE1MTWV0ZXJFbGVtZW50LmNwcCAqLzsgfTsKIAkJ
QTdCQkUyNjcxMUFGQjNGMjAwMDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdCQkUyNjUxMUFGQjNGMjAw
MDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxlbWVudC5oICovOyB9OwogCQlBN0NBNTk1RDBCMjdCRDlF
MDBGQTAyMUQgLyogRHJhZ0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE3Q0E1OTVCMEIyN0JEOUUwMEZBMDIxRCAvKiBEcmFnQ29udHJv
bGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC04NzI4LDYgKzg3MzQsNyBAQAogCQlBNzE4NzYwRDBCMkExMjAxMDBBMTZFQ0UgLyogRHJhZ0Fj
dGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRHJhZ0FjdGlvbnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcxODc4OEYwQjJEMDRBQzAwQTE2RUNFIC8q
IERyYWdDb250cm9sbGVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRHJhZ0NvbnRyb2xsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3MUE3MEM5MTFBRkIwMjAwMDk4OUQ2RCAvKiBIVE1MTWV0ZXJFbGVtZW50LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTcyM0I0QjExMjM4Q0ZFNzAwNzY4MTJFIC8qIExheW91dFRlc3RDb250cm9s
bGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExheW91dFRlc3RD
b250cm9sbGVyLmNwcDsgcGF0aCA9IHRlc3RpbmcvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAgLyog
UmVuZGVyU1ZHQmxvY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlbmRlclNWR0Jsb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTczNTJD
MTgwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBNzVFNDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODc0MCw2ICs4NzQ3LDggQEAKIAkJ
QTc1RThCODUwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9uZW50VHJhbnNmZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRkVDb21wb25lbnRUcmFuc2Zlci5oOyBwYXRoID0g
ZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE3NUU4Qjg2MEUxREUyRDYwMDdGMjQ4MSAvKiBGRUNvbXBvc2l0ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGRUNvbXBvc2l0ZS5jcHA7IHBhdGggPSBmaWx0
ZXJzL0ZFQ29tcG9zaXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc1RThC
ODcwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9zaXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEZFQ29tcG9zaXRlLmg7IHBhdGggPSBmaWx0ZXJzL0ZFQ29tcG9zaXRlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NUYwQjY2MTIzOEEzODUwMEI1OTA2RSAv
KiBMYXlvdXRUZXN0Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBMYXlvdXRUZXN0Q29udHJvbGxlci5oOyBwYXRoID0gdGVzdGluZy9MYXlvdXRUZXN0Q29udHJv
bGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNzVGMEI2NzEyMzhBMzg1MDBC
NTkwNkUgLyogTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9
IExheW91dFRlc3RDb250cm9sbGVyLmlkbDsgcGF0aCA9IHRlc3RpbmcvTGF5b3V0VGVzdENvbnRy
b2xsZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzc5NzkxMzBENkI5RDBD
MDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEltYWdlRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk3
OTE0MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW1hZ2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3
Nzk3OTE1MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEltYWdlRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NzUy
LDcgKzg3NjEsMTEgQEAKIAkJQTdBQTY2RDUxMUM1RUQ2QTAwMUQ4QzhDIC8qIFJlbmRlckluZGlj
YXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJJbmRpY2F0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdBRDJGODUwRUM4OUQwNzAwOEFCMDAy
IC8qIExpbmtIYXNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExp
bmtIYXNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdBRDJGODYwRUM4OUQw
NzAwOEFCMDAyIC8qIExpbmtIYXNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IExpbmtIYXNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QjM4RTNBMTIzOEI0
NzkwMDc4OEJENSAvKiBMYXlvdXRUZXN0SGVscGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBMYXlvdXRUZXN0SGVscGVycy5jcHA7IHBhdGggPSB0ZXN0aW5nL0xh
eW91dFRlc3RIZWxwZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdCMzhF
M0IxMjM4QjQ3OTAwNzg4QkQ1IC8qIExheW91dFRlc3RIZWxwZXJzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IExheW91dFRlc3RIZWxwZXJzLmg7IHBhdGggPSB0ZXN0aW5nL0xh
eW91dFRlc3RIZWxwZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3QjZFNjlE
MEIyOTFBOTYwMEQwNTI5RiAvKiBEcmFnRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEcmFnRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0I4N0NE
RTEyMzhCNjU5MDA0MEVBOUMgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xheW91dFRlc3RDb250cm9sbGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdCODdDREYxMjM4QjY1OTAwNDBFQTlDIC8q
IEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNMYXlvdXRUZXN0Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBN0JCRTI2NDExQUZCM0YyMDAwNUVBMDMgLyogSlNIVE1MTWV0ZXJFbGVtZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRNTE1ldGVyRWxlbWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3QkJFMjY1MTFBRkIzRjIwMDA1RUEwMyAv
KiBKU0hUTUxNZXRlckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNIVE1MTWV0ZXJFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Q0E1
OTVCMEIyN0JEOUUwMEZBMDIxRCAvKiBEcmFnQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEcmFnQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTEzNTUsNiArMTEzNjgsNyBAQAogCQkJCUY1MjNEMkYzMDJERTQ0M0IwMTg2MzVD
QSAvKiByZW5kZXJpbmcgKi8sCiAJCQkJMUFFODJFQzkwQ0FBRTE3NzAwMjIzN0FFIC8qIHN0b3Jh
Z2UgKi8sCiAJCQkJQjIyMjc3Q0EwRDAwQkYxRTAwNzFCNzgyIC8qIHN2ZyAqLywKKwkJCQlBNzVG
MEI1QzEyMzg5Q0IxMDBCNTkwNkUgLyogdGVzdGluZyAqLywKIAkJCQk1MThBMzRCRDEwMjZDODMx
MDAxQjY4OTYgLyogd2Vic29ja2V0cyAqLywKIAkJCQk0QzZCOTkxNTBFNTJFMzczMDA0ODdCQjcg
Lyogd21sICovLAogCQkJCTJFNDM0NjMxMEY1NDZBNjgwMEIwRjFCQSAvKiB3b3JrZXJzICovLApA
QCAtMTE0NDYsNiArMTE0NjAsNyBAQAogCQkJCUJDOTg1NDQ2MENEM0RBNUYwMDA2OUJDMSAvKiBS
YW5nZXMgKi8sCiAJCQkJQTgzQjc5MTUwQ0NCMDA3ODAwMEIwODI1IC8qIFN0b3JhZ2UgKi8sCiAJ
CQkJQTgzQjc5MEEwQ0NBRkY0NzAwMEIwODI1IC8qIFNWRyAqLywKKwkJCQlBNzE1MDQxMzEyMzhB
QjU5MDAzQzM0OTEgLyogVGVzdGluZyAqLywKIAkJCQlFMUM4QkU0QjBFOEJEMEQxMDA2NENCN0Qg
LyogVGhyZWFkcyAqLywKIAkJCQlCQzk4NTQ1MzBDRDNEQThGMDAwNjlCQzEgLyogVHJhdmVyc2Fs
ICovLAogCQkJCTVEQTVFMEY5MTAyQjk1MDQwMDA4OENGOSAvKiBXZWJTb2NrZXRzICovLApAQCAt
MTQ0ODYsNiArMTQ1MDEsMTUgQEAKIAkJCW5hbWUgPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CiAJCX07CisJCUE3MTUwNDEzMTIzOEFCNTkwMDNDMzQ5MSAvKiBUZXN0aW5nICov
ID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlBN0I4N0NERTEy
MzhCNjU5MDA0MEVBOUMgLyogSlNMYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgKi8sCisJCQkJQTdC
ODdDREYxMjM4QjY1OTAwNDBFQTlDIC8qIEpTTGF5b3V0VGVzdENvbnRyb2xsZXIuaCAqLywKKwkJ
CSk7CisJCQluYW1lID0gVGVzdGluZzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07
CiAJCUE3NUU4QjdGMEUxREUyQjAwMDdGMjQ4MSAvKiBmaWx0ZXJzICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTE0NTEwLDYgKzE0NTM0LDE4IEBACiAJCQlu
YW1lID0gZmlsdGVyczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUE3NUYw
QjVDMTIzODlDQjEwMEI1OTA2RSAvKiB0ZXN0aW5nICovID0geworCQkJaXNhID0gUEJYR3JvdXA7
CisJCQljaGlsZHJlbiA9ICgKKwkJCQlBNzIzQjRCMTEyMzhDRkU3MDA3NjgxMkUgLyogTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwICovLAorCQkJCUE3QjM4RTNBMTIzOEI0NzkwMDc4OEJENSAvKiBM
YXlvdXRUZXN0SGVscGVycy5jcHAgKi8sCisJCQkJQTdCMzhFM0IxMjM4QjQ3OTAwNzg4QkQ1IC8q
IExheW91dFRlc3RIZWxwZXJzLmggKi8sCisJCQkJQTc1RjBCNjYxMjM4QTM4NTAwQjU5MDZFIC8q
IExheW91dFRlc3RDb250cm9sbGVyLmggKi8sCisJCQkJQTc1RjBCNjcxMjM4QTM4NTAwQjU5MDZF
IC8qIExheW91dFRlc3RDb250cm9sbGVyLmlkbCAqLywKKwkJCSk7CisJCQluYW1lID0gdGVzdGlu
ZzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUE4M0I3OTA4MENDQUZGMkIw
MDBCMDgyNSAvKiBIVE1MICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKQEAgLTE5MjQ5LDYgKzE5Mjg1LDcgQEAKIAkJCQk0OUM3Qjk5NjEwNDJEMkQzMDAwOUQ0NDcg
LyogSlNJbnQ4QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDNUZBRUQyMERDRkQ5MDEwMEQ1
OEY3OCAvKiBKU0phdmFTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjYy
OUQzMDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUE3Qjg3Q0UxMTIzOEI2NTkwMDQwRUE5QyAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzVGNDU0MzBGN0MzQjVGMDBEN0MxRkIgLyogSlNMYXp5RXZl
bnRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFMUM0M0MwRDk4MzBEMzAwM0IwMkYy
IC8qIEpTTG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxNDE5MENENjgyNjkwMEZB
REE3NSAvKiBKU01lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovLApAQCAtMTk1MDEsNiArMTk1Mzgs
OCBAQAogCQkJCUE0NTZGQTI3MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODVFQzlBRkIwQTcxQTJDNjAwRUVFQUVEIC8qIExhbmd1YWdlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3Rh
dGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE3NUYwQjZBMTIzOEEzODUwMEI1OTA2RSAvKiBMYXlv
dXRUZXN0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTdCMzhFM0QxMjM4QjQ3OTAw
Nzg4QkQ1IC8qIExheW91dFRlc3RIZWxwZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJERDhG
NTBEOTFFNkFGMDAwRjg5RUUgLyogTGVnYWN5V2ViQXJjaGl2ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNFNjVCRUIwRUFDREYxNjAwN0U0NTMzIC8qIExlbmd0aC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNGRjY0OTEwRUFEMTVDMjAwQzFENkY3IC8qIExlbmd0aEJveC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yMTgxMyw2ICsyMTg1Miw3IEBACiAJCQkJMUM1RkFFRDEwRENGRDkwMTAwRDU4Rjc4IC8q
IEpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQzVGQUVFNzBE
Q0ZEQTY4MDBENThGNzggLyogSlNKYXZhU2NyaXB0Q2FsbEZyYW1lQ3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE4NjYyOUQ0MDlEQTJCNDgwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTdCODdDRTAxMjM4QjY1OTAwNDBFQTlDIC8qIEpTTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RjQ1NDIwRjdDM0I1
RjAwRDdDMUZCIC8qIEpTTGF6eUV2ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNFMUM0M0IwRDk4MzBEMzAwM0IwMkYyIC8qIEpTTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkNFMUM0NDAwRDk4MzBGNDAwM0IwMkYyIC8qIEpTTG9jYXRpb25DdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0yMjEwMyw2ICsyMjE0Myw3IEBACiAJCQkJQTQ1NkZBMjYxMUFENEE4
MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNTIw
ODQ1MDlCRDQzQjkwMEYyMDM4RCAvKiBMYW5ndWFnZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJE
OTA2NjA2MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBN0IzOEUzQzEyMzhCNDc5MDA3ODhCRDUgLyogTGF5b3V0VGVzdEhlbHBlcnMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTEyREQ4RjQwRDkxRTZBRjAwMEY4OUVFIC8qIExlZ2FjeVdlYkFy
Y2hpdmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFCMjQxN0IwRDkzMUYzRjAwRTgzRjVDIC8q
IExlZ2FjeVdlYkFyY2hpdmVNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0U2NUJFQTBFQUNE
RjE2MDA3RTQ1MzMgLyogTGVuZ3RoLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjI5MzEsNiArMjI5
NzIsNyBAQAogCQkJCTk3QkM4NDgzMTIzNkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnRQYXJz
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdCQzg0QTQxMjM3MERDODAwMEM2MTYxIC8qIFRl
eHRWaWV3U291cmNlUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QkM4NEIzMTIzNzEx
ODAwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTcyM0I0
QjIxMjM4Q0ZFNzAwNzY4MTJFIC8qIExheW91dFRlc3RDb250cm9sbGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTk3MjA1QUFGMTIzOTI4Q0EwMEIxNzM4MCAvKiBGVFBEaXJlY3RvcnlEb2N1bWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzIwNUFCNTEyMzkyOTEwMDBCMTczODAgLyogSW1h
Z2VEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzIwNUFCNzEyMzkyOTEwMDBCMTcz
ODAgLyogTWVkaWFEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3Rlc3RpbmcvTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2ZTU1ODgwMmMzYjM4N2IyN2E0MmZj
NGM1NjI3MzIyZTJlMDY1NGYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3Rlc3RpbmcvTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyLmgiCisKKyNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitpbnQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OmRvY3VtZW50TWFya2VyU2l6ZUZvck5vZGUoTm9kZSosIEV4Y2VwdGlv
bkNvZGUmKSBjb25zdAoreworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyAgICByZXR1cm4gMDsK
K30KKworTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKEZyYW1lKiBm
cmFtZSkKKyAgICA6IG1fZnJhbWUoZnJhbWUpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIv
V2ViQ29yZS90ZXN0aW5nL0xheW91dFRlc3RDb250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDBhY2Jh
NjhkZWI3MWQzNjczZGNmMDQxYzE4Yjk0ODNlNWJmMTQ0YgotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0wLDAgKzEsNTUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBMYXlvdXRUZXN0Q29udHJvbGxlcl9oCisjZGVmaW5lIExheW91dFRlc3RDb250cm9sbGVy
X2gKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIEZyYW1lOworY2xhc3MgTm9kZTsKK3R5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CisK
K2NsYXNzIExheW91dFRlc3RDb250cm9sbGVyIDogcHVibGljIFJlZkNvdW50ZWQ8TGF5b3V0VGVz
dENvbnRyb2xsZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxMYXlvdXRUZXN0
Q29udHJvbGxlcj4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IExh
eW91dFRlc3RDb250cm9sbGVyKGZyYW1lKSk7IH0KKyAgICBpbnQgZG9jdW1lbnRNYXJrZXJTaXpl
Rm9yTm9kZShOb2RlKiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworcHJpdmF0ZToKKyAgICBMYXlv
dXRUZXN0Q29udHJvbGxlcihGcmFtZSopOworICAgIEZyYW1lKiBtX2ZyYW1lOyAvLyBEb2Vzbid0
IHVzZSBSZWZQdHIgdG8gYXZvaWQgc2lkZSBlZmZlY3RzCit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS90ZXN0aW5nL0xheW91dFRlc3RD
b250cm9sbGVyLmlkbCBiL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTY1Y2JjODYwZTM5N2YzMWU2ODNiNWYyMjQxMzY2ZjJmZjJmMzc0NgotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwK
QEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKworICAgIGludGVyZmFjZSBbT21pdENv
bnN0cnVjdG9yXSBMYXlvdXRUZXN0Q29udHJvbGxlciB7CisgICAgICAgIGxvbmcgZG9jdW1lbnRN
YXJrZXJTaXplRm9yTm9kZShpbiBOb2RlIG5vZGUpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAg
IH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0SGVscGVycy5j
cHAgYi9XZWJDb3JlL3Rlc3RpbmcvTGF5b3V0VGVzdEhlbHBlcnMuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAw
ZGMzZjAyOGI1ZjJiZTE5YjFhYTFjNTlhMjcyMzA0MDY1ZjZjYTIKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL3Rlc3RpbmcvTGF5b3V0VGVzdEhlbHBlcnMuY3BwCkBAIC0wLDAgKzEsODUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxheW91dFRlc3RIZWxwZXJzLmgiCisKKyNp
bmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKKyNpbmNsdWRlICJMYXlvdXRUZXN0Q29udHJvbGxl
ci5oIgorCisjaWYgVVNFKEpTQykKKyMgaW5jbHVkZSAiSlNMYXlvdXRUZXN0Q29udHJvbGxlci5o
IgorIyBpbmNsdWRlIDxwYXJzZXIvU291cmNlQ29kZS5oPgorIyBpbmNsdWRlIDxydW50aW1lL0Nv
bXBsZXRpb24uaD4KKyMgaW5jbHVkZSA8cnVudGltZS9KU0dsb2JhbE9iamVjdC5oPgorIyBpbmNs
dWRlIDxydW50aW1lL0pTT2JqZWN0Lmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CisKKyNpZiBVU0UoSlNDKQorc3RhdGljIEpTQzo6SlNPYmplY3QqIGNyZWF0ZUpTTGF5b3V0VGVz
dENvbnRyb2xsZXJGb3IoSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRnJhbWUqIGZy
YW1lKQoreworICAgIFJlZlB0cjxMYXlvdXRUZXN0Q29udHJvbGxlcj4gY29udHJvbGxlciA9IExh
eW91dFRlc3RDb250cm9sbGVyOjpjcmVhdGUoZnJhbWUpOworICAgIEpTQzo6RXhlY1N0YXRlKiBl
eGVjID0gZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CisgICAgcmV0dXJuIHRvSlMoZXhlYywg
Z2xvYmFsT2JqZWN0LCBjb250cm9sbGVyLmdldCgpKS50b09iamVjdChleGVjKTsKK30KKworc3Rh
dGljIGNvbnN0IGNoYXIgc2V0dXBMYXlvdXRUZXN0Q29udHJvbGxlclNjcmlwdFtdID0gCisgICAg
ImZ1bmN0aW9uIGRlbGVnYXRlKGRzdCwgc3JjLCBuYW1lKSB7IGRzdFtuYW1lXSA9IGZ1bmN0aW9u
KCkgeyByZXR1cm4gc3JjW25hbWVdLmFwcGx5KHNyYywgYXJndW1lbnRzKTsgfSB9XG4iCisgICAg
ImZvciAodmFyIG5hbWUgaW4gdGhpcy53ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXIpIHtcbiIK
KyAgICAiICAgIGRlbGVnYXRlKHRoaXMsIHRoaXMud2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVy
LCBuYW1lKTtcbiIKKyAgICAifVxuIjsKKworc3RhdGljIGJvb2wgZGVsZWdhdGVMYXlvdXRUZXN0
Q29udHJvbGxlclRvKEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNPYmpl
Y3QqIHRoaXNPYmplY3QsIEpTQzo6SlNPYmplY3QqIGNvbnRyb2xsZXIpCit7CisgICAgSlNDOjpF
eGVjU3RhdGUqIGV4ZWMgPSBnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKTsKKyAgICBKU0M6Oklk
ZW50aWZpZXIgbmFtZShleGVjLCAid2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVyIik7CisgICAg
dGhpc09iamVjdC0+cHV0V2l0aEF0dHJpYnV0ZXMoZXhlYywgbmFtZSwgY29udHJvbGxlciwgSlND
OjpOb25lKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIEpTQzo6VVN0cmluZyB1cmwoInNldHVwX2xheW91dF90ZXN0X2NvbnRyb2xs
ZXJfdGVzdC5qcyIpOworICAgIEpTQzo6VVN0cmluZyB0ZXh0KHNldHVwTGF5b3V0VGVzdENvbnRy
b2xsZXJTY3JpcHQpOworICAgIEpTQzo6U291cmNlQ29kZSBzb3VyY2UgPSBKU0M6Om1ha2VTb3Vy
Y2UodGV4dCwgdXJsLCAwKTsKKyAgICBKU0M6OkNvbXBsZXRpb24gY29tcGxldGlvbiA9IEpTQzo6
ZXZhbHVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0LT5nbG9iYWxTY29wZUNoYWluKCksIHNvdXJjZSwg
dGhpc09iamVjdCk7CisgICAgcmV0dXJuIChjb21wbGV0aW9uLmNvbXBsVHlwZSgpICE9IEpTQzo6
VGhyb3cpOworfQorCitib29sIGFkZERlbGVnYXRlRm9yTGF5b3V0VGVzdENvbnRyb2xsZXIoSlND
OjpKU09iamVjdCogdGhpc09iamVjdCwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
RnJhbWUqIGZyYW1lKQoreworICAgIEpTQzo6SlNPYmplY3QqIGNvbnRyb2xsZXIgPSBjcmVhdGVK
U0xheW91dFRlc3RDb250cm9sbGVyRm9yKGdsb2JhbE9iamVjdCwgZnJhbWUpOworICAgIHJldHVy
biBkZWxlZ2F0ZUxheW91dFRlc3RDb250cm9sbGVyVG8oZ2xvYmFsT2JqZWN0LCB0aGlzT2JqZWN0
LCBjb250cm9sbGVyKTsKK30KKworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvdGVzdGluZy9MYXlvdXRUZXN0SGVscGVycy5oIGIvV2ViQ29yZS90
ZXN0aW5nL0xheW91dFRlc3RIZWxwZXJzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmMyYzc0MmY0OTliNjgzMjA1
OTc3MTI0ZDU2NTIxMWNjZmI2OTMxYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvdGVzdGlu
Zy9MYXlvdXRUZXN0SGVscGVycy5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBMYXlvdXRUZXN0
SGVscGVyc19oCisjZGVmaW5lIExheW91dFRlc3RIZWxwZXJzX2gKKworI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorCituYW1lc3BhY2UgSlNDIHsKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgRXhl
Y1N0YXRlOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZyYW1lOworY2xhc3Mg
SlNET01HbG9iYWxPYmplY3Q7CisKKyNpZiBVU0UoSlNDKQorYm9vbCBhZGREZWxlZ2F0ZUZvckxh
eW91dFRlc3RDb250cm9sbGVyKEpTQzo6SlNPYmplY3QqIHRoaXNPYmplY3QsIEpTRE9NR2xvYmFs
T2JqZWN0KiwgRnJhbWUqKTsKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBMYXlvdXRUZXN0SGVscGVyc19oCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGRmNWNhNDZjOTU4YWI4NzQwM2ExNjdm
ZDQ3NTIxYzk3ZmEzOWQ0Y2IuLjViMGE4MGQ4NTY4ZWIzY2M0YjkyNjIxYmI4YjQ2MGNhODRjMWE0
NTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDktMDkgIE1PUklUQSBIYWppbWUgIDxtb3Jy
aXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRFJUIHNob3VsZCBhbGxvdyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUg
aW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEyCisKKyAgICAgICAgQWRkZWQgZGVs
ZWdhdGVXZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXIsIHdoaWNoIGluamVjdHMKKyAgICAgICAg
V2ViQ29yZTo6TFRDIG1ldGhvZHMgaW50byBnaXZlbiBKUyBvYmplY3QuCisgICAgICAgIE5vdGUg
dGhhdCB0aGlzIEFQSSBpcyBvbmx5IGZvciBEdW1wUmVuZGVyVHJlZS4KKyAgICAgICAgCisgICAg
ICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAgICAgKC1bV2ViRnJhbWUgZGVsZWdhdGVX
ZWJDb3JlTGF5b3V0VGVzdENvbnRyb2xsZXI6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJGcmFt
ZVByaXZhdGUuaDoKKwogMjAxMC0wOS0wOSAgSm9obiBUaGVycmVsbCAgPGp0aGVycmVsbEBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAt
LWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbSBiL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJGcmFtZS5tbQppbmRleCA4ZDU2NGEzZWYyOWEyZmNkZDI5NTcwYzk1MmE1MjAyODA5OTIw
YTk5Li4zNjNhNzhlOGFkOTQ2MjRjNmFiOWIxNGI0YTJkOGRiNjhiMTMxYWUyIDEwMDY0NAotLS0g
YS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkZyYW1lLm1tCkBAIC03Miw2ICs3Miw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxGcmFt
ZU93bmVyRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9IaXN0b3J5SXRlbS5oPgogI2ltcG9y
dCA8V2ViQ29yZS9IaXRUZXN0UmVzdWx0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0xheW91dFRlc3RI
ZWxwZXJzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xlZ2FjeVdlYkFyY2hpdmUuaD4KICNpbXBvcnQg
PFdlYkNvcmUvUGFnZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbHVnaW5EYXRhLmg+CkBAIC0xNDAw
LDYgKzE0MDEsMTUgQEAgc3RhdGljIE5vZGUqIHNwZWxsaW5nTm9kZShGcmFtZSogY29yZUZyYW1l
KQogICAgIHJldHVybiBOTzsKIH0KIAorLSAoQk9PTClkZWxlZ2F0ZVdlYkNvcmVMYXlvdXRUZXN0
Q29udHJvbGxlcjooSlNPYmplY3RSZWYpdGhpc09iamVjdAoreworICAgIEZyYW1lKiBjb3JlRnJh
bWUgPSBfcHJpdmF0ZS0+Y29yZUZyYW1lOworICAgIGlmICghY29yZUZyYW1lKQorICAgICAgICBy
ZXR1cm4gTk87CisgICAgV2ViQ29yZTo6SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9
IGNvcmVGcmFtZS0+c2NyaXB0KCktPmdsb2JhbE9iamVjdChtYWluVGhyZWFkTm9ybWFsV29ybGQo
KSk7CisgICAgcmV0dXJuIGFkZERlbGVnYXRlRm9yTGF5b3V0VGVzdENvbnRyb2xsZXIodG9KUyh0
aGlzT2JqZWN0KSwgZ2xvYmFsT2JqZWN0LCBjb3JlRnJhbWUpOworfQorCiBAZW5kCiAKIEBpbXBs
ZW1lbnRhdGlvbiBXZWJGcmFtZQpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZy
YW1lUHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCmluZGV4
IDljYjYyMzIzMmI0YTFjM2U1MzViMzFmNmQ0OWQ2NzQxYmVlNzE5MmYuLmFkOTk0ZGUzZTI3ZmQz
MGM5OTdiOTllMDE2NDM0MWRlNDI5ODBiYWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJGcmFtZVByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVQcml2
YXRlLmgKQEAgLTE0Niw0ICsxNDYsNiBAQCB0eXBlZGVmIGVudW0gewogLy8gUmV0dXJucyB3aGV0
aGVyIHRoZXJlIGlzIGEgc3BlbGxpbmcgbWFya2VyIGluIHRoZSBzcGVjaWZpZWQgcmFuZ2Ugb2Yg
dGhlIGZvY3VzZWQgbm9kZS4KIC0gKEJPT0wpaGFzU3BlbGxpbmdNYXJrZXI6KGludClsb2NhdGlv
biBsZW5ndGg6KGludClsZW5ndGg7CiAKKy8vIENyZWF0ZXMgV2ViQ29yZTpMYXlvdXRUZXN0Q29u
dHJvbGxlciBhbmQgYWRkcyBkZWxnYXRlcyBmb3IgdGhlIGNvbnRyb2xsZXIgdG8gZ2l2ZW4gb2Jq
ZWN0LgorLSAoQk9PTClkZWxlZ2F0ZVdlYkNvcmVMYXlvdXRUZXN0Q29udHJvbGxlcjooSlNPYmpl
Y3RSZWYpdGhpc09iamVjdDsKIEBlbmQKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCBlNGZlODE5ZmQ0OTc2OGNmMGVjZTUzMWVj
MjY2NWJhM2M0YTY3OWMzLi5kNGM2N2QyOTFiOTE0YzVhNjQ3ZDgyZDYwOGRiOGI5YTdiMGM2NWU1
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDktMDkgIE1PUklUQSBIYWppbWUgIDxtb3Jy
aXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRFJUIHNob3VsZCBhbGxvdyB0ZXN0IHNjcmlwdHMgdG8gYWNjZXNzIFdlYkNvcmUg
aW50ZXJuYWwgc3RhdGVzIGZvciBzZXR1cC92ZXJpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjEyCisKKyAgICAgICAgSW5qZWN0IFdl
YkNvcmU6OkxheW91dFRlc3RDb250cm9sbGVyIHRvIER1bXBSZW5kZXJUcmVlLWRlZmluZWQgTGF5
b3V0VGVzdENvbnRyb2xsZXIuCisgICAgICAgIFRoaXMgbWFrZXMgV2ViQ09yZTo6TFRDIEFQSSBh
dmFpYWxibGUgZnJvbSB0aGUgdGVzdCBjYXNlcy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVy
OjpMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
bWFrZVdpbmRvd09iamVjdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENv
bnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjp3cmFwcGVyT2JqZWN0
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW06Cisg
ICAgICAgICgtW0ZyYW1lTG9hZERlbGVnYXRlIGRpZENsZWFyV2luZG93T2JqZWN0SW5TdGFuZGFy
ZFdvcmxkRm9yRnJhbWU6XSk6IGluamVjdCBXZWJDb3JlOjpMVEMgdG8gRFJUOjpMVEMKKwogMjAx
MC0wOS0wOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjY3MTE5LgpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDE2NDNiYTZk
M2E5YzY4NGU5MTYwOWI5MjQ4YTk4NTlkYjk3MGZiYzEuLjlmMjBkOTdiYjFjZTM1NDM4MGQyNjVk
MmI1Y2E2Y2YxMzNlMDgzZWUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTgzLDYgKzgzLDcgQEAgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0UGF0
aE9yVVJMLCBjb24KICAgICAsIG1fZGVmZXJNYWluUmVzb3VyY2VEYXRhTG9hZCh0cnVlKQogICAg
ICwgbV90ZXN0UGF0aE9yVVJMKHRlc3RQYXRoT3JVUkwpCiAgICAgLCBtX2V4cGVjdGVkUGl4ZWxI
YXNoKGV4cGVjdGVkUGl4ZWxIYXNoKQorICAgICwgbV93cmFwcGVyT2JqZWN0KDApCiB7CiB9CiAK
QEAgLTE3OTgsMTAgKzE3OTksMTAgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWFrZVdp
bmRvd09iamVjdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgd2kKICAgICByZWYo
KTsKIAogICAgIEpTQ2xhc3NSZWYgY2xhc3NSZWYgPSBnZXRKU0NsYXNzKCk7Ci0gICAgSlNWYWx1
ZVJlZiBsYXlvdXRUZXN0Q29udG9sbGVyT2JqZWN0ID0gSlNPYmplY3RNYWtlKGNvbnRleHQsIGNs
YXNzUmVmLCB0aGlzKTsKKyAgICBtX3dyYXBwZXJPYmplY3QgPSBKU09iamVjdE1ha2UoY29udGV4
dCwgY2xhc3NSZWYsIHRoaXMpOwogICAgIEpTQ2xhc3NSZWxlYXNlKGNsYXNzUmVmKTsKIAotICAg
IEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwgd2luZG93T2JqZWN0LCBsYXlvdXRUZXN0Q29u
dG9sbGVyU3RyLmdldCgpLCBsYXlvdXRUZXN0Q29udG9sbGVyT2JqZWN0LCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlLCBleGNlcHRp
b24pOworICAgIEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwgd2luZG93T2JqZWN0LCBsYXlv
dXRUZXN0Q29udG9sbGVyU3RyLmdldCgpLCBtX3dyYXBwZXJPYmplY3QsIGtKU1Byb3BlcnR5QXR0
cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUsIGV4Y2VwdGlv
bik7CiB9CiAKIEpTQ2xhc3NSZWYgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmdldEpTQ2xhc3MoKQpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgK
aW5kZXggMmJmN2E3NWFiMzU3ZmIzMjUxMjlmOTM2ZjI2ZWJlNmRjNzA5NjEzMS4uOTllMDkzNWJk
NjVjNzdhMmNlMWU4Mzg5ZWFkNTdhNzYzNTZiYmJhOSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0yOTAsNiArMjkwLDggQEAg
cHVibGljOgogCiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IG1hcmtlclRleHRGb3JMaXN0
SXRlbShKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBub2RlT2JqZWN0KSBjb25zdDsK
IAorICAgIEpTVmFsdWVSZWYgd3JhcHBlck9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fd3JhcHBl
ck9iamVjdDsgfQorCiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFZpZXdXaWR0aDsKICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4Vmlld0hlaWdodDsKIApAQCAtMzQ4LDYgKzM1MCw4
IEBAIHByaXZhdGU6CiAgICAgCiAgICAgLy8gb3JpZ2lucyB3aGljaCBoYXZlIGJlZW4gZ3JhbnRl
ZCBkZXNrdG9wIG5vdGlmaWNhdGlvbiBhY2Nlc3MKICAgICBzdGQ6OnZlY3RvcjxKU1N0cmluZ1Jl
Zj4gbV9kZXNrdG9wTm90aWZpY2F0aW9uQWxsb3dlZE9yaWdpbnM7CisKKyAgICBKU1ZhbHVlUmVm
IG1fd3JhcHBlck9iamVjdDsKICAgICAKICAgICBzdGF0aWMgSlNDbGFzc1JlZiBnZXRKU0NsYXNz
KCk7CiAgICAgc3RhdGljIEpTU3RhdGljVmFsdWUqIHN0YXRpY1ZhbHVlcygpOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tIGIv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCmluZGV4
IDk2M2VhZTcwZmE1OWQ4MWVmY2ZlYjhhYjFlODgzNmM1NTdjN2FjY2QuLjcyNmNmYjI2NTFkMWQ5
MGI4ZGVjZTdjMWFiYWQ0OGYzZTkxYzBiNjYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQorKysgYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KQEAgLTI0Nyw2ICsyNDcsOSBAQAog
ICAgIEFTU0VSVChnTGF5b3V0VGVzdENvbnRyb2xsZXIpOwogICAgIGdMYXlvdXRUZXN0Q29udHJv
bGxlci0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCBnbG9iYWxPYmplY3QsICZleGNlcHRpb24p
OwogICAgIEFTU0VSVCghZXhjZXB0aW9uKTsKKyAgICBCT09MIG9rID0gW2ZyYW1lIGRlbGVnYXRl
V2ViQ29yZUxheW91dFRlc3RDb250cm9sbGVyOiBKU1ZhbHVlVG9PYmplY3QoY29udGV4dCwgZ0xh
eW91dFRlc3RDb250cm9sbGVyLT53cmFwcGVyT2JqZWN0KCksICZleGNlcHRpb24pXTsKKyAgICBB
U1NFUlQob2spOworICAgIEFTU0VSVCghZXhjZXB0aW9uKTsKIAogICAgIGdjQ29udHJvbGxlci0+
bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCBnbG9iYWxPYmplY3QsICZleGNlcHRpb24pOwogICAg
IEFTU0VSVCghZXhjZXB0aW9uKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>