<?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>201461</bug_id>
          
          <creation_ts>2019-09-04 10:12:07 -0700</creation_ts>
          <short_desc>Support stale-while-revalidate cache strategy</short_desc>
          <delta_ts>2023-01-12 09:17:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=195624</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>204148</dependson>
    
    <dependson>204147</dependson>
    
    <dependson>204169</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dima Voytenko">dvoytenko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>keith_miller</cc>
    
    <cc>koivisto</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rakuco</cc>
    
    <cc>rbuis</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>steven</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1567779</commentid>
    <comment_count>0</comment_count>
    <who name="Dima Voytenko">dvoytenko</who>
    <bug_when>2019-09-04 10:12:07 -0700</bug_when>
    <thetext>This caching strategy works well with fonts and other resources. Supported by Chrome and Firefox. 

Resources:
- https://httpwg.org/specs/rfc5861.html
- https://web.dev/stale-while-revalidate
- https://www.chromestatus.com/feature/5050913014153216</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574039</commentid>
    <comment_count>1</comment_count>
      <attachid>379546</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-09-25 07:12:06 -0700</bug_when>
    <thetext>Created attachment 379546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574057</commentid>
    <comment_count>2</comment_count>
      <attachid>379550</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-09-25 08:08:33 -0700</bug_when>
    <thetext>Created attachment 379550
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574124</commentid>
    <comment_count>3</comment_count>
      <attachid>379563</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-09-25 11:22:04 -0700</bug_when>
    <thetext>Created attachment 379563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575962</commentid>
    <comment_count>4</comment_count>
      <attachid>380014</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-02 06:28:42 -0700</bug_when>
    <thetext>Created attachment 380014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576746</commentid>
    <comment_count>5</comment_count>
      <attachid>380014</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-04 00:09:08 -0700</bug_when>
    <thetext>Comment on attachment 380014
Patch

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

&gt; Source/WebCore/platform/network/CacheValidation.cpp:326
&gt; +                    result.maxStale = Seconds { staleWhileRevalidate };

This means that stale-while-revalidate is overriding max-stale, is that correct?
Do we have tests for this rule?

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:168
&gt; +        maximumStaleness += responseMaxStaleness ? responseMaxStaleness.value() : 0_ms;

Just checking but should it be a max of response max staleness and request staleness directive instead of adding both?
Is the stale-while-revalidate/fetch spec describing this? What do other browsers do?

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:191
&gt; +    if (responseHasExpired(response, timestamp, requestDirectives.maxStale, inResponseStaleness))

Would it make sense to update responseHasExpired to return a UseDecision as well.
That would allow removing inResponseStaleness out parameter.

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:350
&gt; +    m_storage-&gt;retrieve(storageKey, priority, [this, request, completionHandler = WTFMove(completionHandler), info = WTFMove(info), storageKey, networkProcess = makeRef(networkProcess()), sessionID = m_sessionID, frameID](auto record, auto timings) mutable {

Is there a guarantee that &apos;this&apos; is valid in the callback?
Should we protectedThis?

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:367
&gt; +            if (m_speculativeLoadManager) {

I am wondering which rules we would like for enabling/disabling revalidation of these resources.
Do you know what policy other browsers are doing? Are they revalidating speculatively all resources?
One potential issue is that we are doing a load that will never be cancelled, even though the user actually closed the page that triggered this speculative load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577294</commentid>
    <comment_count>6</comment_count>
      <attachid>380309</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-07 00:57:00 -0700</bug_when>
    <thetext>Created attachment 380309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577299</commentid>
    <comment_count>7</comment_count>
      <attachid>380310</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-07 01:59:53 -0700</bug_when>
    <thetext>Created attachment 380310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577344</commentid>
    <comment_count>8</comment_count>
      <attachid>380325</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-07 07:22:10 -0700</bug_when>
    <thetext>Created attachment 380325
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577454</commentid>
    <comment_count>9</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-07 13:17:42 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #5)
&gt; This means that stale-while-revalidate is overriding max-stale, is that
&gt; correct?
&gt; Do we have tests for this rule?

This was a bit confusing. Since max-stale should be ignored for responses I wanted to be clever and reuse the member variable. However it is still possible to provide max-stale on responses, causing it to interfere with stale-while-revalidate, so I changed it to always store stale-while-revalidate separately if encountered.

&gt; &gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:168
&gt; &gt; +        maximumStaleness += responseMaxStaleness ? responseMaxStaleness.value() : 0_ms;
&gt; 
&gt; Just checking but should it be a max of response max staleness and request
&gt; staleness directive instead of adding both?
&gt; Is the stale-while-revalidate/fetch spec describing this? What do other
&gt; browsers do?

Great question, Chrome does not support max-stale AFAIK, but Firefox does:
https://dxr.mozilla.org/mozilla-central/source/netwerk/protocol/http/nsHttp.cpp#421
Since it ignores stale-while-revalidate if max-stale is given on the request, I changed the patch to match that behavior.

&gt; &gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:191
&gt; &gt; +    if (responseHasExpired(response, timestamp, requestDirectives.maxStale, inResponseStaleness))
&gt; 
&gt; Would it make sense to update responseHasExpired to return a UseDecision as
&gt; well.
&gt; That would allow removing inResponseStaleness out parameter.

Nice! Done.

&gt; &gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:350
&gt; &gt; +    m_storage-&gt;retrieve(storageKey, priority, [this, request, completionHandler = WTFMove(completionHandler), info = WTFMove(info), storageKey, networkProcess = makeRef(networkProcess()), sessionID = m_sessionID, frameID](auto record, auto timings) mutable {
&gt; 
&gt; Is there a guarantee that &apos;this&apos; is valid in the callback?
&gt; Should we protectedThis?

Done.

&gt; &gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:367
&gt; &gt; +            if (m_speculativeLoadManager) {
&gt; 
&gt; I am wondering which rules we would like for enabling/disabling revalidation of these resources.

I am not sure if we can vary a lot from the specification.

&gt; Do you know what policy other browsers are doing? Are they revalidating speculatively all resources?

Chrome has a design doc and they follow the spec closely. I am not sure why &quot;speculatively&quot; is used here though, the specification specifies a regular revalidation?

&gt; One potential issue is that we are doing a load that will never be
&gt; cancelled, even though the user actually closed the page that triggered this
&gt; speculative load.

The revalidation has a timer associated though. But maybe there is a better/earlier point where it can be cancelled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1578608</commentid>
    <comment_count>10</comment_count>
      <attachid>380325</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-10 05:43:09 -0700</bug_when>
    <thetext>Comment on attachment 380325
Patch

Patch goes in the right direction.
I would use a runtime flag here though, which will allow to enable the feature in WTR at first.

The thing that is probably lacking here is how we handle the pending revalidation loads.
Let&apos;s say a page while loading is triggering 100 revalidation loads.
The page is closed and 50 revalidation loads are still pending.
What should we do about them? They might take some resources for a page that is gone.

As per my reading of the fetch spec, we should just cancel these loads that are not finished when the document/context that triggered the load goes away.
This is not entirely clear to me what happens in the case a revalidation is triggered independently by two different contexts.
Initially, we could just implement a basic version where the revalidation only handles the closure of the first context.

Another thing to consider is the case of a revalidation done in two iframes of origin A that are in different top level domains B and C.
We should have tests for that case.

This patch does not need to fix all these things but we need a good model for handling these cases.

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

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:340
&gt; +class AsyncRevalidation {

Maybe it could be in its own file, like SpeculativeLoad is.

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:343
&gt; +    typedef Function&lt;void (bool)&gt; AsyncRevalidationCompletionHandler;

Should probably be a CompletionHandler.
SpeculativeLoad should probably take a CompletionHandler as a pre-patch.

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:358
&gt; +            m_completionHandler(revalidatedEntry.get());

There is a chance that m_completionHandler be called twice, here and if timer fires.
I guess we should cancel one if the other succeeds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579063</commentid>
    <comment_count>11</comment_count>
      <attachid>380743</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-11 03:58:52 -0700</bug_when>
    <thetext>Created attachment 380743
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579065</commentid>
    <comment_count>12</comment_count>
      <attachid>380744</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-11 04:29:39 -0700</bug_when>
    <thetext>Created attachment 380744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579070</commentid>
    <comment_count>13</comment_count>
      <attachid>380745</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-11 05:03:09 -0700</bug_when>
    <thetext>Created attachment 380745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579085</commentid>
    <comment_count>14</comment_count>
      <attachid>380325</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-11 07:01:12 -0700</bug_when>
    <thetext>Comment on attachment 380325
Patch

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

&gt;&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:340
&gt;&gt; +class AsyncRevalidation {
&gt; 
&gt; Maybe it could be in its own file, like SpeculativeLoad is.

Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:343
&gt;&gt; +    typedef Function&lt;void (bool)&gt; AsyncRevalidationCompletionHandler;
&gt; 
&gt; Should probably be a CompletionHandler.
&gt; SpeculativeLoad should probably take a CompletionHandler as a pre-patch.

Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:358
&gt;&gt; +            m_completionHandler(revalidatedEntry.get());
&gt; 
&gt; There is a chance that m_completionHandler be called twice, here and if timer fires.
&gt; I guess we should cancel one if the other succeeds.

Should be done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579088</commentid>
    <comment_count>15</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-11 07:07:56 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #10)
&gt; Comment on attachment 380325 [details]
&gt; Patch
&gt; 
&gt; Patch goes in the right direction.
&gt; I would use a runtime flag here though, which will allow to enable the
&gt; feature in WTR at first.

I spent a lot of time on that but it seems hard, because AFAIK the network process has to be handed the flag:
- not sure if NetworkProcess creation parameters is the proper place as the network process will get re-used during webkit test runs.
- adding it to the network load parameters makes it per network load, and needs quite some (ugly) plumbing to get it down to the network cache, not sure if that is worth it.
Possibly I am missing something, but I left it out for now.

&gt; The thing that is probably lacking here is how we handle the pending
&gt; revalidation loads.
&gt; Let&apos;s say a page while loading is triggering 100 revalidation loads.
&gt; The page is closed and 50 revalidation loads are still pending.
&gt; What should we do about them? They might take some resources for a page that
&gt; is gone.
&gt;
&gt; As per my reading of the fetch spec, we should just cancel these loads that
&gt; are not finished when the document/context that triggered the load goes away.

This makes sense. I only had a short look so far, but I could not find a mechanism in the network process to detect the document/context went away, only individual network loads. Not sure if it should be part of this patch?

&gt; Another thing to consider is the case of a revalidation done in two iframes
&gt; of origin A that are in different top level domains B and C.
&gt; We should have tests for that case.
&gt; 
&gt; This patch does not need to fix all these things but we need a good model
&gt; for handling these cases.

Agreed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579144</commentid>
    <comment_count>16</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-11 10:36:36 -0700</bug_when>
    <thetext>(In reply to Rob Buis from comment #15)
&gt; I spent a lot of time on that but it seems hard, because AFAIK the network
&gt; process has to be handed the flag:
&gt; - not sure if NetworkProcess creation parameters is the proper place as the
&gt; network process will get re-used during webkit test runs.
&gt; - adding it to the network load parameters makes it per network load, and
&gt; needs quite some (ugly) plumbing to get it down to the network cache, not
&gt; sure if that is worth it.
&gt; Possibly I am missing something, but I left it out for now.

Hmm, I overlooked how AdClickAttributionDebugModeEnabled does it, will try that approach tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583339</commentid>
    <comment_count>17</comment_count>
      <attachid>381807</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-24 07:31:03 -0700</bug_when>
    <thetext>Created attachment 381807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583346</commentid>
    <comment_count>18</comment_count>
      <attachid>381809</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-24 07:48:40 -0700</bug_when>
    <thetext>Created attachment 381809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583383</commentid>
    <comment_count>19</comment_count>
      <attachid>381813</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-24 09:19:27 -0700</bug_when>
    <thetext>Created attachment 381813
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583430</commentid>
    <comment_count>20</comment_count>
      <attachid>381827</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-24 11:26:45 -0700</bug_when>
    <thetext>Created attachment 381827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583718</commentid>
    <comment_count>21</comment_count>
      <attachid>381827</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-10-25 01:18:19 -0700</bug_when>
    <thetext>Comment on attachment 381827
Patch

This patch uses TestRunner API to allow enabling stale-while-revalidate behavior in the NetworkProcess. I did not find a way to do a similar thing using a runtime flag, if anybody knows an existing way or a new way to do it, let me know...

It seems a build flag will remain needed since AsyncRevalidation relies on SpeculativeLoad. I went with NETWORK_CACHE_SPECULATIVE_REVALIDATION this time because it is less intrusive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586870</commentid>
    <comment_count>22</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-11-03 15:22:01 -0800</bug_when>
    <thetext>After talking with Chris and Alex at the contributor meeting, it seems using RuntimeEnabledFeatures flag in the NetworkProcess is not the way to go. I hope the approach in the current patch is acceptable, note however that a downside is having to change the wpt tests. All the solutions I can think of have this problem though, maybe I am missing something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587362</commentid>
    <comment_count>23</comment_count>
      <attachid>381827</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-11-05 05:57:13 -0800</bug_when>
    <thetext>Comment on attachment 381827
Patch

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

&gt; Source/WebKit/UIProcess/API/C/WKContext.h:142
&gt; +WK_EXPORT void WKContextSetStaleWhileRevalidateEnabled(WKContextRef, bool enabled);

We should not be increasing the call sites where WKContextRef means global in the NetworkProcess.  I think we should instead have this boolean per-WebsiteDataStore.
Also, what if it instead is an off-by-default setting that is always on in WebKitTestRunner?  That way we wouldn&apos;t have to modify the WebPlatformTests.  Since there&apos;s nothing else that uses the header, there should be no problems created by other tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587843</commentid>
    <comment_count>24</comment_count>
      <attachid>382942</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-11-06 11:10:17 -0800</bug_when>
    <thetext>Created attachment 382942
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587920</commentid>
    <comment_count>25</comment_count>
      <attachid>381827</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-11-06 14:36:46 -0800</bug_when>
    <thetext>Comment on attachment 381827
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/C/WKContext.h:142
&gt;&gt; +WK_EXPORT void WKContextSetStaleWhileRevalidateEnabled(WKContextRef, bool enabled);
&gt; 
&gt; We should not be increasing the call sites where WKContextRef means global in the NetworkProcess.  I think we should instead have this boolean per-WebsiteDataStore.
&gt; Also, what if it instead is an off-by-default setting that is always on in WebKitTestRunner?  That way we wouldn&apos;t have to modify the WebPlatformTests.  Since there&apos;s nothing else that uses the header, there should be no problems created by other tests.

How about on WKWebsiteDataStoreConfiguration, like NetworkCacheSpeculativeValidation? And yes I agree that turning it on for WebKitTestRunner only makes sense for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589506</commentid>
    <comment_count>26</comment_count>
      <attachid>382942</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-12 07:02:18 -0800</bug_when>
    <thetext>Comment on attachment 382942
Patch

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

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:43
&gt; +    if (entry) {

I would think entry should not be null.
Can we pass an Entry&amp; instead?

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:44
&gt; +        String eTag = entry-&gt;response().httpHeaderField(WebCore::HTTPHeaderName::ETag);

s/auto/String/

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:48
&gt; +        String lastModified = entry-&gt;response().httpHeaderField(WebCore::HTTPHeaderName::LastModified);

Ditto.

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:62
&gt; +        m_completionHandler = nullptr;

No need for the nullptr line, completionHandler is cleaning itself at call time.

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:66
&gt; +AsyncRevalidation::AsyncRevalidation(Cache&amp; cache, const GlobalFrameID&amp; frameID, const WebCore::ResourceRequest&amp; request, std::unique_ptr&lt;NetworkCache::Entry&gt; entry, CompletionHandler&lt;void(bool)&gt;&amp;&amp; handler)

I am not very clear about the handler bool value.
It is true if the timer is triggered or if the SpeculativeLoad provides an Entry.
Maybe we should use an enumeration instead to document the intent.

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:76
&gt; +    m_timer.startOneShot(*responseMaxStaleness - (age - lifetime));

Would read better as *responseMaxStaleness + (lifetime - age)

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:77
&gt; +    m_load = makeUnique&lt;SpeculativeLoad&gt;(cache, frameID, revalidationRequest, WTFMove(entry), [this, key, revalidationRequest](std::unique_ptr&lt;Entry&gt; revalidatedEntry) {

s/std::unique_ptr&lt;Entry&gt;/auot&amp;&amp;/
s/revalidationRequest/revalidationRequest = WTFMove(revalidationRequest)/

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:81
&gt; +            m_completionHandler(revalidatedEntry.get());

!!revalidatedEntry.

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:82
&gt; +            m_completionHandler = nullptr;

No need for this line.

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h:33
&gt; +#include &lt;WebCore/ResourceRequest.h&gt;

Can we forward declare ResourceRequest?

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h:45
&gt; +    AsyncRevalidation(Cache&amp;, const GlobalFrameID&amp;, const WebCore::ResourceRequest&amp;, std::unique_ptr&lt;NetworkCache::Entry&gt;, CompletionHandler&lt;void(bool)&gt;&amp;&amp;);

std::unique_ptr&lt;NetworkCache::Entry&gt;&amp;&amp;

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h:49
&gt; +    void staleWhileRevalidateEnding();

Can we make it private?

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:269
&gt; +        Seconds allowedStale;

allowedState might not be initialised, probably want to set it to 0_ms.

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:324
&gt; +void Cache::startAsyncRevalidationIfNeeded(const WebCore::ResourceRequest&amp; request, const NetworkCache::Key&amp; key, std::unique_ptr&lt;Entry&gt; entry, const GlobalFrameID&amp; frameID)

std::unique_ptr&lt;Entry&gt;&amp;&amp;

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:336
&gt; +    m_pendingAsyncRevalidations.add(key, WTFMove(revalidator));

Seems odd that there is a case where we add key but there is already a key in the map in case canUsePendingRevalidation is returning false.
Is the goal to override the key value? Should we use m_pendingAsyncRevalidations.set?

It seems to me that we should only have one entry in the cache.
I would tend to return early even though canUsePendingRevalidation returns false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589530</commentid>
    <comment_count>27</comment_count>
      <attachid>383356</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-11-12 08:25:53 -0800</bug_when>
    <thetext>Created attachment 383356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589583</commentid>
    <comment_count>28</comment_count>
      <attachid>382942</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-11-12 11:27:40 -0800</bug_when>
    <thetext>Comment on attachment 382942
Patch

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

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:43
&gt;&gt; +    if (entry) {
&gt; 
&gt; I would think entry should not be null.
&gt; Can we pass an Entry&amp; instead?

Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:44
&gt;&gt; +        String eTag = entry-&gt;response().httpHeaderField(WebCore::HTTPHeaderName::ETag);
&gt; 
&gt; s/auto/String/

Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:48
&gt;&gt; +        String lastModified = entry-&gt;response().httpHeaderField(WebCore::HTTPHeaderName::LastModified);
&gt; 
&gt; Ditto.

Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:62
&gt;&gt; +        m_completionHandler = nullptr;
&gt; 
&gt; No need for the nullptr line, completionHandler is cleaning itself at call time.

Nice, fixed.

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:66
&gt;&gt; +AsyncRevalidation::AsyncRevalidation(Cache&amp; cache, const GlobalFrameID&amp; frameID, const WebCore::ResourceRequest&amp; request, std::unique_ptr&lt;NetworkCache::Entry&gt; entry, CompletionHandler&lt;void(bool)&gt;&amp;&amp; handler)
&gt; 
&gt; I am not very clear about the handler bool value.
&gt; It is true if the timer is triggered or if the SpeculativeLoad provides an Entry.
&gt; Maybe we should use an enumeration instead to document the intent.

Good idea, I added an enumeration.

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:76
&gt;&gt; +    m_timer.startOneShot(*responseMaxStaleness - (age - lifetime));
&gt; 
&gt; Would read better as *responseMaxStaleness + (lifetime - age)

Fixed.

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:77
&gt;&gt; +    m_load = makeUnique&lt;SpeculativeLoad&gt;(cache, frameID, revalidationRequest, WTFMove(entry), [this, key, revalidationRequest](std::unique_ptr&lt;Entry&gt; revalidatedEntry) {
&gt; 
&gt; s/std::unique_ptr&lt;Entry&gt;/auot&amp;&amp;/
&gt; s/revalidationRequest/revalidationRequest = WTFMove(revalidationRequest)/

Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:81
&gt;&gt; +            m_completionHandler(revalidatedEntry.get());
&gt; 
&gt; !!revalidatedEntry.

Fixed but using the enum.

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:82
&gt;&gt; +            m_completionHandler = nullptr;
&gt; 
&gt; No need for this line.

Fixed.

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h:33
&gt;&gt; +#include &lt;WebCore/ResourceRequest.h&gt;
&gt; 
&gt; Can we forward declare ResourceRequest?

Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h:45
&gt;&gt; +    AsyncRevalidation(Cache&amp;, const GlobalFrameID&amp;, const WebCore::ResourceRequest&amp;, std::unique_ptr&lt;NetworkCache::Entry&gt;, CompletionHandler&lt;void(bool)&gt;&amp;&amp;);
&gt; 
&gt; std::unique_ptr&lt;NetworkCache::Entry&gt;&amp;&amp;

Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h:49
&gt;&gt; +    void staleWhileRevalidateEnding();
&gt; 
&gt; Can we make it private?

Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:269
&gt;&gt; +        Seconds allowedStale;
&gt; 
&gt; allowedState might not be initialised, probably want to set it to 0_ms.

I think the default is 0, but to make things clear I did use 0_ms.

&gt;&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:324
&gt;&gt; +void Cache::startAsyncRevalidationIfNeeded(const WebCore::ResourceRequest&amp; request, const NetworkCache::Key&amp; key, std::unique_ptr&lt;Entry&gt; entry, const GlobalFrameID&amp; frameID)
&gt; 
&gt; std::unique_ptr&lt;Entry&gt;&amp;&amp;

Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:336
&gt;&gt; +    m_pendingAsyncRevalidations.add(key, WTFMove(revalidator));
&gt; 
&gt; Seems odd that there is a case where we add key but there is already a key in the map in case canUsePendingRevalidation is returning false.
&gt; Is the goal to override the key value? Should we use m_pendingAsyncRevalidations.set?
&gt; 
&gt; It seems to me that we should only have one entry in the cache.
&gt; I would tend to return early even though canUsePendingRevalidation returns false.

The code was inspired by SpeculativeLoadManager code. I changed it to do an early return when there is already an entry and removed canUsePendingRevalidation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589604</commentid>
    <comment_count>29</comment_count>
      <attachid>383356</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-12 12:59:18 -0800</bug_when>
    <thetext>Comment on attachment 383356
Patch

Seems almost ready to go to me.

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

&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:48
&gt; +    String lastModified = entry.response().httpHeaderField(WebCore::HTTPHeaderName::LastModified);

auto then.

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:321
&gt; +    if (m_pendingAsyncRevalidations.get(key))

s/get/contains/, but instead, use m_pendingAsyncRevalidations.ensure(key, ...) so that there is only one find.

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:326
&gt; +            m_pendingAsyncRevalidations.take(key);

Should we not always remove the key, no matter whether failing or not?

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:389
&gt; +            std::unique_ptr&lt;Entry&gt; entryCopy = makeUnique&lt;Entry&gt;(*entry);

auto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589610</commentid>
    <comment_count>30</comment_count>
      <attachid>383373</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-11-12 13:31:11 -0800</bug_when>
    <thetext>Created attachment 383373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589622</commentid>
    <comment_count>31</comment_count>
      <attachid>383356</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-11-12 13:52:14 -0800</bug_when>
    <thetext>Comment on attachment 383356
Patch

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

&gt;&gt; Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp:48
&gt;&gt; +    String lastModified = entry.response().httpHeaderField(WebCore::HTTPHeaderName::LastModified);
&gt; 
&gt; auto then.

Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:321
&gt;&gt; +    if (m_pendingAsyncRevalidations.get(key))
&gt; 
&gt; s/get/contains/, but instead, use m_pendingAsyncRevalidations.ensure(key, ...) so that there is only one find.

Nice! Done.

&gt;&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:326
&gt;&gt; +            m_pendingAsyncRevalidations.take(key);
&gt; 
&gt; Should we not always remove the key, no matter whether failing or not?

I think you are right, fixed.

&gt;&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:389
&gt;&gt; +            std::unique_ptr&lt;Entry&gt; entryCopy = makeUnique&lt;Entry&gt;(*entry);
&gt; 
&gt; auto

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589625</commentid>
    <comment_count>32</comment_count>
      <attachid>383373</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-12 13:56:31 -0800</bug_when>
    <thetext>Comment on attachment 383373
Patch

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

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:323
&gt; +            m_pendingAsyncRevalidations.take(key);

s/take/remove

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:325
&gt; +                LOG(NetworkCache, &quot;(NetworkProcess) Async revalidation completed for &apos;%s&apos;:&quot;, key.identifier().utf8().data());

I would tend to log all cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589788</commentid>
    <comment_count>33</comment_count>
      <attachid>383436</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-11-13 00:03:42 -0800</bug_when>
    <thetext>Created attachment 383436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589801</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-13 02:20:50 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 383436:

inspector/model/remote-object-weak-collection.html bug 202932 (authors: drousso@apple.com and joepeck@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589802</commentid>
    <comment_count>35</comment_count>
      <attachid>383436</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-13 02:22:11 -0800</bug_when>
    <thetext>Comment on attachment 383436
Patch

Clearing flags on attachment: 383436

Committed r252397: &lt;https://trac.webkit.org/changeset/252397&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589803</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-13 02:22:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589804</commentid>
    <comment_count>37</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-13 02:23:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/57148312&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589866</commentid>
    <comment_count>38</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-11-13 07:40:48 -0800</bug_when>
    <thetext>I had hoped this would have stayed open, since there are depending bugs. Maybe it is a downside of using cq+..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594913</commentid>
    <comment_count>39</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-12-02 21:51:41 -0800</bug_when>
    <thetext>I&apos;m now hitting ASSERT(!m_networkLoad); in ~SpeculativeLoad() every time I debug. Fallout from this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594914</commentid>
    <comment_count>40</comment_count>
      <attachid>383436</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-12-02 21:53:22 -0800</bug_when>
    <thetext>Comment on attachment 383436
Patch

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

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:180
&gt; +        LOG(NetworkCache, &quot;(NetworkProcess) needsRevalidation hasExpired age=%f lifetime=%f max-staleness=%f&quot;, age, lifetime, maximumStaleness);

For stuff like this LOG_WITH_STREAM() is much nicer; no need to deal with formatting strings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594928</commentid>
    <comment_count>41</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-12-02 23:48:22 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #39)
&gt; I&apos;m now hitting ASSERT(!m_networkLoad); in ~SpeculativeLoad() every time I
&gt; debug. Fallout from this change?

The idea was to only turn this on by default when running tests, though probably it can be enabled explicitly by using Developer tools. Or the code is ignoring the runtime flag somewhere. Finally it should only be triggered when the server sends Cache-control: stale-while-revalidate.
If you can give me some steps to reproduce I can have a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594932</commentid>
    <comment_count>42</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-02 23:58:31 -0800</bug_when>
    <thetext>I do not think the debug assertion failure is due to stale-while-revalidate but maybe the patch made a change impacting speculative revalidation.

The debug assertion is probably triggered in SpeculativeLoadManager::revalidateSubresource. There, we are adding a load to m_pendingPreloads and maybe m_pendingPreloads is already doing the preload so the newly created revalidator will be deleted right away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594934</commentid>
    <comment_count>43</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-12-03 00:14:13 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #42)
&gt; I do not think the debug assertion failure is due to stale-while-revalidate
&gt; but maybe the patch made a change impacting speculative revalidation.

I tried hard to not change the existing speculative revalidation code. Only change to the manager should be moving two methods to another file.

Don&apos;t want to point fingers but https://bugs.webkit.org/show_bug.cgi?id=204305 changed more code in NetworkCacheSpeculativeLoadManager.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594992</commentid>
    <comment_count>44</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2019-12-03 06:29:23 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #40)
&gt; Comment on attachment 383436 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=383436&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:180
&gt; &gt; +        LOG(NetworkCache, &quot;(NetworkProcess) needsRevalidation hasExpired age=%f lifetime=%f max-staleness=%f&quot;, age, lifetime, maximumStaleness);
&gt; 
&gt; For stuff like this LOG_WITH_STREAM() is much nicer; no need to deal with
&gt; formatting strings.

Thanks, does seem nicer indeed, I will try to use it in the future.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379546</attachid>
            <date>2019-09-25 07:12:06 -0700</date>
            <delta_ts>2019-09-25 08:08:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20190925161255.patch</filename>
            <type>text/plain</type>
            <size>43541</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjc4ZTRkZmZkNDMzYzA1
NDhiOTFmNWNlMDA5YmMxY2Y2OGY3OTAwOS4uMGE4OTUxZjNmNmM4OTA4MGQ3NmRiODkwZWE4ODZk
ODc1NTAzYmJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTA5LTI1ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
c3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxp
ZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZl
cyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlQ29udHJvbERpcmVjdGl2ZXM6OkNhY2hlQ29udHJvbERpcmVjdGl2
ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbFN0
YWxlV2hpbGVSZXZhbGlkYXRlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmg6CisKIDIwMTktMDktMjIgIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KIAogICAgICAgICBjbGFuZy10aWR5OiBGaXggdW5uZWNlc3NhcnkgY29w
eS9yZWYgY2h1cm4gb2YgZm9yIGxvb3AgdmFyaWFibGVzIGluIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
Yzc5MjQwOWMxMGFkNWFkYjE5Mzg2YjIxMWE4YTVmNDVlNDE3M2U5Zi4uOTkwNDM0MTgyMDRlY2Qw
YTgwNWVlNTAxMmI5M2FjN2NlZjlkMmI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAx
OS0wOS0yNSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQg
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlc3BvbnNlSGFz
RXhwaXJlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVzcG9uc2VOZWVkc1Jl
dmFsaWRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6bWFrZVVzZURlY2lz
aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjptYWtlU3RvcmVEZWNpc2lvbik6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6OnJldHJpZXZlKToKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1
ZXN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpBc3luY1JldmFsaWRhdGlvbjo6
QXN5bmNSZXZhbGlkYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5j
UmV2YWxpZGF0aW9uOjpsb2FkIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpBc3luY1JldmFsaWRhdGlvbjo6c3RhbGVXaGlsZVJldmFsaWRhdGVFbmRpbmcpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnN0YXJ0QXN5
bmNSZXZhbGlkYXRpb25JZk5lZWRlZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5oOgorCiAyMDE5LTA5LTIxICBEYW4g
QmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGFuIGFzc2VydGlvbiBm
YWlsdXJlIGludHJvZHVjZWQgaW4gcjI1MDE4Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcAppbmRleCA0OTU5MDUwNjc5Y2UwNTA0
ODQyNDQ3ZWIxZjVhMGJmOGE2NzY4M2NlLi43NjM3OTgxNmUzMzNmNWFhZWIxMzY4NzAwOWUyODE0
NzA0MzJiYzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Nh
Y2hlVmFsaWRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9D
YWNoZVZhbGlkYXRpb24uY3BwCkBAIC0zMTMsOCArMzEzLDIwIEBAIENhY2hlQ29udHJvbERpcmVj
dGl2ZXMgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhl
YWRlcnMpCiAgICAgICAgICAgICAgICAgZG91YmxlIG1heFN0YWxlID0gZGlyZWN0aXZlc1tpXS5z
ZWNvbmQudG9Eb3VibGUoJm9rKTsKICAgICAgICAgICAgICAgICBpZiAob2spCiAgICAgICAgICAg
ICAgICAgICAgIHJlc3VsdC5tYXhTdGFsZSA9IFNlY29uZHMgeyBtYXhTdGFsZSB9OwotICAgICAg
ICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVz
W2ldLmZpcnN0LCAiaW1tdXRhYmxlIikpCisgICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGl2ZXNbaV0uZmlyc3QsICJpbW11dGFibGUiKSkg
ewogICAgICAgICAgICAgICAgIHJlc3VsdC5pbW11dGFibGUgPSB0cnVlOworICAgICAgICAgICAg
fSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZp
cnN0LCAic3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKHJl
c3VsdC5zdGFsZVdoaWxlUmV2YWxpZGF0ZSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGaXJz
dCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGRpcmVjdGl2ZSB3aW5zIGlmIHRoZXJlIGFyZSBtdWx0
aXBsZSBvbmVzLgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgYm9vbCBvazsKKyAgICAgICAgICAgICAgICBkb3VibGUgc3Rh
bGVXaGlsZVJldmFsaWRhdGUgPSBkaXJlY3RpdmVzW2ldLnNlY29uZC50b0RvdWJsZSgmb2spOwor
ICAgICAgICAgICAgICAgIGlmIChvaykgeworICAgICAgICAgICAgICAgICAgICByZXN1bHQubWF4
U3RhbGUgPSBTZWNvbmRzIHsgc3RhbGVXaGlsZVJldmFsaWRhdGUgfTsKKyAgICAgICAgICAgICAg
ICAgICAgcmVzdWx0LnN0YWxlV2hpbGVSZXZhbGlkYXRlID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oCmluZGV4IGFhN2FkN2YxMzE0
YjYzZDM3M2EyYWM3MTcyMjdjY2NmMWQwY2JhYWQuLmMwNjQ1NjFmNTBmMDUzODM5NmRjMmVkOWJj
ZmRjNzVhZjc0MzU2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvQ2FjaGVWYWxpZGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9DYWNoZVZhbGlkYXRpb24uaApAQCAtNjUsNiArNjUsNyBAQCBzdHJ1Y3QgQ2FjaGVDb250cm9s
RGlyZWN0aXZlcyB7CiAgICAgICAgICwgbm9TdG9yZShmYWxzZSkKICAgICAgICAgLCBtdXN0UmV2
YWxpZGF0ZShmYWxzZSkKICAgICAgICAgLCBpbW11dGFibGUoZmFsc2UpCisgICAgICAgICwgc3Rh
bGVXaGlsZVJldmFsaWRhdGUoZmFsc2UpCiAgICAgICAgIHsgfQogCiAgICAgTWFya2FibGU8U2Vj
b25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IG1heEFnZTsKQEAgLTczLDYgKzc0LDcgQEAg
c3RydWN0IENhY2hlQ29udHJvbERpcmVjdGl2ZXMgewogICAgIGJvb2wgbm9TdG9yZSA6IDE7CiAg
ICAgYm9vbCBtdXN0UmV2YWxpZGF0ZSA6IDE7CiAgICAgYm9vbCBpbW11dGFibGUgOiAxOworICAg
IGJvb2wgc3RhbGVXaGlsZVJldmFsaWRhdGUgOiAxOwogfTsKIFdFQkNPUkVfRVhQT1JUIENhY2hl
Q29udHJvbERpcmVjdGl2ZXMgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKGNvbnN0IEhUVFBI
ZWFkZXJNYXAmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAppbmRleCAyMGFjNjRkNTcwMzRjNjllYTkyYmM3
YTQzNTM2ZjE2ZDc5NWZmYTI5Li41Y2JkYmZlYzlhZGNjN2M3N2ZhMDkxYzk5MjgwNGRlNDk1Mjdm
ZDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmNwcApAQCAtNjU1LDYgKzY1NSwxNSBAQCBPcHRpb25hbDxTZWNv
bmRzPiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250cm9sTWF4QWdlKCkgY29uc3QKICAg
ICByZXR1cm4gbV9jYWNoZUNvbnRyb2xEaXJlY3RpdmVzLm1heEFnZTsKIH0KIAorT3B0aW9uYWw8
U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZh
bGlkYXRlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1faGF2ZVBhcnNlZENhY2hlQ29udHJvbEhlYWRl
cikKKyAgICAgICAgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKCk7CisgICAgaWYgKG1fY2Fj
aGVDb250cm9sRGlyZWN0aXZlcy5zdGFsZVdoaWxlUmV2YWxpZGF0ZSkKKyAgICAgICAgcmV0dXJu
IG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5tYXhTdGFsZTsKKyAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworfQorCiBzdGF0aWMgT3B0aW9uYWw8V2FsbFRpbWU+IHBhcnNlRGF0ZVZhbHVlSW5IZWFk
ZXIoY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVycywgSFRUUEhlYWRlck5hbWUgaGVhZGVyTmFt
ZSkKIHsKICAgICBTdHJpbmcgaGVhZGVyVmFsdWUgPSBoZWFkZXJzLmdldChoZWFkZXJOYW1lKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuaAppbmRleCBjYjE3YjU5NTQ4N2QxMGI3NzNjNGU0ODUzNTQzMDI0YTUwZjFhOTdm
Li40MDY4MWYwNzdhYjllZWQwOWM5MzViYjBiYWFjOWUwYjQwOWMzOGRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5o
CkBAIC0xMzYsNiArMTM2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY2Fj
aGVDb250cm9sQ29udGFpbnNJbW11dGFibGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIGhhc0NhY2hlVmFsaWRhdG9yRmllbGRzKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQg
T3B0aW9uYWw8U2Vjb25kcz4gY2FjaGVDb250cm9sTWF4QWdlKCkgY29uc3Q7CisgICAgV0VCQ09S
RV9FWFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRh
dGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxXYWxsVGltZT4gZGF0ZSgp
IGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGFnZSgpIGNvbnN0
OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFdhbGxUaW1lPiBleHBpcmVzKCkgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZS5jcHAKaW5kZXggZjM0NGQxYWJhNjRmZTkzYzljYmViZDQ3ZjQzZTgxNjNiYWNkN2MxNy4uODcw
OWUwYmU5YmNkODE3NGQ2MTdmNTdlMzFmODQwYTlhOTFmZWEzYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcApAQCAtMTUyLDcg
KzE1Miw3IEBAIHN0YXRpYyBib29sIGNhY2hlUG9saWN5QWxsb3dzRXhwaXJlZChXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBwb2xpY3kpCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1zdGF0aWMgYm9vbCByZXNwb25zZUhhc0V4cGlyZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UsIFdhbGxUaW1lIHRpbWVzdGFtcCwgT3B0aW9uYWw8U2Vjb25kcz4g
bWF4U3RhbGUpCitzdGF0aWMgYm9vbCByZXNwb25zZUhhc0V4cGlyZWQoY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFdhbGxUaW1lIHRpbWVzdGFtcCwgT3B0aW9uYWw8
U2Vjb25kcz4gbWF4U3RhbGUsIGJvb2wmIGluUmVzcG9uc2VTdGFsZW5lc3MpCiB7CiAgICAgaWYg
KHJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKQEAgLTE2MiwyNSArMTYyLDM1IEBAIHN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhwaXJl
ZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgV2FsbFRpCiAKICAg
ICBhdXRvIG1heGltdW1TdGFsZW5lc3MgPSBtYXhTdGFsZSA/IG1heFN0YWxlLnZhbHVlKCkgOiAw
X21zOwogICAgIGJvb2wgaGFzRXhwaXJlZCA9IGFnZSAtIGxpZmV0aW1lID4gbWF4aW11bVN0YWxl
bmVzczsKKyNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04p
CisgICAgaWYgKGhhc0V4cGlyZWQpIHsKKyAgICAgICAgYXV0byByZXNwb25zZU1heFN0YWxlbmVz
cyA9IHJlc3BvbnNlLmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAgICAg
IG1heGltdW1TdGFsZW5lc3MgKz0gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPyByZXNwb25zZU1heFN0
YWxlbmVzcy52YWx1ZSgpIDogMF9tczsKKyAgICAgICAgaW5SZXNwb25zZVN0YWxlbmVzcyA9IGFn
ZSAtIGxpZmV0aW1lIDwgbWF4aW11bVN0YWxlbmVzczsKKyAgICB9CisjZW5kaWYKIAogI2lmbmRl
ZiBMT0dfRElTQUJMRUQKICAgICBpZiAoaGFzRXhwaXJlZCkKLSAgICAgICAgTE9HKE5ldHdvcmtD
YWNoZSwgIihOZXR3b3JrUHJvY2VzcykgbmVlZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJlZCBhZ2U9
JWYgbGlmZXRpbWU9JWYgbWF4LXN0YWxlPSVnIiwgYWdlLCBsaWZldGltZSwgbWF4U3RhbGUpOwor
ICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBuZWVkc1JldmFsaWRh
dGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBsaWZldGltZT0lZiBtYXgtc3RhbGVuZXNzPSVmIiwgYWdl
LCBsaWZldGltZSwgbWF4aW11bVN0YWxlbmVzcyk7CiAjZW5kaWYKIAogICAgIHJldHVybiBoYXNF
eHBpcmVkOwogfQogCi1zdGF0aWMgYm9vbCByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdhbGxUaW1lIHRpbWVzdGFtcCkKK3N0YXRpYyBVc2VEZWNp
c2lvbiByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IFdhbGxUaW1lIHRpbWVzdGFtcCkKIHsKICAgICBhdXRvIHJlcXVlc3REaXJlY3RpdmVzID0gV2Vi
Q29yZTo6cGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKHJlcXVlc3QuaHR0cEhlYWRlckZpZWxk
cygpKTsKICAgICBpZiAocmVxdWVzdERpcmVjdGl2ZXMubm9DYWNoZSkKLSAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAgICAgLy8gRm9y
IHJlcXVlc3RzIHdlIGlnbm9yZSBtYXgtYWdlIHZhbHVlcyBvdGhlciB0aGFuIHplcm8uCiAgICAg
aWYgKHJlcXVlc3REaXJlY3RpdmVzLm1heEFnZSAmJiByZXF1ZXN0RGlyZWN0aXZlcy5tYXhBZ2Uu
dmFsdWUoKSA9PSAwX21zKQotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIFVz
ZURlY2lzaW9uOjpWYWxpZGF0ZTsKIAotICAgIHJldHVybiByZXNwb25zZUhhc0V4cGlyZWQocmVz
cG9uc2UsIHRpbWVzdGFtcCwgcmVxdWVzdERpcmVjdGl2ZXMubWF4U3RhbGUpOworICAgIGJvb2wg
aW5SZXNwb25zZVN0YWxlbmVzcyA9IGZhbHNlOworICAgIGlmIChyZXNwb25zZUhhc0V4cGlyZWQo
cmVzcG9uc2UsIHRpbWVzdGFtcCwgcmVxdWVzdERpcmVjdGl2ZXMubWF4U3RhbGUsIGluUmVzcG9u
c2VTdGFsZW5lc3MpKQorICAgICAgICByZXR1cm4gaW5SZXNwb25zZVN0YWxlbmVzcyA/IFVzZURl
Y2lzaW9uOjpBc3luY1JldmFsaWRhdGUgOiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CisgICAgcmV0
dXJuIFVzZURlY2lzaW9uOjpVc2U7CiB9CiAKIHN0YXRpYyBVc2VEZWNpc2lvbiBtYWtlVXNlRGVj
aXNpb24oTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25zdCBQQUw6OlNlc3Npb25J
RCYgc2Vzc2lvbklELCBjb25zdCBFbnRyeSYgZW50cnksIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCkKQEAgLTE5Nyw4ICsyMDcsOSBAQCBzdGF0aWMgVXNlRGVjaXNpb24g
bWFrZVVzZURlY2lzaW9uKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgUEFM
OjpTZQogICAgIGlmIChjYWNoZVBvbGljeUFsbG93c0V4cGlyZWQocmVxdWVzdC5jYWNoZVBvbGlj
eSgpKSkKICAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CiAKLSAgICBpZiAoIXJlc3Bv
bnNlTmVlZHNSZXZhbGlkYXRpb24oZW50cnkucmVzcG9uc2UoKSwgcmVxdWVzdCwgZW50cnkudGlt
ZVN0YW1wKCkpKQotICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlVzZTsKKyAgICBhdXRvIGRl
Y2lzaW9uID0gcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihlbnRyeS5yZXNwb25zZSgpLCByZXF1
ZXN0LCBlbnRyeS50aW1lU3RhbXAoKSk7CisgICAgaWYgKGRlY2lzaW9uICE9IFVzZURlY2lzaW9u
OjpWYWxpZGF0ZSkKKyAgICAgICAgcmV0dXJuIGRlY2lzaW9uOwogCiAgICAgaWYgKCFlbnRyeS5y
ZXNwb25zZSgpLmhhc0NhY2hlVmFsaWRhdG9yRmllbGRzKCkpCiAgICAgICAgIHJldHVybiBVc2VE
ZWNpc2lvbjo6Tm9EdWVUb01pc3NpbmdWYWxpZGF0b3JGaWVsZHM7CkBAIC0yNTEsOCArMjYyLDEw
IEBAIHN0YXRpYyBTdG9yZURlY2lzaW9uIG1ha2VTdG9yZURlY2lzaW9uKGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSCiAgICAgYm9vbCBzdG9yZVVuY29uZGl0aW9uYWxs
eUZvckhpc3RvcnlOYXZpZ2F0aW9uID0gaXNNYWluUmVzb3VyY2UgfHwgb3JpZ2luYWxSZXF1ZXN0
LnByaW9yaXR5KCkgPT0gV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6OlZlcnlIaWdoOwog
ICAgIGlmICghc3RvcmVVbmNvbmRpdGlvbmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbikgewogICAg
ICAgICBhdXRvIG5vdyA9IFdhbGxUaW1lOjpub3coKTsKLSAgICAgICAgYm9vbCBoYXNOb25aZXJv
TGlmZXRpbWUgPSAhcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNOb0NhY2hlKCkgJiYgV2Vi
Q29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShyZXNwb25zZSwgbm93
KSA+IDBfbXM7Ci0KKyAgICAgICAgU2Vjb25kcyBhbGxvd2VkU3RhbGU7CisgICAgICAgIGlmIChh
dXRvIHZhbHVlID0gcmVzcG9uc2UuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKSkK
KyAgICAgICAgICAgIGFsbG93ZWRTdGFsZSA9IHZhbHVlLnZhbHVlKCk7CisgICAgICAgIGJvb2wg
aGFzTm9uWmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNo
ZSgpICYmIChXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJl
c3BvbnNlLCBub3cpID4gMF9tcyB8fCBhbGxvd2VkU3RhbGUgPiAwX21zKTsKICAgICAgICAgYm9v
bCBwb3NzaWJseVJldXNhYmxlID0gcmVzcG9uc2UuaGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSB8
fCBoYXNOb25aZXJvTGlmZXRpbWU7CiAgICAgICAgIGlmICghcG9zc2libHlSZXVzYWJsZSkKICAg
ICAgICAgICAgIHJldHVybiBTdG9yZURlY2lzaW9uOjpOb0R1ZVRvVW5saWtlbHlUb1JldXNlOwpA
QCAtMzM0LDEyICszNDcsMTEgQEAgdm9pZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUkKICAgICB9CiAjZW5k
aWYKIAotICAgIG1fc3RvcmFnZS0+cmV0cmlldmUoc3RvcmFnZUtleSwgcHJpb3JpdHksIFtyZXF1
ZXN0LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBpbmZv
ID0gV1RGTW92ZShpbmZvKSwgc3RvcmFnZUtleSwgbmV0d29ya1Byb2Nlc3MgPSBtYWtlUmVmKG5l
dHdvcmtQcm9jZXNzKCkpLCBzZXNzaW9uSUQgPSBtX3Nlc3Npb25JRF0oYXV0byByZWNvcmQsIGF1
dG8gdGltaW5ncykgbXV0YWJsZSB7CisgICAgbV9zdG9yYWdlLT5yZXRyaWV2ZShzdG9yYWdlS2V5
LCBwcmlvcml0eSwgW3RoaXMsIHJlcXVlc3QsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlciksIGluZm8gPSBXVEZNb3ZlKGluZm8pLCBzdG9yYWdlS2V5LCBuZXR3
b3JrUHJvY2VzcyA9IG1ha2VSZWYobmV0d29ya1Byb2Nlc3MoKSksIHNlc3Npb25JRCA9IG1fc2Vz
c2lvbklELCBmcmFtZUlEXShhdXRvIHJlY29yZCwgYXV0byB0aW1pbmdzKSBtdXRhYmxlIHsKICAg
ICAgICAgaW5mby5zdG9yYWdlVGltaW5ncyA9IHRpbWluZ3M7CiAKICAgICAgICAgaWYgKCFyZWNv
cmQpIHsKICAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIG5v
dCBmb3VuZCBpbiBzdG9yYWdlIik7Ci0KICAgICAgICAgICAgIGNvbXBsZXRlUmV0cmlldmUoV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlciksIG51bGxwdHIsIGluZm8pOwogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC0zNTAsNiArMzYyLDE1IEBAIHZvaWQgQ2FjaGU6OnJl
dHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xv
YmFsRnJhbWVJCiAKICAgICAgICAgYXV0byB1c2VEZWNpc2lvbiA9IGVudHJ5ID8gbWFrZVVzZURl
Y2lzaW9uKG5ldHdvcmtQcm9jZXNzLCBzZXNzaW9uSUQsICplbnRyeSwgcmVxdWVzdCkgOiBVc2VE
ZWNpc2lvbjo6Tm9EdWVUb0RlY29kZUZhaWx1cmU7CiAgICAgICAgIHN3aXRjaCAodXNlRGVjaXNp
b24pIHsKKyAgICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRlOiB7CisjaWYg
RU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQorICAgICAgICAg
ICAgaWYgKG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlcikgeworICAgICAgICAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxFbnRyeT4gZW50cnlDb3B5ID0gbWFrZVVuaXF1ZTxFbnRyeT4oKmVudHJ5KTsK
KyAgICAgICAgICAgICAgICBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXItPnN0YXJ0QXN5bmNSZXZh
bGlkYXRpb25JZk5lZWRlZChyZXF1ZXN0LCBzdG9yYWdlS2V5LCBXVEZNb3ZlKGVudHJ5Q29weSks
IGZyYW1lSUQpOworICAgICAgICAgICAgfQorI2VuZGlmCisgICAgICAgICAgICBGQUxMVEhST1VH
SDsKKyAgICAgICAgfQogICAgICAgICBjYXNlIFVzZURlY2lzaW9uOjpVc2U6CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6VmFsaWRhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAppbmRleCA1ZDA5
M2Q2Y2NlYmY0YWUzNjBmOTdjNzc3MThhZGY3MWI0MjIzNThiLi4wM2I0MDA0YTg3ODk2N2Q4ZDEx
MGU1M2IzYThiODkxNGVjZmMyYTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKQEAgLTgxLDYgKzgxLDcgQEAgZW51bSBjbGFzcyBT
dG9yZURlY2lzaW9uIHsKIGVudW0gY2xhc3MgVXNlRGVjaXNpb24gewogICAgIFVzZSwKICAgICBW
YWxpZGF0ZSwKKyAgICBBc3luY1JldmFsaWRhdGUsCiAgICAgTm9EdWVUb1ZhcnlpbmdIZWFkZXJN
aXNtYXRjaCwKICAgICBOb0R1ZVRvTWlzc2luZ1ZhbGlkYXRvckZpZWxkcywKICAgICBOb0R1ZVRv
RGVjb2RlRmFpbHVyZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFn
ZXIuY3BwCmluZGV4IDY3OTQwMzliN2UxOTE3YTRhYWJhZDRkMmQ1MDhmNzM5NTM3ODY1NjcuLjRi
ZWIwNTBmMWI1MjAwNmUwMmQ5NTI4MTBlMTU4ZGQ2YjJlYTUzNTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtNDg2LDcgKzQ4Niw3NyBAQCB2
b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnJldmFsaWRhdGVTdWJyZXNvdXJjZShjb25zdCBT
dWJyZXNvdXJjZUluZm8mIHN1YnJlcwogICAgIH0pOwogICAgIG1fcGVuZGluZ1ByZWxvYWRzLmFk
ZChrZXksIFdURk1vdmUocmV2YWxpZGF0b3IpKTsKIH0KLSAgICAKKworc3RhdGljIGlubGluZSBS
ZXNvdXJjZVJlcXVlc3QgY29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdChjb25zdCBLZXkmIGtl
eSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBFbnRyeSogZW50cnkpCit7
CisgICAgUmVzb3VyY2VSZXF1ZXN0IHJldmFsaWRhdGlvblJlcXVlc3QgPSByZXF1ZXN0OworICAg
IGlmICgha2V5LnBhcnRpdGlvbigpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV2YWxpZGF0aW9uUmVx
dWVzdC5zZXRDYWNoZVBhcnRpdGlvbihrZXkucGFydGl0aW9uKCkpOworICAgIEFTU0VSVF9XSVRI
X01FU1NBR0Uoa2V5LnJhbmdlKCkuaXNFbXB0eSgpLCAicmFuZ2UgaXMgbm90IHN1cHBvcnRlZCIp
OworCisgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOworICAgIGlm
IChlbnRyeSkgeworICAgICAgICBTdHJpbmcgZVRhZyA9IGVudHJ5LT5yZXNwb25zZSgpLmh0dHBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6RVRhZyk7CisgICAgICAgIGlmICghZVRhZy5pc0Vt
cHR5KCkpCisgICAgICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVs
ZChIVFRQSGVhZGVyTmFtZTo6SWZOb25lTWF0Y2gsIGVUYWcpOworCisgICAgICAgIFN0cmluZyBs
YXN0TW9kaWZpZWQgPSBlbnRyeS0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRl
ck5hbWU6Okxhc3RNb2RpZmllZCk7CisgICAgICAgIGlmICghbGFzdE1vZGlmaWVkLmlzRW1wdHko
KSkKKyAgICAgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhU
VFBIZWFkZXJOYW1lOjpJZk1vZGlmaWVkU2luY2UsIGxhc3RNb2RpZmllZCk7CisgICAgfQorCisg
ICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRQcmlvcml0eShXZWJDb3JlOjpSZXNvdXJjZUxvYWRQ
cmlvcml0eTo6TG93KTsKKworICAgIHJldHVybiByZXZhbGlkYXRpb25SZXF1ZXN0OworfQorCitj
bGFzcyBBc3luY1JldmFsaWRhdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CisgICAgdHlwZWRlZiBGdW5jdGlvbjx2b2lkIChib29sKT4gQXN5bmNSZXZhbGlkYXRp
b25Db21wbGV0aW9uSGFuZGxlcjsKKyAgICBBc3luY1JldmFsaWRhdGlvbihDYWNoZSYgY2FjaGUs
IGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNoZTo6RW50cnk+IGVudHJ5LCBBc3luY1Jl
dmFsaWRhdGlvbkNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKKyAgICAgICAgOiBtX3RpbWVy
KCp0aGlzLCAmQXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5kaW5nKQor
ICAgICAgICAsIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkKKyAgICB7Cisg
ICAgICAgIGF1dG8ga2V5ID0gZW50cnktPmtleSgpOworICAgICAgICBhdXRvIHJldmFsaWRhdGlv
blJlcXVlc3QgPSBjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KGtleSwgcmVxdWVzdCwgZW50
cnkuZ2V0KCkpOworICAgICAgICBhdXRvIGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdl
KGVudHJ5LT5yZXNwb25zZSgpLCBlbnRyeS0+dGltZVN0YW1wKCkpOworICAgICAgICBhdXRvIGxp
ZmV0aW1lID0gV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShl
bnRyeS0+cmVzcG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICAgICAgYXV0byByZXNw
b25zZU1heFN0YWxlbmVzcyA9IGVudHJ5LT5yZXNwb25zZSgpLmNhY2hlQ29udHJvbFN0YWxlV2hp
bGVSZXZhbGlkYXRlKCk7CisgICAgICAgIEFTU0VSVChyZXNwb25zZU1heFN0YWxlbmVzcyk7Cisg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KCpyZXNwb25zZU1heFN0YWxlbmVzcyAtIChhZ2Ug
LSBsaWZldGltZSkpOworICAgICAgICBtX2xvYWQgPSBtYWtlVW5pcXVlPFNwZWN1bGF0aXZlTG9h
ZD4oY2FjaGUsIGZyYW1lSUQsIHJldmFsaWRhdGlvblJlcXVlc3QsIFdURk1vdmUoZW50cnkpLCBb
dGhpcywga2V5LCByZXZhbGlkYXRpb25SZXF1ZXN0XShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IHJl
dmFsaWRhdGVkRW50cnkpIHsKKyAgICAgICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8
fCAhcmV2YWxpZGF0ZWRFbnRyeS0+bmVlZHNWYWxpZGF0aW9uKCkpOworICAgICAgICAgICAgQVNT
RVJUKCFyZXZhbGlkYXRlZEVudHJ5IHx8IHJldmFsaWRhdGVkRW50cnktPmtleSgpID09IGtleSk7
CisgICAgICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyKHJldmFsaWRhdGVkRW50cnkuZ2V0KCkp
OworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBjb25zdCBTcGVjdWxhdGl2ZUxvYWQmIGxvYWQo
KSBjb25zdCB7IHJldHVybiAqbV9sb2FkOyB9CisKKyAgICB2b2lkIHN0YWxlV2hpbGVSZXZhbGlk
YXRlRW5kaW5nKCkgeyBtX2NvbXBsZXRpb25IYW5kbGVyKHRydWUpOyB9CisKK3ByaXZhdGU6Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPFNwZWN1bGF0aXZlTG9hZD4gbV9sb2FkOworICAgIFRpbWVyIG1f
dGltZXI7CisgICAgQXN5bmNSZXZhbGlkYXRpb25Db21wbGV0aW9uSGFuZGxlciBtX2NvbXBsZXRp
b25IYW5kbGVyOworfTsKKwordm9pZCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpzdGFydEFzeW5j
UmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25z
dCBOZXR3b3JrQ2FjaGU6OktleSYga2V5LCBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5LCBj
b25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlEKQoreworICAgIGF1dG8qIHBlbmRpbmdBc3luY1Jl
dmFsaWRhdGlvbiA9IG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9ucy5nZXQoa2V5KTsKKyAgICBp
ZiAocGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uICYmIGNhblVzZVBlbmRpbmdQcmVsb2FkKHBlbmRp
bmdBc3luY1JldmFsaWRhdGlvbi0+bG9hZCgpLCByZXF1ZXN0KSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgYXV0byByZXZhbGlkYXRvciA9IG1ha2VVbmlxdWU8QXN5bmNSZXZhbGlkYXRpb24+KG1f
Y2FjaGUsIGZyYW1lSUQsIHJlcXVlc3QsIFdURk1vdmUoZW50cnkpLCBbdGhpcywga2V5XShib29s
IGVuZGluZykgeworICAgICAgICBpZiAoZW5kaW5nKSB7CisgICAgICAgICAgICBtX3BlbmRpbmdB
c3luY1JldmFsaWRhdGlvbnMudGFrZShrZXkpOworICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNo
ZSwgIihOZXR3b3JrUHJvY2VzcykgQXN5bmMgcmV2YWxpZGF0aW9uIGNvbXBsZXRlZCBmb3IgJyVz
JzoiLCBrZXkuaWRlbnRpZmllcigpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICB9CisgICAgfSk7
CisgICAgbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLmFkZChrZXksIFdURk1vdmUocmV2YWxp
ZGF0b3IpKTsKK30KKwogc3RhdGljIGJvb2wgY2FuUmV2YWxpZGF0ZShjb25zdCBTdWJyZXNvdXJj
ZUluZm8mIHN1YnJlc291cmNlSW5mbywgY29uc3QgRW50cnkqIGVudHJ5KQogewogICAgIEFTU0VS
VCghc3VicmVzb3VyY2VJbmZvLmlzVHJhbnNpZW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5h
Z2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZE1hbmFnZXIuaAppbmRleCAzYWY0ZmRiODEyMWZkN2M1ZTkxOGEwMzliNDAw
YTVmM2EzYTg2ZWZhLi5mMjAyZmQ2NjZlYzY3MDVkN2I2ZDQ4YjNmNDhiNDM4M2EwMDZhODAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaApAQCAtMzgsNiAr
MzgsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAK
K2NsYXNzIEFzeW5jUmV2YWxpZGF0aW9uOwogY2xhc3MgRW50cnk7CiBjbGFzcyBTcGVjdWxhdGl2
ZUxvYWQ7CiBjbGFzcyBTdWJyZXNvdXJjZUluZm87CkBAIC01Niw2ICs1Nyw4IEBAIHB1YmxpYzoK
ICAgICBib29sIGNhblJldHJpZXZlKGNvbnN0IEtleSYgc3RvcmFnZUtleSwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgR2xvYmFsRnJhbWVJRCYpIGNvbnN0OwogICAgIHZv
aWQgcmV0cmlldmUoY29uc3QgS2V5JiBzdG9yYWdlS2V5LCBSZXRyaWV2ZUNvbXBsZXRpb25IYW5k
bGVyJiYpOwogCisgICAgdm9pZCBzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmLCBzdGQ6
OnVuaXF1ZV9wdHI8RW50cnk+LCBjb25zdCBHbG9iYWxGcmFtZUlEJik7CisKIHByaXZhdGU6CiAg
ICAgY2xhc3MgUHJlbG9hZGVkRW50cnk7CiAKQEAgLTgxLDYgKzg0LDggQEAgcHJpdmF0ZToKIAog
ICAgIEhhc2hNYXA8S2V5LCBzdGQ6OnVuaXF1ZV9wdHI8UHJlbG9hZGVkRW50cnk+PiBtX3ByZWxv
YWRlZEVudHJpZXM7CiAKKyAgICBIYXNoTWFwPEtleSwgc3RkOjp1bmlxdWVfcHRyPEFzeW5jUmV2
YWxpZGF0aW9uPj4gbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zOworCiAgICAgY2xhc3MgRXhw
aXJpbmdFbnRyeTsKICAgICBIYXNoTWFwPEtleSwgc3RkOjp1bmlxdWVfcHRyPEV4cGlyaW5nRW50
cnk+PiBtX25vdFByZWxvYWRlZEVudHJpZXM7IC8vIEZvciBsb2dnaW5nLgogfTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDRiZWY5ZmRjNjk4MmQ2OTk0OWVmNGM4ODhhNTg4Mzg0
ODVhNWNjYjYuLjcxYTc2YWU5M2QxOThlZDc2NGM2OTAxNmY2MmI4MTVlM2Y3YWY2YzcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTA5LTI1ICBS
b2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGls
ZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvZmV0Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
cmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAoaWRfdG9rZW4pOgorICAgICAg
ICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3Mt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1h
Z2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1zY3JpcHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvc3ctaW50ZXJjZXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jLmJyb2FkY2FzdCk6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
dzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDE5LTA5LTIwICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW3Jlc291cmNlLXRpbWluZ10gUmVw
b3J0IHBlcmZvcm1hbmNlIGVudHJpZXMgd2l0aCBhbGwgSFRUUCBzdGF0dXMgY29kZXMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24KaW5kZXggOTA2ZDExYWVhOWUzMWQzZjdkYWU1N2E1ZDE5MmQyMWY3NTNi
OThjOC4uZjc3NTRiNTU0YjJjYjAyNDExODFlZWU2Y2YwYmYzOWJiOWNhZTMyMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25z
Lmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24KQEAgLTE1OCw2ICsxNTgsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2NvcnMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9yYW5n
ZSI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mdWxsc2Ny
ZWVuIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2dhbWVwYWQiOiAic2tpcCIs
IAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZ2VuZXJpYy1zZW5zb3IiOiAic2tpcCIsIApAQCAt
MzY4LDQgKzM2OSw0IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cyI6ICJza2lw
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy94LWZyYW1lLW9wdGlvbnMiOiAic2tpcCIsIAog
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMveGhyIjogImltcG9ydCIKLX0KK30KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
NmJmMjZmNGFiMTFjNzc3YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFj
Nzc3YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFT
UyBTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1z
dy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmY2ViYzI0YTYzZjQwZGU1NGE0YzM5OTFjOTA1MGVi
NzQ0ODZhMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0
cHMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPlN0YWxlIFJldmFsaWRhdGlvbiBS
ZXF1ZXN0cyBkb24ndCBnZXQgc2VudCB0byBzZXJ2aWNlIHdvcmtlcjwvdGl0bGU+CisgIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0
IHNyYz0iLi4vLi4vc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0
LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCisgIC8vIER1cGxpY2F0
aW5nIHRoaXMgcmVzb3VyY2UgdG8gbWFrZSBzZXJ2aWNlIHdvcmtlciBzY29waW5nIHNpbXBsZXIu
CisgIGFzeW5jIGZ1bmN0aW9uIHNldHVwUmVnaXN0cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVk
KHQsIHNjb3BlKSB7CisgICAgY29uc3QgY29udHJvbGxlZCA9IG5ldyBQcm9taXNlKChyZXNvbHZl
KSA9PiB7CisgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbmNvbnRyb2xsZXJjaGFuZ2Ug
PSAoKSA9PiB7IHJlc29sdmUoKTsgfTsKKyAgICB9KTsKKyAgICBjb25zdCByZWcgPSBhd2FpdCBu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcignc3ctaW50ZXJjZXB0LmpzJyk7CisgICAg
YXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAg
ICBhd2FpdCBjb250cm9sbGVkOworICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKF8gPT4gcmVn
LnVucmVnaXN0ZXIoKSk7CisgICAgcmV0dXJuIHJlZzsKKyAgfQorCisgIC8vIFVzaW5nIDI1MG1z
IHBvbGxpbmcgaW50ZXJ2YWwgdG8gcHJvdmlkZSBlbm91Z2ggJ25ldHdvcmsgY2FsbW5lc3MnIHRv
IGdpdmUKKyAgLy8gdGhlIGJhY2tncm91bmQgbG93IHByaW9yaXR5IHJldmFsaWRhdGlvbiByZXF1
ZXN0IGEgY2hhbmNlIHRvIGtpY2sgaW4uCisgIGZ1bmN0aW9uIHdhaXQyNTBtcyh0ZXN0KSB7Cisg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgdGVzdC5zdGVwX3RpbWVv
dXQoKCkgPT4geworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9LCAyNTApOworICAgIH0pOwor
ICB9CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgdmFyIHJlcXVlc3Rf
dG9rZW4gPSB0b2tlbigpOworICAgIGNvbnN0IHVyaSA9ICdyZXNvdXJjZXMvc3RhbGUtc2NyaXB0
LnB5P3Rva2VuPScgKyByZXF1ZXN0X3Rva2VuOworCisgICAgYXdhaXQgc2V0dXBSZWdpc3RyYXRp
b25BbmRXYWl0VG9CZUNvbnRyb2xsZWQodGVzdCwgJ3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkn
KTsKKworICAgIHZhciBzZXJ2aWNlX3dvcmtlcl9jb3VudCA9IDA7CisgICAgbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIG9uY2UoZXZl
bnQpIHsKKyAgICAgIGlmIChldmVudC5kYXRhLmVuZHNXaXRoKHVyaSkpIHsKKyAgICAgICAgc2Vy
dmljZV93b3JrZXJfY291bnQrKzsKKyAgICAgIH0KKyAgICB9KTsKKworICAgIGNvbnN0IHJlc3Bv
bnNlID0gYXdhaXQgZmV0Y2godXJpKTsKKyAgICBjb25zdCByZXNwb25zZTIgPSBhd2FpdCBmZXRj
aCh1cmkpOworICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2UuaGVhZGVycy5nZXQoJ1VuaXF1ZS1J
ZCcpLCByZXNwb25zZTIuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpKTsKKyAgICB3aGlsZSh0cnVl
KSB7CisgICAgICBjb25zdCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3Vy
Y2VzL3N0YWxlLXNjcmlwdC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAg
ICBpZiAocmV2YWxpZGF0aW9uX2NoZWNrLmhlYWRlcnMuZ2V0KCdDb3VudCcpID09ICcyJykgewor
ICAgICAgICAvLyBUaGUgc2VydmljZSB3b3JrZXIgc2hvdWxkIG5vdCBzZWUgdGhlIHJldmFsaWRh
dGlvbiByZXF1ZXN0LgorICAgICAgICBhc3NlcnRfZXF1YWxzKHNlcnZpY2Vfd29ya2VyX2NvdW50
LCAyKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBhd2FpdCB3YWl0MjUwbXModGVz
dCk7CisgICAgfQorICB9LCAnU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZScpOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9mZXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzMz
OTBjN2FkNTk0OGM2ODJiMmZiZGNiM2M5NWE0YzM3NGRiYmEyZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJl
dmFsaWRhdGUgaXMgbm90IGV4ZWN1dGVkIGZvciBmZXRjaCBBUEk8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9j
b21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHdhaXQyNW1zKHRl
c3QpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHRlc3Quc3RlcF90
aW1lb3V0KCgpID0+IHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9LCAyNSk7CisgIH0pOworfQor
Citwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0
b2tlbigpOworCisgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFs
ZS1zY3JpcHQucHk/dG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworICBjb25zdCByZXNwb25zZTIg
PSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj1gICsgcmVxdWVz
dF90b2tlbik7CisKKyAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZS5oZWFkZXJzLmdldCgnVW5pcXVl
LUlkJyksIHJlc3BvbnNlMi5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJykpOworCisgIHdoaWxlKHRy
dWUpIHsKKyAgICBjb25zdCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3Vy
Y2VzL3N0YWxlLXNjcmlwdC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAg
aWYgKHJldmFsaWRhdGlvbl9jaGVjay5oZWFkZXJzLmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAg
ICAgIGJyZWFrOworICAgIH0KKyAgICBhd2FpdCB3YWl0MjVtcyh0ZXN0KTsKKyAgfQorfSwgJ1Nl
Y29uZCBmZXRjaCByZXR1cm5zIHNhbWUgcmVzcG9uc2UnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmFlNTQ2ZDA2NTFmOTdmMzAy
MDgyOTQ1MmRiNjIyNTQ4NmRjNDUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3Jlc291cmNlcy9zdGFsZS1jc3MucHkKQEAgLTAsMCArMSwyOCBAQAorZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgorCisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBO
b25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0g
Tm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0g
cmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAg
aWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAgY291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBp
c19xdWVyeToKKyAgICAgICAgaWYgY291bnQgPCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVy
LnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNv
dW50ICsgMQorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQor
ICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAg
ICAgY29udGVudCA9ICIiCisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAg
ZWxzZToKKyAgICAgIGNvbnRlbnQgPSAiYm9keSB7IGJhY2tncm91bmQ6IHJnYigwLCAxMjgsIDAp
OyB9IgorICAgICAgaWYgY291bnQgPiAxOgorICAgICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNr
Z3JvdW5kOiByZ2IoMjU1LCAwLCAwKTsgfSIKKworICAgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQt
VHlwZSIsICJ0ZXh0L2NzcyIpLAorICAgICAgICAgICAgICAgKCJDYWNoZS1Db250cm9sIiwgInBy
aXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIpXQorCisgICAgICBy
ZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
cmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFs
ZS1pbWFnZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzllYjg0YmIzNGJiZDE1ZTJjYTcwNjFlZTRmYTU3MjRk
MmM2NGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFs
ZS1pbWFnZS5weQpAQCAtMCwwICsxLDM4IEBACitpbXBvcnQgb3MucGF0aAorCitkZWYgbWFpbihy
ZXF1ZXN0LCByZXNwb25zZSk6CisKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tl
biIsIE5vbmUpCisgICAgaXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25l
KSAhPSBOb25lCisgICAgd2l0aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFs
dWUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisg
ICAgICBpZiB2YWx1ZSAhPSBOb25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAg
IGlmIGlzX3F1ZXJ5OgorICAgICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5z
ZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50
ID0gY291bnQgKyAxCisgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291
bnQpCisKKyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50
KV0KKyAgICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVu
dAorICAgIGVsc2U6CisgICAgICBmaWxlbmFtZSA9ICJncmVlbi0xNngxNi5wbmciCisgICAgICBp
ZiBjb3VudCA+IDE6CisgICAgICAgIGZpbGVuYW1lID0gImdyZWVuLTI1NngyNTYucG5nIgorCisg
ICAgICBwYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLi8u
Li8uLi9pbWFnZXMiLCBmaWxlbmFtZSkKKyAgICAgIGJvZHkgPSBvcGVuKHBhdGgsICJyYiIpLnJl
YWQoKQorCisgICAgICByZXNwb25zZS5hZGRfcmVxdWlyZWRfaGVhZGVycyA9IEZhbHNlCisgICAg
ICByZXNwb25zZS53cml0ZXIud3JpdGVfc3RhdHVzKDIwMCkKKyAgICAgIHJlc3BvbnNlLndyaXRl
ci53cml0ZV9oZWFkZXIoImNvbnRlbnQtbGVuZ3RoIiwgbGVuKGJvZHkpKQorICAgICAgcmVzcG9u
c2Uud3JpdGVyLndyaXRlX2hlYWRlcigiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdl
PTAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAiKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndy
aXRlX2hlYWRlcigiY29udGVudC10eXBlIiwgImltYWdlL3BuZyIpCisgICAgICByZXNwb25zZS53
cml0ZXIuZW5kX2hlYWRlcnMoKQorCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoYm9keSkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFk
NTQ2NzFmNDIxMTczNWY1NmRmNTBhNTVkZWVhNmVkMjgxZDVhMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5CkBAIC0wLDAgKzEsMzIg
QEAKK2ltcG9ydCByYW5kb20sIHN0cmluZywgZGF0ZXRpbWUKKworZGVmIGlkX3Rva2VuKCk6Cisg
ICBsZXR0ZXJzID0gc3RyaW5nLmFzY2lpX2xvd2VyY2FzZQorICAgcmV0dXJuICcnLmpvaW4ocmFu
ZG9tLmNob2ljZShsZXR0ZXJzKSBmb3IgaSBpbiByYW5nZSgyMCkpCisKK2RlZiBtYWluKHJlcXVl
c3QsIHJlc3BvbnNlKToKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5v
bmUpCisgICAgaXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBO
b25lCisgICAgd2l0aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSBy
ZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBp
ZiB2YWx1ZSAhPSBOb25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlz
X3F1ZXJ5OgorICAgICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIu
c3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291
bnQgKyAxCisgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisK
KyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAg
ICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAg
IGVsc2U6CisgICAgICB1bmlxdWVfaWQgPSBpZF90b2tlbigpCisgICAgICBoZWFkZXJzID0gWygi
Q29udGVudC1UeXBlIiwgInRleHQvamF2YXNjcmlwdCIpLAorICAgICAgICAgICAgICAgICAoIkNh
Y2hlLUNvbnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
PTYwIiksCisgICAgICAgICAgICAgICAgICgiVW5pcXVlLUlkIiwgdW5pcXVlX2lkKV0KKyAgICAg
IGNvbnRlbnQgPSAicmVwb3J0KCd7fScpIi5mb3JtYXQodW5pcXVlX2lkKQorICAgICAgcmV0dXJu
IDIwMCwgaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzVhNzczMmE1NjZkNGE2ZjU3M2NjOTdmZDNkMTQ1NDY1N2Q0NzY4
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2cKQEAgLTAsMCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgor
Tm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNl
cy9zdGFsZS1jc3MucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3N0YWxlLWNzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3
ZWFmMDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9z
dGFsZS1jc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVy
bnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1j
c3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTYy
NjBmZGI0NWMwYzJjNjBiNGQ3NmY2M2E3NjM4OWRmODE4YjExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxl
IFJldmFsaWRhdGUgd29ya3MgZm9yIGNzczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9r
ZW4oKTsKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygo
KSA9PiB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyh3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCdi
YWNrZ3JvdW5kLWNvbG9yJyksICJyZ2IoMCwgMTI4LCAwKSIpOworICAgICAgdmFyIGxpbmsyID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOworICAgICAgbGluazIub25sb2FkID0gdC5z
dGVwX2Z1bmMoKCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3In
KSwgInJnYigwLCAxMjgsIDApIik7CisgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsK
KyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZh
bGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLWNz
cy5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVz
cG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0
KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNvdW50ID09ICcyJykgeworICAgICAgICAgICAg
ICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90
aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSkpOwor
ICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAg
ICAgfSk7CisgICAgICBsaW5rMi5yZWwgPSAic3R5bGVzaGVldCI7CisgICAgICBsaW5rMi50eXBl
ID0gInRleHQvY3NzIjsKKyAgICAgIGxpbmsyLmhyZWYgPSAicmVzb3VyY2VzL3N0YWxlLWNzcy5w
eT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQobGluazIpOworICAgIH0sIDApOworICB9KTsKK30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJl
c291cmNlJyk7CisKK3ZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOwor
bGluay5yZWwgPSAic3R5bGVzaGVldCI7CitsaW5rLnR5cGUgPSAidGV4dC9jc3MiOworbGluay5o
cmVmID0gInJlc291cmNlcy9zdGFsZS1jc3MucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZTQyMDE0ZGVm
ZDcxOTEwOTZjMzNjY2U1ODMwZWY3Y2FhMWE1N2E2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKyAKKwor
UEFTUyBDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjBhMDhmODE3MjlkZTQ5OTg1YzY1NzVlMWE3YTVmY2I3N2QzYTBlZTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbApAQCAt
MCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIHdvcmtzIGZvciBpbWFnZXM8L3RpdGxl
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8IS0tCitVc2Ug
YSBjaGlsZCBkb2N1bWVudCB0byBsb2FkIHRoZSBzZWNvbmQgc3RhbGUgaW1hZ2UgaW50byBiZWNh
dXNlCithbiBpbWFnZSBsb2FkZWQgaW50byB0aGUgc2FtZSBkb2N1bWVudCB3aWxsIHNraXAgY2Fj
aGUtY29udHJvbCBoZWFkZXJzLgorU2VlOiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0
aGUtbGlzdC1vZi1hdmFpbGFibGUtaW1hZ2VzCistLT4KKzxpZnJhbWUgaWQ9ImNoaWxkIiBzcmNk
b2M9IiI+PC9pZnJhbWU+Cis8c2NyaXB0PgorCit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7
Cithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4g
eworICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImZpcnN0aW1hZ2UiKS53aWR0aCwgMTYsICJXaWR0aCBpcyAxNiIp
OworICAgICAgdmFyIGNoaWxkRG9jdW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hp
bGQnKS5jb250ZW50RG9jdW1lbnQ7CisgICAgICB2YXIgaW1nMiA9IGNoaWxkRG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaW1nIik7CisgICAgICBpbWcyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhpbWcyLndpZHRoLCAxNiwgImltYWdlIGRpbWVuc2lv
biIpOworICAgICAgICB2YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2Ug
cG9sbCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2Nj
dXIuCisgICAgICAgICAgZmV0Y2goInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT9xdWVyeSZ0b2tl
bj0iICsgcmVxdWVzdF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAg
ICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAg
ICAgICAgICAgaWYgKGNvdW50ID09ICcyJykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVz
dWx0LCAyNSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAg
ICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBp
bWcyLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9r
ZW47CisgICAgICBjaGlsZERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nMik7CisgICAgfSwg
MCk7CisgIH0pOworfSwgJ0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGlt
ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOworaW1nLnNyYyA9ICJyZXNvdXJjZXMv
c3RhbGUtaW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CitpbWcuaWQgPSAiZmlyc3Rp
bWFnZSI7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFmMDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIENhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODc5M2U1MDA1NmJjNjA1M2VhNDEwZDY1OGFlZDM3
M2QxOWY5YTQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlw
dC5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIHNj
cmlwdHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+
Cis8c2NyaXB0PgordmFyIGxhc3RfbW9kaWZpZWQ7Cit2YXIgbGFzdF9tb2RpZmllZF9jb3VudCA9
IDA7Cit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7CisKKy8vIFRoZSBzY3JpcHQgd2lsbCBj
YWxsIHJlcG9ydCB2aWEgYSB1bmlxdWVseSBnZW5lcmF0ZWQgSUQgb24gdGhlIHN1YnJlc291cmNl
LgorLy8gSWYgaXQgaXMgYSBjYWNoZSBoaXQgdGhlIElEIHdpbGwgYmUgdGhlIHNhbWUgYW5kIHRo
ZSB0ZXN0IHdpbGwgcGFzcy4KK2Z1bmN0aW9uIHJlcG9ydChtb2QpIHsKKyAgaWYgKCFsYXN0X21v
ZGlmaWVkKSB7CisgICAgbGFzdF9tb2RpZmllZCA9IG1vZDsKKyAgICBsYXN0X21vZGlmaWVkX2Nv
dW50ID0gMTsKKyAgfSBlbHNlIGlmIChsYXN0X21vZGlmaWVkID09IG1vZCkgeworICAgIGxhc3Rf
bW9kaWZpZWRfY291bnQrKzsKKyAgfQorfQorCithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cu
b25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHN0ZXBfdGltZW91dCgoKSA9PiB7Cisg
ICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAg
ICBzY3JpcHQuc3JjID0gInJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49IiArIHJlcXVl
c3RfdG9rZW47CisgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7CisgICAg
ICBzY3JpcHQub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICAgIGFzc2VydF9l
cXVhbHMobGFzdF9tb2RpZmllZF9jb3VudCwgMiwgImxhc3QgbW9kaWZpZWQiKTsKKyAgICAgICAg
ICB2YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1
c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAg
ICAgICAgIGZldGNoKCJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3F1ZXJ5JnRva2VuPSIgKyBy
ZXF1ZXN0X3Rva2VuKS50aGVuKHQuc3RlcF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAg
ICAgICB2YXIgY291bnQgPSByZXNwb25zZS5oZWFkZXJzLmdldCgiQ291bnQiKTsKKyAgICAgICAg
ICAgICAgaWYgKGNvdW50ID09ICcyJykgeworICAgICAgICAgICAgICAgICAgdC5kb25lKCk7Cisg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hl
Y2tSZXN1bHQsIDI1KTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSkpOworICAgICAg
ICAgIH07CisgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAg
IH0pOworICAgIH0sIDApOworICB9KTsKK30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNl
Jyk7CisKK3ZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3Nj
cmlwdC5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0iICsgcmVxdWVzdF90
b2tlbjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKKzwvc2NyaXB0PgorPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGNhN2RlNTFiMGI4YzU1MTgy
NzZlNzBhZTIxOWI3YmM4Zjg2OWE5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdy1pbnRlcmNlcHQuanMKQEAgLTAsMCArMSwxNCBAQAorYXN5bmMgZnVuY3Rpb24gYnJvYWRj
YXN0KG1zZykgeworICBmb3IgKGNvbnN0IGNsaWVudCBvZiBhd2FpdCBjbGllbnRzLm1hdGNoQWxs
KCkpIHsKKyAgICBjbGllbnQucG9zdE1lc3NhZ2UobXNnKTsKKyAgfQorfQorCitzZWxmLmFkZEV2
ZW50TGlzdGVuZXIoJ2ZldGNoJywgZXZlbnQgPT4geworICBldmVudC53YWl0VW50aWwoYnJvYWRj
YXN0KGV2ZW50LnJlcXVlc3QudXJsKSk7CisgIGV2ZW50LnJlc3BvbmRXaXRoKGZldGNoKGV2ZW50
LnJlcXVlc3QpKTsKK30pOworCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2FjdGl2YXRlJywgZXZl
bnQgPT4geworICBzZWxmLmNsaWVudHMuY2xhaW0oKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9n
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFiOWRkMDZmODQ2YTcwNjhmZWEyYjgyODc4MWFkNzVjYzE5OGU3YTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCAr
MSwyMiBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0
YWxlLXNjcmlwdC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379550</attachid>
            <date>2019-09-25 08:08:33 -0700</date>
            <delta_ts>2019-09-25 11:21:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20190925170922.patch</filename>
            <type>text/plain</type>
            <size>43301</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODdmZmIwYTk2MDExMDM5
MTNkMzM2YmY4ZjkzZDg4OTQxNjRlYTY5Yy4uZjU3M2Y3NzQ3NTc3OTgyZmIwNTMyZDM1OWI2MzM2
YmZkYzkxYzU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTA5LTI1ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
c3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxp
ZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZl
cyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlQ29udHJvbERpcmVjdGl2ZXM6OkNhY2hlQ29udHJvbERpcmVjdGl2
ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbFN0
YWxlV2hpbGVSZXZhbGlkYXRlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmg6CisKIDIwMTktMDktMjUgIEpvbmF0aGFuIEJlZGFyZCAgPGpi
ZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTAz
MjQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGQ4YWY5N2RhOGJmZmFkZmEzOGRlMzFiZmYwY2FhNTBhNWMwMTgwYTku
LmM1Zjk4N2FlNzA4NGNmYWY0NmVjNjIzODI2MWRiYWY0N2EyZjQwMGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMTktMDktMjUgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nh
Y2hlOjpyZXNwb25zZUhhc0V4cGlyZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
OnJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6Om1ha2VVc2VEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6bWFr
ZVN0b3JlRGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpy
ZXRyaWV2ZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmg6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVM
b2FkTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Y29uc3RydWN0
UmV2YWxpZGF0aW9uUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5
bmNSZXZhbGlkYXRpb246OkFzeW5jUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpBc3luY1JldmFsaWRhdGlvbjo6bG9hZCBjb25zdCk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRl
RW5kaW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyOjpzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaDoKKwog
MjAxOS0wOS0yNSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1MDMyNC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcAppbmRleCA0OTU5MDUwNjc5
Y2UwNTA0ODQyNDQ3ZWIxZjVhMGJmOGE2NzY4M2NlLi43NjM3OTgxNmUzMzNmNWFhZWIxMzY4NzAw
OWUyODE0NzA0MzJiYzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9DYWNoZVZhbGlkYXRpb24uY3BwCkBAIC0zMTMsOCArMzEzLDIwIEBAIENhY2hlQ29udHJv
bERpcmVjdGl2ZXMgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKGNvbnN0IEhUVFBIZWFkZXJN
YXAmIGhlYWRlcnMpCiAgICAgICAgICAgICAgICAgZG91YmxlIG1heFN0YWxlID0gZGlyZWN0aXZl
c1tpXS5zZWNvbmQudG9Eb3VibGUoJm9rKTsKICAgICAgICAgICAgICAgICBpZiAob2spCiAgICAg
ICAgICAgICAgICAgICAgIHJlc3VsdC5tYXhTdGFsZSA9IFNlY29uZHMgeyBtYXhTdGFsZSB9Owot
ICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJl
Y3RpdmVzW2ldLmZpcnN0LCAiaW1tdXRhYmxlIikpCisgICAgICAgICAgICB9IGVsc2UgaWYgKGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGl2ZXNbaV0uZmlyc3QsICJpbW11dGFi
bGUiKSkgewogICAgICAgICAgICAgICAgIHJlc3VsdC5pbW11dGFibGUgPSB0cnVlOworICAgICAg
ICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVz
W2ldLmZpcnN0LCAic3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSIpKSB7CisgICAgICAgICAgICAgICAg
aWYgKHJlc3VsdC5zdGFsZVdoaWxlUmV2YWxpZGF0ZSkgeworICAgICAgICAgICAgICAgICAgICAv
LyBGaXJzdCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGRpcmVjdGl2ZSB3aW5zIGlmIHRoZXJlIGFy
ZSBtdWx0aXBsZSBvbmVzLgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgYm9vbCBvazsKKyAgICAgICAgICAgICAgICBkb3Vi
bGUgc3RhbGVXaGlsZVJldmFsaWRhdGUgPSBkaXJlY3RpdmVzW2ldLnNlY29uZC50b0RvdWJsZSgm
b2spOworICAgICAgICAgICAgICAgIGlmIChvaykgeworICAgICAgICAgICAgICAgICAgICByZXN1
bHQubWF4U3RhbGUgPSBTZWNvbmRzIHsgc3RhbGVXaGlsZVJldmFsaWRhdGUgfTsKKyAgICAgICAg
ICAgICAgICAgICAgcmVzdWx0LnN0YWxlV2hpbGVSZXZhbGlkYXRlID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oCmluZGV4IDU2ZWZl
YTYyMTU0NDc5NTA2YTE2NjRmZmQwOGUwOGFiMmM1NTZiY2QuLjhlNmE4ZmMzZDYzMzU0OGRhMTdh
OGYwYzQ4NWJiYWE3YjVhZDkzYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9DYWNoZVZhbGlkYXRpb24uaApAQCAtNjUsNiArNjUsNyBAQCBzdHJ1Y3QgQ2FjaGVD
b250cm9sRGlyZWN0aXZlcyB7CiAgICAgICAgICwgbm9TdG9yZShmYWxzZSkKICAgICAgICAgLCBt
dXN0UmV2YWxpZGF0ZShmYWxzZSkKICAgICAgICAgLCBpbW11dGFibGUoZmFsc2UpCisgICAgICAg
ICwgc3RhbGVXaGlsZVJldmFsaWRhdGUoZmFsc2UpCiAgICAgICAgIHsgfQogCiAgICAgTWFya2Fi
bGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IG1heEFnZTsKQEAgLTczLDYgKzc0
LDcgQEAgc3RydWN0IENhY2hlQ29udHJvbERpcmVjdGl2ZXMgewogICAgIGJvb2wgbm9TdG9yZSA6
IDE7CiAgICAgYm9vbCBtdXN0UmV2YWxpZGF0ZSA6IDE7CiAgICAgYm9vbCBpbW11dGFibGUgOiAx
OworICAgIGJvb2wgc3RhbGVXaGlsZVJldmFsaWRhdGUgOiAxOwogfTsKIFdFQkNPUkVfRVhQT1JU
IENhY2hlQ29udHJvbERpcmVjdGl2ZXMgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKGNvbnN0
IEhUVFBIZWFkZXJNYXAmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAppbmRleCAyMGFjNjRkNTcwMzRjNjll
YTkyYmM3YTQzNTM2ZjE2ZDc5NWZmYTI5Li41Y2JkYmZlYzlhZGNjN2M3N2ZhMDkxYzk5MjgwNGRl
NDk1MjdmZDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcApAQCAtNjU1LDYgKzY1NSwxNSBAQCBPcHRpb25h
bDxTZWNvbmRzPiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250cm9sTWF4QWdlKCkgY29u
c3QKICAgICByZXR1cm4gbV9jYWNoZUNvbnRyb2xEaXJlY3RpdmVzLm1heEFnZTsKIH0KIAorT3B0
aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbFN0YWxlV2hp
bGVSZXZhbGlkYXRlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1faGF2ZVBhcnNlZENhY2hlQ29udHJv
bEhlYWRlcikKKyAgICAgICAgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKCk7CisgICAgaWYg
KG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5zdGFsZVdoaWxlUmV2YWxpZGF0ZSkKKyAgICAgICAg
cmV0dXJuIG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5tYXhTdGFsZTsKKyAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworfQorCiBzdGF0aWMgT3B0aW9uYWw8V2FsbFRpbWU+IHBhcnNlRGF0ZVZhbHVl
SW5IZWFkZXIoY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVycywgSFRUUEhlYWRlck5hbWUgaGVh
ZGVyTmFtZSkKIHsKICAgICBTdHJpbmcgaGVhZGVyVmFsdWUgPSBoZWFkZXJzLmdldChoZWFkZXJO
YW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuaAppbmRleCBjYjE3YjU5NTQ4N2QxMGI3NzNjNGU0ODUzNTQzMDI0YTUw
ZjFhOTdmLi40MDY4MWYwNzdhYjllZWQwOWM5MzViYjBiYWFjOWUwYjQwOWMzOGRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5oCkBAIC0xMzYsNiArMTM2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJv
b2wgY2FjaGVDb250cm9sQ29udGFpbnNJbW11dGFibGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VY
UE9SVCBib29sIGhhc0NhY2hlVmFsaWRhdG9yRmllbGRzKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9F
WFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gY2FjaGVDb250cm9sTWF4QWdlKCkgY29uc3Q7CisgICAg
V0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gY2FjaGVDb250cm9sU3RhbGVXaGlsZVJl
dmFsaWRhdGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxXYWxsVGltZT4g
ZGF0ZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGFnZSgp
IGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFdhbGxUaW1lPiBleHBpcmVzKCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZS5jcHAKaW5kZXggZjM0NGQxYWJhNjRmZTkzYzljYmViZDQ3ZjQzZTgxNjNiYWNkN2Mx
Ny4uODcwOWUwYmU5YmNkODE3NGQ2MTdmNTdlMzFmODQwYTlhOTFmZWEzYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcApAQCAt
MTUyLDcgKzE1Miw3IEBAIHN0YXRpYyBib29sIGNhY2hlUG9saWN5QWxsb3dzRXhwaXJlZChXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBwb2xpY3kpCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCi1zdGF0aWMgYm9vbCByZXNwb25zZUhhc0V4cGlyZWQoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFdhbGxUaW1lIHRpbWVzdGFtcCwgT3B0aW9uYWw8U2Vj
b25kcz4gbWF4U3RhbGUpCitzdGF0aWMgYm9vbCByZXNwb25zZUhhc0V4cGlyZWQoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFdhbGxUaW1lIHRpbWVzdGFtcCwgT3B0
aW9uYWw8U2Vjb25kcz4gbWF4U3RhbGUsIGJvb2wmIGluUmVzcG9uc2VTdGFsZW5lc3MpCiB7CiAg
ICAgaWYgKHJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTE2MiwyNSArMTYyLDM1IEBAIHN0YXRpYyBib29sIHJlc3BvbnNlSGFz
RXhwaXJlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgV2FsbFRp
CiAKICAgICBhdXRvIG1heGltdW1TdGFsZW5lc3MgPSBtYXhTdGFsZSA/IG1heFN0YWxlLnZhbHVl
KCkgOiAwX21zOwogICAgIGJvb2wgaGFzRXhwaXJlZCA9IGFnZSAtIGxpZmV0aW1lID4gbWF4aW11
bVN0YWxlbmVzczsKKyNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElE
QVRJT04pCisgICAgaWYgKGhhc0V4cGlyZWQpIHsKKyAgICAgICAgYXV0byByZXNwb25zZU1heFN0
YWxlbmVzcyA9IHJlc3BvbnNlLmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7Cisg
ICAgICAgIG1heGltdW1TdGFsZW5lc3MgKz0gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPyByZXNwb25z
ZU1heFN0YWxlbmVzcy52YWx1ZSgpIDogMF9tczsKKyAgICAgICAgaW5SZXNwb25zZVN0YWxlbmVz
cyA9IGFnZSAtIGxpZmV0aW1lIDwgbWF4aW11bVN0YWxlbmVzczsKKyAgICB9CisjZW5kaWYKIAog
I2lmbmRlZiBMT0dfRElTQUJMRUQKICAgICBpZiAoaGFzRXhwaXJlZCkKLSAgICAgICAgTE9HKE5l
dHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgbmVlZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJl
ZCBhZ2U9JWYgbGlmZXRpbWU9JWYgbWF4LXN0YWxlPSVnIiwgYWdlLCBsaWZldGltZSwgbWF4U3Rh
bGUpOworICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBuZWVkc1Jl
dmFsaWRhdGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBsaWZldGltZT0lZiBtYXgtc3RhbGVuZXNzPSVm
IiwgYWdlLCBsaWZldGltZSwgbWF4aW11bVN0YWxlbmVzcyk7CiAjZW5kaWYKIAogICAgIHJldHVy
biBoYXNFeHBpcmVkOwogfQogCi1zdGF0aWMgYm9vbCByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9u
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdhbGxUaW1lIHRpbWVzdGFtcCkKK3N0YXRpYyBV
c2VEZWNpc2lvbiByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIFdhbGxUaW1lIHRpbWVzdGFtcCkKIHsKICAgICBhdXRvIHJlcXVlc3REaXJlY3RpdmVz
ID0gV2ViQ29yZTo6cGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKHJlcXVlc3QuaHR0cEhlYWRl
ckZpZWxkcygpKTsKICAgICBpZiAocmVxdWVzdERpcmVjdGl2ZXMubm9DYWNoZSkKLSAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAgICAg
Ly8gRm9yIHJlcXVlc3RzIHdlIGlnbm9yZSBtYXgtYWdlIHZhbHVlcyBvdGhlciB0aGFuIHplcm8u
CiAgICAgaWYgKHJlcXVlc3REaXJlY3RpdmVzLm1heEFnZSAmJiByZXF1ZXN0RGlyZWN0aXZlcy5t
YXhBZ2UudmFsdWUoKSA9PSAwX21zKQotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0
dXJuIFVzZURlY2lzaW9uOjpWYWxpZGF0ZTsKIAotICAgIHJldHVybiByZXNwb25zZUhhc0V4cGly
ZWQocmVzcG9uc2UsIHRpbWVzdGFtcCwgcmVxdWVzdERpcmVjdGl2ZXMubWF4U3RhbGUpOworICAg
IGJvb2wgaW5SZXNwb25zZVN0YWxlbmVzcyA9IGZhbHNlOworICAgIGlmIChyZXNwb25zZUhhc0V4
cGlyZWQocmVzcG9uc2UsIHRpbWVzdGFtcCwgcmVxdWVzdERpcmVjdGl2ZXMubWF4U3RhbGUsIGlu
UmVzcG9uc2VTdGFsZW5lc3MpKQorICAgICAgICByZXR1cm4gaW5SZXNwb25zZVN0YWxlbmVzcyA/
IFVzZURlY2lzaW9uOjpBc3luY1JldmFsaWRhdGUgOiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7Cisg
ICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CiB9CiAKIHN0YXRpYyBVc2VEZWNpc2lvbiBtYWtl
VXNlRGVjaXNpb24oTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25zdCBQQUw6OlNl
c3Npb25JRCYgc2Vzc2lvbklELCBjb25zdCBFbnRyeSYgZW50cnksIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCkKQEAgLTE5Nyw4ICsyMDcsOSBAQCBzdGF0aWMgVXNlRGVj
aXNpb24gbWFrZVVzZURlY2lzaW9uKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29u
c3QgUEFMOjpTZQogICAgIGlmIChjYWNoZVBvbGljeUFsbG93c0V4cGlyZWQocmVxdWVzdC5jYWNo
ZVBvbGljeSgpKSkKICAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CiAKLSAgICBpZiAo
IXJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oZW50cnkucmVzcG9uc2UoKSwgcmVxdWVzdCwgZW50
cnkudGltZVN0YW1wKCkpKQotICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlVzZTsKKyAgICBh
dXRvIGRlY2lzaW9uID0gcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihlbnRyeS5yZXNwb25zZSgp
LCByZXF1ZXN0LCBlbnRyeS50aW1lU3RhbXAoKSk7CisgICAgaWYgKGRlY2lzaW9uICE9IFVzZURl
Y2lzaW9uOjpWYWxpZGF0ZSkKKyAgICAgICAgcmV0dXJuIGRlY2lzaW9uOwogCiAgICAgaWYgKCFl
bnRyeS5yZXNwb25zZSgpLmhhc0NhY2hlVmFsaWRhdG9yRmllbGRzKCkpCiAgICAgICAgIHJldHVy
biBVc2VEZWNpc2lvbjo6Tm9EdWVUb01pc3NpbmdWYWxpZGF0b3JGaWVsZHM7CkBAIC0yNTEsOCAr
MjYyLDEwIEBAIHN0YXRpYyBTdG9yZURlY2lzaW9uIG1ha2VTdG9yZURlY2lzaW9uKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSCiAgICAgYm9vbCBzdG9yZVVuY29uZGl0
aW9uYWxseUZvckhpc3RvcnlOYXZpZ2F0aW9uID0gaXNNYWluUmVzb3VyY2UgfHwgb3JpZ2luYWxS
ZXF1ZXN0LnByaW9yaXR5KCkgPT0gV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6OlZlcnlI
aWdoOwogICAgIGlmICghc3RvcmVVbmNvbmRpdGlvbmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbikg
ewogICAgICAgICBhdXRvIG5vdyA9IFdhbGxUaW1lOjpub3coKTsKLSAgICAgICAgYm9vbCBoYXNO
b25aZXJvTGlmZXRpbWUgPSAhcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNOb0NhY2hlKCkg
JiYgV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShyZXNwb25z
ZSwgbm93KSA+IDBfbXM7Ci0KKyAgICAgICAgU2Vjb25kcyBhbGxvd2VkU3RhbGU7CisgICAgICAg
IGlmIChhdXRvIHZhbHVlID0gcmVzcG9uc2UuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRh
dGUoKSkKKyAgICAgICAgICAgIGFsbG93ZWRTdGFsZSA9IHZhbHVlLnZhbHVlKCk7CisgICAgICAg
IGJvb2wgaGFzTm9uWmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5z
Tm9DYWNoZSgpICYmIChXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQRmFt
aWx5KHJlc3BvbnNlLCBub3cpID4gMF9tcyB8fCBhbGxvd2VkU3RhbGUgPiAwX21zKTsKICAgICAg
ICAgYm9vbCBwb3NzaWJseVJldXNhYmxlID0gcmVzcG9uc2UuaGFzQ2FjaGVWYWxpZGF0b3JGaWVs
ZHMoKSB8fCBoYXNOb25aZXJvTGlmZXRpbWU7CiAgICAgICAgIGlmICghcG9zc2libHlSZXVzYWJs
ZSkKICAgICAgICAgICAgIHJldHVybiBTdG9yZURlY2lzaW9uOjpOb0R1ZVRvVW5saWtlbHlUb1Jl
dXNlOwpAQCAtMzM0LDEyICszNDcsMTEgQEAgdm9pZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUkKICAgICB9
CiAjZW5kaWYKIAotICAgIG1fc3RvcmFnZS0+cmV0cmlldmUoc3RvcmFnZUtleSwgcHJpb3JpdHks
IFtyZXF1ZXN0LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
LCBpbmZvID0gV1RGTW92ZShpbmZvKSwgc3RvcmFnZUtleSwgbmV0d29ya1Byb2Nlc3MgPSBtYWtl
UmVmKG5ldHdvcmtQcm9jZXNzKCkpLCBzZXNzaW9uSUQgPSBtX3Nlc3Npb25JRF0oYXV0byByZWNv
cmQsIGF1dG8gdGltaW5ncykgbXV0YWJsZSB7CisgICAgbV9zdG9yYWdlLT5yZXRyaWV2ZShzdG9y
YWdlS2V5LCBwcmlvcml0eSwgW3RoaXMsIHJlcXVlc3QsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlciksIGluZm8gPSBXVEZNb3ZlKGluZm8pLCBzdG9yYWdlS2V5
LCBuZXR3b3JrUHJvY2VzcyA9IG1ha2VSZWYobmV0d29ya1Byb2Nlc3MoKSksIHNlc3Npb25JRCA9
IG1fc2Vzc2lvbklELCBmcmFtZUlEXShhdXRvIHJlY29yZCwgYXV0byB0aW1pbmdzKSBtdXRhYmxl
IHsKICAgICAgICAgaW5mby5zdG9yYWdlVGltaW5ncyA9IHRpbWluZ3M7CiAKICAgICAgICAgaWYg
KCFyZWNvcmQpIHsKICAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nl
c3MpIG5vdCBmb3VuZCBpbiBzdG9yYWdlIik7Ci0KICAgICAgICAgICAgIGNvbXBsZXRlUmV0cmll
dmUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG51bGxwdHIsIGluZm8pOwogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC0zNTAsNiArMzYyLDE1IEBAIHZvaWQgQ2Fj
aGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgR2xvYmFsRnJhbWVJCiAKICAgICAgICAgYXV0byB1c2VEZWNpc2lvbiA9IGVudHJ5ID8gbWFr
ZVVzZURlY2lzaW9uKG5ldHdvcmtQcm9jZXNzLCBzZXNzaW9uSUQsICplbnRyeSwgcmVxdWVzdCkg
OiBVc2VEZWNpc2lvbjo6Tm9EdWVUb0RlY29kZUZhaWx1cmU7CiAgICAgICAgIHN3aXRjaCAodXNl
RGVjaXNpb24pIHsKKyAgICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRlOiB7
CisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQorICAg
ICAgICAgICAgaWYgKG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlcikgeworICAgICAgICAgICAgICAg
IHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gZW50cnlDb3B5ID0gbWFrZVVuaXF1ZTxFbnRyeT4oKmVu
dHJ5KTsKKyAgICAgICAgICAgICAgICBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXItPnN0YXJ0QXN5
bmNSZXZhbGlkYXRpb25JZk5lZWRlZChyZXF1ZXN0LCBzdG9yYWdlS2V5LCBXVEZNb3ZlKGVudHJ5
Q29weSksIGZyYW1lSUQpOworICAgICAgICAgICAgfQorI2VuZGlmCisgICAgICAgICAgICBGQUxM
VEhST1VHSDsKKyAgICAgICAgfQogICAgICAgICBjYXNlIFVzZURlY2lzaW9uOjpVc2U6CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6VmFsaWRhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAppbmRl
eCAwZGVlN2Y4OGRmZjYxNjJjYzNmZDc4NTFiODM4MGZjNWE4M2JkNWFlLi5jYWZjNTY3MmQ2ZTRi
M2Q1NzhhYzkzMWE5OGIxNzJjOTcwYTE0YTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKQEAgLTgyLDYgKzgyLDcgQEAgZW51bSBj
bGFzcyBTdG9yZURlY2lzaW9uIHsKIGVudW0gY2xhc3MgVXNlRGVjaXNpb24gewogICAgIFVzZSwK
ICAgICBWYWxpZGF0ZSwKKyAgICBBc3luY1JldmFsaWRhdGUsCiAgICAgTm9EdWVUb1ZhcnlpbmdI
ZWFkZXJNaXNtYXRjaCwKICAgICBOb0R1ZVRvTWlzc2luZ1ZhbGlkYXRvckZpZWxkcywKICAgICBO
b0R1ZVRvRGVjb2RlRmFpbHVyZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXIuY3BwCmluZGV4IDY3OTQwMzliN2UxOTE3YTRhYWJhZDRkMmQ1MDhmNzM5NTM3ODY1
NjcuLjRiZWIwNTBmMWI1MjAwNmUwMmQ5NTI4MTBlMTU4ZGQ2YjJlYTUzNTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRp
dmVMb2FkTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtNDg2LDcgKzQ4Niw3
NyBAQCB2b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnJldmFsaWRhdGVTdWJyZXNvdXJjZShj
b25zdCBTdWJyZXNvdXJjZUluZm8mIHN1YnJlcwogICAgIH0pOwogICAgIG1fcGVuZGluZ1ByZWxv
YWRzLmFkZChrZXksIFdURk1vdmUocmV2YWxpZGF0b3IpKTsKIH0KLSAgICAKKworc3RhdGljIGlu
bGluZSBSZXNvdXJjZVJlcXVlc3QgY29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdChjb25zdCBL
ZXkmIGtleSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBFbnRyeSogZW50
cnkpCit7CisgICAgUmVzb3VyY2VSZXF1ZXN0IHJldmFsaWRhdGlvblJlcXVlc3QgPSByZXF1ZXN0
OworICAgIGlmICgha2V5LnBhcnRpdGlvbigpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV2YWxpZGF0
aW9uUmVxdWVzdC5zZXRDYWNoZVBhcnRpdGlvbihrZXkucGFydGl0aW9uKCkpOworICAgIEFTU0VS
VF9XSVRIX01FU1NBR0Uoa2V5LnJhbmdlKCkuaXNFbXB0eSgpLCAicmFuZ2UgaXMgbm90IHN1cHBv
cnRlZCIpOworCisgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOwor
ICAgIGlmIChlbnRyeSkgeworICAgICAgICBTdHJpbmcgZVRhZyA9IGVudHJ5LT5yZXNwb25zZSgp
Lmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6RVRhZyk7CisgICAgICAgIGlmICghZVRh
Zy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldEhUVFBIZWFk
ZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6SWZOb25lTWF0Y2gsIGVUYWcpOworCisgICAgICAgIFN0
cmluZyBsYXN0TW9kaWZpZWQgPSBlbnRyeS0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRU
UEhlYWRlck5hbWU6Okxhc3RNb2RpZmllZCk7CisgICAgICAgIGlmICghbGFzdE1vZGlmaWVkLmlz
RW1wdHkoKSkKKyAgICAgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0SFRUUEhlYWRlckZp
ZWxkKEhUVFBIZWFkZXJOYW1lOjpJZk1vZGlmaWVkU2luY2UsIGxhc3RNb2RpZmllZCk7CisgICAg
fQorCisgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRQcmlvcml0eShXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRQcmlvcml0eTo6TG93KTsKKworICAgIHJldHVybiByZXZhbGlkYXRpb25SZXF1ZXN0Owor
fQorCitjbGFzcyBBc3luY1JldmFsaWRhdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgdHlwZWRlZiBGdW5jdGlvbjx2b2lkIChib29sKT4gQXN5bmNSZXZh
bGlkYXRpb25Db21wbGV0aW9uSGFuZGxlcjsKKyAgICBBc3luY1JldmFsaWRhdGlvbihDYWNoZSYg
Y2FjaGUsIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNoZTo6RW50cnk+IGVudHJ5LCBB
c3luY1JldmFsaWRhdGlvbkNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKKyAgICAgICAgOiBt
X3RpbWVyKCp0aGlzLCAmQXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5k
aW5nKQorICAgICAgICAsIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkKKyAg
ICB7CisgICAgICAgIGF1dG8ga2V5ID0gZW50cnktPmtleSgpOworICAgICAgICBhdXRvIHJldmFs
aWRhdGlvblJlcXVlc3QgPSBjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KGtleSwgcmVxdWVz
dCwgZW50cnkuZ2V0KCkpOworICAgICAgICBhdXRvIGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJy
ZW50QWdlKGVudHJ5LT5yZXNwb25zZSgpLCBlbnRyeS0+dGltZVN0YW1wKCkpOworICAgICAgICBh
dXRvIGxpZmV0aW1lID0gV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZh
bWlseShlbnRyeS0+cmVzcG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICAgICAgYXV0
byByZXNwb25zZU1heFN0YWxlbmVzcyA9IGVudHJ5LT5yZXNwb25zZSgpLmNhY2hlQ29udHJvbFN0
YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAgICAgIEFTU0VSVChyZXNwb25zZU1heFN0YWxlbmVz
cyk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KCpyZXNwb25zZU1heFN0YWxlbmVzcyAt
IChhZ2UgLSBsaWZldGltZSkpOworICAgICAgICBtX2xvYWQgPSBtYWtlVW5pcXVlPFNwZWN1bGF0
aXZlTG9hZD4oY2FjaGUsIGZyYW1lSUQsIHJldmFsaWRhdGlvblJlcXVlc3QsIFdURk1vdmUoZW50
cnkpLCBbdGhpcywga2V5LCByZXZhbGlkYXRpb25SZXF1ZXN0XShzdGQ6OnVuaXF1ZV9wdHI8RW50
cnk+IHJldmFsaWRhdGVkRW50cnkpIHsKKyAgICAgICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRF
bnRyeSB8fCAhcmV2YWxpZGF0ZWRFbnRyeS0+bmVlZHNWYWxpZGF0aW9uKCkpOworICAgICAgICAg
ICAgQVNTRVJUKCFyZXZhbGlkYXRlZEVudHJ5IHx8IHJldmFsaWRhdGVkRW50cnktPmtleSgpID09
IGtleSk7CisgICAgICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyKHJldmFsaWRhdGVkRW50cnku
Z2V0KCkpOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBjb25zdCBTcGVjdWxhdGl2ZUxvYWQm
IGxvYWQoKSBjb25zdCB7IHJldHVybiAqbV9sb2FkOyB9CisKKyAgICB2b2lkIHN0YWxlV2hpbGVS
ZXZhbGlkYXRlRW5kaW5nKCkgeyBtX2NvbXBsZXRpb25IYW5kbGVyKHRydWUpOyB9CisKK3ByaXZh
dGU6CisgICAgc3RkOjp1bmlxdWVfcHRyPFNwZWN1bGF0aXZlTG9hZD4gbV9sb2FkOworICAgIFRp
bWVyIG1fdGltZXI7CisgICAgQXN5bmNSZXZhbGlkYXRpb25Db21wbGV0aW9uSGFuZGxlciBtX2Nv
bXBsZXRpb25IYW5kbGVyOworfTsKKwordm9pZCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpzdGFy
dEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBjb25zdCBOZXR3b3JrQ2FjaGU6OktleSYga2V5LCBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVu
dHJ5LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlEKQoreworICAgIGF1dG8qIHBlbmRpbmdB
c3luY1JldmFsaWRhdGlvbiA9IG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9ucy5nZXQoa2V5KTsK
KyAgICBpZiAocGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uICYmIGNhblVzZVBlbmRpbmdQcmVsb2Fk
KHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbi0+bG9hZCgpLCByZXF1ZXN0KSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgYXV0byByZXZhbGlkYXRvciA9IG1ha2VVbmlxdWU8QXN5bmNSZXZhbGlkYXRp
b24+KG1fY2FjaGUsIGZyYW1lSUQsIHJlcXVlc3QsIFdURk1vdmUoZW50cnkpLCBbdGhpcywga2V5
XShib29sIGVuZGluZykgeworICAgICAgICBpZiAoZW5kaW5nKSB7CisgICAgICAgICAgICBtX3Bl
bmRpbmdBc3luY1JldmFsaWRhdGlvbnMudGFrZShrZXkpOworICAgICAgICAgICAgTE9HKE5ldHdv
cmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgQXN5bmMgcmV2YWxpZGF0aW9uIGNvbXBsZXRlZCBm
b3IgJyVzJzoiLCBrZXkuaWRlbnRpZmllcigpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICB9Cisg
ICAgfSk7CisgICAgbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLmFkZChrZXksIFdURk1vdmUo
cmV2YWxpZGF0b3IpKTsKK30KKwogc3RhdGljIGJvb2wgY2FuUmV2YWxpZGF0ZShjb25zdCBTdWJy
ZXNvdXJjZUluZm8mIHN1YnJlc291cmNlSW5mbywgY29uc3QgRW50cnkqIGVudHJ5KQogewogICAg
IEFTU0VSVCghc3VicmVzb3VyY2VJbmZvLmlzVHJhbnNpZW50KCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxv
YWRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaAppbmRleCAzYWY0ZmRiODEyMWZkN2M1ZTkxOGEw
MzliNDAwYTVmM2EzYTg2ZWZhLi5mMjAyZmQ2NjZlYzY3MDVkN2I2ZDQ4YjNmNDhiNDM4M2EwMDZh
ODAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaApAQCAt
MzgsNiArMzgsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogbmFtZXNwYWNlIE5ldHdvcmtDYWNo
ZSB7CiAKK2NsYXNzIEFzeW5jUmV2YWxpZGF0aW9uOwogY2xhc3MgRW50cnk7CiBjbGFzcyBTcGVj
dWxhdGl2ZUxvYWQ7CiBjbGFzcyBTdWJyZXNvdXJjZUluZm87CkBAIC01Niw2ICs1Nyw4IEBAIHB1
YmxpYzoKICAgICBib29sIGNhblJldHJpZXZlKGNvbnN0IEtleSYgc3RvcmFnZUtleSwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgR2xvYmFsRnJhbWVJRCYpIGNvbnN0Owog
ICAgIHZvaWQgcmV0cmlldmUoY29uc3QgS2V5JiBzdG9yYWdlS2V5LCBSZXRyaWV2ZUNvbXBsZXRp
b25IYW5kbGVyJiYpOwogCisgICAgdm9pZCBzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQo
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkm
LCBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+LCBjb25zdCBHbG9iYWxGcmFtZUlEJik7CisKIHByaXZh
dGU6CiAgICAgY2xhc3MgUHJlbG9hZGVkRW50cnk7CiAKQEAgLTgxLDYgKzg0LDggQEAgcHJpdmF0
ZToKIAogICAgIEhhc2hNYXA8S2V5LCBzdGQ6OnVuaXF1ZV9wdHI8UHJlbG9hZGVkRW50cnk+PiBt
X3ByZWxvYWRlZEVudHJpZXM7CiAKKyAgICBIYXNoTWFwPEtleSwgc3RkOjp1bmlxdWVfcHRyPEFz
eW5jUmV2YWxpZGF0aW9uPj4gbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zOworCiAgICAgY2xh
c3MgRXhwaXJpbmdFbnRyeTsKICAgICBIYXNoTWFwPEtleSwgc3RkOjp1bmlxdWVfcHRyPEV4cGly
aW5nRW50cnk+PiBtX25vdFByZWxvYWRlZEVudHJpZXM7IC8vIEZvciBsb2dnaW5nLgogfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDc0M2QxNzAwMzhkYTcxMTEzYzU4N2FlZGYy
MmZiYjc4ZDdkMGZlMzQuLmRmYjkyZDNhZjZhNzFjZDU2MzI5ZGJlN2E3MzI4OWMxMDM0NzExYjYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTA5
LTI1ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFs
ZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25z
Lmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvZmV0Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHk6IEFkZGVkLgorICAgICAgICAobWFp
bik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAoaWRfdG9rZW4pOgor
ICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1jc3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3Rh
bGUtaW1hZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jLmJyb2FkY2Fz
dCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDE5LTA5LTI0ICBBbnRvaW5lIFF1aW50
ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25zXSBSZW1vdmlu
ZyBhbiBlbGVtZW50IHNob3VsZCBvbmx5IGNhbmNlbCBpdHMgZGVjbGFyYXRpdmUgYW5pbWF0aW9u
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQt
ZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2lt
cG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCA1ZGEzMzU2NWNmZmUzYjdiY2I0YTMzOTVjNmVl
M2ZkYmViY2U1NzhjLi5jY2NjMWQzY2MyMmIxMTRhNzJmNTA2ZDI1YzhhNjYyYzc1YTVjZjhlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBl
Y3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2lt
cG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMTU4LDYgKzE1OCw3IEBACiAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9hcGkiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvY29ycyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3JhbmdlIjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L2Z1bGxzY3JlZW4iOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZ2FtZXBhZCI6
ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9nZW5lcmljLXNlbnNvciI6ICJza2lw
IiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFj
Nzc3YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBTZWNvbmQg
ZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3
Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFjNzc3YWRmMjQ4YWEz
N2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNo
LXN3Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBTZWNvbmQgZmV0
Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
ZmV0Y2gtc3cuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVmY2ViYzI0YTYzZjQwZGU1NGE0YzM5OTFjOTA1MGViNzQ0ODZhMjkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPlN0YWxlIFJldmFsaWRhdGlvbiBSZXF1ZXN0cyBkb24n
dCBnZXQgc2VudCB0byBzZXJ2aWNlIHdvcmtlcjwvdGl0bGU+CisgIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4v
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3Vi
LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCisgIC8vIER1cGxpY2F0aW5nIHRoaXMgcmVz
b3VyY2UgdG8gbWFrZSBzZXJ2aWNlIHdvcmtlciBzY29waW5nIHNpbXBsZXIuCisgIGFzeW5jIGZ1
bmN0aW9uIHNldHVwUmVnaXN0cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVkKHQsIHNjb3BlKSB7
CisgICAgY29uc3QgY29udHJvbGxlZCA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAg
ICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbmNvbnRyb2xsZXJjaGFuZ2UgPSAoKSA9PiB7IHJl
c29sdmUoKTsgfTsKKyAgICB9KTsKKyAgICBjb25zdCByZWcgPSBhd2FpdCBuYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5yZWdpc3Rlcignc3ctaW50ZXJjZXB0LmpzJyk7CisgICAgYXdhaXQgd2FpdF9m
b3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICBhd2FpdCBjb250
cm9sbGVkOworICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKF8gPT4gcmVnLnVucmVnaXN0ZXIo
KSk7CisgICAgcmV0dXJuIHJlZzsKKyAgfQorCisgIC8vIFVzaW5nIDI1MG1zIHBvbGxpbmcgaW50
ZXJ2YWwgdG8gcHJvdmlkZSBlbm91Z2ggJ25ldHdvcmsgY2FsbW5lc3MnIHRvIGdpdmUKKyAgLy8g
dGhlIGJhY2tncm91bmQgbG93IHByaW9yaXR5IHJldmFsaWRhdGlvbiByZXF1ZXN0IGEgY2hhbmNl
IHRvIGtpY2sgaW4uCisgIGZ1bmN0aW9uIHdhaXQyNTBtcyh0ZXN0KSB7CisgICAgcmV0dXJuIG5l
dyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgdGVzdC5zdGVwX3RpbWVvdXQoKCkgPT4gewor
ICAgICAgICByZXNvbHZlKCk7CisgICAgICB9LCAyNTApOworICAgIH0pOworICB9CisKKyAgcHJv
bWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tl
bigpOworICAgIGNvbnN0IHVyaSA9ICdyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPScg
KyByZXF1ZXN0X3Rva2VuOworCisgICAgYXdhaXQgc2V0dXBSZWdpc3RyYXRpb25BbmRXYWl0VG9C
ZUNvbnRyb2xsZWQodGVzdCwgJ3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHknKTsKKworICAgIHZh
ciBzZXJ2aWNlX3dvcmtlcl9jb3VudCA9IDA7CisgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIu
YWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIG9uY2UoZXZlbnQpIHsKKyAgICAg
IGlmIChldmVudC5kYXRhLmVuZHNXaXRoKHVyaSkpIHsKKyAgICAgICAgc2VydmljZV93b3JrZXJf
Y291bnQrKzsKKyAgICAgIH0KKyAgICB9KTsKKworICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQg
ZmV0Y2godXJpKTsKKyAgICBjb25zdCByZXNwb25zZTIgPSBhd2FpdCBmZXRjaCh1cmkpOworICAg
IGFzc2VydF9lcXVhbHMocmVzcG9uc2UuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpLCByZXNwb25z
ZTIuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpKTsKKyAgICB3aGlsZSh0cnVlKSB7CisgICAgICBj
b25zdCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNj
cmlwdC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAgICBpZiAocmV2YWxp
ZGF0aW9uX2NoZWNrLmhlYWRlcnMuZ2V0KCdDb3VudCcpID09ICcyJykgeworICAgICAgICAvLyBU
aGUgc2VydmljZSB3b3JrZXIgc2hvdWxkIG5vdCBzZWUgdGhlIHJldmFsaWRhdGlvbiByZXF1ZXN0
LgorICAgICAgICBhc3NlcnRfZXF1YWxzKHNlcnZpY2Vfd29ya2VyX2NvdW50LCAyKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgICB9CisgICAgICBhd2FpdCB3YWl0MjUwbXModGVzdCk7CisgICAgfQor
ICB9LCAnU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZScpOworCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzMzOTBjN2FkNTk0OGM2
ODJiMmZiZGNiM2M5NWE0YzM3NGRiYmEyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9mZXRjaC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgaXMg
bm90IGV4ZWN1dGVkIGZvciBmZXRjaCBBUEk8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHdhaXQyNW1zKHRlc3QpIHsKKyAgcmV0
dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+
IHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9LCAyNSk7CisgIH0pOworfQorCitwcm9taXNlX3Rl
c3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworCisg
IGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/
dG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworICBjb25zdCByZXNwb25zZTIgPSBhd2FpdCBmZXRj
aChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisK
KyAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZS5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJyksIHJlc3Bv
bnNlMi5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJykpOworCisgIHdoaWxlKHRydWUpIHsKKyAgICBj
b25zdCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNj
cmlwdC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAgaWYgKHJldmFsaWRh
dGlvbl9jaGVjay5oZWFkZXJzLmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAgICAgIGJyZWFrOwor
ICAgIH0KKyAgICBhd2FpdCB3YWl0MjVtcyh0ZXN0KTsKKyAgfQorfSwgJ1NlY29uZCBmZXRjaCBy
ZXR1cm5zIHNhbWUgcmVzcG9uc2UnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2Vz
L3N0YWxlLWNzcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmFlNTQ2ZDA2NTFmOTdmMzAyMDgyOTQ1MmRiNjIy
NTQ4NmRjNDUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9z
dGFsZS1jc3MucHkKQEAgLTAsMCArMSwyOCBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2Up
OgorCisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIGlz
X3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAgIHdp
dGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2
ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFsdWUgIT0g
Tm9uZToKKyAgICAgICAgY291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBpc19xdWVyeToKKyAg
ICAgICAgaWYgY291bnQgPCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0
b2tlbiwgY291bnQpCisgICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAg
ICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAgIGlmIGlzX3F1
ZXJ5OgorICAgICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9
ICIiCisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAg
IGNvbnRlbnQgPSAiYm9keSB7IGJhY2tncm91bmQ6IHJnYigwLCAxMjgsIDApOyB9IgorICAgICAg
aWYgY291bnQgPiAxOgorICAgICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNrZ3JvdW5kOiByZ2Io
MjU1LCAwLCAwKTsgfSIKKworICAgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0
L2NzcyIpLAorICAgICAgICAgICAgICAgKCJDYWNoZS1Db250cm9sIiwgInByaXZhdGUsIG1heC1h
Z2U9MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIpXQorCisgICAgICByZXR1cm4gMjAwLCBo
ZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0
YWxlLWltYWdlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MzllYjg0YmIzNGJiZDE1ZTJjYTcwNjFlZTRmYTU3MjRkMmM2NGY4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQpA
QCAtMCwwICsxLDM4IEBACitpbXBvcnQgb3MucGF0aAorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNw
b25zZSk6CisKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisg
ICAgaXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisg
ICAgd2l0aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0
LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1
ZSAhPSBOb25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5
OgorICAgICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gu
cHV0KHRva2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAx
CisgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisKKyAgICBp
ZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNv
bnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6
CisgICAgICBmaWxlbmFtZSA9ICJncmVlbi0xNngxNi5wbmciCisgICAgICBpZiBjb3VudCA+IDE6
CisgICAgICAgIGZpbGVuYW1lID0gImdyZWVuLTI1NngyNTYucG5nIgorCisgICAgICBwYXRoID0g
b3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLi8uLi8uLi9pbWFnZXMi
LCBmaWxlbmFtZSkKKyAgICAgIGJvZHkgPSBvcGVuKHBhdGgsICJyYiIpLnJlYWQoKQorCisgICAg
ICByZXNwb25zZS5hZGRfcmVxdWlyZWRfaGVhZGVycyA9IEZhbHNlCisgICAgICByZXNwb25zZS53
cml0ZXIud3JpdGVfc3RhdHVzKDIwMCkKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFk
ZXIoImNvbnRlbnQtbGVuZ3RoIiwgbGVuKGJvZHkpKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndy
aXRlX2hlYWRlcigiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdlPTAsIHN0YWxlLXdo
aWxlLXJldmFsaWRhdGU9NjAiKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigi
Y29udGVudC10eXBlIiwgImltYWdlL3BuZyIpCisgICAgICByZXNwb25zZS53cml0ZXIuZW5kX2hl
YWRlcnMoKQorCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoYm9keSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFkNTQ2NzFmNDIxMTcz
NWY1NmRmNTBhNTVkZWVhNmVkMjgxZDVhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5CkBAIC0wLDAgKzEsMzIgQEAKK2ltcG9ydCBy
YW5kb20sIHN0cmluZywgZGF0ZXRpbWUKKworZGVmIGlkX3Rva2VuKCk6CisgICBsZXR0ZXJzID0g
c3RyaW5nLmFzY2lpX2xvd2VyY2FzZQorICAgcmV0dXJuICcnLmpvaW4ocmFuZG9tLmNob2ljZShs
ZXR0ZXJzKSBmb3IgaSBpbiByYW5nZSgyMCkpCisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNl
KToKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgaXNf
cXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAgd2l0
aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNlcnZl
ci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAhPSBO
b25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5OgorICAg
ICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRv
a2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAg
ICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisKKyAgICBpZiBpc19x
dWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRlbnQg
PSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6CisgICAg
ICB1bmlxdWVfaWQgPSBpZF90b2tlbigpCisgICAgICBoZWFkZXJzID0gWygiQ29udGVudC1UeXBl
IiwgInRleHQvamF2YXNjcmlwdCIpLAorICAgICAgICAgICAgICAgICAoIkNhY2hlLUNvbnRyb2wi
LCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwIiksCisgICAg
ICAgICAgICAgICAgICgiVW5pcXVlLUlkIiwgdW5pcXVlX2lkKV0KKyAgICAgIGNvbnRlbnQgPSAi
cmVwb3J0KCd7fScpIi5mb3JtYXQodW5pcXVlX2lkKQorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVy
cywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzVhNzczMmE1NjZkNGE2ZjU3M2NjOTdmZDNkMTQ1NDY1N2Q0NzY4MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAs
MCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3Mu
cHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5CisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFmMDc5ZWQ2ZjE0
ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVybnMgc3RhbGUgcmVz
b3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTYyNjBmZGI0NWMwYzJj
NjBiNGQ3NmY2M2E3NjM4OWRmODE4YjExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLWNzcy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUg
d29ya3MgZm9yIGNzczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CisKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5j
X3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAg
dC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNv
bG9yJyksICJyZ2IoMCwgMTI4LCAwKSIpOworICAgICAgdmFyIGxpbmsyID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgibGluayIpOworICAgICAgbGluazIub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkg
PT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSwgInJnYigwLCAx
MjgsIDApIik7CisgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAv
LyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2ls
bCBvY2N1ci4KKyAgICAgICAgICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLWNzcy5weT9xdWVyeSZ0
b2tlbj0iICsgcmVxdWVzdF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsK
KyAgICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOwor
ICAgICAgICAgICAgaWYgKGNvdW50ID09ICcyJykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsK
KyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNr
UmVzdWx0LCAyNSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSkpOworICAgICAgICB9Owor
ICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAg
ICBsaW5rMi5yZWwgPSAic3R5bGVzaGVldCI7CisgICAgICBsaW5rMi50eXBlID0gInRleHQvY3Nz
IjsKKyAgICAgIGxpbmsyLmhyZWYgPSAicmVzb3VyY2VzL3N0YWxlLWNzcy5weT90b2tlbj0iICsg
cmVxdWVzdF90b2tlbjsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluazIpOwor
ICAgIH0sIDApOworICB9KTsKK30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlJyk7CisK
K3ZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOworbGluay5yZWwgPSAi
c3R5bGVzaGVldCI7CitsaW5rLnR5cGUgPSAidGV4dC9jc3MiOworbGluay5ocmVmID0gInJlc291
cmNlcy9zdGFsZS1jc3MucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGxpbmspOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0
YWxlLWltYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZTQyMDE0ZGVmZDcxOTEwOTZjMzNj
Y2U1ODMwZWY3Y2FhMWE1N2E2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0
YWxlLWltYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKyAKKworUEFTUyBDYWNoZSBy
ZXR1cm5zIHN0YWxlIHJlc291cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3Rh
bGUtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjBhMDhmODE3MjlkZTQ5OTg1YzY1NzVlMWE3YTVmY2I3N2QzYTBlZTIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbApAQCAtMCwwICsxLDQ5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBT
dGFsZSBXaGlsZSBSZXZhbGlkYXRlIHdvcmtzIGZvciBpbWFnZXM8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9j
b21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8IS0tCitVc2UgYSBjaGlsZCBkb2N1
bWVudCB0byBsb2FkIHRoZSBzZWNvbmQgc3RhbGUgaW1hZ2UgaW50byBiZWNhdXNlCithbiBpbWFn
ZSBsb2FkZWQgaW50byB0aGUgc2FtZSBkb2N1bWVudCB3aWxsIHNraXAgY2FjaGUtY29udHJvbCBo
ZWFkZXJzLgorU2VlOiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbGlzdC1vZi1h
dmFpbGFibGUtaW1hZ2VzCistLT4KKzxpZnJhbWUgaWQ9ImNoaWxkIiBzcmNkb2M9IiI+PC9pZnJh
bWU+Cis8c2NyaXB0PgorCit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7Cithc3luY190ZXN0
KHQgPT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHQuc3Rl
cF90aW1lb3V0KCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZpcnN0aW1hZ2UiKS53aWR0aCwgMTYsICJXaWR0aCBpcyAxNiIpOworICAgICAgdmFy
IGNoaWxkRG9jdW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hpbGQnKS5jb250ZW50
RG9jdW1lbnQ7CisgICAgICB2YXIgaW1nMiA9IGNoaWxkRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aW1nIik7CisgICAgICBpbWcyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhpbWcyLndpZHRoLCAxNiwgImltYWdlIGRpbWVuc2lvbiIpOworICAgICAg
ICB2YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNl
IHdlIGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAg
ICAgZmV0Y2goInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVz
dF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZh
ciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYg
KGNvdW50ID09ICcyJykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBf
dGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBpbWcyLnNyYyA9ICJy
ZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBj
aGlsZERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nMik7CisgICAgfSwgMCk7CisgIH0pOwor
fSwgJ0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGltZyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImltZyIpOworaW1nLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtaW1hZ2Uu
cHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CitpbWcuaWQgPSAiZmlyc3RpbWFnZSI7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4
OWMxM2U1Nzg3ZWFmMDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IENhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ODc5M2U1MDA1NmJjNjA1M2VhNDEwZDY1OGFlZDM3M2QxOWY5YTQxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCkBAIC0w
LDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIHNjcmlwdHM8L3RpdGxl
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0Pgor
dmFyIGxhc3RfbW9kaWZpZWQ7Cit2YXIgbGFzdF9tb2RpZmllZF9jb3VudCA9IDA7Cit2YXIgcmVx
dWVzdF90b2tlbiA9IHRva2VuKCk7CisKKy8vIFRoZSBzY3JpcHQgd2lsbCBjYWxsIHJlcG9ydCB2
aWEgYSB1bmlxdWVseSBnZW5lcmF0ZWQgSUQgb24gdGhlIHN1YnJlc291cmNlLgorLy8gSWYgaXQg
aXMgYSBjYWNoZSBoaXQgdGhlIElEIHdpbGwgYmUgdGhlIHNhbWUgYW5kIHRoZSB0ZXN0IHdpbGwg
cGFzcy4KK2Z1bmN0aW9uIHJlcG9ydChtb2QpIHsKKyAgaWYgKCFsYXN0X21vZGlmaWVkKSB7Cisg
ICAgbGFzdF9tb2RpZmllZCA9IG1vZDsKKyAgICBsYXN0X21vZGlmaWVkX2NvdW50ID0gMTsKKyAg
fSBlbHNlIGlmIChsYXN0X21vZGlmaWVkID09IG1vZCkgeworICAgIGxhc3RfbW9kaWZpZWRfY291
bnQrKzsKKyAgfQorfQorCithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cub25sb2FkID0gdC5z
dGVwX2Z1bmMoKCkgPT4geworICAgIHN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICB2YXIgc2Ny
aXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgICBzY3JpcHQuc3Jj
ID0gInJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47Cisg
ICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7CisgICAgICBzY3JpcHQub25s
b2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMobGFzdF9t
b2RpZmllZF9jb3VudCwgMiwgImxhc3QgbW9kaWZpZWQiKTsKKyAgICAgICAgICB2YXIgY2hlY2tS
ZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qg
a25vdyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICAgIGZldGNo
KCJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0X3Rva2Vu
KS50aGVuKHQuc3RlcF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICB2YXIgY291
bnQgPSByZXNwb25zZS5oZWFkZXJzLmdldCgiQ291bnQiKTsKKyAgICAgICAgICAgICAgaWYgKGNv
dW50ID09ICcyJykgeworICAgICAgICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1
KTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSkpOworICAgICAgICAgIH07CisgICAg
ICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgIH0pOworICAgIH0s
IDApOworICB9KTsKK30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlJyk7CisKK3ZhciBz
Y3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3NjcmlwdC5zcmMgPSAi
cmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9z
dy1pbnRlcmNlcHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGNhN2RlNTFiMGI4YzU1MTgyNzZlNzBhZTIxOWI3
YmM4Zjg2OWE5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNl
cHQuanMKQEAgLTAsMCArMSwxNCBAQAorYXN5bmMgZnVuY3Rpb24gYnJvYWRjYXN0KG1zZykgewor
ICBmb3IgKGNvbnN0IGNsaWVudCBvZiBhd2FpdCBjbGllbnRzLm1hdGNoQWxsKCkpIHsKKyAgICBj
bGllbnQucG9zdE1lc3NhZ2UobXNnKTsKKyAgfQorfQorCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIo
J2ZldGNoJywgZXZlbnQgPT4geworICBldmVudC53YWl0VW50aWwoYnJvYWRjYXN0KGV2ZW50LnJl
cXVlc3QudXJsKSk7CisgIGV2ZW50LnJlc3BvbmRXaXRoKGZldGNoKGV2ZW50LnJlcXVlc3QpKTsK
K30pOworCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2FjdGl2YXRlJywgZXZlbnQgPT4geworICBz
ZWxmLmNsaWVudHMuY2xhaW0oKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFiOWRkMDZmODQ2YTcwNjhmZWEyYjgyODc4MWFkNzVjYzE5OGU3YTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMiBAQAorVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0lu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1Qg
bW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGll
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmls
ZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvZmV0Y2guaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379563</attachid>
            <date>2019-09-25 11:22:04 -0700</date>
            <delta_ts>2019-10-02 06:28:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20190925202251.patch</filename>
            <type>text/plain</type>
            <size>46108</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODdmZmIwYTk2MDExMDM5
MTNkMzM2YmY4ZjkzZDg4OTQxNjRlYTY5Yy4uZDk1MjdhZGVmMDQ5M2IyNGUwMmI4ZDhkNTA0MDY2
ZjRhNjUyYmY1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA5LTI1ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBwYXJzaW5nIHRoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlCisgICAgICAgIGFuZCBleHBvc2UgaXQgb24gUmVzb3Vy
Y2VSZXNwb25zZS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3Nz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2Fj
aGVWYWxpZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGly
ZWN0aXZlcyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlQ29udHJvbERpcmVjdGl2ZXM6OkNhY2hlQ29udHJvbERp
cmVjdGl2ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29u
dHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmg6CisKIDIwMTktMDktMjUgIEpvbmF0aGFuIEJlZGFy
ZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIyNTAzMjQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ4YWY5N2RhOGJmZmFkZmEzOGRlMzFiZmYwY2FhNTBhNWMw
MTgwYTkuLjEyZDQ2M2E0Yzc4ZWMxOWFiOTYwOTc4MzBlZmJkZWM0N2I3MjUxMzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMDktMjUgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNv
bT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRl
Z3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBh
IG5ldyBVc2VEZWNpc2lvbiB2YWx1ZSBBc3luY1JldmFsaWRhdGUgZm9yIGFzeW5jIHJldmFsaWRh
dGlvbi4gVGhpcyBpcyB1c2VkCisgICAgICAgIHdoZW4gdGhlIHJldHJpZXZlZCBjYWNoZSBlbnRy
eSBpcyBhIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgcmVzcG9uc2UgWzFdLgorICAgICAgICBJbiBj
YXNlIG9mIEFzeW5jUmV2YWxpZGF0ZSwgYSBjaGVjayBpcyBtYWRlIHRvIHNlZSBpZiB0aGVyZSBp
cyBhCisgICAgICAgIGN1cnJlbnQgYXN5bmMgcmV2YWxpZGF0aW9uIG9uZ29pbmcgZm9yIHRoZSBl
bnRyeSwgaWYgbm90IG9uZSBpcworICAgICAgICBzdGFydGVkLiBSZWdhcmRsZXNzLCB0aGUgc3Rh
bGUgZW50cnkgaXMgcmV0dXJuZWQsIHVudGlsIGVpdGhlciB0aGUKKyAgICAgICAgYXN5bmMgcmV2
YWxpZGF0aW9uIGVuZHMgc3VjY2Vzc2Z1bGx5IG9yIGF0IHRoZSBtb21lbnQgd2hlcmUgdGhlCisg
ICAgICAgIHJlc3BvbnNlIGV4cGlyZXMgZm9yIHJlYWwuCisKKyAgICAgICAgWzFdIGh0dHBzOi8v
ZmV0Y2guc3BlYy53aGF0d2cub3JnLyNjb25jZXB0LXN0YWxlLXdoaWxlLXJldmFsaWRhdGUtcmVz
cG9uc2UKKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVzcG9uc2VIYXNFeHBpcmVkKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjptYWtlVXNlRGVjaXNpb24pOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6Om1ha2VTdG9yZURlY2lzaW9uKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0NhY2hlOjpDYWNoZTo6cmV0cmlldmUpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ2FjaGU6OmNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3QpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9uOjpBc3luY1JldmFsaWRh
dGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRpb246
OmxvYWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxp
ZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtDYWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6c3RhcnRBc3luY1JldmFsaWRhdGlv
bklmTmVlZGVkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmg6CisKIDIwMTktMDktMjUgIEpvbmF0aGFuIEJlZGFyZCAg
PGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIy
NTAzMjQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hl
VmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFs
aWRhdGlvbi5jcHAKaW5kZXggNDk1OTA1MDY3OWNlMDUwNDg0MjQ0N2ViMWY1YTBiZjhhNjc2ODNj
ZS4uNzYzNzk4MTZlMzMzZjVhYWViMTM2ODcwMDllMjgxNDcwNDMyYmM1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcApAQCAt
MzEzLDggKzMxMywyMCBAQCBDYWNoZUNvbnRyb2xEaXJlY3RpdmVzIHBhcnNlQ2FjaGVDb250cm9s
RGlyZWN0aXZlcyhjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzKQogICAgICAgICAgICAgICAg
IGRvdWJsZSBtYXhTdGFsZSA9IGRpcmVjdGl2ZXNbaV0uc2Vjb25kLnRvRG91YmxlKCZvayk7CiAg
ICAgICAgICAgICAgICAgaWYgKG9rKQogICAgICAgICAgICAgICAgICAgICByZXN1bHQubWF4U3Rh
bGUgPSBTZWNvbmRzIHsgbWF4U3RhbGUgfTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5maXJzdCwgImltbXV0YWJsZSIp
KQorICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShk
aXJlY3RpdmVzW2ldLmZpcnN0LCAiaW1tdXRhYmxlIikpIHsKICAgICAgICAgICAgICAgICByZXN1
bHQuaW1tdXRhYmxlID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5maXJzdCwgInN0YWxlLXdoaWxlLXJldmFs
aWRhdGUiKSkgeworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuc3RhbGVXaGlsZVJldmFsaWRh
dGUpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRmlyc3Qgc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZSBkaXJlY3RpdmUgd2lucyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgb25lcy4KKyAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJv
b2wgb2s7CisgICAgICAgICAgICAgICAgZG91YmxlIHN0YWxlV2hpbGVSZXZhbGlkYXRlID0gZGly
ZWN0aXZlc1tpXS5zZWNvbmQudG9Eb3VibGUoJm9rKTsKKyAgICAgICAgICAgICAgICBpZiAob2sp
IHsKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lm1heFN0YWxlID0gU2Vjb25kcyB7IHN0YWxl
V2hpbGVSZXZhbGlkYXRlIH07CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5zdGFsZVdoaWxl
UmV2YWxpZGF0ZSA9IHRydWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0NhY2hlVmFsaWRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9D
YWNoZVZhbGlkYXRpb24uaAppbmRleCA1NmVmZWE2MjE1NDQ3OTUwNmExNjY0ZmZkMDhlMDhhYjJj
NTU2YmNkLi44ZTZhOGZjM2Q2MzM1NDhkYTE3YThmMGM0ODViYmFhN2I1YWQ5M2IwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmgKQEAg
LTY1LDYgKzY1LDcgQEAgc3RydWN0IENhY2hlQ29udHJvbERpcmVjdGl2ZXMgewogICAgICAgICAs
IG5vU3RvcmUoZmFsc2UpCiAgICAgICAgICwgbXVzdFJldmFsaWRhdGUoZmFsc2UpCiAgICAgICAg
ICwgaW1tdXRhYmxlKGZhbHNlKQorICAgICAgICAsIHN0YWxlV2hpbGVSZXZhbGlkYXRlKGZhbHNl
KQogICAgICAgICB7IH0KIAogICAgIE1hcmthYmxlPFNlY29uZHMsIFNlY29uZHM6Ok1hcmthYmxl
VHJhaXRzPiBtYXhBZ2U7CkBAIC03Myw2ICs3NCw3IEBAIHN0cnVjdCBDYWNoZUNvbnRyb2xEaXJl
Y3RpdmVzIHsKICAgICBib29sIG5vU3RvcmUgOiAxOwogICAgIGJvb2wgbXVzdFJldmFsaWRhdGUg
OiAxOwogICAgIGJvb2wgaW1tdXRhYmxlIDogMTsKKyAgICBib29sIHN0YWxlV2hpbGVSZXZhbGlk
YXRlIDogMTsKIH07CiBXRUJDT1JFX0VYUE9SVCBDYWNoZUNvbnRyb2xEaXJlY3RpdmVzIHBhcnNl
Q2FjaGVDb250cm9sRGlyZWN0aXZlcyhjb25zdCBIVFRQSGVhZGVyTWFwJik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFz
ZS5jcHAKaW5kZXggMjBhYzY0ZDU3MDM0YzY5ZWE5MmJjN2E0MzUzNmYxNmQ3OTVmZmEyOS4uNWNi
ZGJmZWM5YWRjYzdjNzdmYTA5MWM5OTI4MDRkZTQ5NTI3ZmQxYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAK
QEAgLTY1NSw2ICs2NTUsMTUgQEAgT3B0aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJh
c2U6OmNhY2hlQ29udHJvbE1heEFnZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVDb250cm9s
RGlyZWN0aXZlcy5tYXhBZ2U7CiB9CiAKK09wdGlvbmFsPFNlY29uZHM+IFJlc291cmNlUmVzcG9u
c2VCYXNlOjpjYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpIGNvbnN0Cit7CisgICAg
aWYgKCFtX2hhdmVQYXJzZWRDYWNoZUNvbnRyb2xIZWFkZXIpCisgICAgICAgIHBhcnNlQ2FjaGVD
b250cm9sRGlyZWN0aXZlcygpOworICAgIGlmIChtX2NhY2hlQ29udHJvbERpcmVjdGl2ZXMuc3Rh
bGVXaGlsZVJldmFsaWRhdGUpCisgICAgICAgIHJldHVybiBtX2NhY2hlQ29udHJvbERpcmVjdGl2
ZXMubWF4U3RhbGU7CisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwogc3RhdGljIE9wdGlv
bmFsPFdhbGxUaW1lPiBwYXJzZURhdGVWYWx1ZUluSGVhZGVyKGNvbnN0IEhUVFBIZWFkZXJNYXAm
IGhlYWRlcnMsIEhUVFBIZWFkZXJOYW1lIGhlYWRlck5hbWUpCiB7CiAgICAgU3RyaW5nIGhlYWRl
clZhbHVlID0gaGVhZGVycy5nZXQoaGVhZGVyTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggY2IxN2I1
OTU0ODdkMTBiNzczYzRlNDg1MzU0MzAyNGE1MGYxYTk3Zi4uNDA2ODFmMDc3YWI5ZWVkMDljOTM1
YmIwYmFhYzllMGI0MDljMzhkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtMTM2LDYgKzEzNiw3IEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGNhY2hlQ29udHJvbENvbnRhaW5zSW1tdXRh
YmxlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNDYWNoZVZhbGlkYXRvckZp
ZWxkcygpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGNhY2hl
Q29udHJvbE1heEFnZSgpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29u
ZHM+IGNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkgY29uc3Q7CiAgICAgV0VCQ09S
RV9FWFBPUlQgT3B0aW9uYWw8V2FsbFRpbWU+IGRhdGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VY
UE9SVCBPcHRpb25hbDxTZWNvbmRzPiBhZ2UoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBP
cHRpb25hbDxXYWxsVGltZT4gZXhwaXJlcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCmluZGV4IGYzNDRkMWFiYTY0
ZmU5M2M5Y2JlYmQ0N2Y0M2U4MTYzYmFjZDdjMTcuLjg3MDllMGJlOWJjZDgxNzRkNjE3ZjU3ZTMx
Zjg0MGE5YTkxZmVhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKQEAgLTE1Miw3ICsxNTIsNyBAQCBzdGF0aWMgYm9vbCBj
YWNoZVBvbGljeUFsbG93c0V4cGlyZWQoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xp
Y3kgcG9saWN5KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGJvb2wgcmVzcG9uc2VI
YXNFeHBpcmVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBXYWxs
VGltZSB0aW1lc3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxlKQorc3RhdGljIGJvb2wg
cmVzcG9uc2VIYXNFeHBpcmVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlLCBXYWxsVGltZSB0aW1lc3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxlLCBib29s
JiBpblJlc3BvbnNlU3RhbGVuZXNzKQogewogICAgIGlmIChyZXNwb25zZS5jYWNoZUNvbnRyb2xD
b250YWluc05vQ2FjaGUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xNjIsMjUgKzE2Miwz
NSBAQCBzdGF0aWMgYm9vbCByZXNwb25zZUhhc0V4cGlyZWQoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIFdhbGxUaQogCiAgICAgYXV0byBtYXhpbXVtU3RhbGVuZXNz
ID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMF9tczsKICAgICBib29sIGhhc0V4cGly
ZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1heGltdW1TdGFsZW5lc3M7CisjaWYgRU5BQkxFKE5FVFdP
UktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQorICAgIGlmIChoYXNFeHBpcmVkKSB7
CisgICAgICAgIGF1dG8gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPSByZXNwb25zZS5jYWNoZUNvbnRy
b2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpOworICAgICAgICBtYXhpbXVtU3RhbGVuZXNzICs9IHJl
c3BvbnNlTWF4U3RhbGVuZXNzID8gcmVzcG9uc2VNYXhTdGFsZW5lc3MudmFsdWUoKSA6IDBfbXM7
CisgICAgICAgIGluUmVzcG9uc2VTdGFsZW5lc3MgPSBhZ2UgLSBsaWZldGltZSA8IG1heGltdW1T
dGFsZW5lc3M7CisgICAgfQorI2VuZGlmCiAKICNpZm5kZWYgTE9HX0RJU0FCTEVECiAgICAgaWYg
KGhhc0V4cGlyZWQpCi0gICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3Mp
IG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4cGlyZWQgYWdlPSVmIGxpZmV0aW1lPSVmIG1heC1zdGFs
ZT0lZyIsIGFnZSwgbGlmZXRpbWUsIG1heFN0YWxlKTsKKyAgICAgICAgTE9HKE5ldHdvcmtDYWNo
ZSwgIihOZXR3b3JrUHJvY2VzcykgbmVlZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJlZCBhZ2U9JWYg
bGlmZXRpbWU9JWYgbWF4LXN0YWxlbmVzcz0lZiIsIGFnZSwgbGlmZXRpbWUsIG1heGltdW1TdGFs
ZW5lc3MpOwogI2VuZGlmCiAKICAgICByZXR1cm4gaGFzRXhwaXJlZDsKIH0KIAotc3RhdGljIGJv
b2wgcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBX
YWxsVGltZSB0aW1lc3RhbXApCitzdGF0aWMgVXNlRGVjaXNpb24gcmVzcG9uc2VOZWVkc1JldmFs
aWRhdGlvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBXYWxsVGltZSB0aW1lc3RhbXApCiB7
CiAgICAgYXV0byByZXF1ZXN0RGlyZWN0aXZlcyA9IFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9s
RGlyZWN0aXZlcyhyZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSk7CiAgICAgaWYgKHJlcXVlc3RE
aXJlY3RpdmVzLm5vQ2FjaGUpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4g
VXNlRGVjaXNpb246OlZhbGlkYXRlOwogICAgIC8vIEZvciByZXF1ZXN0cyB3ZSBpZ25vcmUgbWF4
LWFnZSB2YWx1ZXMgb3RoZXIgdGhhbiB6ZXJvLgogICAgIGlmIChyZXF1ZXN0RGlyZWN0aXZlcy5t
YXhBZ2UgJiYgcmVxdWVzdERpcmVjdGl2ZXMubWF4QWdlLnZhbHVlKCkgPT0gMF9tcykKLSAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAK
LSAgICByZXR1cm4gcmVzcG9uc2VIYXNFeHBpcmVkKHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJlcXVl
c3REaXJlY3RpdmVzLm1heFN0YWxlKTsKKyAgICBib29sIGluUmVzcG9uc2VTdGFsZW5lc3MgPSBm
YWxzZTsKKyAgICBpZiAocmVzcG9uc2VIYXNFeHBpcmVkKHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJl
cXVlc3REaXJlY3RpdmVzLm1heFN0YWxlLCBpblJlc3BvbnNlU3RhbGVuZXNzKSkKKyAgICAgICAg
cmV0dXJuIGluUmVzcG9uc2VTdGFsZW5lc3MgPyBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRl
IDogVXNlRGVjaXNpb246OlZhbGlkYXRlOworICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwog
fQogCiBzdGF0aWMgVXNlRGVjaXNpb24gbWFrZVVzZURlY2lzaW9uKE5ldHdvcmtQcm9jZXNzJiBu
ZXR3b3JrUHJvY2VzcywgY29uc3QgUEFMOjpTZXNzaW9uSUQmIHNlc3Npb25JRCwgY29uc3QgRW50
cnkmIGVudHJ5LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCkBAIC0x
OTcsOCArMjA3LDkgQEAgc3RhdGljIFVzZURlY2lzaW9uIG1ha2VVc2VEZWNpc2lvbihOZXR3b3Jr
UHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0IFBBTDo6U2UKICAgICBpZiAoY2FjaGVQb2xp
Y3lBbGxvd3NFeHBpcmVkKHJlcXVlc3QuY2FjaGVQb2xpY3koKSkpCiAgICAgICAgIHJldHVybiBV
c2VEZWNpc2lvbjo6VXNlOwogCi0gICAgaWYgKCFyZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGVu
dHJ5LnJlc3BvbnNlKCksIHJlcXVlc3QsIGVudHJ5LnRpbWVTdGFtcCgpKSkKLSAgICAgICAgcmV0
dXJuIFVzZURlY2lzaW9uOjpVc2U7CisgICAgYXV0byBkZWNpc2lvbiA9IHJlc3BvbnNlTmVlZHNS
ZXZhbGlkYXRpb24oZW50cnkucmVzcG9uc2UoKSwgcmVxdWVzdCwgZW50cnkudGltZVN0YW1wKCkp
OworICAgIGlmIChkZWNpc2lvbiAhPSBVc2VEZWNpc2lvbjo6VmFsaWRhdGUpCisgICAgICAgIHJl
dHVybiBkZWNpc2lvbjsKIAogICAgIGlmICghZW50cnkucmVzcG9uc2UoKS5oYXNDYWNoZVZhbGlk
YXRvckZpZWxkcygpKQogICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246Ok5vRHVlVG9NaXNzaW5n
VmFsaWRhdG9yRmllbGRzOwpAQCAtMjUxLDggKzI2MiwxMCBAQCBzdGF0aWMgU3RvcmVEZWNpc2lv
biBtYWtlU3RvcmVEZWNpc2lvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdp
bmFsUgogICAgIGJvb2wgc3RvcmVVbmNvbmRpdGlvbmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbiA9
IGlzTWFpblJlc291cmNlIHx8IG9yaWdpbmFsUmVxdWVzdC5wcmlvcml0eSgpID09IFdlYkNvcmU6
OlJlc291cmNlTG9hZFByaW9yaXR5OjpWZXJ5SGlnaDsKICAgICBpZiAoIXN0b3JlVW5jb25kaXRp
b25hbGx5Rm9ySGlzdG9yeU5hdmlnYXRpb24pIHsKICAgICAgICAgYXV0byBub3cgPSBXYWxsVGlt
ZTo6bm93KCk7Ci0gICAgICAgIGJvb2wgaGFzTm9uWmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNh
Y2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpICYmIFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NM
aWZldGltZUZvckhUVFBGYW1pbHkocmVzcG9uc2UsIG5vdykgPiAwX21zOwotCisgICAgICAgIFNl
Y29uZHMgYWxsb3dlZFN0YWxlOworICAgICAgICBpZiAoYXV0byB2YWx1ZSA9IHJlc3BvbnNlLmNh
Y2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkpCisgICAgICAgICAgICBhbGxvd2VkU3Rh
bGUgPSB2YWx1ZS52YWx1ZSgpOworICAgICAgICBib29sIGhhc05vblplcm9MaWZldGltZSA9ICFy
ZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSAmJiAoV2ViQ29yZTo6Y29tcHV0
ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShyZXNwb25zZSwgbm93KSA+IDBfbXMgfHwg
YWxsb3dlZFN0YWxlID4gMF9tcyk7CiAgICAgICAgIGJvb2wgcG9zc2libHlSZXVzYWJsZSA9IHJl
c3BvbnNlLmhhc0NhY2hlVmFsaWRhdG9yRmllbGRzKCkgfHwgaGFzTm9uWmVyb0xpZmV0aW1lOwog
ICAgICAgICBpZiAoIXBvc3NpYmx5UmV1c2FibGUpCiAgICAgICAgICAgICByZXR1cm4gU3RvcmVE
ZWNpc2lvbjo6Tm9EdWVUb1VubGlrZWx5VG9SZXVzZTsKQEAgLTMzNCwxMiArMzQ3LDExIEBAIHZv
aWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgR2xvYmFsRnJhbWVJCiAgICAgfQogI2VuZGlmCiAKLSAgICBtX3N0b3JhZ2UtPnJl
dHJpZXZlKHN0b3JhZ2VLZXksIHByaW9yaXR5LCBbcmVxdWVzdCwgY29tcGxldGlvbkhhbmRsZXIg
PSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgaW5mbyA9IFdURk1vdmUoaW5mbyksIHN0b3Jh
Z2VLZXksIG5ldHdvcmtQcm9jZXNzID0gbWFrZVJlZihuZXR3b3JrUHJvY2VzcygpKSwgc2Vzc2lv
bklEID0gbV9zZXNzaW9uSURdKGF1dG8gcmVjb3JkLCBhdXRvIHRpbWluZ3MpIG11dGFibGUgewor
ICAgIG1fc3RvcmFnZS0+cmV0cmlldmUoc3RvcmFnZUtleSwgcHJpb3JpdHksIFt0aGlzLCByZXF1
ZXN0LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBpbmZv
ID0gV1RGTW92ZShpbmZvKSwgc3RvcmFnZUtleSwgbmV0d29ya1Byb2Nlc3MgPSBtYWtlUmVmKG5l
dHdvcmtQcm9jZXNzKCkpLCBzZXNzaW9uSUQgPSBtX3Nlc3Npb25JRCwgZnJhbWVJRF0oYXV0byBy
ZWNvcmQsIGF1dG8gdGltaW5ncykgbXV0YWJsZSB7CiAgICAgICAgIGluZm8uc3RvcmFnZVRpbWlu
Z3MgPSB0aW1pbmdzOwogCiAgICAgICAgIGlmICghcmVjb3JkKSB7CiAgICAgICAgICAgICBMT0co
TmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBub3QgZm91bmQgaW4gc3RvcmFnZSIpOwot
CiAgICAgICAgICAgICBjb21wbGV0ZVJldHJpZXZlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
LCBudWxscHRyLCBpbmZvKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQpA
QCAtMzUwLDYgKzM2MiwxNSBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogCiAgICAgICAgIGF1
dG8gdXNlRGVjaXNpb24gPSBlbnRyeSA/IG1ha2VVc2VEZWNpc2lvbihuZXR3b3JrUHJvY2Vzcywg
c2Vzc2lvbklELCAqZW50cnksIHJlcXVlc3QpIDogVXNlRGVjaXNpb246Ok5vRHVlVG9EZWNvZGVG
YWlsdXJlOwogICAgICAgICBzd2l0Y2ggKHVzZURlY2lzaW9uKSB7CisgICAgICAgIGNhc2UgVXNl
RGVjaXNpb246OkFzeW5jUmV2YWxpZGF0ZTogeworI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQ
RUNVTEFUSVZFX1JFVkFMSURBVElPTikKKyAgICAgICAgICAgIGlmIChtX3NwZWN1bGF0aXZlTG9h
ZE1hbmFnZXIpIHsKKyAgICAgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5
Q29weSA9IG1ha2VVbmlxdWU8RW50cnk+KCplbnRyeSk7CisgICAgICAgICAgICAgICAgbV9zcGVj
dWxhdGl2ZUxvYWRNYW5hZ2VyLT5zdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQocmVxdWVz
dCwgc3RvcmFnZUtleSwgV1RGTW92ZShlbnRyeUNvcHkpLCBmcmFtZUlEKTsKKyAgICAgICAgICAg
IH0KKyNlbmRpZgorICAgICAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgICAgIH0KICAgICAgICAg
Y2FzZSBVc2VEZWNpc2lvbjo6VXNlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug
VXNlRGVjaXNpb246OlZhbGlkYXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKaW5kZXggMGRlZTdmODhkZmY2MTYyY2MzZmQ3ODUxYjgz
ODBmYzVhODNiZDVhZS4uY2FmYzU2NzJkNmU0YjNkNTc4YWM5MzFhOThiMTcyYzk3MGExNGE0YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZS5oCkBAIC04Miw2ICs4Miw3IEBAIGVudW0gY2xhc3MgU3RvcmVEZWNpc2lvbiB7CiBlbnVtIGNs
YXNzIFVzZURlY2lzaW9uIHsKICAgICBVc2UsCiAgICAgVmFsaWRhdGUsCisgICAgQXN5bmNSZXZh
bGlkYXRlLAogICAgIE5vRHVlVG9WYXJ5aW5nSGVhZGVyTWlzbWF0Y2gsCiAgICAgTm9EdWVUb01p
c3NpbmdWYWxpZGF0b3JGaWVsZHMsCiAgICAgTm9EdWVUb0RlY29kZUZhaWx1cmUsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlTG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCA2Nzk0MDM5Yjdl
MTkxN2E0YWFiYWQ0ZDJkNTA4ZjczOTUzNzg2NTY3Li40YmViMDUwZjFiNTIwMDZlMDJkOTUyODEw
ZTE1OGRkNmIyZWE1MzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlci5jcHAKQEAgLTQ4Niw3ICs0ODYsNzcgQEAgdm9pZCBTcGVjdWxhdGl2ZUxvYWRNYW5h
Z2VyOjpyZXZhbGlkYXRlU3VicmVzb3VyY2UoY29uc3QgU3VicmVzb3VyY2VJbmZvJiBzdWJyZXMK
ICAgICB9KTsKICAgICBtX3BlbmRpbmdQcmVsb2Fkcy5hZGQoa2V5LCBXVEZNb3ZlKHJldmFsaWRh
dG9yKSk7CiB9Ci0gICAgCisKK3N0YXRpYyBpbmxpbmUgUmVzb3VyY2VSZXF1ZXN0IGNvbnN0cnVj
dFJldmFsaWRhdGlvblJlcXVlc3QoY29uc3QgS2V5JiBrZXksIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgRW50cnkqIGVudHJ5KQoreworICAgIFJlc291cmNlUmVxdWVzdCBy
ZXZhbGlkYXRpb25SZXF1ZXN0ID0gcmVxdWVzdDsKKyAgICBpZiAoIWtleS5wYXJ0aXRpb24oKS5p
c0VtcHR5KCkpCisgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0Q2FjaGVQYXJ0aXRpb24o
a2V5LnBhcnRpdGlvbigpKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGtleS5yYW5nZSgpLmlz
RW1wdHkoKSwgInJhbmdlIGlzIG5vdCBzdXBwb3J0ZWQiKTsKKworICAgIHJldmFsaWRhdGlvblJl
cXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKyAgICBpZiAoZW50cnkpIHsKKyAgICAgICAgU3Ry
aW5nIGVUYWcgPSBlbnRyeS0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5h
bWU6OkVUYWcpOworICAgICAgICBpZiAoIWVUYWcuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV2
YWxpZGF0aW9uUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OklmTm9u
ZU1hdGNoLCBlVGFnKTsKKworICAgICAgICBTdHJpbmcgbGFzdE1vZGlmaWVkID0gZW50cnktPnJl
c3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpMYXN0TW9kaWZpZWQpOwor
ICAgICAgICBpZiAoIWxhc3RNb2RpZmllZC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXZhbGlk
YXRpb25SZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6SWZNb2RpZmll
ZFNpbmNlLCBsYXN0TW9kaWZpZWQpOworICAgIH0KKworICAgIHJldmFsaWRhdGlvblJlcXVlc3Qu
c2V0UHJpb3JpdHkoV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6Okxvdyk7CisKKyAgICBy
ZXR1cm4gcmV2YWxpZGF0aW9uUmVxdWVzdDsKK30KKworY2xhc3MgQXN5bmNSZXZhbGlkYXRpb24g
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHR5cGVkZWYgRnVu
Y3Rpb248dm9pZCAoYm9vbCk+IEFzeW5jUmV2YWxpZGF0aW9uQ29tcGxldGlvbkhhbmRsZXI7Cisg
ICAgQXN5bmNSZXZhbGlkYXRpb24oQ2FjaGUmIGNhY2hlLCBjb25zdCBHbG9iYWxGcmFtZUlEJiBm
cmFtZUlELCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIHN0ZDo6dW5pcXVlX3B0cjxO
ZXR3b3JrQ2FjaGU6OkVudHJ5PiBlbnRyeSwgQXN5bmNSZXZhbGlkYXRpb25Db21wbGV0aW9uSGFu
ZGxlciYmIGhhbmRsZXIpCisgICAgICAgIDogbV90aW1lcigqdGhpcywgJkFzeW5jUmV2YWxpZGF0
aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZykKKyAgICAgICAgLCBtX2NvbXBsZXRpb25I
YW5kbGVyKFdURk1vdmUoaGFuZGxlcikpCisgICAgeworICAgICAgICBhdXRvIGtleSA9IGVudHJ5
LT5rZXkoKTsKKyAgICAgICAgYXV0byByZXZhbGlkYXRpb25SZXF1ZXN0ID0gY29uc3RydWN0UmV2
YWxpZGF0aW9uUmVxdWVzdChrZXksIHJlcXVlc3QsIGVudHJ5LmdldCgpKTsKKyAgICAgICAgYXV0
byBhZ2UgPSBXZWJDb3JlOjpjb21wdXRlQ3VycmVudEFnZShlbnRyeS0+cmVzcG9uc2UoKSwgZW50
cnktPnRpbWVTdGFtcCgpKTsKKyAgICAgICAgYXV0byBsaWZldGltZSA9IFdlYkNvcmU6OmNvbXB1
dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkoZW50cnktPnJlc3BvbnNlKCksIGVudHJ5
LT50aW1lU3RhbXAoKSk7CisgICAgICAgIGF1dG8gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPSBlbnRy
eS0+cmVzcG9uc2UoKS5jYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpOworICAgICAg
ICBBU1NFUlQocmVzcG9uc2VNYXhTdGFsZW5lc3MpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgqcmVzcG9uc2VNYXhTdGFsZW5lc3MgLSAoYWdlIC0gbGlmZXRpbWUpKTsKKyAgICAgICAg
bV9sb2FkID0gbWFrZVVuaXF1ZTxTcGVjdWxhdGl2ZUxvYWQ+KGNhY2hlLCBmcmFtZUlELCByZXZh
bGlkYXRpb25SZXF1ZXN0LCBXVEZNb3ZlKGVudHJ5KSwgW3RoaXMsIGtleSwgcmV2YWxpZGF0aW9u
UmVxdWVzdF0oc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiByZXZhbGlkYXRlZEVudHJ5KSB7CisgICAg
ICAgICAgICBBU1NFUlQoIXJldmFsaWRhdGVkRW50cnkgfHwgIXJldmFsaWRhdGVkRW50cnktPm5l
ZWRzVmFsaWRhdGlvbigpKTsKKyAgICAgICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8
fCByZXZhbGlkYXRlZEVudHJ5LT5rZXkoKSA9PSBrZXkpOworICAgICAgICAgICAgbV9jb21wbGV0
aW9uSGFuZGxlcihyZXZhbGlkYXRlZEVudHJ5LmdldCgpKTsKKyAgICAgICAgfSk7CisgICAgfQor
CisgICAgY29uc3QgU3BlY3VsYXRpdmVMb2FkJiBsb2FkKCkgY29uc3QgeyByZXR1cm4gKm1fbG9h
ZDsgfQorCisgICAgdm9pZCBzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZygpIHsgbV9jb21wbGV0
aW9uSGFuZGxlcih0cnVlKTsgfQorCitwcml2YXRlOgorICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVj
dWxhdGl2ZUxvYWQ+IG1fbG9hZDsKKyAgICBUaW1lciBtX3RpbWVyOworICAgIEFzeW5jUmV2YWxp
ZGF0aW9uQ29tcGxldGlvbkhhbmRsZXIgbV9jb21wbGV0aW9uSGFuZGxlcjsKK307CisKK3ZvaWQg
U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6c3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmIGtl
eSwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBlbnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJh
bWVJRCkKK3sKKyAgICBhdXRvKiBwZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24gPSBtX3BlbmRpbmdB
c3luY1JldmFsaWRhdGlvbnMuZ2V0KGtleSk7CisgICAgaWYgKHBlbmRpbmdBc3luY1JldmFsaWRh
dGlvbiAmJiBjYW5Vc2VQZW5kaW5nUHJlbG9hZChwZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24tPmxv
YWQoKSwgcmVxdWVzdCkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gcmV2YWxpZGF0b3Ig
PSBtYWtlVW5pcXVlPEFzeW5jUmV2YWxpZGF0aW9uPihtX2NhY2hlLCBmcmFtZUlELCByZXF1ZXN0
LCBXVEZNb3ZlKGVudHJ5KSwgW3RoaXMsIGtleV0oYm9vbCBlbmRpbmcpIHsKKyAgICAgICAgaWYg
KGVuZGluZykgeworICAgICAgICAgICAgbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLnRha2Uo
a2V5KTsKKyAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIEFz
eW5jIHJldmFsaWRhdGlvbiBjb21wbGV0ZWQgZm9yICclcyc6Iiwga2V5LmlkZW50aWZpZXIoKS51
dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgfQorICAgIH0pOworICAgIG1fcGVuZGluZ0FzeW5jUmV2
YWxpZGF0aW9ucy5hZGQoa2V5LCBXVEZNb3ZlKHJldmFsaWRhdG9yKSk7Cit9CisKIHN0YXRpYyBi
b29sIGNhblJldmFsaWRhdGUoY29uc3QgU3VicmVzb3VyY2VJbmZvJiBzdWJyZXNvdXJjZUluZm8s
IGNvbnN0IEVudHJ5KiBlbnRyeSkKIHsKICAgICBBU1NFUlQoIXN1YnJlc291cmNlSW5mby5pc1Ry
YW5zaWVudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmgK
aW5kZXggM2FmNGZkYjgxMjFmZDdjNWU5MThhMDM5YjQwMGE1ZjNhM2E4NmVmYS4uZjIwMmZkNjY2
ZWM2NzA1ZDdiNmQ0OGIzZjQ4YjQzODNhMDA2YTgwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2Vy
LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmgKQEAgLTM4LDYgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAKIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCitjbGFzcyBBc3luY1JldmFsaWRhdGlv
bjsKIGNsYXNzIEVudHJ5OwogY2xhc3MgU3BlY3VsYXRpdmVMb2FkOwogY2xhc3MgU3VicmVzb3Vy
Y2VJbmZvOwpAQCAtNTYsNiArNTcsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBjYW5SZXRyaWV2ZShj
b25zdCBLZXkmIHN0b3JhZ2VLZXksIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNv
bnN0IEdsb2JhbEZyYW1lSUQmKSBjb25zdDsKICAgICB2b2lkIHJldHJpZXZlKGNvbnN0IEtleSYg
c3RvcmFnZUtleSwgUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYmKTsKIAorICAgIHZvaWQgc3Rh
cnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYsIGNvbnN0IE5ldHdvcmtDYWNoZTo6S2V5Jiwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiwgY29u
c3QgR2xvYmFsRnJhbWVJRCYpOworCiBwcml2YXRlOgogICAgIGNsYXNzIFByZWxvYWRlZEVudHJ5
OwogCkBAIC04MSw2ICs4NCw4IEBAIHByaXZhdGU6CiAKICAgICBIYXNoTWFwPEtleSwgc3RkOjp1
bmlxdWVfcHRyPFByZWxvYWRlZEVudHJ5Pj4gbV9wcmVsb2FkZWRFbnRyaWVzOwogCisgICAgSGFz
aE1hcDxLZXksIHN0ZDo6dW5pcXVlX3B0cjxBc3luY1JldmFsaWRhdGlvbj4+IG1fcGVuZGluZ0Fz
eW5jUmV2YWxpZGF0aW9uczsKKwogICAgIGNsYXNzIEV4cGlyaW5nRW50cnk7CiAgICAgSGFzaE1h
cDxLZXksIHN0ZDo6dW5pcXVlX3B0cjxFeHBpcmluZ0VudHJ5Pj4gbV9ub3RQcmVsb2FkZWRFbnRy
aWVzOyAvLyBGb3IgbG9nZ2luZy4KIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODg1NjI0MjNkODQxZTM1Mjc1NWJmOGQy
NWIyOGM0YWYzNTg1OTQ5Yi4uMzBjYjc1NjQ1MDVlY2YyNDExZmVhMzA1NjdlNTk4NjEwZWVmZmRi
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA5LTI1ICBSb2IgQnVpcyAgPHJidWlzQGln
YWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hl
IHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTa2lwIG5ld2x5IGltcG9ydGVkIHRlc3RzIGZvciBXSzEuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zOgorCiAyMDE5LTA5LTI1ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJk
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjUwMzI0Lgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNzQzZDE3MDAzOGRhNzExMTNjNTg3YWVk
ZjIyZmJiNzhkN2QwZmUzNC4uODMwN2ZkNjk2ZDRhYzY0YWRjNWI1ZWQ3MDE0OGM4MWVhMjExOTll
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTkt
MDktMjUgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0
YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IFdQVCB0ZXN0cy4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvZmV0Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jl
c291cmNlcy9zdGFsZS1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAoaWRfdG9rZW4pOgorICAg
ICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1j
c3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUt
aW1hZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9z
dGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3ctaW50ZXJjZXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jLmJyb2FkY2FzdCk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDE5LTA5LTI0ICBBbnRvaW5lIFF1aW50ICA8
Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25zXSBSZW1vdmluZyBh
biBlbGVtZW50IHNob3VsZCBvbmx5IGNhbmNlbCBpdHMgZGVjbGFyYXRpdmUgYW5pbWF0aW9ucwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9y
dC1leHBlY3RhdGlvbnMuanNvbgppbmRleCA1ZGEzMzU2NWNmZmUzYjdiY2I0YTMzOTVjNmVlM2Zk
YmViY2U1NzhjLi5jY2NjMWQzY2MyMmIxMTRhNzJmNTA2ZDI1YzhhNjYyYzc1YTVjZjhlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3Rh
dGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9y
dC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMTU4LDYgKzE1OCw3IEBACiAgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9hcGkiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvY29ycyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3JhbmdlIjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Z1
bGxzY3JlZW4iOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZ2FtZXBhZCI6ICJz
a2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9nZW5lcmljLXNlbnNvciI6ICJza2lwIiwg
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFjNzc3
YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL2ZldGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBTZWNvbmQgZmV0
Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
ZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0
dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFjNzc3YWRmMjQ4YWEzN2Fj
MGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBTZWNvbmQgZmV0Y2gg
cmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0
Y2gtc3cuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVmY2ViYzI0YTYzZjQwZGU1NGE0YzM5OTFjOTA1MGViNzQ0ODZhMjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPlN0YWxlIFJldmFsaWRhdGlvbiBSZXF1ZXN0cyBkb24ndCBn
ZXQgc2VudCB0byBzZXJ2aWNlIHdvcmtlcjwvdGl0bGU+CisgIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpz
Ij48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCisgIC8vIER1cGxpY2F0aW5nIHRoaXMgcmVzb3Vy
Y2UgdG8gbWFrZSBzZXJ2aWNlIHdvcmtlciBzY29waW5nIHNpbXBsZXIuCisgIGFzeW5jIGZ1bmN0
aW9uIHNldHVwUmVnaXN0cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVkKHQsIHNjb3BlKSB7Cisg
ICAgY29uc3QgY29udHJvbGxlZCA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbmNvbnRyb2xsZXJjaGFuZ2UgPSAoKSA9PiB7IHJlc29s
dmUoKTsgfTsKKyAgICB9KTsKKyAgICBjb25zdCByZWcgPSBhd2FpdCBuYXZpZ2F0b3Iuc2Vydmlj
ZVdvcmtlci5yZWdpc3Rlcignc3ctaW50ZXJjZXB0LmpzJyk7CisgICAgYXdhaXQgd2FpdF9mb3Jf
c3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICBhd2FpdCBjb250cm9s
bGVkOworICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKF8gPT4gcmVnLnVucmVnaXN0ZXIoKSk7
CisgICAgcmV0dXJuIHJlZzsKKyAgfQorCisgIC8vIFVzaW5nIDI1MG1zIHBvbGxpbmcgaW50ZXJ2
YWwgdG8gcHJvdmlkZSBlbm91Z2ggJ25ldHdvcmsgY2FsbW5lc3MnIHRvIGdpdmUKKyAgLy8gdGhl
IGJhY2tncm91bmQgbG93IHByaW9yaXR5IHJldmFsaWRhdGlvbiByZXF1ZXN0IGEgY2hhbmNlIHRv
IGtpY2sgaW4uCisgIGZ1bmN0aW9uIHdhaXQyNTBtcyh0ZXN0KSB7CisgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgICAgdGVzdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAg
ICAgICByZXNvbHZlKCk7CisgICAgICB9LCAyNTApOworICAgIH0pOworICB9CisKKyAgcHJvbWlz
ZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigp
OworICAgIGNvbnN0IHVyaSA9ICdyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPScgKyBy
ZXF1ZXN0X3Rva2VuOworCisgICAgYXdhaXQgc2V0dXBSZWdpc3RyYXRpb25BbmRXYWl0VG9CZUNv
bnRyb2xsZWQodGVzdCwgJ3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHknKTsKKworICAgIHZhciBz
ZXJ2aWNlX3dvcmtlcl9jb3VudCA9IDA7CisgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRk
RXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIG9uY2UoZXZlbnQpIHsKKyAgICAgIGlm
IChldmVudC5kYXRhLmVuZHNXaXRoKHVyaSkpIHsKKyAgICAgICAgc2VydmljZV93b3JrZXJfY291
bnQrKzsKKyAgICAgIH0KKyAgICB9KTsKKworICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0
Y2godXJpKTsKKyAgICBjb25zdCByZXNwb25zZTIgPSBhd2FpdCBmZXRjaCh1cmkpOworICAgIGFz
c2VydF9lcXVhbHMocmVzcG9uc2UuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpLCByZXNwb25zZTIu
aGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpKTsKKyAgICB3aGlsZSh0cnVlKSB7CisgICAgICBjb25z
dCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlw
dC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAgICBpZiAocmV2YWxpZGF0
aW9uX2NoZWNrLmhlYWRlcnMuZ2V0KCdDb3VudCcpID09ICcyJykgeworICAgICAgICAvLyBUaGUg
c2VydmljZSB3b3JrZXIgc2hvdWxkIG5vdCBzZWUgdGhlIHJldmFsaWRhdGlvbiByZXF1ZXN0Lgor
ICAgICAgICBhc3NlcnRfZXF1YWxzKHNlcnZpY2Vfd29ya2VyX2NvdW50LCAyKTsKKyAgICAgICAg
YnJlYWs7CisgICAgICB9CisgICAgICBhd2FpdCB3YWl0MjUwbXModGVzdCk7CisgICAgfQorICB9
LCAnU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZScpOworCis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzMzOTBjN2FkNTk0OGM2ODJi
MmZiZGNiM2M5NWE0YzM3NGRiYmEyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9mZXRjaC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgaXMgbm90
IGV4ZWN1dGVkIGZvciBmZXRjaCBBUEk8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHdhaXQyNW1zKHRlc3QpIHsKKyAgcmV0dXJu
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsK
KyAgICAgIHJlc29sdmUoKTsKKyAgICB9LCAyNSk7CisgIH0pOworfQorCitwcm9taXNlX3Rlc3Qo
YXN5bmMgKHRlc3QpID0+IHsKKyAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworCisgIGNv
bnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9r
ZW49YCArIHJlcXVlc3RfdG9rZW4pOworICBjb25zdCByZXNwb25zZTIgPSBhd2FpdCBmZXRjaChg
cmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisKKyAg
YXNzZXJ0X2VxdWFscyhyZXNwb25zZS5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJyksIHJlc3BvbnNl
Mi5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJykpOworCisgIHdoaWxlKHRydWUpIHsKKyAgICBjb25z
dCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlw
dC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAgaWYgKHJldmFsaWRhdGlv
bl9jaGVjay5oZWFkZXJzLmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAgICAgIGJyZWFrOworICAg
IH0KKyAgICBhd2FpdCB3YWl0MjVtcyh0ZXN0KTsKKyAgfQorfSwgJ1NlY29uZCBmZXRjaCByZXR1
cm5zIHNhbWUgcmVzcG9uc2UnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0
YWxlLWNzcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmFlNTQ2ZDA2NTFmOTdmMzAyMDgyOTQ1MmRiNjIyNTQ4
NmRjNDUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFs
ZS1jc3MucHkKQEAgLTAsMCArMSwyOCBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgor
CisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIGlzX3F1
ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAgIHdpdGgg
cmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2ZXIu
c3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFsdWUgIT0gTm9u
ZToKKyAgICAgICAgY291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBpc19xdWVyeToKKyAgICAg
ICAgaWYgY291bnQgPCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tl
biwgY291bnQpCisgICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAg
ICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAgIGlmIGlzX3F1ZXJ5
OgorICAgICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIi
CisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIGNv
bnRlbnQgPSAiYm9keSB7IGJhY2tncm91bmQ6IHJnYigwLCAxMjgsIDApOyB9IgorICAgICAgaWYg
Y291bnQgPiAxOgorICAgICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNrZ3JvdW5kOiByZ2IoMjU1
LCAwLCAwKTsgfSIKKworICAgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2Nz
cyIpLAorICAgICAgICAgICAgICAgKCJDYWNoZS1Db250cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9
MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIpXQorCisgICAgICByZXR1cm4gMjAwLCBoZWFk
ZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxl
LWltYWdlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MzllYjg0YmIzNGJiZDE1ZTJjYTcwNjFlZTRmYTU3MjRkMmM2NGY4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQpAQCAt
MCwwICsxLDM4IEBACitpbXBvcnQgb3MucGF0aAorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25z
ZSk6CisKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAg
aXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAg
d2l0aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNl
cnZlci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAh
PSBOb25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5Ogor
ICAgICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0
KHRva2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisg
ICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisKKyAgICBpZiBp
c19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRl
bnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6Cisg
ICAgICBmaWxlbmFtZSA9ICJncmVlbi0xNngxNi5wbmciCisgICAgICBpZiBjb3VudCA+IDE6Cisg
ICAgICAgIGZpbGVuYW1lID0gImdyZWVuLTI1NngyNTYucG5nIgorCisgICAgICBwYXRoID0gb3Mu
cGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLi8uLi8uLi9pbWFnZXMiLCBm
aWxlbmFtZSkKKyAgICAgIGJvZHkgPSBvcGVuKHBhdGgsICJyYiIpLnJlYWQoKQorCisgICAgICBy
ZXNwb25zZS5hZGRfcmVxdWlyZWRfaGVhZGVycyA9IEZhbHNlCisgICAgICByZXNwb25zZS53cml0
ZXIud3JpdGVfc3RhdHVzKDIwMCkKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIo
ImNvbnRlbnQtbGVuZ3RoIiwgbGVuKGJvZHkpKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRl
X2hlYWRlcigiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdlPTAsIHN0YWxlLXdoaWxl
LXJldmFsaWRhdGU9NjAiKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiY29u
dGVudC10eXBlIiwgImltYWdlL3BuZyIpCisgICAgICByZXNwb25zZS53cml0ZXIuZW5kX2hlYWRl
cnMoKQorCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoYm9keSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFkNTQ2NzFmNDIxMTczNWY1
NmRmNTBhNTVkZWVhNmVkMjgxZDVhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5CkBAIC0wLDAgKzEsMzIgQEAKK2ltcG9ydCByYW5k
b20sIHN0cmluZywgZGF0ZXRpbWUKKworZGVmIGlkX3Rva2VuKCk6CisgICBsZXR0ZXJzID0gc3Ry
aW5nLmFzY2lpX2xvd2VyY2FzZQorICAgcmV0dXJuICcnLmpvaW4ocmFuZG9tLmNob2ljZShsZXR0
ZXJzKSBmb3IgaSBpbiByYW5nZSgyMCkpCisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToK
KyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgaXNfcXVl
cnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAgd2l0aCBy
ZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNlcnZlci5z
dGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAhPSBOb25l
OgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5OgorICAgICAg
ICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2Vu
LCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAg
IHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisKKyAgICBpZiBpc19xdWVy
eToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRlbnQgPSAi
IgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6CisgICAgICB1
bmlxdWVfaWQgPSBpZF90b2tlbigpCisgICAgICBoZWFkZXJzID0gWygiQ29udGVudC1UeXBlIiwg
InRleHQvamF2YXNjcmlwdCIpLAorICAgICAgICAgICAgICAgICAoIkNhY2hlLUNvbnRyb2wiLCAi
cHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwIiksCisgICAgICAg
ICAgICAgICAgICgiVW5pcXVlLUlkIiwgdW5pcXVlX2lkKV0KKyAgICAgIGNvbnRlbnQgPSAicmVw
b3J0KCd7fScpIi5mb3JtYXQodW5pcXVlX2lkKQorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywg
Y29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzVhNzczMmE1NjZkNGE2ZjU3M2NjOTdmZDNkMTQ1NDY1N2Q0NzY4MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCAr
MSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFmMDc5ZWQ2ZjE0ODhl
OGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVybnMgc3RhbGUgcmVzb3Vy
Y2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTYyNjBmZGI0NWMwYzJjNjBi
NGQ3NmY2M2E3NjM4OWRmODE4YjExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3N0YWxlLWNzcy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgd29y
a3MgZm9yIGNzczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CisKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5jX3Rl
c3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgdC5z
dGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9y
JyksICJyZ2IoMCwgMTI4LCAwKSIpOworICAgICAgdmFyIGxpbmsyID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgibGluayIpOworICAgICAgbGluazIub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4g
eworICAgICAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSwgInJnYigwLCAxMjgs
IDApIik7CisgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAvLyBX
ZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBv
Y2N1ci4KKyAgICAgICAgICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLWNzcy5weT9xdWVyeSZ0b2tl
bj0iICsgcmVxdWVzdF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAg
ICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAg
ICAgICAgICAgaWYgKGNvdW50ID09ICcyJykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVz
dWx0LCAyNSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAg
ICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBs
aW5rMi5yZWwgPSAic3R5bGVzaGVldCI7CisgICAgICBsaW5rMi50eXBlID0gInRleHQvY3NzIjsK
KyAgICAgIGxpbmsyLmhyZWYgPSAicmVzb3VyY2VzL3N0YWxlLWNzcy5weT90b2tlbj0iICsgcmVx
dWVzdF90b2tlbjsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluazIpOworICAg
IH0sIDApOworICB9KTsKK30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlJyk7CisKK3Zh
ciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOworbGluay5yZWwgPSAic3R5
bGVzaGVldCI7CitsaW5rLnR5cGUgPSAidGV4dC9jc3MiOworbGluay5ocmVmID0gInJlc291cmNl
cy9zdGFsZS1jc3MucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGxpbmspOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxl
LWltYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZTQyMDE0ZGVmZDcxOTEwOTZjMzNjY2U1
ODMwZWY3Y2FhMWE1N2E2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxl
LWltYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKyAKKworUEFTUyBDYWNoZSByZXR1
cm5zIHN0YWxlIHJlc291cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUt
aW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjBhMDhmODE3MjlkZTQ5OTg1YzY1NzVlMWE3YTVmY2I3N2QzYTBlZTIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFs
ZSBXaGlsZSBSZXZhbGlkYXRlIHdvcmtzIGZvciBpbWFnZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21t
b24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8IS0tCitVc2UgYSBjaGlsZCBkb2N1bWVu
dCB0byBsb2FkIHRoZSBzZWNvbmQgc3RhbGUgaW1hZ2UgaW50byBiZWNhdXNlCithbiBpbWFnZSBs
b2FkZWQgaW50byB0aGUgc2FtZSBkb2N1bWVudCB3aWxsIHNraXAgY2FjaGUtY29udHJvbCBoZWFk
ZXJzLgorU2VlOiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbGlzdC1vZi1hdmFp
bGFibGUtaW1hZ2VzCistLT4KKzxpZnJhbWUgaWQ9ImNoaWxkIiBzcmNkb2M9IiI+PC9pZnJhbWU+
Cis8c2NyaXB0PgorCit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7Cithc3luY190ZXN0KHQg
PT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHQuc3RlcF90
aW1lb3V0KCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImZpcnN0aW1hZ2UiKS53aWR0aCwgMTYsICJXaWR0aCBpcyAxNiIpOworICAgICAgdmFyIGNo
aWxkRG9jdW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hpbGQnKS5jb250ZW50RG9j
dW1lbnQ7CisgICAgICB2YXIgaW1nMiA9IGNoaWxkRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1n
Iik7CisgICAgICBpbWcyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhpbWcyLndpZHRoLCAxNiwgImltYWdlIGRpbWVuc2lvbiIpOworICAgICAgICB2
YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdl
IGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAg
ZmV0Y2goInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90
b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBj
b3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNv
dW50ID09ICcyJykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGlt
ZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBpbWcyLnNyYyA9ICJyZXNv
dXJjZXMvc3RhbGUtaW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBjaGls
ZERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nMik7CisgICAgfSwgMCk7CisgIH0pOworfSwg
J0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGltZyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImltZyIpOworaW1nLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk/
dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CitpbWcuaWQgPSAiZmlyc3RpbWFnZSI7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMx
M2U1Nzg3ZWFmMDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENh
Y2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdGFsZS1zY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42ODc5M2U1MDA1NmJjNjA1M2VhNDEwZDY1OGFlZDM3M2QxOWY5YTQxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCkBAIC0wLDAg
KzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIHNjcmlwdHM8L3RpdGxlPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgordmFy
IGxhc3RfbW9kaWZpZWQ7Cit2YXIgbGFzdF9tb2RpZmllZF9jb3VudCA9IDA7Cit2YXIgcmVxdWVz
dF90b2tlbiA9IHRva2VuKCk7CisKKy8vIFRoZSBzY3JpcHQgd2lsbCBjYWxsIHJlcG9ydCB2aWEg
YSB1bmlxdWVseSBnZW5lcmF0ZWQgSUQgb24gdGhlIHN1YnJlc291cmNlLgorLy8gSWYgaXQgaXMg
YSBjYWNoZSBoaXQgdGhlIElEIHdpbGwgYmUgdGhlIHNhbWUgYW5kIHRoZSB0ZXN0IHdpbGwgcGFz
cy4KK2Z1bmN0aW9uIHJlcG9ydChtb2QpIHsKKyAgaWYgKCFsYXN0X21vZGlmaWVkKSB7CisgICAg
bGFzdF9tb2RpZmllZCA9IG1vZDsKKyAgICBsYXN0X21vZGlmaWVkX2NvdW50ID0gMTsKKyAgfSBl
bHNlIGlmIChsYXN0X21vZGlmaWVkID09IG1vZCkgeworICAgIGxhc3RfbW9kaWZpZWRfY291bnQr
KzsKKyAgfQorfQorCithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVw
X2Z1bmMoKCkgPT4geworICAgIHN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICB2YXIgc2NyaXB0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgICBzY3JpcHQuc3JjID0g
InJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7CisgICAgICBzY3JpcHQub25sb2Fk
ID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMobGFzdF9tb2Rp
ZmllZF9jb3VudCwgMiwgImxhc3QgbW9kaWZpZWQiKTsKKyAgICAgICAgICB2YXIgY2hlY2tSZXN1
bHQgPSAoKSA9PiB7CisgICAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25v
dyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICAgIGZldGNoKCJy
ZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0X3Rva2VuKS50
aGVuKHQuc3RlcF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICB2YXIgY291bnQg
PSByZXNwb25zZS5oZWFkZXJzLmdldCgiQ291bnQiKTsKKyAgICAgICAgICAgICAgaWYgKGNvdW50
ID09ICcyJykgeworICAgICAgICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsK
KyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSkpOworICAgICAgICAgIH07CisgICAgICAg
ICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgIH0pOworICAgIH0sIDAp
OworICB9KTsKK30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlJyk7CisKK3ZhciBzY3Jp
cHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3NjcmlwdC5zcmMgPSAicmVz
b3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1p
bnRlcmNlcHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGNhN2RlNTFiMGI4YzU1MTgyNzZlNzBhZTIxOWI3YmM4
Zjg2OWE5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQu
anMKQEAgLTAsMCArMSwxNCBAQAorYXN5bmMgZnVuY3Rpb24gYnJvYWRjYXN0KG1zZykgeworICBm
b3IgKGNvbnN0IGNsaWVudCBvZiBhd2FpdCBjbGllbnRzLm1hdGNoQWxsKCkpIHsKKyAgICBjbGll
bnQucG9zdE1lc3NhZ2UobXNnKTsKKyAgfQorfQorCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2Zl
dGNoJywgZXZlbnQgPT4geworICBldmVudC53YWl0VW50aWwoYnJvYWRjYXN0KGV2ZW50LnJlcXVl
c3QudXJsKSk7CisgIGV2ZW50LnJlc3BvbmRXaXRoKGZldGNoKGV2ZW50LnJlcXVlc3QpKTsKK30p
OworCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2FjdGl2YXRlJywgZXZlbnQgPT4geworICBzZWxm
LmNsaWVudHMuY2xhaW0oKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFi
OWRkMDZmODQ2YTcwNjhmZWEyYjgyODc4MWFkNzVjYzE5OGU3YTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMiBAQAorVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9k
aWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
ZmV0Y2guaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVlNjQwMzhhZDhlNjdkNjliYzcxMzlj
OWI3ZDkzNzFiZTU3YjZjYzcuLjdmNDgzZGZkYjI5Nzc5MmMyYmVmNmMwZGE4YWU1MWIzOTI0ZjEx
MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTE5OTgsMyArMTk5OCw2IEBAIHdlYmtpdC5vcmcvYi8xODg3NjIgZmFzdC93cml0aW5nLW1v
ZGUvZW5nbGlzaC1ybC10ZXh0LXdpdGgtc3BlbGxpbmctbWFya2VyLmh0bWwKIGluc3BlY3Rvci9j
YW52YXMvcmVjb3JkaW5nLWh0bWwtMmQuaHRtbAogCiB3ZWJraXQub3JnL2IvMTU5NzI0IFsgRGVi
dWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXBv
c3QtdXBsb2FkLmh0bSBbIFNraXAgXQorCisjIFN0YWxlLXdoaWxlLXJldmFsaWRhdGUgaXMgbm90
IHN1cHBvcnRlZCBvbiBXSzEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGIxZmU1ZjA1OGFlZDVkNjc5ZDYwYjc4ODQ3
ODdjMTljZmUyZDMzMGQuLjYyNzRlNGU5MGEwMTkzZWFmZjU4ZTI3MjYyZDBjNTE3NTRhMjJkNjIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTc3NSwzICs3NzUsNiBAQCB3ZWJraXQub3JnL2IvMTk5MjQyIFsgRGVidWcgXSBodHRwL3Rlc3Rz
L3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXJlc291cmNlLXRpbWluZwogWyBNb2phdmUrIF0gZmFz
dC9pbWFnZXMvYW5pbWF0ZWQtaGVpY3MtdmVyaWZ5Lmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9y
Zy9iLzIwMDAwMiBbIE1vamF2ZSsgRGVidWcgXSBpbXBvcnRlZC9ibGluay9zdG9yYWdlL2luZGV4
ZWRkYi9ibG9iLWJhc2ljcy1tZXRhZGF0YS5odG1sIFsgVGltZW91dCBdCisKKyMgU3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZSBpcyBub3Qgc3VwcG9ydGVkIG9uIFdLMQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380014</attachid>
            <date>2019-10-02 06:28:42 -0700</date>
            <delta_ts>2019-10-07 00:56:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191002152840.patch</filename>
            <type>text/plain</type>
            <size>46139</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE1ODQ0ZmQ1ZTgwYTJj
N2Q5MDRhMmU3ZjYwZjgxMDY5MWQxMThjOC4uYzdhNTljN2NkNWJhZGMzYWI1ZTdiYmRkZTg4NDlk
ZTNkMTkxZjc0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTEwLTAyICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBwYXJzaW5nIHRoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlCisgICAgICAgIGFuZCBleHBvc2UgaXQgb24gUmVzb3Vy
Y2VSZXNwb25zZS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3Nz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2Fj
aGVWYWxpZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGly
ZWN0aXZlcyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlQ29udHJvbERpcmVjdGl2ZXM6OkNhY2hlQ29udHJvbERp
cmVjdGl2ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29u
dHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmg6CisKIDIwMTktMTAtMDIgIEFudG9pbmUgUXVpbnQg
IDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIEltcGxlbWVu
dCByZXBsYWNlZCBhbmltYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRhZmYyNDlhNzIzYmYxNDJiMzliNmQ1
ODBkOTExODllZTQ2YWE5M2EuLmZjMjFiYTEyYzJiZThjMzI2MjQ0ODU0M2RlZmFlOGU5YzdhMjkw
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMTAtMDIgIFJvYiBCdWlzICA8cmJ1
aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUg
Y2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIG5ldyBVc2VEZWNpc2lvbiB2YWx1ZSBBc3luY1JldmFsaWRhdGUgZm9yIGFz
eW5jIHJldmFsaWRhdGlvbi4gVGhpcyBpcyB1c2VkCisgICAgICAgIHdoZW4gdGhlIHJldHJpZXZl
ZCBjYWNoZSBlbnRyeSBpcyBhIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgcmVzcG9uc2UgWzFdLgor
ICAgICAgICBJbiBjYXNlIG9mIEFzeW5jUmV2YWxpZGF0ZSwgYSBjaGVjayBpcyBtYWRlIHRvIHNl
ZSBpZiB0aGVyZSBpcyBhCisgICAgICAgIGN1cnJlbnQgYXN5bmMgcmV2YWxpZGF0aW9uIG9uZ29p
bmcgZm9yIHRoZSBlbnRyeSwgaWYgbm90IG9uZSBpcworICAgICAgICBzdGFydGVkLiBSZWdhcmRs
ZXNzLCB0aGUgc3RhbGUgZW50cnkgaXMgcmV0dXJuZWQsIHVudGlsIGVpdGhlciB0aGUKKyAgICAg
ICAgYXN5bmMgcmV2YWxpZGF0aW9uIGVuZHMgc3VjY2Vzc2Z1bGx5IG9yIGF0IHRoZSBtb21lbnQg
d2hlcmUgdGhlCisgICAgICAgIHJlc3BvbnNlIGV4cGlyZXMgZm9yIHJlYWwuCisKKyAgICAgICAg
WzFdIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNjb25jZXB0LXN0YWxlLXdoaWxlLXJl
dmFsaWRhdGUtcmVzcG9uc2UKKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVzcG9uc2VIYXNF
eHBpcmVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXNwb25zZU5lZWRzUmV2
YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjptYWtlVXNlRGVjaXNp
b24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6Om1ha2VTdG9yZURlY2lzaW9uKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpDYWNoZTo6cmV0cmlldmUpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVl
c3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9uOjpB
c3luY1JldmFsaWRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNS
ZXZhbGlkYXRpb246OmxvYWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
OkFzeW5jUmV2YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZyk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6c3RhcnRBc3lu
Y1JldmFsaWRhdGlvbklmTmVlZGVkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmg6CisKIDIwMTktMTAtMDIgIFphbiBE
b2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVp
bGQgZml4IGZvciBub24tTWFjIHBvcnRzIGFmdGVyIHIyNTA2MDAuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKaW5kZXggNDk1OTA1
MDY3OWNlMDUwNDg0MjQ0N2ViMWY1YTBiZjhhNjc2ODNjZS4uNzYzNzk4MTZlMzMzZjVhYWViMTM2
ODcwMDllMjgxNDcwNDMyYmM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9DYWNoZVZhbGlkYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcApAQCAtMzEzLDggKzMxMywyMCBAQCBDYWNoZUNv
bnRyb2xEaXJlY3RpdmVzIHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcyhjb25zdCBIVFRQSGVh
ZGVyTWFwJiBoZWFkZXJzKQogICAgICAgICAgICAgICAgIGRvdWJsZSBtYXhTdGFsZSA9IGRpcmVj
dGl2ZXNbaV0uc2Vjb25kLnRvRG91YmxlKCZvayk7CiAgICAgICAgICAgICAgICAgaWYgKG9rKQog
ICAgICAgICAgICAgICAgICAgICByZXN1bHQubWF4U3RhbGUgPSBTZWNvbmRzIHsgbWF4U3RhbGUg
fTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
ZGlyZWN0aXZlc1tpXS5maXJzdCwgImltbXV0YWJsZSIpKQorICAgICAgICAgICAgfSBlbHNlIGlm
IChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAiaW1t
dXRhYmxlIikpIHsKICAgICAgICAgICAgICAgICByZXN1bHQuaW1tdXRhYmxlID0gdHJ1ZTsKKyAg
ICAgICAgICAgIH0gZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0
aXZlc1tpXS5maXJzdCwgInN0YWxlLXdoaWxlLXJldmFsaWRhdGUiKSkgeworICAgICAgICAgICAg
ICAgIGlmIChyZXN1bHQuc3RhbGVXaGlsZVJldmFsaWRhdGUpIHsKKyAgICAgICAgICAgICAgICAg
ICAgLy8gRmlyc3Qgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBkaXJlY3RpdmUgd2lucyBpZiB0aGVy
ZSBhcmUgbXVsdGlwbGUgb25lcy4KKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJvb2wgb2s7CisgICAgICAgICAgICAgICAg
ZG91YmxlIHN0YWxlV2hpbGVSZXZhbGlkYXRlID0gZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9Eb3Vi
bGUoJm9rKTsKKyAgICAgICAgICAgICAgICBpZiAob2spIHsKKyAgICAgICAgICAgICAgICAgICAg
cmVzdWx0Lm1heFN0YWxlID0gU2Vjb25kcyB7IHN0YWxlV2hpbGVSZXZhbGlkYXRlIH07CisgICAg
ICAgICAgICAgICAgICAgIHJlc3VsdC5zdGFsZVdoaWxlUmV2YWxpZGF0ZSA9IHRydWU7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaAppbmRleCA1
NmVmZWE2MjE1NDQ3OTUwNmExNjY0ZmZkMDhlMDhhYjJjNTU2YmNkLi44ZTZhOGZjM2Q2MzM1NDhk
YTE3YThmMGM0ODViYmFhN2I1YWQ5M2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmgKQEAgLTY1LDYgKzY1LDcgQEAgc3RydWN0IENh
Y2hlQ29udHJvbERpcmVjdGl2ZXMgewogICAgICAgICAsIG5vU3RvcmUoZmFsc2UpCiAgICAgICAg
ICwgbXVzdFJldmFsaWRhdGUoZmFsc2UpCiAgICAgICAgICwgaW1tdXRhYmxlKGZhbHNlKQorICAg
ICAgICAsIHN0YWxlV2hpbGVSZXZhbGlkYXRlKGZhbHNlKQogICAgICAgICB7IH0KIAogICAgIE1h
cmthYmxlPFNlY29uZHMsIFNlY29uZHM6Ok1hcmthYmxlVHJhaXRzPiBtYXhBZ2U7CkBAIC03Myw2
ICs3NCw3IEBAIHN0cnVjdCBDYWNoZUNvbnRyb2xEaXJlY3RpdmVzIHsKICAgICBib29sIG5vU3Rv
cmUgOiAxOwogICAgIGJvb2wgbXVzdFJldmFsaWRhdGUgOiAxOwogICAgIGJvb2wgaW1tdXRhYmxl
IDogMTsKKyAgICBib29sIHN0YWxlV2hpbGVSZXZhbGlkYXRlIDogMTsKIH07CiBXRUJDT1JFX0VY
UE9SVCBDYWNoZUNvbnRyb2xEaXJlY3RpdmVzIHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcyhj
b25zdCBIVFRQSGVhZGVyTWFwJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKaW5kZXggMjBhYzY0ZDU3MDM0
YzY5ZWE5MmJjN2E0MzUzNmYxNmQ3OTVmZmEyOS4uNWNiZGJmZWM5YWRjYzdjNzdmYTA5MWM5OTI4
MDRkZTQ5NTI3ZmQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKQEAgLTY1NSw2ICs2NTUsMTUgQEAgT3B0
aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbE1heEFnZSgp
IGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5tYXhBZ2U7CiB9CiAK
K09wdGlvbmFsPFNlY29uZHM+IFJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xTdGFs
ZVdoaWxlUmV2YWxpZGF0ZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2hhdmVQYXJzZWRDYWNoZUNv
bnRyb2xIZWFkZXIpCisgICAgICAgIHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcygpOworICAg
IGlmIChtX2NhY2hlQ29udHJvbERpcmVjdGl2ZXMuc3RhbGVXaGlsZVJldmFsaWRhdGUpCisgICAg
ICAgIHJldHVybiBtX2NhY2hlQ29udHJvbERpcmVjdGl2ZXMubWF4U3RhbGU7CisgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKK30KKwogc3RhdGljIE9wdGlvbmFsPFdhbGxUaW1lPiBwYXJzZURhdGVW
YWx1ZUluSGVhZGVyKGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMsIEhUVFBIZWFkZXJOYW1l
IGhlYWRlck5hbWUpCiB7CiAgICAgU3RyaW5nIGhlYWRlclZhbHVlID0gaGVhZGVycy5nZXQoaGVh
ZGVyTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggY2IxN2I1OTU0ODdkMTBiNzczYzRlNDg1MzU0MzAy
NGE1MGYxYTk3Zi4uNDA2ODFmMDc3YWI5ZWVkMDljOTM1YmIwYmFhYzllMGI0MDljMzhkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuaApAQCAtMTM2LDYgKzEzNiw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBib29sIGNhY2hlQ29udHJvbENvbnRhaW5zSW1tdXRhYmxlKCkgY29uc3Q7CiAgICAgV0VCQ09S
RV9FWFBPUlQgYm9vbCBoYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpIGNvbnN0OwogICAgIFdFQkNP
UkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGNhY2hlQ29udHJvbE1heEFnZSgpIGNvbnN0Owor
ICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGNhY2hlQ29udHJvbFN0YWxlV2hp
bGVSZXZhbGlkYXRlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8V2FsbFRp
bWU+IGRhdGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxTZWNvbmRzPiBh
Z2UoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxXYWxsVGltZT4gZXhwaXJl
cygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGUuY3BwCmluZGV4IGYzNDRkMWFiYTY0ZmU5M2M5Y2JlYmQ0N2Y0M2U4MTYzYmFj
ZDdjMTcuLjg3MDllMGJlOWJjZDgxNzRkNjE3ZjU3ZTMxZjg0MGE5YTkxZmVhM2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAK
QEAgLTE1Miw3ICsxNTIsNyBAQCBzdGF0aWMgYm9vbCBjYWNoZVBvbGljeUFsbG93c0V4cGlyZWQo
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgcG9saWN5KQogICAgIHJldHVybiBm
YWxzZTsKIH0KIAotc3RhdGljIGJvb2wgcmVzcG9uc2VIYXNFeHBpcmVkKGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBXYWxsVGltZSB0aW1lc3RhbXAsIE9wdGlvbmFs
PFNlY29uZHM+IG1heFN0YWxlKQorc3RhdGljIGJvb2wgcmVzcG9uc2VIYXNFeHBpcmVkKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBXYWxsVGltZSB0aW1lc3RhbXAs
IE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxlLCBib29sJiBpblJlc3BvbnNlU3RhbGVuZXNzKQog
ewogICAgIGlmIChyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkKICAgICAg
ICAgcmV0dXJuIHRydWU7CkBAIC0xNjIsMjUgKzE2MiwzNSBAQCBzdGF0aWMgYm9vbCByZXNwb25z
ZUhhc0V4cGlyZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFdh
bGxUaQogCiAgICAgYXV0byBtYXhpbXVtU3RhbGVuZXNzID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52
YWx1ZSgpIDogMF9tczsKICAgICBib29sIGhhc0V4cGlyZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1h
eGltdW1TdGFsZW5lc3M7CisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVW
QUxJREFUSU9OKQorICAgIGlmIChoYXNFeHBpcmVkKSB7CisgICAgICAgIGF1dG8gcmVzcG9uc2VN
YXhTdGFsZW5lc3MgPSByZXNwb25zZS5jYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgp
OworICAgICAgICBtYXhpbXVtU3RhbGVuZXNzICs9IHJlc3BvbnNlTWF4U3RhbGVuZXNzID8gcmVz
cG9uc2VNYXhTdGFsZW5lc3MudmFsdWUoKSA6IDBfbXM7CisgICAgICAgIGluUmVzcG9uc2VTdGFs
ZW5lc3MgPSBhZ2UgLSBsaWZldGltZSA8IG1heGltdW1TdGFsZW5lc3M7CisgICAgfQorI2VuZGlm
CiAKICNpZm5kZWYgTE9HX0RJU0FCTEVECiAgICAgaWYgKGhhc0V4cGlyZWQpCi0gICAgICAgIExP
RyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4
cGlyZWQgYWdlPSVmIGxpZmV0aW1lPSVmIG1heC1zdGFsZT0lZyIsIGFnZSwgbGlmZXRpbWUsIG1h
eFN0YWxlKTsKKyAgICAgICAgTE9HKE5ldHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgbmVl
ZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJlZCBhZ2U9JWYgbGlmZXRpbWU9JWYgbWF4LXN0YWxlbmVz
cz0lZiIsIGFnZSwgbGlmZXRpbWUsIG1heGltdW1TdGFsZW5lc3MpOwogI2VuZGlmCiAKICAgICBy
ZXR1cm4gaGFzRXhwaXJlZDsKIH0KIAotc3RhdGljIGJvb2wgcmVzcG9uc2VOZWVkc1JldmFsaWRh
dGlvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBXYWxsVGltZSB0aW1lc3RhbXApCitzdGF0
aWMgVXNlRGVjaXNpb24gcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBXYWxsVGltZSB0aW1lc3RhbXApCiB7CiAgICAgYXV0byByZXF1ZXN0RGlyZWN0
aXZlcyA9IFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcyhyZXF1ZXN0Lmh0dHBI
ZWFkZXJGaWVsZHMoKSk7CiAgICAgaWYgKHJlcXVlc3REaXJlY3RpdmVzLm5vQ2FjaGUpCi0gICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlZhbGlkYXRlOwog
ICAgIC8vIEZvciByZXF1ZXN0cyB3ZSBpZ25vcmUgbWF4LWFnZSB2YWx1ZXMgb3RoZXIgdGhhbiB6
ZXJvLgogICAgIGlmIChyZXF1ZXN0RGlyZWN0aXZlcy5tYXhBZ2UgJiYgcmVxdWVzdERpcmVjdGl2
ZXMubWF4QWdlLnZhbHVlKCkgPT0gMF9tcykKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
IHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAKLSAgICByZXR1cm4gcmVzcG9uc2VIYXNF
eHBpcmVkKHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJlcXVlc3REaXJlY3RpdmVzLm1heFN0YWxlKTsK
KyAgICBib29sIGluUmVzcG9uc2VTdGFsZW5lc3MgPSBmYWxzZTsKKyAgICBpZiAocmVzcG9uc2VI
YXNFeHBpcmVkKHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJlcXVlc3REaXJlY3RpdmVzLm1heFN0YWxl
LCBpblJlc3BvbnNlU3RhbGVuZXNzKSkKKyAgICAgICAgcmV0dXJuIGluUmVzcG9uc2VTdGFsZW5l
c3MgPyBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRlIDogVXNlRGVjaXNpb246OlZhbGlkYXRl
OworICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogfQogCiBzdGF0aWMgVXNlRGVjaXNpb24g
bWFrZVVzZURlY2lzaW9uKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgUEFM
OjpTZXNzaW9uSUQmIHNlc3Npb25JRCwgY29uc3QgRW50cnkmIGVudHJ5LCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCkBAIC0xOTcsOCArMjA3LDkgQEAgc3RhdGljIFVz
ZURlY2lzaW9uIG1ha2VVc2VEZWNpc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3Ms
IGNvbnN0IFBBTDo6U2UKICAgICBpZiAoY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVkKHJlcXVlc3Qu
Y2FjaGVQb2xpY3koKSkpCiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogCi0gICAg
aWYgKCFyZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGVudHJ5LnJlc3BvbnNlKCksIHJlcXVlc3Qs
IGVudHJ5LnRpbWVTdGFtcCgpKSkKLSAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7Cisg
ICAgYXV0byBkZWNpc2lvbiA9IHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oZW50cnkucmVzcG9u
c2UoKSwgcmVxdWVzdCwgZW50cnkudGltZVN0YW1wKCkpOworICAgIGlmIChkZWNpc2lvbiAhPSBV
c2VEZWNpc2lvbjo6VmFsaWRhdGUpCisgICAgICAgIHJldHVybiBkZWNpc2lvbjsKIAogICAgIGlm
ICghZW50cnkucmVzcG9uc2UoKS5oYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpKQogICAgICAgICBy
ZXR1cm4gVXNlRGVjaXNpb246Ok5vRHVlVG9NaXNzaW5nVmFsaWRhdG9yRmllbGRzOwpAQCAtMjUx
LDggKzI2MiwxMCBAQCBzdGF0aWMgU3RvcmVEZWNpc2lvbiBtYWtlU3RvcmVEZWNpc2lvbihjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUgogICAgIGJvb2wgc3RvcmVVbmNv
bmRpdGlvbmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbiA9IGlzTWFpblJlc291cmNlIHx8IG9yaWdp
bmFsUmVxdWVzdC5wcmlvcml0eSgpID09IFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpW
ZXJ5SGlnaDsKICAgICBpZiAoIXN0b3JlVW5jb25kaXRpb25hbGx5Rm9ySGlzdG9yeU5hdmlnYXRp
b24pIHsKICAgICAgICAgYXV0byBub3cgPSBXYWxsVGltZTo6bm93KCk7Ci0gICAgICAgIGJvb2wg
aGFzTm9uWmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNo
ZSgpICYmIFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkocmVz
cG9uc2UsIG5vdykgPiAwX21zOwotCisgICAgICAgIFNlY29uZHMgYWxsb3dlZFN0YWxlOworICAg
ICAgICBpZiAoYXV0byB2YWx1ZSA9IHJlc3BvbnNlLmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZh
bGlkYXRlKCkpCisgICAgICAgICAgICBhbGxvd2VkU3RhbGUgPSB2YWx1ZS52YWx1ZSgpOworICAg
ICAgICBib29sIGhhc05vblplcm9MaWZldGltZSA9ICFyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250
YWluc05vQ2FjaGUoKSAmJiAoV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRU
UEZhbWlseShyZXNwb25zZSwgbm93KSA+IDBfbXMgfHwgYWxsb3dlZFN0YWxlID4gMF9tcyk7CiAg
ICAgICAgIGJvb2wgcG9zc2libHlSZXVzYWJsZSA9IHJlc3BvbnNlLmhhc0NhY2hlVmFsaWRhdG9y
RmllbGRzKCkgfHwgaGFzTm9uWmVyb0xpZmV0aW1lOwogICAgICAgICBpZiAoIXBvc3NpYmx5UmV1
c2FibGUpCiAgICAgICAgICAgICByZXR1cm4gU3RvcmVEZWNpc2lvbjo6Tm9EdWVUb1VubGlrZWx5
VG9SZXVzZTsKQEAgLTMzNCwxMiArMzQ3LDExIEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJCiAg
ICAgfQogI2VuZGlmCiAKLSAgICBtX3N0b3JhZ2UtPnJldHJpZXZlKHN0b3JhZ2VLZXksIHByaW9y
aXR5LCBbcmVxdWVzdCwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSwgaW5mbyA9IFdURk1vdmUoaW5mbyksIHN0b3JhZ2VLZXksIG5ldHdvcmtQcm9jZXNzID0g
bWFrZVJlZihuZXR3b3JrUHJvY2VzcygpKSwgc2Vzc2lvbklEID0gbV9zZXNzaW9uSURdKGF1dG8g
cmVjb3JkLCBhdXRvIHRpbWluZ3MpIG11dGFibGUgeworICAgIG1fc3RvcmFnZS0+cmV0cmlldmUo
c3RvcmFnZUtleSwgcHJpb3JpdHksIFt0aGlzLCByZXF1ZXN0LCBjb21wbGV0aW9uSGFuZGxlciA9
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBpbmZvID0gV1RGTW92ZShpbmZvKSwgc3RvcmFn
ZUtleSwgbmV0d29ya1Byb2Nlc3MgPSBtYWtlUmVmKG5ldHdvcmtQcm9jZXNzKCkpLCBzZXNzaW9u
SUQgPSBtX3Nlc3Npb25JRCwgZnJhbWVJRF0oYXV0byByZWNvcmQsIGF1dG8gdGltaW5ncykgbXV0
YWJsZSB7CiAgICAgICAgIGluZm8uc3RvcmFnZVRpbWluZ3MgPSB0aW1pbmdzOwogCiAgICAgICAg
IGlmICghcmVjb3JkKSB7CiAgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQ
cm9jZXNzKSBub3QgZm91bmQgaW4gc3RvcmFnZSIpOwotCiAgICAgICAgICAgICBjb21wbGV0ZVJl
dHJpZXZlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBudWxscHRyLCBpbmZvKTsKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQpAQCAtMzUwLDYgKzM2MiwxNSBAQCB2b2lk
IENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IEdsb2JhbEZyYW1lSQogCiAgICAgICAgIGF1dG8gdXNlRGVjaXNpb24gPSBlbnRyeSA/
IG1ha2VVc2VEZWNpc2lvbihuZXR3b3JrUHJvY2Vzcywgc2Vzc2lvbklELCAqZW50cnksIHJlcXVl
c3QpIDogVXNlRGVjaXNpb246Ok5vRHVlVG9EZWNvZGVGYWlsdXJlOwogICAgICAgICBzd2l0Y2gg
KHVzZURlY2lzaW9uKSB7CisgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OkFzeW5jUmV2YWxpZGF0
ZTogeworI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikK
KyAgICAgICAgICAgIGlmIChtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXIpIHsKKyAgICAgICAgICAg
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5Q29weSA9IG1ha2VVbmlxdWU8RW50cnk+
KCplbnRyeSk7CisgICAgICAgICAgICAgICAgbV9zcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLT5zdGFy
dEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQocmVxdWVzdCwgc3RvcmFnZUtleSwgV1RGTW92ZShl
bnRyeUNvcHkpLCBmcmFtZUlEKTsKKyAgICAgICAgICAgIH0KKyNlbmRpZgorICAgICAgICAgICAg
RkFMTFRIUk9VR0g7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6VXNlOgog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OlZhbGlkYXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgK
aW5kZXggMGRlZTdmODhkZmY2MTYyY2MzZmQ3ODUxYjgzODBmYzVhODNiZDVhZS4uY2FmYzU2NzJk
NmU0YjNkNTc4YWM5MzFhOThiMTcyYzk3MGExNGE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCkBAIC04Miw2ICs4Miw3IEBAIGVu
dW0gY2xhc3MgU3RvcmVEZWNpc2lvbiB7CiBlbnVtIGNsYXNzIFVzZURlY2lzaW9uIHsKICAgICBV
c2UsCiAgICAgVmFsaWRhdGUsCisgICAgQXN5bmNSZXZhbGlkYXRlLAogICAgIE5vRHVlVG9WYXJ5
aW5nSGVhZGVyTWlzbWF0Y2gsCiAgICAgTm9EdWVUb01pc3NpbmdWYWxpZGF0b3JGaWVsZHMsCiAg
ICAgTm9EdWVUb0RlY29kZUZhaWx1cmUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2
ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCA2Nzk0MDM5YjdlMTkxN2E0YWFiYWQ0ZDJkNTA4ZjczOTUz
Nzg2NTY3Li40YmViMDUwZjFiNTIwMDZlMDJkOTUyODEwZTE1OGRkNmIyZWE1MzU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKQEAgLTQ4Niw3ICs0
ODYsNzcgQEAgdm9pZCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpyZXZhbGlkYXRlU3VicmVzb3Vy
Y2UoY29uc3QgU3VicmVzb3VyY2VJbmZvJiBzdWJyZXMKICAgICB9KTsKICAgICBtX3BlbmRpbmdQ
cmVsb2Fkcy5hZGQoa2V5LCBXVEZNb3ZlKHJldmFsaWRhdG9yKSk7CiB9Ci0gICAgCisKK3N0YXRp
YyBpbmxpbmUgUmVzb3VyY2VSZXF1ZXN0IGNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3QoY29u
c3QgS2V5JiBrZXksIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgRW50cnkq
IGVudHJ5KQoreworICAgIFJlc291cmNlUmVxdWVzdCByZXZhbGlkYXRpb25SZXF1ZXN0ID0gcmVx
dWVzdDsKKyAgICBpZiAoIWtleS5wYXJ0aXRpb24oKS5pc0VtcHR5KCkpCisgICAgICAgIHJldmFs
aWRhdGlvblJlcXVlc3Quc2V0Q2FjaGVQYXJ0aXRpb24oa2V5LnBhcnRpdGlvbigpKTsKKyAgICBB
U1NFUlRfV0lUSF9NRVNTQUdFKGtleS5yYW5nZSgpLmlzRW1wdHkoKSwgInJhbmdlIGlzIG5vdCBz
dXBwb3J0ZWQiKTsKKworICAgIHJldmFsaWRhdGlvblJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwo
KTsKKyAgICBpZiAoZW50cnkpIHsKKyAgICAgICAgU3RyaW5nIGVUYWcgPSBlbnRyeS0+cmVzcG9u
c2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkVUYWcpOworICAgICAgICBpZiAo
IWVUYWcuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRIVFRQ
SGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OklmTm9uZU1hdGNoLCBlVGFnKTsKKworICAgICAg
ICBTdHJpbmcgbGFzdE1vZGlmaWVkID0gZW50cnktPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxk
KEhUVFBIZWFkZXJOYW1lOjpMYXN0TW9kaWZpZWQpOworICAgICAgICBpZiAoIWxhc3RNb2RpZmll
ZC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldEhUVFBIZWFk
ZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6SWZNb2RpZmllZFNpbmNlLCBsYXN0TW9kaWZpZWQpOwor
ICAgIH0KKworICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0UHJpb3JpdHkoV2ViQ29yZTo6UmVz
b3VyY2VMb2FkUHJpb3JpdHk6Okxvdyk7CisKKyAgICByZXR1cm4gcmV2YWxpZGF0aW9uUmVxdWVz
dDsKK30KKworY2xhc3MgQXN5bmNSZXZhbGlkYXRpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgorICAgIHR5cGVkZWYgRnVuY3Rpb248dm9pZCAoYm9vbCk+IEFzeW5j
UmV2YWxpZGF0aW9uQ29tcGxldGlvbkhhbmRsZXI7CisgICAgQXN5bmNSZXZhbGlkYXRpb24oQ2Fj
aGUmIGNhY2hlLCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OkVudHJ5PiBlbnRy
eSwgQXN5bmNSZXZhbGlkYXRpb25Db21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCisgICAgICAg
IDogbV90aW1lcigqdGhpcywgJkFzeW5jUmV2YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0
ZUVuZGluZykKKyAgICAgICAgLCBtX2NvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoaGFuZGxlcikp
CisgICAgeworICAgICAgICBhdXRvIGtleSA9IGVudHJ5LT5rZXkoKTsKKyAgICAgICAgYXV0byBy
ZXZhbGlkYXRpb25SZXF1ZXN0ID0gY29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdChrZXksIHJl
cXVlc3QsIGVudHJ5LmdldCgpKTsKKyAgICAgICAgYXV0byBhZ2UgPSBXZWJDb3JlOjpjb21wdXRl
Q3VycmVudEFnZShlbnRyeS0+cmVzcG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICAg
ICAgYXV0byBsaWZldGltZSA9IFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhU
VFBGYW1pbHkoZW50cnktPnJlc3BvbnNlKCksIGVudHJ5LT50aW1lU3RhbXAoKSk7CisgICAgICAg
IGF1dG8gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPSBlbnRyeS0+cmVzcG9uc2UoKS5jYWNoZUNvbnRy
b2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpOworICAgICAgICBBU1NFUlQocmVzcG9uc2VNYXhTdGFs
ZW5lc3MpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgqcmVzcG9uc2VNYXhTdGFsZW5l
c3MgLSAoYWdlIC0gbGlmZXRpbWUpKTsKKyAgICAgICAgbV9sb2FkID0gbWFrZVVuaXF1ZTxTcGVj
dWxhdGl2ZUxvYWQ+KGNhY2hlLCBmcmFtZUlELCByZXZhbGlkYXRpb25SZXF1ZXN0LCBXVEZNb3Zl
KGVudHJ5KSwgW3RoaXMsIGtleSwgcmV2YWxpZGF0aW9uUmVxdWVzdF0oc3RkOjp1bmlxdWVfcHRy
PEVudHJ5PiByZXZhbGlkYXRlZEVudHJ5KSB7CisgICAgICAgICAgICBBU1NFUlQoIXJldmFsaWRh
dGVkRW50cnkgfHwgIXJldmFsaWRhdGVkRW50cnktPm5lZWRzVmFsaWRhdGlvbigpKTsKKyAgICAg
ICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8fCByZXZhbGlkYXRlZEVudHJ5LT5rZXko
KSA9PSBrZXkpOworICAgICAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlcihyZXZhbGlkYXRlZEVu
dHJ5LmdldCgpKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgY29uc3QgU3BlY3VsYXRpdmVM
b2FkJiBsb2FkKCkgY29uc3QgeyByZXR1cm4gKm1fbG9hZDsgfQorCisgICAgdm9pZCBzdGFsZVdo
aWxlUmV2YWxpZGF0ZUVuZGluZygpIHsgbV9jb21wbGV0aW9uSGFuZGxlcih0cnVlKTsgfQorCitw
cml2YXRlOgorICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWQ+IG1fbG9hZDsKKyAg
ICBUaW1lciBtX3RpbWVyOworICAgIEFzeW5jUmV2YWxpZGF0aW9uQ29tcGxldGlvbkhhbmRsZXIg
bV9jb21wbGV0aW9uSGFuZGxlcjsKK307CisKK3ZvaWQgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6
c3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmIGtleSwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5
PiBlbnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCkKK3sKKyAgICBhdXRvKiBwZW5k
aW5nQXN5bmNSZXZhbGlkYXRpb24gPSBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMuZ2V0KGtl
eSk7CisgICAgaWYgKHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbiAmJiBjYW5Vc2VQZW5kaW5nUHJl
bG9hZChwZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24tPmxvYWQoKSwgcmVxdWVzdCkpCisgICAgICAg
IHJldHVybjsKKworICAgIGF1dG8gcmV2YWxpZGF0b3IgPSBtYWtlVW5pcXVlPEFzeW5jUmV2YWxp
ZGF0aW9uPihtX2NhY2hlLCBmcmFtZUlELCByZXF1ZXN0LCBXVEZNb3ZlKGVudHJ5KSwgW3RoaXMs
IGtleV0oYm9vbCBlbmRpbmcpIHsKKyAgICAgICAgaWYgKGVuZGluZykgeworICAgICAgICAgICAg
bV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLnRha2Uoa2V5KTsKKyAgICAgICAgICAgIExPRyhO
ZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIEFzeW5jIHJldmFsaWRhdGlvbiBjb21wbGV0
ZWQgZm9yICclcyc6Iiwga2V5LmlkZW50aWZpZXIoKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAg
fQorICAgIH0pOworICAgIG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9ucy5hZGQoa2V5LCBXVEZN
b3ZlKHJldmFsaWRhdG9yKSk7Cit9CisKIHN0YXRpYyBib29sIGNhblJldmFsaWRhdGUoY29uc3Qg
U3VicmVzb3VyY2VJbmZvJiBzdWJyZXNvdXJjZUluZm8sIGNvbnN0IEVudHJ5KiBlbnRyeSkKIHsK
ICAgICBBU1NFUlQoIXN1YnJlc291cmNlSW5mby5pc1RyYW5zaWVudCgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRp
dmVMb2FkTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmgKaW5kZXggM2FmNGZkYjgxMjFmZDdjNWU5
MThhMDM5YjQwMGE1ZjNhM2E4NmVmYS4uZjIwMmZkNjY2ZWM2NzA1ZDdiNmQ0OGIzZjQ4YjQzODNh
MDA2YTgwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmgK
QEAgLTM4LDYgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIG5hbWVzcGFjZSBOZXR3b3Jr
Q2FjaGUgewogCitjbGFzcyBBc3luY1JldmFsaWRhdGlvbjsKIGNsYXNzIEVudHJ5OwogY2xhc3Mg
U3BlY3VsYXRpdmVMb2FkOwogY2xhc3MgU3VicmVzb3VyY2VJbmZvOwpAQCAtNTYsNiArNTcsOCBA
QCBwdWJsaWM6CiAgICAgYm9vbCBjYW5SZXRyaWV2ZShjb25zdCBLZXkmIHN0b3JhZ2VLZXksIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmKSBjb25z
dDsKICAgICB2b2lkIHJldHJpZXZlKGNvbnN0IEtleSYgc3RvcmFnZUtleSwgUmV0cmlldmVDb21w
bGV0aW9uSGFuZGxlciYmKTsKIAorICAgIHZvaWQgc3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVl
ZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IE5ldHdvcmtDYWNoZTo6
S2V5Jiwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiwgY29uc3QgR2xvYmFsRnJhbWVJRCYpOworCiBw
cml2YXRlOgogICAgIGNsYXNzIFByZWxvYWRlZEVudHJ5OwogCkBAIC04MSw2ICs4NCw4IEBAIHBy
aXZhdGU6CiAKICAgICBIYXNoTWFwPEtleSwgc3RkOjp1bmlxdWVfcHRyPFByZWxvYWRlZEVudHJ5
Pj4gbV9wcmVsb2FkZWRFbnRyaWVzOwogCisgICAgSGFzaE1hcDxLZXksIHN0ZDo6dW5pcXVlX3B0
cjxBc3luY1JldmFsaWRhdGlvbj4+IG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uczsKKwogICAg
IGNsYXNzIEV4cGlyaW5nRW50cnk7CiAgICAgSGFzaE1hcDxLZXksIHN0ZDo6dW5pcXVlX3B0cjxF
eHBpcmluZ0VudHJ5Pj4gbV9ub3RQcmVsb2FkZWRFbnRyaWVzOyAvLyBGb3IgbG9nZ2luZy4KIH07
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggODAxNDMyMDk4MjczMzY1YjdjM2YwNmFlYjZkNjEwZTA0YjVjNjc3Ny4uMDk1YjA1
YWQwZGY3NjkyMzNmNzIyNGJmZGJhMTVhNWY2ZjdkNTIwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE5LTEwLTAyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3Vw
cG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTa2lwIG5ld2x5IGltcG9ydGVkIHRl
c3RzIGZvciBXSzEuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE5
LTEwLTAyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcuIEFkZCBtaXNzaW5nIHJlc3VsdHMgYWZ0ZXIg
cjI1MDI3Ni4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGQ5MWI4MjQ5ZmNiYTYz
ODNjNzM1MTEwZWFhNDhlYWJmNDVjMzUxMDcuLjhiNzBjZmM0OGVjYTAyODdjZTQzNmMzNTI1NmIy
NzlkMjY2YTc4NGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDE5LTEwLTAyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAg
U3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnQgc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZSBXUFQgdGVzdHMuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9m
ZXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5OiBBZGRlZC4KKyAgICAg
ICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weTogQWRkZWQuCisgICAgICAgICht
YWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5OiBBZGRlZC4KKyAgICAgICAgKGlkX3Rv
a2VuKToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtc2NyaXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qczogQWRkZWQuCisgICAgICAgIChhc3luYy5i
cm9hZGNhc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAxOS0xMC0wMiAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10g
SW1wbGVtZW50IHJlcGxhY2VkIGFuaW1hdGlvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXgg
Yzg4ZDU0ZTUwOWFlYTRlYjczMjA3ZTg2MWNiM2QyZjdkMDQ0ZGEzMy4uMzc4ZDA0MWQxNzZhMmNj
ZDk4OGU5M2ZmODM2NzFjMDI0MGM5ZDdhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTE1
OSw2ICsxNTksNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpIjogImltcG9y
dCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMiOiAiaW1wb3J0Iiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9yYW5nZSI6ICJpbXBvcnQiLCAKKyAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUiOiAiaW1wb3J0
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mdWxsc2NyZWVuIjogInNraXAiLCAKICAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL2dhbWVwYWQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvZ2VuZXJpYy1zZW5zb3IiOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL2ZldGNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDZiZjI2ZjRhYjExYzc3N2FkZjI0OGFhMzdhYzBjNzcyODIzNzA3Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZSAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDZiZjI2ZjRhYjExYzc3N2FkZjI0OGFhMzdhYzBjNzcyODIzNzA3MgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACisKK1BBU1MgU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZSAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZmNlYmMyNGE2M2Y0MGRl
NTRhNGMzOTkxYzkwNTBlYjc0NDg2YTI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5TdGFs
ZSBSZXZhbGlkYXRpb24gUmVxdWVzdHMgZG9uJ3QgZ2V0IHNlbnQgdG8gc2VydmljZSB3b3JrZXI8
L3RpdGxlPgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CisgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3Jj
PSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
KworICAvLyBEdXBsaWNhdGluZyB0aGlzIHJlc291cmNlIHRvIG1ha2Ugc2VydmljZSB3b3JrZXIg
c2NvcGluZyBzaW1wbGVyLgorICBhc3luYyBmdW5jdGlvbiBzZXR1cFJlZ2lzdHJhdGlvbkFuZFdh
aXRUb0JlQ29udHJvbGxlZCh0LCBzY29wZSkgeworICAgIGNvbnN0IGNvbnRyb2xsZWQgPSBuZXcg
UHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25j
b250cm9sbGVyY2hhbmdlID0gKCkgPT4geyByZXNvbHZlKCk7IH07CisgICAgfSk7CisgICAgY29u
c3QgcmVnID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoJ3N3LWludGVy
Y2VwdC5qcycpOworICAgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAn
YWN0aXZhdGVkJyk7CisgICAgYXdhaXQgY29udHJvbGxlZDsKKyAgICBhZGRfY29tcGxldGlvbl9j
YWxsYmFjayhfID0+IHJlZy51bnJlZ2lzdGVyKCkpOworICAgIHJldHVybiByZWc7CisgIH0KKwor
ICAvLyBVc2luZyAyNTBtcyBwb2xsaW5nIGludGVydmFsIHRvIHByb3ZpZGUgZW5vdWdoICduZXR3
b3JrIGNhbG1uZXNzJyB0byBnaXZlCisgIC8vIHRoZSBiYWNrZ3JvdW5kIGxvdyBwcmlvcml0eSBy
ZXZhbGlkYXRpb24gcmVxdWVzdCBhIGNoYW5jZSB0byBraWNrIGluLgorICBmdW5jdGlvbiB3YWl0
MjUwbXModGVzdCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAg
IHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgfSwg
MjUwKTsKKyAgICB9KTsKKyAgfQorCisgIHByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewor
ICAgIHZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKyAgICBjb25zdCB1cmkgPSAncmVzb3Vy
Y2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0nICsgcmVxdWVzdF90b2tlbjsKKworICAgIGF3YWl0
IHNldHVwUmVnaXN0cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVkKHRlc3QsICdyZXNvdXJjZXMv
c3RhbGUtc2NyaXB0LnB5Jyk7CisKKyAgICB2YXIgc2VydmljZV93b3JrZXJfY291bnQgPSAwOwor
ICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBm
dW5jdGlvbiBvbmNlKGV2ZW50KSB7CisgICAgICBpZiAoZXZlbnQuZGF0YS5lbmRzV2l0aCh1cmkp
KSB7CisgICAgICAgIHNlcnZpY2Vfd29ya2VyX2NvdW50Kys7CisgICAgICB9CisgICAgfSk7CisK
KyAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVyaSk7CisgICAgY29uc3QgcmVzcG9u
c2UyID0gYXdhaXQgZmV0Y2godXJpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlLmhlYWRl
cnMuZ2V0KCdVbmlxdWUtSWQnKSwgcmVzcG9uc2UyLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSk7
CisgICAgd2hpbGUodHJ1ZSkgeworICAgICAgY29uc3QgcmV2YWxpZGF0aW9uX2NoZWNrID0gYXdh
aXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49YCArIHJlcXVl
c3RfdG9rZW4pOworICAgICAgaWYgKHJldmFsaWRhdGlvbl9jaGVjay5oZWFkZXJzLmdldCgnQ291
bnQnKSA9PSAnMicpIHsKKyAgICAgICAgLy8gVGhlIHNlcnZpY2Ugd29ya2VyIHNob3VsZCBub3Qg
c2VlIHRoZSByZXZhbGlkYXRpb24gcmVxdWVzdC4KKyAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXJ2
aWNlX3dvcmtlcl9jb3VudCwgMik7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgYXdh
aXQgd2FpdDI1MG1zKHRlc3QpOworICAgIH0KKyAgfSwgJ1NlY29uZCBmZXRjaCByZXR1cm5zIHNh
bWUgcmVzcG9uc2UnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjczMzkwYzdhZDU5NDhjNjgyYjJmYmRjYjNjOTVhNGMzNzRkYmJhMmQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbApAQCAtMCwwICsxLDMy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0
cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIGlzIG5vdCBleGVjdXRlZCBmb3IgZmV0Y2ggQVBJPC90
aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5j
dGlvbiB3YWl0MjVtcyh0ZXN0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
KyAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICByZXNvbHZlKCk7CisgICAgfSwg
MjUpOworICB9KTsKK30KKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgIHZhciBy
ZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKworICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNo
KGByZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKyAg
Y29uc3QgcmVzcG9uc2UyID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/
dG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworCisgIGFzc2VydF9lcXVhbHMocmVzcG9uc2UuaGVh
ZGVycy5nZXQoJ1VuaXF1ZS1JZCcpLCByZXNwb25zZTIuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcp
KTsKKworICB3aGlsZSh0cnVlKSB7CisgICAgY29uc3QgcmV2YWxpZGF0aW9uX2NoZWNrID0gYXdh
aXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49YCArIHJlcXVl
c3RfdG9rZW4pOworICAgIGlmIChyZXZhbGlkYXRpb25fY2hlY2suaGVhZGVycy5nZXQoJ0NvdW50
JykgPT0gJzInKSB7CisgICAgICBicmVhazsKKyAgICB9CisgICAgYXdhaXQgd2FpdDI1bXModGVz
dCk7CisgIH0KK30sICdTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlJyk7Cis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZh
ZTU0NmQwNjUxZjk3ZjMwMjA4Mjk0NTJkYjYyMjU0ODZkYzQ1MQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5CkBAIC0wLDAgKzEsMjggQEAK
K2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKworICAgIHRva2VuID0gcmVxdWVzdC5HRVQu
Zmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBpc19xdWVyeSA9IHJlcXVlc3QuR0VULmZpcnN0KCJx
dWVyeSIsIE5vbmUpICE9IE5vbmUKKyAgICB3aXRoIHJlcXVlc3Quc2VydmVyLnN0YXNoLmxvY2s6
CisgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRha2UodG9rZW4pCisgICAgICBj
b3VudCA9IDAKKyAgICAgIGlmIHZhbHVlICE9IE5vbmU6CisgICAgICAgIGNvdW50ID0gaW50KHZh
bHVlKQorICAgICAgaWYgaXNfcXVlcnk6CisgICAgICAgIGlmIGNvdW50IDwgMjoKKyAgICAgICAg
ICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAgICAgZWxzZToKKyAg
ICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0
KHRva2VuLCBjb3VudCkKKyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3Vu
dCIsIGNvdW50KV0KKyAgICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVy
cywgY29udGVudAorICAgIGVsc2U6CisgICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNrZ3JvdW5k
OiByZ2IoMCwgMTI4LCAwKTsgfSIKKyAgICAgIGlmIGNvdW50ID4gMToKKyAgICAgICAgY29udGVu
dCA9ICJib2R5IHsgYmFja2dyb3VuZDogcmdiKDI1NSwgMCwgMCk7IH0iCisKKyAgICAgIGhlYWRl
cnMgPSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9jc3MiKSwKKyAgICAgICAgICAgICAgICgiQ2Fj
aGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdlPTAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9
NjAiKV0KKworICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM5ZWI4NGJiMzRiYmQxNWUy
Y2E3MDYxZWU0ZmE1NzI0ZDJjNjRmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkKQEAgLTAsMCArMSwzOCBAQAoraW1wb3J0IG9zLnBh
dGgKKworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorCisgICAgdG9rZW4gPSByZXF1ZXN0
LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmly
c3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gu
bG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAg
ICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAgY291bnQgPSBp
bnQodmFsdWUpCisgICAgICBpZiBpc19xdWVyeToKKyAgICAgICAgaWYgY291bnQgPCAyOgorICAg
ICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgICBlbHNl
OgorICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFz
aC5wdXQodG9rZW4sIGNvdW50KQorCisgICAgaWYgaXNfcXVlcnk6CisgICAgICBoZWFkZXJzID0g
WygiQ291bnQiLCBjb3VudCldCisgICAgICBjb250ZW50ID0gIiIKKyAgICAgIHJldHVybiAyMDAs
IGhlYWRlcnMsIGNvbnRlbnQKKyAgICBlbHNlOgorICAgICAgZmlsZW5hbWUgPSAiZ3JlZW4tMTZ4
MTYucG5nIgorICAgICAgaWYgY291bnQgPiAxOgorICAgICAgICBmaWxlbmFtZSA9ICJncmVlbi0y
NTZ4MjU2LnBuZyIKKworICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUo
X19maWxlX18pLCAiLi4vLi4vLi4vaW1hZ2VzIiwgZmlsZW5hbWUpCisgICAgICBib2R5ID0gb3Bl
bihwYXRoLCAicmIiKS5yZWFkKCkKKworICAgICAgcmVzcG9uc2UuYWRkX3JlcXVpcmVkX2hlYWRl
cnMgPSBGYWxzZQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX3N0YXR1cygyMDApCisgICAg
ICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVyKCJjb250ZW50LWxlbmd0aCIsIGxlbihib2R5
KSkKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIoIkNhY2hlLUNvbnRyb2wiLCAi
cHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwIikKKyAgICAgIHJl
c3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIoImNvbnRlbnQtdHlwZSIsICJpbWFnZS9wbmciKQor
ICAgICAgcmVzcG9uc2Uud3JpdGVyLmVuZF9oZWFkZXJzKCkKKworICAgICAgcmVzcG9uc2Uud3Jp
dGVyLndyaXRlKGJvZHkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0
YWxlLXNjcmlwdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhhZDU0NjcxZjQyMTE3MzVmNTZkZjUwYTU1ZGVlYTZlZDI4MWQ1YTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5w
eQpAQCAtMCwwICsxLDMyIEBACitpbXBvcnQgcmFuZG9tLCBzdHJpbmcsIGRhdGV0aW1lCisKK2Rl
ZiBpZF90b2tlbigpOgorICAgbGV0dGVycyA9IHN0cmluZy5hc2NpaV9sb3dlcmNhc2UKKyAgIHJl
dHVybiAnJy5qb2luKHJhbmRvbS5jaG9pY2UobGV0dGVycykgZm9yIGkgaW4gcmFuZ2UoMjApKQor
CitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5m
aXJzdCgidG9rZW4iLCBOb25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1
ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoK
KyAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNv
dW50ID0gMAorICAgICAgaWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAgY291bnQgPSBpbnQodmFs
dWUpCisgICAgICBpZiBpc19xdWVyeToKKyAgICAgICAgaWYgY291bnQgPCAyOgorICAgICAgICAg
IHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgICBlbHNlOgorICAg
ICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQo
dG9rZW4sIGNvdW50KQorCisgICAgaWYgaXNfcXVlcnk6CisgICAgICBoZWFkZXJzID0gWygiQ291
bnQiLCBjb3VudCldCisgICAgICBjb250ZW50ID0gIiIKKyAgICAgIHJldHVybiAyMDAsIGhlYWRl
cnMsIGNvbnRlbnQKKyAgICBlbHNlOgorICAgICAgdW5pcXVlX2lkID0gaWRfdG9rZW4oKQorICAg
ICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2phdmFzY3JpcHQiKSwKKyAgICAg
ICAgICAgICAgICAgKCJDYWNoZS1Db250cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZT02MCIpLAorICAgICAgICAgICAgICAgICAoIlVuaXF1ZS1JZCIsIHVu
aXF1ZV9pZCldCisgICAgICBjb250ZW50ID0gInJlcG9ydCgne30nKSIuZm9ybWF0KHVuaXF1ZV9p
ZCkKKyAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1YTc3MzJhNTY2ZDRhNmY1NzNjYzk3
ZmQzZDE0NTQ2NTdkNDc2ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTkgQEAKK1RoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNl
cy9zdGFsZS1pbWFnZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0
LnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhYzk5
NDA1YTdiODljMTNlNTc4N2VhZjA3OWVkNmYxNDg4ZThjMTAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjU2MjYwZmRiNDVjMGMyYzYwYjRkNzZmNjNhNzYzODlkZjgxOGIxMQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApAQCAtMCwwICsx
LDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5U
ZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIHdvcmtzIGZvciBjc3M8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorCit2YXIgcmVx
dWVzdF90b2tlbiA9IHRva2VuKCk7Cithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cub25sb2Fk
ID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAg
IGFzc2VydF9lcXVhbHMod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0
UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpLCAicmdiKDAsIDEyOCwgMCkiKTsKKyAg
ICAgIHZhciBsaW5rMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsKKyAgICAgIGxp
bmsyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCdi
YWNrZ3JvdW5kLWNvbG9yJyksICJyZ2IoMCwgMTI4LCAwKSIpOworICAgICAgICB2YXIgY2hlY2tS
ZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdlIGRvbid0IGtu
b3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAgZmV0Y2goInJl
c291cmNlcy9zdGFsZS1jc3MucHk/cXVlcnkmdG9rZW49IiArIHJlcXVlc3RfdG9rZW4pLnRoZW4o
dC5zdGVwX2Z1bmMoKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICB2YXIgY291bnQgPSByZXNw
b25zZS5oZWFkZXJzLmdldCgiQ291bnQiKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA9PSAnMicp
IHsKKyAgICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAgfQor
ICAgICAgICAgIH0pKTsKKyAgICAgICAgfTsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tS
ZXN1bHQsIDI1KTsKKyAgICAgIH0pOworICAgICAgbGluazIucmVsID0gInN0eWxlc2hlZXQiOwor
ICAgICAgbGluazIudHlwZSA9ICJ0ZXh0L2NzcyI7CisgICAgICBsaW5rMi5ocmVmID0gInJlc291
cmNlcy9zdGFsZS1jc3MucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGxpbmsyKTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9LCAnQ2FjaGUg
cmV0dXJucyBzdGFsZSByZXNvdXJjZScpOworCit2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImxpbmsiKTsKK2xpbmsucmVsID0gInN0eWxlc2hlZXQiOworbGluay50eXBlID0gInRl
eHQvY3NzIjsKK2xpbmsuaHJlZiA9ICJyZXNvdXJjZXMvc3RhbGUtY3NzLnB5P3Rva2VuPSIgKyBy
ZXF1ZXN0X3Rva2VuOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWU0MjAxNGRlZmQ3MTkxMDk2YzMzY2NlNTgzMGVmN2NhYTFhNTdhNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0IEBACisgCisKK1BBU1MgQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZSAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvc3RhbGUtaW1hZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTA4ZjgxNzI5ZGU0OTk4NWM2NTc1ZTFh
N2E1ZmNiNzdkM2EwZWUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxl
LWltYWdlLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSB3b3JrcyBm
b3IgaW1hZ2VzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxi
b2R5PgorPCEtLQorVXNlIGEgY2hpbGQgZG9jdW1lbnQgdG8gbG9hZCB0aGUgc2Vjb25kIHN0YWxl
IGltYWdlIGludG8gYmVjYXVzZQorYW4gaW1hZ2UgbG9hZGVkIGludG8gdGhlIHNhbWUgZG9jdW1l
bnQgd2lsbCBza2lwIGNhY2hlLWNvbnRyb2wgaGVhZGVycy4KK1NlZTogaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy8jdGhlLWxpc3Qtb2YtYXZhaWxhYmxlLWltYWdlcworLS0+Cis8aWZyYW1l
IGlkPSJjaGlsZCIgc3JjZG9jPSIiPjwvaWZyYW1lPgorPHNjcmlwdD4KKwordmFyIHJlcXVlc3Rf
dG9rZW4gPSB0b2tlbigpOworYXN5bmNfdGVzdCh0ID0+IHsKKyAgd2luZG93Lm9ubG9hZCA9IHQu
c3RlcF9mdW5jKCgpID0+IHsKKyAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICBhc3Nl
cnRfZXF1YWxzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaXJzdGltYWdlIikud2lkdGgsIDE2
LCAiV2lkdGggaXMgMTYiKTsKKyAgICAgIHZhciBjaGlsZERvY3VtZW50ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NoaWxkJykuY29udGVudERvY3VtZW50OworICAgICAgdmFyIGltZzIgPSBj
aGlsZERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOworICAgICAgaW1nMi5vbmxvYWQgPSB0
LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaW1nMi53aWR0aCwgMTYs
ICJpbWFnZSBkaW1lbnNpb24iKTsKKyAgICAgICAgdmFyIGNoZWNrUmVzdWx0ID0gKCkgPT4gewor
ICAgICAgICAgIC8vIFdlIHBvbGwgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoZW4gdGhlIHJldmFs
aWRhdGlvbiB3aWxsIG9jY3VyLgorICAgICAgICAgIGZldGNoKCJyZXNvdXJjZXMvc3RhbGUtaW1h
Z2UucHk/cXVlcnkmdG9rZW49IiArIHJlcXVlc3RfdG9rZW4pLnRoZW4odC5zdGVwX2Z1bmMoKHJl
c3BvbnNlKSA9PiB7CisgICAgICAgICAgICB2YXIgY291bnQgPSByZXNwb25zZS5oZWFkZXJzLmdl
dCgiQ291bnQiKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA9PSAnMicpIHsKKyAgICAgICAgICAg
ICAgdC5kb25lKCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICB0LnN0ZXBf
dGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAgfQorICAgICAgICAgIH0pKTsK
KyAgICAgICAgfTsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAg
ICAgIH0pOworICAgICAgaW1nMi5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5P3Rva2Vu
PSIgKyByZXF1ZXN0X3Rva2VuOworICAgICAgY2hpbGREb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGltZzIpOworICAgIH0sIDApOworICB9KTsKK30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291
cmNlJyk7CisKK3ZhciBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKK2ltZy5z
cmMgPSAicmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOwor
aW1nLmlkID0gImZpcnN0aW1hZ2UiOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWcpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2Ny
aXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhhYzk5NDA1YTdiODljMTNlNTc4N2VhZjA3OWVkNmYxNDg4ZThjMTAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNl
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg3OTNlNTAwNTZiYzYw
NTNlYTQxMGQ2NThhZWQzNzNkMTlmOWE0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlk
YXRlIHdvcmtzIGZvciBzY3JpcHRzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3ZhciBsYXN0X21vZGlmaWVkOwordmFyIGxhc3Rf
bW9kaWZpZWRfY291bnQgPSAwOwordmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworCisvLyBU
aGUgc2NyaXB0IHdpbGwgY2FsbCByZXBvcnQgdmlhIGEgdW5pcXVlbHkgZ2VuZXJhdGVkIElEIG9u
IHRoZSBzdWJyZXNvdXJjZS4KKy8vIElmIGl0IGlzIGEgY2FjaGUgaGl0IHRoZSBJRCB3aWxsIGJl
IHRoZSBzYW1lIGFuZCB0aGUgdGVzdCB3aWxsIHBhc3MuCitmdW5jdGlvbiByZXBvcnQobW9kKSB7
CisgIGlmICghbGFzdF9tb2RpZmllZCkgeworICAgIGxhc3RfbW9kaWZpZWQgPSBtb2Q7CisgICAg
bGFzdF9tb2RpZmllZF9jb3VudCA9IDE7CisgIH0gZWxzZSBpZiAobGFzdF9tb2RpZmllZCA9PSBt
b2QpIHsKKyAgICBsYXN0X21vZGlmaWVkX2NvdW50Kys7CisgIH0KK30KKworYXN5bmNfdGVzdCh0
ID0+IHsKKyAgd2luZG93Lm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBzdGVwX3Rp
bWVvdXQoKCkgPT4geworICAgICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InNjcmlwdCIpOworICAgICAgc2NyaXB0LnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5
P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOworICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChzY3JpcHQpOworICAgICAgc2NyaXB0Lm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGxhc3RfbW9kaWZpZWRfY291bnQsIDIsICJsYXN0IG1vZGlm
aWVkIik7CisgICAgICAgICAgdmFyIGNoZWNrUmVzdWx0ID0gKCkgPT4geworICAgICAgICAgICAg
Ly8gV2UgcG9sbCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdp
bGwgb2NjdXIuCisgICAgICAgICAgICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT9x
dWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2Up
ID0+IHsKKyAgICAgICAgICAgICAgdmFyIGNvdW50ID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoIkNv
dW50Iik7CisgICAgICAgICAgICAgIGlmIChjb3VudCA9PSAnMicpIHsKKyAgICAgICAgICAgICAg
ICAgIHQuZG9uZSgpOworICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHQu
c3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0pKTsKKyAgICAgICAgICB9OworICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVz
dWx0LCAyNSk7CisgICAgICB9KTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9LCAnQ2FjaGUgcmV0dXJu
cyBzdGFsZSByZXNvdXJjZScpOworCit2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic2NyaXB0Iik7CitzY3JpcHQuc3JjID0gInJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9r
ZW49IiArIHJlcXVlc3RfdG9rZW47Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRl
cmNlcHQuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRj
YTdkZTUxYjBiOGM1NTE4Mjc2ZTcwYWUyMTliN2JjOGY4NjlhOTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzCkBAIC0wLDAgKzEsMTQgQEAKK2FzeW5j
IGZ1bmN0aW9uIGJyb2FkY2FzdChtc2cpIHsKKyAgZm9yIChjb25zdCBjbGllbnQgb2YgYXdhaXQg
Y2xpZW50cy5tYXRjaEFsbCgpKSB7CisgICAgY2xpZW50LnBvc3RNZXNzYWdlKG1zZyk7CisgIH0K
K30KKworc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRjaCcsIGV2ZW50ID0+IHsKKyAgZXZlbnQu
d2FpdFVudGlsKGJyb2FkY2FzdChldmVudC5yZXF1ZXN0LnVybCkpOworICBldmVudC5yZXNwb25k
V2l0aChmZXRjaChldmVudC5yZXF1ZXN0KSk7Cit9KTsKKworc2VsZi5hZGRFdmVudExpc3RlbmVy
KCdhY3RpdmF0ZScsIGV2ZW50ID0+IHsKKyAgc2VsZi5jbGllbnRzLmNsYWltKCk7Cit9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjlkZDA2Zjg0NmE3MDY4ZmVhMmI4Mjg3ODFh
ZDc1Y2MxOThlN2EzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBv
cnQubG9nCkBAIC0wLDAgKzEsMjIgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0
cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgor
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
K05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1z
dy5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvc3RhbGUtY3NzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRl
cmNlcHQuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA1ZTY0MDM4YWQ4ZTY3ZDY5YmM3MTM5YzliN2Q5MzcxYmU1N2I2Y2M3Li43ZjQ4M2Rm
ZGIyOTc3OTJjMmJlZjZjMGRhOGFlNTFiMzkyNGYxMTBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOTk4LDMgKzE5OTgsNiBAQCB3ZWJr
aXQub3JnL2IvMTg4NzYyIGZhc3Qvd3JpdGluZy1tb2RlL2VuZ2xpc2gtcmwtdGV4dC13aXRoLXNw
ZWxsaW5nLW1hcmtlci5odG1sCiBpbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy1odG1sLTJkLmh0
bWwKIAogd2Via2l0Lm9yZy9iLzE1OTcyNCBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC1wb3N0LXVwbG9hZC5odG0gWyBTa2lwIF0KKwor
IyBTdGFsZS13aGlsZS1yZXZhbGlkYXRlIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0sxCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUgWyBT
a2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCBiMDBjYmQ2ZTkyOGQwMjViYjM2YzM2NGY0MDE1YTM3MWE5MmU1YWI1Li44YTYwODVjZjA0
Nzg0YjJkOTE1NmViMDZjODE2NTcwNGJmOTQ5OGJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC03OTEsMyArNzkxLDYgQEAgd2Via2l0Lm9y
Zy9iLzE5OTI0MiBbIERlYnVnIF0gaHR0cC90ZXN0cy9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS1y
ZXNvdXJjZS10aW1pbmcKIFsgTW9qYXZlKyBdIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLWhlaWNzLXZl
cmlmeS5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8yMDAwMDIgWyBNb2phdmUrIERlYnVn
IF0gaW1wb3J0ZWQvYmxpbmsvc3RvcmFnZS9pbmRleGVkZGIvYmxvYi1iYXNpY3MtbWV0YWRhdGEu
aHRtbCBbIFRpbWVvdXQgXQorCisjIFN0YWxlLXdoaWxlLXJldmFsaWRhdGUgaXMgbm90IHN1cHBv
cnRlZCBvbiBXSzEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZSBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380309</attachid>
            <date>2019-10-07 00:57:00 -0700</date>
            <delta_ts>2019-10-07 01:59:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191007095658.patch</filename>
            <type>text/plain</type>
            <size>54559</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTg2MmFjZGIyODdlYTlj
YzU2MjUyMjBmMTgwYzczZDgzMTIyMjFhMi4uMjdiNDJmMGNlZjgxZGEyZTcwMmExMDE1ZjFhMjY5
OTMyYzUxYjcwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTEwLTA3ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBwYXJzaW5nIHRoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlCisgICAgICAgIGFuZCBleHBvc2UgaXQgb24gUmVzb3Vy
Y2VSZXNwb25zZS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3Nz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2Fj
aGVWYWxpZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGly
ZWN0aXZlcyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlQ29udHJvbERpcmVjdGl2ZXM6OkNhY2hlQ29udHJvbERp
cmVjdGl2ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29u
dHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmg6CisKIDIwMTktMTAtMDYgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgYXR0YWNoU2hhZG93IHNob3VsZCBzdXBwb3J0
IGF0dGFjaGluZyBhIHNoYWRvdyByb290IHRvIGEgbWFpbiBlbGVtZW50CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU3
NDNkNGI1Yjk3NzZkNDQ2MmM0ODNhNmYyZWJkYzVkZDVhYzI3OWYuLmJhNzQxZTc2MjY1NDNmZTIw
Yzk3ZTZjMmM1MjU0OGI5OGJmZDViZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTkt
MTAtMDcgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0
YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBVc2VEZWNpc2lvbiB2YWx1ZSBB
c3luY1JldmFsaWRhdGUgZm9yIGFzeW5jIHJldmFsaWRhdGlvbi4gVGhpcyBpcyB1c2VkCisgICAg
ICAgIHdoZW4gdGhlIHJldHJpZXZlZCBjYWNoZSBlbnRyeSBpcyBhIHN0YWxlLXdoaWxlLXJldmFs
aWRhdGUgcmVzcG9uc2UgWzFdLgorICAgICAgICBJbiBjYXNlIG9mIEFzeW5jUmV2YWxpZGF0ZSwg
YSBjaGVjayBpcyBtYWRlIHRvIHNlZSBpZiB0aGVyZSBpcyBhCisgICAgICAgIGN1cnJlbnQgYXN5
bmMgcmV2YWxpZGF0aW9uIG9uZ29pbmcgZm9yIHRoZSBlbnRyeSwgaWYgbm90IG9uZSBpcworICAg
ICAgICBzdGFydGVkLiBSZWdhcmRsZXNzLCB0aGUgc3RhbGUgZW50cnkgaXMgcmV0dXJuZWQsIHVu
dGlsIGVpdGhlciB0aGUKKyAgICAgICAgYXN5bmMgcmV2YWxpZGF0aW9uIGVuZHMgc3VjY2Vzc2Z1
bGx5IG9yIGF0IHRoZSBtb21lbnQgd2hlcmUgdGhlCisgICAgICAgIHJlc3BvbnNlIGV4cGlyZXMg
Zm9yIHJlYWwuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNj
b25jZXB0LXN0YWxlLXdoaWxlLXJldmFsaWRhdGUtcmVzcG9uc2UKKworICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDYWNoZTo6cmVzcG9uc2VIYXNFeHBpcmVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nh
Y2hlOjpyZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a0NhY2hlOjptYWtlVXNlRGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
Om1ha2VTdG9yZURlY2lzaW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpjb25z
dHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpBc3luY1JldmFsaWRhdGlvbjo6QXN5bmNSZXZhbGlkYXRpb24pOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9uOjpsb2FkIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0NhY2hlOjpBc3luY1JldmFsaWRhdGlvbjo6c3RhbGVXaGlsZVJldmFs
aWRhdGVFbmRpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmNhblVzZVBlbmRp
bmdSZXZhbGlkYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpz
dGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
Q2FjaGU6OkNhY2hlOjpyZXRyaWV2ZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpk
dW1wSFRUUEhlYWRlcnNEaWZmKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXF1
ZXN0c0hlYWRlcnNNYXRjaCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3BlY3VsYXRpdmVMb2FkLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZTo6ZHVtcEhUVFBIZWFkZXJzRGlmZik6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVxdWVzdHNIZWFkZXJzTWF0Y2gpOiBEZWxldGVkLgorCiAy
MDE5LTEwLTA0ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2Ug
YSBiZXR0ZXIgbmFtZSB0aGFuIGFsbG93RmFzdENsaWNrc0V2ZXJ5d2hlcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcAppbmRleCA0
OTU5MDUwNjc5Y2UwNTA0ODQyNDQ3ZWIxZjVhMGJmOGE2NzY4M2NlLi43NjM3OTgxNmUzMzNmNWFh
ZWIxMzY4NzAwOWUyODE0NzA0MzJiYzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uY3BwCkBAIC0zMTMsOCArMzEzLDIwIEBAIENh
Y2hlQ29udHJvbERpcmVjdGl2ZXMgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKGNvbnN0IEhU
VFBIZWFkZXJNYXAmIGhlYWRlcnMpCiAgICAgICAgICAgICAgICAgZG91YmxlIG1heFN0YWxlID0g
ZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9Eb3VibGUoJm9rKTsKICAgICAgICAgICAgICAgICBpZiAo
b2spCiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5tYXhTdGFsZSA9IFNlY29uZHMgeyBtYXhT
dGFsZSB9OwotICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAiaW1tdXRhYmxlIikpCisgICAgICAgICAgICB9IGVs
c2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGl2ZXNbaV0uZmlyc3Qs
ICJpbW11dGFibGUiKSkgewogICAgICAgICAgICAgICAgIHJlc3VsdC5pbW11dGFibGUgPSB0cnVl
OworICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShk
aXJlY3RpdmVzW2ldLmZpcnN0LCAic3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSIpKSB7CisgICAgICAg
ICAgICAgICAgaWYgKHJlc3VsdC5zdGFsZVdoaWxlUmV2YWxpZGF0ZSkgeworICAgICAgICAgICAg
ICAgICAgICAvLyBGaXJzdCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGRpcmVjdGl2ZSB3aW5zIGlm
IHRoZXJlIGFyZSBtdWx0aXBsZSBvbmVzLgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYm9vbCBvazsKKyAgICAgICAgICAg
ICAgICBkb3VibGUgc3RhbGVXaGlsZVJldmFsaWRhdGUgPSBkaXJlY3RpdmVzW2ldLnNlY29uZC50
b0RvdWJsZSgmb2spOworICAgICAgICAgICAgICAgIGlmIChvaykgeworICAgICAgICAgICAgICAg
ICAgICByZXN1bHQubWF4U3RhbGUgPSBTZWNvbmRzIHsgc3RhbGVXaGlsZVJldmFsaWRhdGUgfTsK
KyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnN0YWxlV2hpbGVSZXZhbGlkYXRlID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oCmlu
ZGV4IDU2ZWZlYTYyMTU0NDc5NTA2YTE2NjRmZmQwOGUwOGFiMmM1NTZiY2QuLjhlNmE4ZmMzZDYz
MzU0OGRhMTdhOGYwYzQ4NWJiYWE3YjVhZDkzYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaApAQCAtNjUsNiArNjUsNyBAQCBzdHJ1
Y3QgQ2FjaGVDb250cm9sRGlyZWN0aXZlcyB7CiAgICAgICAgICwgbm9TdG9yZShmYWxzZSkKICAg
ICAgICAgLCBtdXN0UmV2YWxpZGF0ZShmYWxzZSkKICAgICAgICAgLCBpbW11dGFibGUoZmFsc2Up
CisgICAgICAgICwgc3RhbGVXaGlsZVJldmFsaWRhdGUoZmFsc2UpCiAgICAgICAgIHsgfQogCiAg
ICAgTWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IG1heEFnZTsKQEAg
LTczLDYgKzc0LDcgQEAgc3RydWN0IENhY2hlQ29udHJvbERpcmVjdGl2ZXMgewogICAgIGJvb2wg
bm9TdG9yZSA6IDE7CiAgICAgYm9vbCBtdXN0UmV2YWxpZGF0ZSA6IDE7CiAgICAgYm9vbCBpbW11
dGFibGUgOiAxOworICAgIGJvb2wgc3RhbGVXaGlsZVJldmFsaWRhdGUgOiAxOwogfTsKIFdFQkNP
UkVfRVhQT1JUIENhY2hlQ29udHJvbERpcmVjdGl2ZXMgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3Rp
dmVzKGNvbnN0IEhUVFBIZWFkZXJNYXAmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAppbmRleCAyMGFjNjRk
NTcwMzRjNjllYTkyYmM3YTQzNTM2ZjE2ZDc5NWZmYTI5Li41Y2JkYmZlYzlhZGNjN2M3N2ZhMDkx
Yzk5MjgwNGRlNDk1MjdmZDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcApAQCAtNjU1LDYgKzY1NSwxNSBA
QCBPcHRpb25hbDxTZWNvbmRzPiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250cm9sTWF4
QWdlKCkgY29uc3QKICAgICByZXR1cm4gbV9jYWNoZUNvbnRyb2xEaXJlY3RpdmVzLm1heEFnZTsK
IH0KIAorT3B0aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJv
bFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1faGF2ZVBhcnNlZENh
Y2hlQ29udHJvbEhlYWRlcikKKyAgICAgICAgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKCk7
CisgICAgaWYgKG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5zdGFsZVdoaWxlUmV2YWxpZGF0ZSkK
KyAgICAgICAgcmV0dXJuIG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5tYXhTdGFsZTsKKyAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworfQorCiBzdGF0aWMgT3B0aW9uYWw8V2FsbFRpbWU+IHBhcnNl
RGF0ZVZhbHVlSW5IZWFkZXIoY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVycywgSFRUUEhlYWRl
ck5hbWUgaGVhZGVyTmFtZSkKIHsKICAgICBTdHJpbmcgaGVhZGVyVmFsdWUgPSBoZWFkZXJzLmdl
dChoZWFkZXJOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAppbmRleCBjYjE3YjU5NTQ4N2QxMGI3NzNjNGU0ODUz
NTQzMDI0YTUwZjFhOTdmLi40MDY4MWYwNzdhYjllZWQwOWM5MzViYjBiYWFjOWUwYjQwOWMzOGRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlc3BvbnNlQmFzZS5oCkBAIC0xMzYsNiArMTM2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgY2FjaGVDb250cm9sQ29udGFpbnNJbW11dGFibGUoKSBjb25zdDsKICAgICBX
RUJDT1JFX0VYUE9SVCBib29sIGhhc0NhY2hlVmFsaWRhdG9yRmllbGRzKCkgY29uc3Q7CiAgICAg
V0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gY2FjaGVDb250cm9sTWF4QWdlKCkgY29u
c3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gY2FjaGVDb250cm9sU3Rh
bGVXaGlsZVJldmFsaWRhdGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxX
YWxsVGltZT4gZGF0ZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29u
ZHM+IGFnZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFdhbGxUaW1lPiBl
eHBpcmVzKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggZjM0NGQxYWJhNjRmZTkzYzljYmViZDQ3ZjQzZTgx
NjNiYWNkN2MxNy4uNzgwNmRjY2EyZjdhZWMxN2E0YmM4OGU1ZTMxNjhhMGNkMWI1YzE0ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZS5oIgogCiAjaW5j
bHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5o
IgogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaCIKICNpbmNs
dWRlICJOZXR3b3JrQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIK
QEAgLTE1Miw3ICsxNTMsNyBAQCBzdGF0aWMgYm9vbCBjYWNoZVBvbGljeUFsbG93c0V4cGlyZWQo
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgcG9saWN5KQogICAgIHJldHVybiBm
YWxzZTsKIH0KIAotc3RhdGljIGJvb2wgcmVzcG9uc2VIYXNFeHBpcmVkKGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBXYWxsVGltZSB0aW1lc3RhbXAsIE9wdGlvbmFs
PFNlY29uZHM+IG1heFN0YWxlKQorc3RhdGljIGJvb2wgcmVzcG9uc2VIYXNFeHBpcmVkKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBXYWxsVGltZSB0aW1lc3RhbXAs
IE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxlLCBib29sJiBpblJlc3BvbnNlU3RhbGVuZXNzKQog
ewogICAgIGlmIChyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkKICAgICAg
ICAgcmV0dXJuIHRydWU7CkBAIC0xNjIsMjUgKzE2MywzNSBAQCBzdGF0aWMgYm9vbCByZXNwb25z
ZUhhc0V4cGlyZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFdh
bGxUaQogCiAgICAgYXV0byBtYXhpbXVtU3RhbGVuZXNzID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52
YWx1ZSgpIDogMF9tczsKICAgICBib29sIGhhc0V4cGlyZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1h
eGltdW1TdGFsZW5lc3M7CisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVW
QUxJREFUSU9OKQorICAgIGlmIChoYXNFeHBpcmVkKSB7CisgICAgICAgIGF1dG8gcmVzcG9uc2VN
YXhTdGFsZW5lc3MgPSByZXNwb25zZS5jYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgp
OworICAgICAgICBtYXhpbXVtU3RhbGVuZXNzICs9IHJlc3BvbnNlTWF4U3RhbGVuZXNzID8gcmVz
cG9uc2VNYXhTdGFsZW5lc3MudmFsdWUoKSA6IDBfbXM7CisgICAgICAgIGluUmVzcG9uc2VTdGFs
ZW5lc3MgPSBhZ2UgLSBsaWZldGltZSA8IG1heGltdW1TdGFsZW5lc3M7CisgICAgfQorI2VuZGlm
CiAKICNpZm5kZWYgTE9HX0RJU0FCTEVECiAgICAgaWYgKGhhc0V4cGlyZWQpCi0gICAgICAgIExP
RyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4
cGlyZWQgYWdlPSVmIGxpZmV0aW1lPSVmIG1heC1zdGFsZT0lZyIsIGFnZSwgbGlmZXRpbWUsIG1h
eFN0YWxlKTsKKyAgICAgICAgTE9HKE5ldHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgbmVl
ZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJlZCBhZ2U9JWYgbGlmZXRpbWU9JWYgbWF4LXN0YWxlbmVz
cz0lZiIsIGFnZSwgbGlmZXRpbWUsIG1heGltdW1TdGFsZW5lc3MpOwogI2VuZGlmCiAKICAgICBy
ZXR1cm4gaGFzRXhwaXJlZDsKIH0KIAotc3RhdGljIGJvb2wgcmVzcG9uc2VOZWVkc1JldmFsaWRh
dGlvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBXYWxsVGltZSB0aW1lc3RhbXApCitzdGF0
aWMgVXNlRGVjaXNpb24gcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBXYWxsVGltZSB0aW1lc3RhbXApCiB7CiAgICAgYXV0byByZXF1ZXN0RGlyZWN0
aXZlcyA9IFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcyhyZXF1ZXN0Lmh0dHBI
ZWFkZXJGaWVsZHMoKSk7CiAgICAgaWYgKHJlcXVlc3REaXJlY3RpdmVzLm5vQ2FjaGUpCi0gICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlZhbGlkYXRlOwog
ICAgIC8vIEZvciByZXF1ZXN0cyB3ZSBpZ25vcmUgbWF4LWFnZSB2YWx1ZXMgb3RoZXIgdGhhbiB6
ZXJvLgogICAgIGlmIChyZXF1ZXN0RGlyZWN0aXZlcy5tYXhBZ2UgJiYgcmVxdWVzdERpcmVjdGl2
ZXMubWF4QWdlLnZhbHVlKCkgPT0gMF9tcykKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
IHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAKLSAgICByZXR1cm4gcmVzcG9uc2VIYXNF
eHBpcmVkKHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJlcXVlc3REaXJlY3RpdmVzLm1heFN0YWxlKTsK
KyAgICBib29sIGluUmVzcG9uc2VTdGFsZW5lc3MgPSBmYWxzZTsKKyAgICBpZiAocmVzcG9uc2VI
YXNFeHBpcmVkKHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJlcXVlc3REaXJlY3RpdmVzLm1heFN0YWxl
LCBpblJlc3BvbnNlU3RhbGVuZXNzKSkKKyAgICAgICAgcmV0dXJuIGluUmVzcG9uc2VTdGFsZW5l
c3MgPyBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRlIDogVXNlRGVjaXNpb246OlZhbGlkYXRl
OworICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogfQogCiBzdGF0aWMgVXNlRGVjaXNpb24g
bWFrZVVzZURlY2lzaW9uKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgUEFM
OjpTZXNzaW9uSUQmIHNlc3Npb25JRCwgY29uc3QgRW50cnkmIGVudHJ5LCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCkBAIC0xOTcsOCArMjA4LDkgQEAgc3RhdGljIFVz
ZURlY2lzaW9uIG1ha2VVc2VEZWNpc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3Ms
IGNvbnN0IFBBTDo6U2UKICAgICBpZiAoY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVkKHJlcXVlc3Qu
Y2FjaGVQb2xpY3koKSkpCiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogCi0gICAg
aWYgKCFyZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGVudHJ5LnJlc3BvbnNlKCksIHJlcXVlc3Qs
IGVudHJ5LnRpbWVTdGFtcCgpKSkKLSAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7Cisg
ICAgYXV0byBkZWNpc2lvbiA9IHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oZW50cnkucmVzcG9u
c2UoKSwgcmVxdWVzdCwgZW50cnkudGltZVN0YW1wKCkpOworICAgIGlmIChkZWNpc2lvbiAhPSBV
c2VEZWNpc2lvbjo6VmFsaWRhdGUpCisgICAgICAgIHJldHVybiBkZWNpc2lvbjsKIAogICAgIGlm
ICghZW50cnkucmVzcG9uc2UoKS5oYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpKQogICAgICAgICBy
ZXR1cm4gVXNlRGVjaXNpb246Ok5vRHVlVG9NaXNzaW5nVmFsaWRhdG9yRmllbGRzOwpAQCAtMjUx
LDggKzI2MywxMCBAQCBzdGF0aWMgU3RvcmVEZWNpc2lvbiBtYWtlU3RvcmVEZWNpc2lvbihjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUgogICAgIGJvb2wgc3RvcmVVbmNv
bmRpdGlvbmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbiA9IGlzTWFpblJlc291cmNlIHx8IG9yaWdp
bmFsUmVxdWVzdC5wcmlvcml0eSgpID09IFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpW
ZXJ5SGlnaDsKICAgICBpZiAoIXN0b3JlVW5jb25kaXRpb25hbGx5Rm9ySGlzdG9yeU5hdmlnYXRp
b24pIHsKICAgICAgICAgYXV0byBub3cgPSBXYWxsVGltZTo6bm93KCk7Ci0gICAgICAgIGJvb2wg
aGFzTm9uWmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNo
ZSgpICYmIFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkocmVz
cG9uc2UsIG5vdykgPiAwX21zOwotCisgICAgICAgIFNlY29uZHMgYWxsb3dlZFN0YWxlOworICAg
ICAgICBpZiAoYXV0byB2YWx1ZSA9IHJlc3BvbnNlLmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZh
bGlkYXRlKCkpCisgICAgICAgICAgICBhbGxvd2VkU3RhbGUgPSB2YWx1ZS52YWx1ZSgpOworICAg
ICAgICBib29sIGhhc05vblplcm9MaWZldGltZSA9ICFyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250
YWluc05vQ2FjaGUoKSAmJiAoV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRU
UEZhbWlseShyZXNwb25zZSwgbm93KSA+IDBfbXMgfHwgYWxsb3dlZFN0YWxlID4gMF9tcyk7CiAg
ICAgICAgIGJvb2wgcG9zc2libHlSZXVzYWJsZSA9IHJlc3BvbnNlLmhhc0NhY2hlVmFsaWRhdG9y
RmllbGRzKCkgfHwgaGFzTm9uWmVyb0xpZmV0aW1lOwogICAgICAgICBpZiAoIXBvc3NpYmx5UmV1
c2FibGUpCiAgICAgICAgICAgICByZXR1cm4gU3RvcmVEZWNpc2lvbjo6Tm9EdWVUb1VubGlrZWx5
VG9SZXVzZTsKQEAgLTI5Niw2ICszMTAsODMgQEAgc3RhdGljIGJvb2wgaW5saW5lIGNhblJlcXVl
c3RVc2VTcGVjdWxhdGl2ZVJldmFsaWRhdGlvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVIKIH0K
ICNlbmRpZgogCisjaWYgRU5BQkxFKEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkK
K3N0YXRpYyBpbmxpbmUgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNvbnN0cnVjdFJldmFsaWRh
dGlvblJlcXVlc3QoY29uc3QgS2V5JiBrZXksIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgRW50cnkqIGVudHJ5KQoreworICAgIFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCByZXZhbGlkYXRpb25SZXF1ZXN0ID0gcmVxdWVzdDsKKyAgICBpZiAoIWtleS5wYXJ0
aXRpb24oKS5pc0VtcHR5KCkpCisgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0Q2FjaGVQ
YXJ0aXRpb24oa2V5LnBhcnRpdGlvbigpKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGtleS5y
YW5nZSgpLmlzRW1wdHkoKSwgInJhbmdlIGlzIG5vdCBzdXBwb3J0ZWQiKTsKKworICAgIHJldmFs
aWRhdGlvblJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKyAgICBpZiAoZW50cnkpIHsKKyAg
ICAgICAgU3RyaW5nIGVUYWcgPSBlbnRyeS0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoV2Vi
Q29yZTo6SFRUUEhlYWRlck5hbWU6OkVUYWcpOworICAgICAgICBpZiAoIWVUYWcuaXNFbXB0eSgp
KQorICAgICAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoV2Vi
Q29yZTo6SFRUUEhlYWRlck5hbWU6OklmTm9uZU1hdGNoLCBlVGFnKTsKKworICAgICAgICBTdHJp
bmcgbGFzdE1vZGlmaWVkID0gZW50cnktPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKFdlYkNv
cmU6OkhUVFBIZWFkZXJOYW1lOjpMYXN0TW9kaWZpZWQpOworICAgICAgICBpZiAoIWxhc3RNb2Rp
ZmllZC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldEhUVFBI
ZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6SWZNb2RpZmllZFNpbmNlLCBsYXN0
TW9kaWZpZWQpOworICAgIH0KKworICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0UHJpb3JpdHko
V2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6Okxvdyk7CisKKyAgICByZXR1cm4gcmV2YWxp
ZGF0aW9uUmVxdWVzdDsKK30KKworY2xhc3MgQXN5bmNSZXZhbGlkYXRpb24geworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHR5cGVkZWYgRnVuY3Rpb248dm9pZCAo
Ym9vbCk+IEFzeW5jUmV2YWxpZGF0aW9uQ29tcGxldGlvbkhhbmRsZXI7CisgICAgQXN5bmNSZXZh
bGlkYXRpb24oQ2FjaGUmIGNhY2hlLCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3
b3JrQ2FjaGU6OkVudHJ5PiBlbnRyeSwgQXN5bmNSZXZhbGlkYXRpb25Db21wbGV0aW9uSGFuZGxl
ciYmIGhhbmRsZXIpCisgICAgICAgIDogbV90aW1lcigqdGhpcywgJkFzeW5jUmV2YWxpZGF0aW9u
OjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZykKKyAgICAgICAgLCBtX2NvbXBsZXRpb25IYW5k
bGVyKFdURk1vdmUoaGFuZGxlcikpCisgICAgeworICAgICAgICBhdXRvIGtleSA9IGVudHJ5LT5r
ZXkoKTsKKyAgICAgICAgYXV0byByZXZhbGlkYXRpb25SZXF1ZXN0ID0gY29uc3RydWN0UmV2YWxp
ZGF0aW9uUmVxdWVzdChrZXksIHJlcXVlc3QsIGVudHJ5LmdldCgpKTsKKyAgICAgICAgYXV0byBh
Z2UgPSBXZWJDb3JlOjpjb21wdXRlQ3VycmVudEFnZShlbnRyeS0+cmVzcG9uc2UoKSwgZW50cnkt
PnRpbWVTdGFtcCgpKTsKKyAgICAgICAgYXV0byBsaWZldGltZSA9IFdlYkNvcmU6OmNvbXB1dGVG
cmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkoZW50cnktPnJlc3BvbnNlKCksIGVudHJ5LT50
aW1lU3RhbXAoKSk7CisgICAgICAgIGF1dG8gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPSBlbnRyeS0+
cmVzcG9uc2UoKS5jYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpOworICAgICAgICBB
U1NFUlQocmVzcG9uc2VNYXhTdGFsZW5lc3MpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgqcmVzcG9uc2VNYXhTdGFsZW5lc3MgLSAoYWdlIC0gbGlmZXRpbWUpKTsKKyAgICAgICAgbV9s
b2FkID0gbWFrZVVuaXF1ZTxTcGVjdWxhdGl2ZUxvYWQ+KGNhY2hlLCBmcmFtZUlELCByZXZhbGlk
YXRpb25SZXF1ZXN0LCBXVEZNb3ZlKGVudHJ5KSwgW3RoaXMsIGtleSwgcmV2YWxpZGF0aW9uUmVx
dWVzdF0oc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiByZXZhbGlkYXRlZEVudHJ5KSB7CisgICAgICAg
ICAgICBBU1NFUlQoIXJldmFsaWRhdGVkRW50cnkgfHwgIXJldmFsaWRhdGVkRW50cnktPm5lZWRz
VmFsaWRhdGlvbigpKTsKKyAgICAgICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8fCBy
ZXZhbGlkYXRlZEVudHJ5LT5rZXkoKSA9PSBrZXkpOworICAgICAgICAgICAgbV9jb21wbGV0aW9u
SGFuZGxlcihyZXZhbGlkYXRlZEVudHJ5LmdldCgpKTsKKyAgICAgICAgfSk7CisgICAgfQorCisg
ICAgY29uc3QgU3BlY3VsYXRpdmVMb2FkJiBsb2FkKCkgY29uc3QgeyByZXR1cm4gKm1fbG9hZDsg
fQorCisgICAgdm9pZCBzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZygpIHsgbV9jb21wbGV0aW9u
SGFuZGxlcih0cnVlKTsgfQorCitwcml2YXRlOgorICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVjdWxh
dGl2ZUxvYWQ+IG1fbG9hZDsKKyAgICBXZWJDb3JlOjpUaW1lciBtX3RpbWVyOworICAgIEFzeW5j
UmV2YWxpZGF0aW9uQ29tcGxldGlvbkhhbmRsZXIgbV9jb21wbGV0aW9uSGFuZGxlcjsKK307CisK
K3N0YXRpYyBpbmxpbmUgYm9vbCBjYW5Vc2VQZW5kaW5nUmV2YWxpZGF0aW9uKGNvbnN0IFNwZWN1
bGF0aXZlTG9hZCYgbG9hZCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxS
ZXF1ZXN0KQoreworICAgIHJldHVybiByZXF1ZXN0c0hlYWRlcnNNYXRjaChsb2FkLm9yaWdpbmFs
UmVxdWVzdCgpLCBhY3R1YWxSZXF1ZXN0KTsKK30KKwordm9pZCBDYWNoZTo6c3RhcnRBc3luY1Jl
dmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmIGtleSwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBl
bnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCkKK3sKKyAgICBhdXRvKiBwZW5kaW5n
QXN5bmNSZXZhbGlkYXRpb24gPSBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMuZ2V0KGtleSk7
CisgICAgaWYgKHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbiAmJiBjYW5Vc2VQZW5kaW5nUmV2YWxp
ZGF0aW9uKHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbi0+bG9hZCgpLCByZXF1ZXN0KSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgYXV0byByZXZhbGlkYXRvciA9IG1ha2VVbmlxdWU8QXN5bmNSZXZh
bGlkYXRpb24+KCp0aGlzLCBmcmFtZUlELCByZXF1ZXN0LCBXVEZNb3ZlKGVudHJ5KSwgW3RoaXMs
IGtleV0oYm9vbCBlbmRpbmcpIHsKKyAgICAgICAgaWYgKGVuZGluZykgeworICAgICAgICAgICAg
bV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLnRha2Uoa2V5KTsKKyAgICAgICAgICAgIExPRyhO
ZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIEFzeW5jIHJldmFsaWRhdGlvbiBjb21wbGV0
ZWQgZm9yICclcyc6Iiwga2V5LmlkZW50aWZpZXIoKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAg
fQorICAgIH0pOworICAgIG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9ucy5hZGQoa2V5LCBXVEZN
b3ZlKHJldmFsaWRhdG9yKSk7Cit9CisjZW5kaWYKKwogdm9pZCBDYWNoZTo6cmV0cmlldmUoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUlE
JiBmcmFtZUlELCBSZXRyaWV2ZUNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgQVNTRVJUKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKTsK
QEAgLTMzNCwxMiArNDI1LDExIEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJCiAgICAgfQogI2Vu
ZGlmCiAKLSAgICBtX3N0b3JhZ2UtPnJldHJpZXZlKHN0b3JhZ2VLZXksIHByaW9yaXR5LCBbcmVx
dWVzdCwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgaW5m
byA9IFdURk1vdmUoaW5mbyksIHN0b3JhZ2VLZXksIG5ldHdvcmtQcm9jZXNzID0gbWFrZVJlZihu
ZXR3b3JrUHJvY2VzcygpKSwgc2Vzc2lvbklEID0gbV9zZXNzaW9uSURdKGF1dG8gcmVjb3JkLCBh
dXRvIHRpbWluZ3MpIG11dGFibGUgeworICAgIG1fc3RvcmFnZS0+cmV0cmlldmUoc3RvcmFnZUtl
eSwgcHJpb3JpdHksIFt0aGlzLCByZXF1ZXN0LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpLCBpbmZvID0gV1RGTW92ZShpbmZvKSwgc3RvcmFnZUtleSwgbmV0
d29ya1Byb2Nlc3MgPSBtYWtlUmVmKG5ldHdvcmtQcm9jZXNzKCkpLCBzZXNzaW9uSUQgPSBtX3Nl
c3Npb25JRCwgZnJhbWVJRF0oYXV0byByZWNvcmQsIGF1dG8gdGltaW5ncykgbXV0YWJsZSB7CiAg
ICAgICAgIGluZm8uc3RvcmFnZVRpbWluZ3MgPSB0aW1pbmdzOwogCiAgICAgICAgIGlmICghcmVj
b3JkKSB7CiAgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBu
b3QgZm91bmQgaW4gc3RvcmFnZSIpOwotCiAgICAgICAgICAgICBjb21wbGV0ZVJldHJpZXZlKFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBudWxscHRyLCBpbmZvKTsKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgfQpAQCAtMzUwLDYgKzQ0MCwxMyBAQCB2b2lkIENhY2hlOjpy
ZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEds
b2JhbEZyYW1lSQogCiAgICAgICAgIGF1dG8gdXNlRGVjaXNpb24gPSBlbnRyeSA/IG1ha2VVc2VE
ZWNpc2lvbihuZXR3b3JrUHJvY2Vzcywgc2Vzc2lvbklELCAqZW50cnksIHJlcXVlc3QpIDogVXNl
RGVjaXNpb246Ok5vRHVlVG9EZWNvZGVGYWlsdXJlOwogICAgICAgICBzd2l0Y2ggKHVzZURlY2lz
aW9uKSB7CisgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OkFzeW5jUmV2YWxpZGF0ZTogeworI2lm
IEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCisgICAgICAgICAgICBz
dGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5Q29weSA9IG1ha2VVbmlxdWU8RW50cnk+KCplbnRy
eSk7CisgICAgICAgICAgICBzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQocmVxdWVzdCwg
c3RvcmFnZUtleSwgV1RGTW92ZShlbnRyeUNvcHkpLCBmcmFtZUlEKTsKKyNlbmRpZgorICAgICAg
ICAgICAgRkFMTFRIUk9VR0g7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6
VXNlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OlZhbGlk
YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlLmgKaW5kZXggMGRlZTdmODhkZmY2MTYyY2MzZmQ3ODUxYjgzODBmYzVhODNiZDVhZS4uYTQ0
NzgxZDk2Y2JhNWM4OTZjMDRlNGZhNzkwYmYwYzMzMzY5OThhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCkBAIC01MCw2ICs1MCw3
IEBAIGNsYXNzIE5ldHdvcmtQcm9jZXNzOwogCiBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAor
Y2xhc3MgQXN5bmNSZXZhbGlkYXRpb247CiBjbGFzcyBDYWNoZTsKIGNsYXNzIFNwZWN1bGF0aXZl
TG9hZE1hbmFnZXI7CiAKQEAgLTgyLDYgKzgzLDcgQEAgZW51bSBjbGFzcyBTdG9yZURlY2lzaW9u
IHsKIGVudW0gY2xhc3MgVXNlRGVjaXNpb24gewogICAgIFVzZSwKICAgICBWYWxpZGF0ZSwKKyAg
ICBBc3luY1JldmFsaWRhdGUsCiAgICAgTm9EdWVUb1ZhcnlpbmdIZWFkZXJNaXNtYXRjaCwKICAg
ICBOb0R1ZVRvTWlzc2luZ1ZhbGlkYXRvckZpZWxkcywKICAgICBOb0R1ZVRvRGVjb2RlRmFpbHVy
ZSwKQEAgLTE2OSw2ICsxNzEsMTAgQEAgcHVibGljOgogICAgIFNwZWN1bGF0aXZlTG9hZE1hbmFn
ZXIqIHNwZWN1bGF0aXZlTG9hZE1hbmFnZXIoKSB7IHJldHVybiBtX3NwZWN1bGF0aXZlTG9hZE1h
bmFnZXIuZ2V0KCk7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEhUVFBfQ0FDSEVfU1RBTEVfV0hJ
TEVfUkVWQUxJREFURSkKKyAgICB2b2lkIHN0YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZChj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBOZXR3b3JrQ2FjaGU6OktleSYs
IHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4sIGNvbnN0IEdsb2JhbEZyYW1lSUQmKTsKKyNlbmRpZgor
CiAgICAgTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzKCkgeyByZXR1cm4gbV9uZXR3b3Jr
UHJvY2Vzcy5nZXQoKTsgfQogICAgIGNvbnN0IFBBTDo6U2Vzc2lvbklEJiBzZXNzaW9uSUQoKSBj
b25zdCB7IHJldHVybiBtX3Nlc3Npb25JRDsgfQogICAgIGNvbnN0IFN0cmluZyYgc3RvcmFnZURp
cmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RvcmFnZURpcmVjdG9yeTsgfQpAQCAtMTk1LDYg
KzIwMSwxMCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyPiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXI7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShI
VFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCisgICAgSGFzaE1hcDxLZXksIHN0ZDo6
dW5pcXVlX3B0cjxBc3luY1JldmFsaWRhdGlvbj4+IG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9u
czsKKyNlbmRpZgorCiAgICAgdW5zaWduZWQgbV90cmF2ZXJzZUNvdW50IHsgMCB9OwogICAgIFBB
TDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogICAgIFN0cmluZyBtX3N0b3JhZ2VEaXJlY3Rvcnk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXggNmM3MmZhYmU3MmUzNTk0
NDhhN2MxYjI5MWNkOTBlOTUwZTViYmU1NC4uYTIyMzM2MDQ2M2E2Zjg3MGI3NmI5ZTg3YzE1NzY4
ZWM3NWFjMjhhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcApAQCAtMjUs
NyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoTkVUV09SS19D
QUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVf
U1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSB8fCBFTkFCTEUoSFRUUF9DQUNIRV9TVEFMRV9XSElM
RV9SRVZBTElEQVRFKQogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oIgog
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMTU1LDYgKzE1NSw0MyBAQCB2b2lkIFNwZWN1bGF0
aXZlTG9hZDo6ZGlkQ29tcGxldGUoKQogICAgIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZSht
X2NhY2hlRW50cnkpKTsKIH0KIAorI2lmICFMT0dfRElTQUJMRUQKKworc3RhdGljIHZvaWQgZHVt
cEhUVFBIZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRU
UEhlYWRlck1hcCYgaGVhZGVyc0IpCit7CisgICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7
CisgICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkg
eworICAgICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOworICAgICAg
ICBpZiAodmFsdWVCLmlzTnVsbCgpKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJl
cXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4
KCkuZGF0YSgpKTsKKyAgICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKKyAgICAg
ICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRU
UCBoZWFkZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRm
OCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgp
KTsKKyAgICB9CisgICAgYXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7CisgICAgZm9yIChhdXRv
IGl0ID0gaGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgeworICAgICAgICBpZiAo
IWhlYWRlcnNBLmNvbnRhaW5zKGl0LT5rZXkpKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNl
Y29uZCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFs
dWUudXRmOCgpLmRhdGEoKSk7CisgICAgfQorfQorCisjZW5kaWYKKworYm9vbCByZXF1ZXN0c0hl
YWRlcnNNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHNwZWN1bGF0aXZlVmFsaWRhdGlvblJl
cXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkKK3sKKyAgICBBU1NF
UlQoIWFjdHVhbFJlcXVlc3QuaXNDb25kaXRpb25hbCgpKTsKKyAgICBSZXNvdXJjZVJlcXVlc3Qg
c3BlY3VsYXRpdmVSZXF1ZXN0ID0gc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdDsKKyAgICBz
cGVjdWxhdGl2ZVJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKworICAgIGlmIChzcGVjdWxh
dGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpICE9IGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRl
ckZpZWxkcygpKSB7CisgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRp
bmcsICJDYW5ub3QgcmV1c2Ugc3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQgZW50cnkgYmVjYXVzZSBI
VFRQIGhlYWRlcnMgdXNlZCBmb3IgdmFsaWRhdGlvbiBkbyBub3QgbWF0Y2giKTsKKyNpZiAhTE9H
X0RJU0FCTEVECisgICAgICAgIGR1bXBIVFRQSGVhZGVyc0RpZmYoc3BlY3VsYXRpdmVSZXF1ZXN0
Lmh0dHBIZWFkZXJGaWVsZHMoKSwgYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOwor
I2VuZGlmCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVMb2FkLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCmluZGV4IDZjZTc3Zjk5ZWEwMDM0NzNjNjk4
MDdmZjg1OTBiMjIxYzJlMmQ0MGMuLjlmNzQ3ZjdlYWE1YzgzOWIzZjdjNzFjNmFiNWNkMDU3MGEx
OGMxNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaApAQCAtMjUsNyArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZF
X1JFVkFMSURBVElPTikKKyNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZB
TElEQVRJT04pIHx8IEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCiAK
ICNpbmNsdWRlICJOZXR3b3JrQ2FjaGUuaCIKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVFbnRyeS5o
IgpAQCAtNzcsNiArNzcsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaWRDb21wbGV0ZSB7IGZh
bHNlIH07CiB9OwogCitib29sIHJlcXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KTsKKwogfSAvLyBuYW1lc3BhY2UgTmV0
d29ya0NhY2hlCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5h
Z2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKaW5kZXggNjc5NDAzOWI3ZTE5MTdhNGFhYmFkNGQy
ZDUwOGY3Mzk1Mzc4NjU2Ny4uOTgwNmY2MmVhN2JiMDVjMGMzZWQ3MmFhZmRlNzQzZGQ1ZWRhYjgz
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBA
IC0yNTYsNDMgKzI1Niw2IEBAIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6On5TcGVjdWxhdGl2ZUxv
YWRNYW5hZ2VyKCkKIHsKIH0KIAotI2lmICFMT0dfRElTQUJMRUQKLQotc3RhdGljIHZvaWQgZHVt
cEhUVFBIZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRU
UEhlYWRlck1hcCYgaGVhZGVyc0IpCi17Ci0gICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7
Ci0gICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkg
ewotICAgICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOwotICAgICAg
ICBpZiAodmFsdWVCLmlzTnVsbCgpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJl
cXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4
KCkuZGF0YSgpKTsKLSAgICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKLSAgICAg
ICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRU
UCBoZWFkZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRm
OCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgp
KTsKLSAgICB9Ci0gICAgYXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7Ci0gICAgZm9yIChhdXRv
IGl0ID0gaGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgewotICAgICAgICBpZiAo
IWhlYWRlcnNBLmNvbnRhaW5zKGl0LT5rZXkpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNl
Y29uZCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFs
dWUudXRmOCgpLmRhdGEoKSk7Ci0gICAgfQotfQotCi0jZW5kaWYKLQotc3RhdGljIGJvb2wgcmVx
dWVzdHNIZWFkZXJzTWF0Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlk
YXRpb25SZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCi17Ci0g
ICAgQVNTRVJUKCFhY3R1YWxSZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKSk7Ci0gICAgUmVzb3VyY2VS
ZXF1ZXN0IHNwZWN1bGF0aXZlUmVxdWVzdCA9IHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3Q7
Ci0gICAgc3BlY3VsYXRpdmVSZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7Ci0KLSAgICBpZiAo
c3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSAhPSBhY3R1YWxSZXF1ZXN0Lmh0
dHBIZWFkZXJGaWVsZHMoKSkgewotICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQ
cmVsb2FkaW5nLCAiQ2Fubm90IHJldXNlIHNwZWN1bGF0aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJl
Y2F1c2UgSFRUUCBoZWFkZXJzIHVzZWQgZm9yIHZhbGlkYXRpb24gZG8gbm90IG1hdGNoIik7Ci0j
aWYgIUxPR19ESVNBQkxFRAotICAgICAgICBkdW1wSFRUUEhlYWRlcnNEaWZmKHNwZWN1bGF0aXZl
UmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCksIGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxk
cygpKTsKLSNlbmRpZgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIHJldHVybiB0
cnVlOwotfQotCiBib29sIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OmNhblVzZVByZWxvYWRlZEVu
dHJ5KGNvbnN0IFByZWxvYWRlZEVudHJ5JiBlbnRyeSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBh
Y3R1YWxSZXF1ZXN0KQogewogICAgIGlmICghZW50cnkud2FzUmV2YWxpZGF0ZWQoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlv
bnNHVEsuY21ha2UKaW5kZXggNWM4YmNjNzVjOWU1YTgyMGVhYjM5MDA3MjlmZDNmMWNlZGI1NDdj
ZS4uNGQ2ZWU2MzczM2M5ZTFhNThjYzJlMjE3OWU4MDAzMTI4NTJjOWZhOCAxMDA2NDQKLS0tIGEv
U291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNH
VEsuY21ha2UKQEAgLTE1NCw2ICsxNTQsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RPV05MT0FEX0FUVFJJQlVURSBQUklWQVRFIE9OKQog
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSBQ
UklWQVRFICR7RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFU30pCiBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlRQRElSIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJ
REFURSBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9NRURJQV9TVFJFQU0gUFJJVkFURSAke0VOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVN9KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01IVE1M
IFBSSVZBVEUgT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21h
a2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggZTMwMWFiZDZkZTg3
ODkxMjUyMzliZDFlYWM4NmQ5MjFjYzMxNmU3NC4uYmVlOTQ3OTRlNmIyY2E2NjU4Nzc3NTlkMjc5
OTMzNGQ4ZDQzOWU4YSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMTM3LDYgKzEz
Nyw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJICJUb2dnbGUgRnVsbHNjcmVlbiBBUEkgc3VwcG9ydCIg
UFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfR0FNRVBBRCAiVG9n
Z2xlIEdhbWVwYWQgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0dFT0xPQ0FUSU9OICJUb2dnbGUgR2VvbG9jYXRpb24gc3VwcG9ydCIgUFJJVkFU
RSBPTikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9X
SElMRV9SRVZBTElEQVRFICJUb2dnbGUgSFRUUCBjYWNoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFICJUb2dnbGUgSW5kZXhlZCBEYXRhYmFzZSBzdXBwb3J0IiBQUklWQVRF
IE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMgIlRvZ2dsZSBzdXBwb3J0IGZvciBJbmRleGVkIERhdGFiYXNlIGluIHdvcmtlcnMi
IFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IgIlRvZ2dsZSBJbnB1dCBUeXBlIENvbG9yIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGI1YjE5YzY1YzAyNjJhZDA3MTA2ZGI3Mzg1NDViYjI3MGJjZWY1Y2IuLmI2YzI5YzBhOTEx
ZmVhM2MyZTJhMzliMWQ3NGFlZGQ0NmU3ZWZkYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
OS0xMC0wNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQg
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2tpcCBuZXdseSBpbXBvcnRlZCB0ZXN0cyBm
b3IgV0sxLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOS0xMC0w
NiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBhdHRhY2hTaGFk
b3cgc2hvdWxkIHN1cHBvcnQgYXR0YWNoaW5nIGEgc2hhZG93IHJvb3QgdG8gYSBtYWluIGVsZW1l
bnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQ2YWJkOWE2MmNjZjA4OTlmNmQy
M2E1NGMxMGFhMDJhYzUwNmYwNjEuLmUzMDNjNWEzOTY1NTJlZjA4YzNmMTZkNTk1YWE3ZDczYmRk
MGU3N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisy
MDE5LTEwLTA3ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9y
dCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnQgc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZSBXUFQgdGVzdHMuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9u
cy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5OiBBZGRlZC4KKyAgICAgICAgKG1h
aW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weTogQWRkZWQuCisgICAgICAgIChtYWluKToK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5OiBBZGRlZC4KKyAgICAgICAgKGlkX3Rva2VuKToK
KyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3Rh
bGUtY3NzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0
YWxlLWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvc3RhbGUtc2NyaXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qczogQWRkZWQuCisgICAgICAgIChhc3luYy5icm9hZGNh
c3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAxOS0xMC0wNCAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBDaGFuZ2UgIkludmFsaWRTdGF0ZUVycm9y
IiB0byAiTm90U3VwcG9ydGVkRXJyb3IiIGZvciBhdHRhY2hTaGFkb3coKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbgppbmRleCBiZWQzMzk1YjA2YWM3MWQxNWNmMDVhZTE2MzJlMDQ3ZGZiMmRmZDQ0Li42
MWI3Y2NmYjgwNWU2NTRiODY1NjZiNjk5OGI1OWM1ZTBlODJhMTNkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbgpAQCAtMTYwLDYgKzE2MCw3IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29y
cyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3JhbmdlIjogImlt
cG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Z1bGxzY3JlZW4iOiAi
c2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZ2FtZXBhZCI6ICJza2lwIiwgCiAgICAg
IndlYi1wbGF0Zm9ybS10ZXN0cy9nZW5lcmljLXNlbnNvciI6ICJza2lwIiwgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2Zl
dGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFjNzc3YWRmMjQ4YWEzN2Fj
MGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBTZWNvbmQgZmV0Y2ggcmV0dXJucyBz
YW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFjNzc3YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1l
IHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVm
Y2ViYzI0YTYzZjQwZGU1NGE0YzM5OTFjOTA1MGViNzQ0ODZhMjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgPHRpdGxlPlN0YWxlIFJldmFsaWRhdGlvbiBSZXF1ZXN0cyBkb24ndCBnZXQgc2VudCB0byBz
ZXJ2aWNlIHdvcmtlcjwvdGl0bGU+CisgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4K
KyAgPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorCisgIC8vIER1cGxpY2F0aW5nIHRoaXMgcmVzb3VyY2UgdG8gbWFrZSBz
ZXJ2aWNlIHdvcmtlciBzY29waW5nIHNpbXBsZXIuCisgIGFzeW5jIGZ1bmN0aW9uIHNldHVwUmVn
aXN0cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVkKHQsIHNjb3BlKSB7CisgICAgY29uc3QgY29u
dHJvbGxlZCA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBuYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5vbmNvbnRyb2xsZXJjaGFuZ2UgPSAoKSA9PiB7IHJlc29sdmUoKTsgfTsKKyAg
ICB9KTsKKyAgICBjb25zdCByZWcgPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdp
c3Rlcignc3ctaW50ZXJjZXB0LmpzJyk7CisgICAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVn
Lmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICBhd2FpdCBjb250cm9sbGVkOworICAgIGFk
ZF9jb21wbGV0aW9uX2NhbGxiYWNrKF8gPT4gcmVnLnVucmVnaXN0ZXIoKSk7CisgICAgcmV0dXJu
IHJlZzsKKyAgfQorCisgIC8vIFVzaW5nIDI1MG1zIHBvbGxpbmcgaW50ZXJ2YWwgdG8gcHJvdmlk
ZSBlbm91Z2ggJ25ldHdvcmsgY2FsbW5lc3MnIHRvIGdpdmUKKyAgLy8gdGhlIGJhY2tncm91bmQg
bG93IHByaW9yaXR5IHJldmFsaWRhdGlvbiByZXF1ZXN0IGEgY2hhbmNlIHRvIGtpY2sgaW4uCisg
IGZ1bmN0aW9uIHdhaXQyNTBtcyh0ZXN0KSB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29s
dmUgPT4geworICAgICAgdGVzdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgICByZXNvbHZl
KCk7CisgICAgICB9LCAyNTApOworICAgIH0pOworICB9CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5j
ICh0ZXN0KSA9PiB7CisgICAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworICAgIGNvbnN0
IHVyaSA9ICdyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPScgKyByZXF1ZXN0X3Rva2Vu
OworCisgICAgYXdhaXQgc2V0dXBSZWdpc3RyYXRpb25BbmRXYWl0VG9CZUNvbnRyb2xsZWQodGVz
dCwgJ3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHknKTsKKworICAgIHZhciBzZXJ2aWNlX3dvcmtl
cl9jb3VudCA9IDA7CisgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5l
cignbWVzc2FnZScsIGZ1bmN0aW9uIG9uY2UoZXZlbnQpIHsKKyAgICAgIGlmIChldmVudC5kYXRh
LmVuZHNXaXRoKHVyaSkpIHsKKyAgICAgICAgc2VydmljZV93b3JrZXJfY291bnQrKzsKKyAgICAg
IH0KKyAgICB9KTsKKworICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJpKTsKKyAg
ICBjb25zdCByZXNwb25zZTIgPSBhd2FpdCBmZXRjaCh1cmkpOworICAgIGFzc2VydF9lcXVhbHMo
cmVzcG9uc2UuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpLCByZXNwb25zZTIuaGVhZGVycy5nZXQo
J1VuaXF1ZS1JZCcpKTsKKyAgICB3aGlsZSh0cnVlKSB7CisgICAgICBjb25zdCByZXZhbGlkYXRp
b25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT9xdWVyeSZ0
b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAgICBpZiAocmV2YWxpZGF0aW9uX2NoZWNrLmhl
YWRlcnMuZ2V0KCdDb3VudCcpID09ICcyJykgeworICAgICAgICAvLyBUaGUgc2VydmljZSB3b3Jr
ZXIgc2hvdWxkIG5vdCBzZWUgdGhlIHJldmFsaWRhdGlvbiByZXF1ZXN0LgorICAgICAgICBhc3Nl
cnRfZXF1YWxzKHNlcnZpY2Vfd29ya2VyX2NvdW50LCAyKTsKKyAgICAgICAgYnJlYWs7CisgICAg
ICB9CisgICAgICBhd2FpdCB3YWl0MjUwbXModGVzdCk7CisgICAgfQorICB9LCAnU2Vjb25kIGZl
dGNoIHJldHVybnMgc2FtZSByZXNwb25zZScpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL2ZldGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzMzOTBjN2FkNTk0OGM2ODJiMmZiZGNiM2M5NWE0
YzM3NGRiYmEyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1s
CkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgaXMgbm90IGV4ZWN1dGVkIGZv
ciBmZXRjaCBBUEk8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK2Z1bmN0aW9uIHdhaXQyNW1zKHRlc3QpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNl
KHJlc29sdmUgPT4geworICAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIHJlc29s
dmUoKTsKKyAgICB9LCAyNSk7CisgIH0pOworfQorCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3Qp
ID0+IHsKKyAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworCisgIGNvbnN0IHJlc3BvbnNl
ID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49YCArIHJlcXVl
c3RfdG9rZW4pOworICBjb25zdCByZXNwb25zZTIgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0
YWxlLXNjcmlwdC5weT90b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisKKyAgYXNzZXJ0X2VxdWFs
cyhyZXNwb25zZS5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJyksIHJlc3BvbnNlMi5oZWFkZXJzLmdl
dCgnVW5pcXVlLUlkJykpOworCisgIHdoaWxlKHRydWUpIHsKKyAgICBjb25zdCByZXZhbGlkYXRp
b25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT9xdWVyeSZ0
b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAgaWYgKHJldmFsaWRhdGlvbl9jaGVjay5oZWFk
ZXJzLmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgICBhd2Fp
dCB3YWl0MjVtcyh0ZXN0KTsKKyAgfQorfSwgJ1NlY29uZCBmZXRjaCByZXR1cm5zIHNhbWUgcmVz
cG9uc2UnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNl
cy9zdGFsZS1jc3MucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hNmFlNTQ2ZDA2NTFmOTdmMzAyMDgyOTQ1MmRiNjIyNTQ4NmRjNDUxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkKQEAg
LTAsMCArMSwyOCBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorCisgICAgdG9rZW4g
PSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVz
dC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2
ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0
b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAg
Y291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBpc19xdWVyeToKKyAgICAgICAgaWYgY291bnQg
PCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisg
ICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAgICByZXF1ZXN0LnNl
cnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgaGVh
ZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIiCisgICAgICByZXR1
cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIGNvbnRlbnQgPSAiYm9k
eSB7IGJhY2tncm91bmQ6IHJnYigwLCAxMjgsIDApOyB9IgorICAgICAgaWYgY291bnQgPiAxOgor
ICAgICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAwLCAwKTsgfSIK
KworICAgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2NzcyIpLAorICAgICAg
ICAgICAgICAgKCJDYWNoZS1Db250cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZT02MCIpXQorCisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Mzll
Yjg0YmIzNGJiZDE1ZTJjYTcwNjFlZTRmYTU3MjRkMmM2NGY4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQpAQCAtMCwwICsxLDM4IEBA
CitpbXBvcnQgb3MucGF0aAorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisKKyAgICB0
b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgaXNfcXVlcnkgPSBy
ZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAgd2l0aCByZXF1ZXN0
LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50
YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAhPSBOb25lOgorICAg
ICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgICBpZiBj
b3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3Vu
dCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAgIHJlcXVl
c3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisKKyAgICBpZiBpc19xdWVyeToKKyAg
ICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRlbnQgPSAiIgorICAg
ICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6CisgICAgICBmaWxlbmFt
ZSA9ICJncmVlbi0xNngxNi5wbmciCisgICAgICBpZiBjb3VudCA+IDE6CisgICAgICAgIGZpbGVu
YW1lID0gImdyZWVuLTI1NngyNTYucG5nIgorCisgICAgICBwYXRoID0gb3MucGF0aC5qb2luKG9z
LnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLi8uLi8uLi9pbWFnZXMiLCBmaWxlbmFtZSkKKyAg
ICAgIGJvZHkgPSBvcGVuKHBhdGgsICJyYiIpLnJlYWQoKQorCisgICAgICByZXNwb25zZS5hZGRf
cmVxdWlyZWRfaGVhZGVycyA9IEZhbHNlCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfc3Rh
dHVzKDIwMCkKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIoImNvbnRlbnQtbGVu
Z3RoIiwgbGVuKGJvZHkpKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiQ2Fj
aGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdlPTAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9
NjAiKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiY29udGVudC10eXBlIiwg
ImltYWdlL3BuZyIpCisgICAgICByZXNwb25zZS53cml0ZXIuZW5kX2hlYWRlcnMoKQorCisgICAg
ICByZXNwb25zZS53cml0ZXIud3JpdGUoYm9keSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9z
dGFsZS1zY3JpcHQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFkNTQ2NzFmNDIxMTczNWY1NmRmNTBhNTVkZWVh
NmVkMjgxZDVhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMv
c3RhbGUtc2NyaXB0LnB5CkBAIC0wLDAgKzEsMzIgQEAKK2ltcG9ydCByYW5kb20sIHN0cmluZywg
ZGF0ZXRpbWUKKworZGVmIGlkX3Rva2VuKCk6CisgICBsZXR0ZXJzID0gc3RyaW5nLmFzY2lpX2xv
d2VyY2FzZQorICAgcmV0dXJuICcnLmpvaW4ocmFuZG9tLmNob2ljZShsZXR0ZXJzKSBmb3IgaSBp
biByYW5nZSgyMCkpCisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICB0b2tlbiA9
IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgaXNfcXVlcnkgPSByZXF1ZXN0
LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAgd2l0aCByZXF1ZXN0LnNlcnZl
ci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRv
a2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAhPSBOb25lOgorICAgICAgICBj
b3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgICBpZiBjb3VudCA8
IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAg
ICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAgIHJlcXVlc3Quc2Vy
dmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisKKyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhl
YWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0
dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6CisgICAgICB1bmlxdWVfaWQgPSBp
ZF90b2tlbigpCisgICAgICBoZWFkZXJzID0gWygiQ29udGVudC1UeXBlIiwgInRleHQvamF2YXNj
cmlwdCIpLAorICAgICAgICAgICAgICAgICAoIkNhY2hlLUNvbnRyb2wiLCAicHJpdmF0ZSwgbWF4
LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwIiksCisgICAgICAgICAgICAgICAgICgi
VW5pcXVlLUlkIiwgdW5pcXVlX2lkKV0KKyAgICAgIGNvbnRlbnQgPSAicmVwb3J0KCd7fScpIi5m
b3JtYXQodW5pcXVlX2lkKQorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzVhNzczMmE1
NjZkNGE2ZjU3M2NjOTdmZDNkMTQ1NDY1N2Q0NzY4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOSBAQAorVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0lu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1Qg
bW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGll
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmls
ZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNl
cy9zdGFsZS1zY3JpcHQucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFmMDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9z
dGFsZS1jc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTYyNjBmZGI0NWMwYzJjNjBiNGQ3NmY2M2E3NjM4
OWRmODE4YjExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5o
dG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIGNzczwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CisKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5jX3Rlc3QodCA9PiB7Cisg
IHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgdC5zdGVwX3RpbWVvdXQo
KCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyksICJyZ2IoMCwg
MTI4LCAwKSIpOworICAgICAgdmFyIGxpbmsyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGlu
ayIpOworICAgICAgbGluazIub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICBh
c3NlcnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFBy
b3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSwgInJnYigwLCAxMjgsIDApIik7CisgICAg
ICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1
c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAg
ICAgICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLWNzcy5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVz
dF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZh
ciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYg
KGNvdW50ID09ICcyJykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBf
dGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBsaW5rMi5yZWwgPSAi
c3R5bGVzaGVldCI7CisgICAgICBsaW5rMi50eXBlID0gInRleHQvY3NzIjsKKyAgICAgIGxpbmsy
LmhyZWYgPSAicmVzb3VyY2VzL3N0YWxlLWNzcy5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsK
KyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluazIpOworICAgIH0sIDApOworICB9
KTsKK30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlJyk7CisKK3ZhciBsaW5rID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOworbGluay5yZWwgPSAic3R5bGVzaGVldCI7Cits
aW5rLnR5cGUgPSAidGV4dC9jc3MiOworbGluay5ocmVmID0gInJlc291cmNlcy9zdGFsZS1jc3Mu
cHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxp
bmspOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3Rh
bGUtaW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xZTQyMDE0ZGVmZDcxOTEwOTZjMzNjY2U1ODMwZWY3Y2FhMWE1
N2E2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKyAKKworUEFTUyBDYWNoZSByZXR1cm5zIHN0YWxlIHJl
c291cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhMDhmODE3Mjlk
ZTQ5OTg1YzY1NzVlMWE3YTVmY2I3N2QzYTBlZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZh
bGlkYXRlIHdvcmtzIGZvciBpbWFnZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMi
Pjwvc2NyaXB0PgorPGJvZHk+Cis8IS0tCitVc2UgYSBjaGlsZCBkb2N1bWVudCB0byBsb2FkIHRo
ZSBzZWNvbmQgc3RhbGUgaW1hZ2UgaW50byBiZWNhdXNlCithbiBpbWFnZSBsb2FkZWQgaW50byB0
aGUgc2FtZSBkb2N1bWVudCB3aWxsIHNraXAgY2FjaGUtY29udHJvbCBoZWFkZXJzLgorU2VlOiBo
dHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbGlzdC1vZi1hdmFpbGFibGUtaW1hZ2Vz
CistLT4KKzxpZnJhbWUgaWQ9ImNoaWxkIiBzcmNkb2M9IiI+PC9pZnJhbWU+Cis8c2NyaXB0Pgor
Cit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7Cithc3luY190ZXN0KHQgPT4geworICB3aW5k
b3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHQuc3RlcF90aW1lb3V0KCgpID0+
IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpcnN0aW1h
Z2UiKS53aWR0aCwgMTYsICJXaWR0aCBpcyAxNiIpOworICAgICAgdmFyIGNoaWxkRG9jdW1lbnQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hpbGQnKS5jb250ZW50RG9jdW1lbnQ7CisgICAg
ICB2YXIgaW1nMiA9IGNoaWxkRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CisgICAgICBp
bWcyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhp
bWcyLndpZHRoLCAxNiwgImltYWdlIGRpbWVuc2lvbiIpOworICAgICAgICB2YXIgY2hlY2tSZXN1
bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdlIGRvbid0IGtub3cg
d2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAgZmV0Y2goInJlc291
cmNlcy9zdGFsZS1pbWFnZS5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90b2tlbikudGhlbih0
LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBjb3VudCA9IHJlc3Bv
bnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNvdW50ID09ICcyJykg
eworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jl
c3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBpbWcyLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUt
aW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBjaGlsZERvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoaW1nMik7CisgICAgfSwgMCk7CisgIH0pOworfSwgJ0NhY2hlIHJldHVy
bnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImltZyIpOworaW1nLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk/dG9rZW49IiArIHJl
cXVlc3RfdG9rZW47CitpbWcuaWQgPSAiZmlyc3RpbWFnZSI7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNj
cmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFmMDc5
ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1z
Y3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVybnMg
c3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3Jp
cHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
ODc5M2U1MDA1NmJjNjA1M2VhNDEwZDY1OGFlZDM3M2QxOWY5YTQxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwh
RE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxl
IFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIHNjcmlwdHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21t
b24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgordmFyIGxhc3RfbW9kaWZp
ZWQ7Cit2YXIgbGFzdF9tb2RpZmllZF9jb3VudCA9IDA7Cit2YXIgcmVxdWVzdF90b2tlbiA9IHRv
a2VuKCk7CisKKy8vIFRoZSBzY3JpcHQgd2lsbCBjYWxsIHJlcG9ydCB2aWEgYSB1bmlxdWVseSBn
ZW5lcmF0ZWQgSUQgb24gdGhlIHN1YnJlc291cmNlLgorLy8gSWYgaXQgaXMgYSBjYWNoZSBoaXQg
dGhlIElEIHdpbGwgYmUgdGhlIHNhbWUgYW5kIHRoZSB0ZXN0IHdpbGwgcGFzcy4KK2Z1bmN0aW9u
IHJlcG9ydChtb2QpIHsKKyAgaWYgKCFsYXN0X21vZGlmaWVkKSB7CisgICAgbGFzdF9tb2RpZmll
ZCA9IG1vZDsKKyAgICBsYXN0X21vZGlmaWVkX2NvdW50ID0gMTsKKyAgfSBlbHNlIGlmIChsYXN0
X21vZGlmaWVkID09IG1vZCkgeworICAgIGxhc3RfbW9kaWZpZWRfY291bnQrKzsKKyAgfQorfQor
Cithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4g
eworICAgIHN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgICBzY3JpcHQuc3JjID0gInJlc291cmNlcy9z
dGFsZS1zY3JpcHQucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7CisgICAgICBzY3JpcHQub25sb2FkID0gdC5zdGVwX2Z1
bmMoKCkgPT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMobGFzdF9tb2RpZmllZF9jb3VudCwg
MiwgImxhc3QgbW9kaWZpZWQiKTsKKyAgICAgICAgICB2YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7
CisgICAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSBy
ZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICAgIGZldGNoKCJyZXNvdXJjZXMvc3Rh
bGUtc2NyaXB0LnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0X3Rva2VuKS50aGVuKHQuc3RlcF9m
dW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICB2YXIgY291bnQgPSByZXNwb25zZS5o
ZWFkZXJzLmdldCgiQ291bnQiKTsKKyAgICAgICAgICAgICAgaWYgKGNvdW50ID09ICcyJykgewor
ICAgICAgICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSkpOworICAgICAgICAgIH07CisgICAgICAgICAgdC5zdGVwX3Rp
bWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgIH0pOworICAgIH0sIDApOworICB9KTsKK30s
ICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlJyk7CisKK3ZhciBzY3JpcHQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3NjcmlwdC5zcmMgPSAicmVzb3VyY2VzL3N0YWxl
LXNjcmlwdC5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoc2NyaXB0KTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3N3LWludGVyY2VwdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZGNhN2RlNTFiMGI4YzU1MTgyNzZlNzBhZTIxOWI3YmM4Zjg2OWE5NQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQuanMKQEAgLTAsMCAr
MSwxNCBAQAorYXN5bmMgZnVuY3Rpb24gYnJvYWRjYXN0KG1zZykgeworICBmb3IgKGNvbnN0IGNs
aWVudCBvZiBhd2FpdCBjbGllbnRzLm1hdGNoQWxsKCkpIHsKKyAgICBjbGllbnQucG9zdE1lc3Nh
Z2UobXNnKTsKKyAgfQorfQorCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgZXZlbnQg
PT4geworICBldmVudC53YWl0VW50aWwoYnJvYWRjYXN0KGV2ZW50LnJlcXVlc3QudXJsKSk7Cisg
IGV2ZW50LnJlc3BvbmRXaXRoKGZldGNoKGV2ZW50LnJlcXVlc3QpKTsKK30pOworCitzZWxmLmFk
ZEV2ZW50TGlzdGVuZXIoJ2FjdGl2YXRlJywgZXZlbnQgPT4geworICBzZWxmLmNsaWVudHMuY2xh
aW0oKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiOWRkMDZmODQ2YTcw
NjhmZWEyYjgyODc4MWFkNzVjYzE5OGU3YTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMiBAQAorVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2Vi
LXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1p
bWFnZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3N3LWludGVyY2VwdC5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDVlNjQwMzhhZDhlNjdkNjliYzcxMzljOWI3ZDkzNzFiZTU3
YjZjYzcuLjdmNDgzZGZkYjI5Nzc5MmMyYmVmNmMwZGE4YWU1MWIzOTI0ZjExMGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5OTgsMyAr
MTk5OCw2IEBAIHdlYmtpdC5vcmcvYi8xODg3NjIgZmFzdC93cml0aW5nLW1vZGUvZW5nbGlzaC1y
bC10ZXh0LXdpdGgtc3BlbGxpbmctbWFya2VyLmh0bWwKIGluc3BlY3Rvci9jYW52YXMvcmVjb3Jk
aW5nLWh0bWwtMmQuaHRtbAogCiB3ZWJraXQub3JnL2IvMTU5NzI0IFsgRGVidWcgXSBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXBvc3QtdXBsb2FkLmh0
bSBbIFNraXAgXQorCisjIFN0YWxlLXdoaWxlLXJldmFsaWRhdGUgaXMgbm90IHN1cHBvcnRlZCBv
biBXSzEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZSBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IGIwMGNiZDZlOTI4ZDAyNWJiMzZjMzY0ZjQwMTVhMzcxYTkyZTVh
YjUuLjhhNjA4NWNmMDQ3ODRiMmQ5MTU2ZWIwNmM4MTY1NzA0YmY5NDk4YmYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTc5MSwzICs3OTEs
NiBAQCB3ZWJraXQub3JnL2IvMTk5MjQyIFsgRGVidWcgXSBodHRwL3Rlc3RzL3BlcmZvcm1hbmNl
L3BlcmZvcm1hbmNlLXJlc291cmNlLXRpbWluZwogWyBNb2phdmUrIF0gZmFzdC9pbWFnZXMvYW5p
bWF0ZWQtaGVpY3MtdmVyaWZ5Lmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzIwMDAwMiBb
IE1vamF2ZSsgRGVidWcgXSBpbXBvcnRlZC9ibGluay9zdG9yYWdlL2luZGV4ZWRkYi9ibG9iLWJh
c2ljcy1tZXRhZGF0YS5odG1sIFsgVGltZW91dCBdCisKKyMgU3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZSBpcyBub3Qgc3VwcG9ydGVkIG9uIFdLMQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9DaGFu
Z2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYmVhZTJmZmYzZjgxNDljNWZhYjVkNjk5Y2Y2OTRkNDk2
ZWYzN2Y2Ni4uMjA4ZTkxOTk4NTYxMTAzZmZlOGFhM2EzYWY2NmViNGFkODlkZDFmNCAxMDA2NDQK
LS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEw
LTA3ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFs
ZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtl
OgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAxOS0x
MC0wNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZC4gVXBkYXRlIE9wdGlvbnNHVEsuY21ha2UgYW5kIE5FV1MgZm9yIDIuMjcu
MSByZWxlYXNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380310</attachid>
            <date>2019-10-07 01:59:53 -0700</date>
            <delta_ts>2019-10-07 07:22:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191007105950.patch</filename>
            <type>text/plain</type>
            <size>104845</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NjcwMTQ0MTUxMDg5MjBkN2MwZTQ3NzhmZTEyMjI5Y2ZjYmUxMjQzLi42ZThmYTYyZWYwNWI4NDlk
NjFiM2UwM2Q3N2QzNDQwZDI2Y2JmMWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0xMC0wNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0xMC0wNCAgUm9zcyBLaXJzbGlu
ZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgU29ja2V0LWJhc2VkIFJXSSBz
aG91bGQgYmFzZTY0LWVuY29kZSBiYWNrZW5kIGNvbW1hbmRzIG9uIGNsaWVudCwgbm90IHNlcnZl
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGU4NjJhY2RiMjg3ZWE5Y2M1NjI1MjIwZjE4MGM3M2Q4MzEyMjIxYTIu
LjI3YjQyZjBjZWY4MWRhMmU3MDJhMTAxNWYxYTI2OTkzMmM1MWI3MDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxOS0xMC0wNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgor
CisgICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RhcnQgcGFy
c2luZyB0aGUgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBDYWNoZS1Db250cm9sIGRpcmVjdGl2ZQor
ICAgICAgICBhbmQgZXhwb3NlIGl0IG9uIFJlc291cmNlUmVzcG9uc2UuCisKKyAgICAgICAgVGVz
dHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
c3RhbGUtaW1hZ2UuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMpOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZUNv
bnRyb2xEaXJlY3RpdmVzOjpDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSBj
b25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5o
OgorCiAyMDE5LTEwLTA2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIGF0dGFjaFNoYWRvdyBzaG91bGQgc3VwcG9ydCBhdHRhY2hpbmcgYSBzaGFkb3cgcm9vdCB0
byBhIG1haW4gZWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggNDhlODMzNzlkYzcyN2M3ZDM4
ZjQxNzBjMGVjYTliMWFjMWRlODQ4NS4uZjNjNjg1NzQ4NjU1M2YxNGUyNjQ1NDZmYzFjNDRkNjU3
NmZjYmY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMTAtMDcg
IFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdo
aWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWc6CisKIDIwMTktMTAtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBTaW1wbGlmeSBzYW5kYm94IGVuYWJsaW5nIG1hY3JvcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA1NzQzZDRiNWI5Nzc2ZDQ0NjJjNDgzYTZmMmViZGM1ZGQ1YWMyNzlmLi4wOWJlOGQ1
MGI0Mzk5YTVjN2FjNmVjZDIyOGRlNmEwNmNkYTA3OTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQy
IEBACisyMDE5LTEwLTA3ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAg
U3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgVXNlRGVjaXNp
b24gdmFsdWUgQXN5bmNSZXZhbGlkYXRlIGZvciBhc3luYyByZXZhbGlkYXRpb24uIFRoaXMgaXMg
dXNlZAorICAgICAgICB3aGVuIHRoZSByZXRyaWV2ZWQgY2FjaGUgZW50cnkgaXMgYSBzdGFsZS13
aGlsZS1yZXZhbGlkYXRlIHJlc3BvbnNlIFsxXS4KKyAgICAgICAgSW4gY2FzZSBvZiBBc3luY1Jl
dmFsaWRhdGUsIGEgY2hlY2sgaXMgbWFkZSB0byBzZWUgaWYgdGhlcmUgaXMgYQorICAgICAgICBj
dXJyZW50IGFzeW5jIHJldmFsaWRhdGlvbiBvbmdvaW5nIGZvciB0aGUgZW50cnksIGlmIG5vdCBv
bmUgaXMKKyAgICAgICAgc3RhcnRlZC4gUmVnYXJkbGVzcywgdGhlIHN0YWxlIGVudHJ5IGlzIHJl
dHVybmVkLCB1bnRpbCBlaXRoZXIgdGhlCisgICAgICAgIGFzeW5jIHJldmFsaWRhdGlvbiBlbmRz
IHN1Y2Nlc3NmdWxseSBvciBhdCB0aGUgbW9tZW50IHdoZXJlIHRoZQorICAgICAgICByZXNwb25z
ZSBleHBpcmVzIGZvciByZWFsLgorCisgICAgICAgIFsxXSBodHRwczovL2ZldGNoLnNwZWMud2hh
dHdnLm9yZy8jY29uY2VwdC1zdGFsZS13aGlsZS1yZXZhbGlkYXRlLXJlc3BvbnNlCisKKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrQ2FjaGU6OnJlc3BvbnNlSGFzRXhwaXJlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDYWNoZTo6cmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtDYWNoZTo6bWFrZVVzZURlY2lzaW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nh
Y2hlOjptYWtlU3RvcmVEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
Y29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
YWNoZTo6QXN5bmNSZXZhbGlkYXRpb246OkFzeW5jUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0NhY2hlOjpBc3luY1JldmFsaWRhdGlvbjo6bG9hZCBjb25zdCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVS
ZXZhbGlkYXRlRW5kaW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpjYW5Vc2VQ
ZW5kaW5nUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpDYWNo
ZTo6c3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpDYWNoZTo6cmV0cmlldmUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6ZHVtcEhUVFBIZWFkZXJzRGlmZik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
cmVxdWVzdHNIZWFkZXJzTWF0Y2gpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ2FjaGU6OmR1bXBIVFRQSGVhZGVyc0RpZmYpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlcXVlc3RzSGVhZGVyc01hdGNoKTogRGVsZXRlZC4K
KwogMjAxOS0xMC0wNCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAg
VXNlIGEgYmV0dGVyIG5hbWUgdGhhbiBhbGxvd0Zhc3RDbGlja3NFdmVyeXdoZXJlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggODUxOWQzYzAxMjY5YzViMmFhNWY4YzgyNTMzYjMzOTQx
MTM4ZGFjOS4uNGYyYTgyZTZhYzFhNzQ0NDE4YzYxZmQ3Njc3ZmE5OTNhYWNkMzRiMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTEwLTA3ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
OgorCiAyMDE5LTEwLTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmVuYW1lIFNjaGVtZVJlZ2lzdHJ5IHRvIExlZ2FjeVNjaGVtZVJlZ2lz
dHJ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZDgwOGVlMDNmYTI0NzkyMDg2ZGQ5Yzdl
ZDVhNGUwNmY1OWMwNTIzOC4uN2RhMzRlNjNjZDcyNGIyMDc0ZjhlZmJjM2Y0YjMxMzFhNTdkNTIx
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTkwLDYgKzE5MCw4IEBAIEVOQUJMRV9H
RU9MT0NBVElPTl9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVf
R0VPTE9DQVRJT05fbWFjY2F0YWx5c3QgPSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VP
TE9DQVRJT05fbWFjb3N4ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogCitFTkFCTEVfSFRUUF9DQUNI
RV9TVEFMRV9XSElMRV9SRVZBTElEQVRFID0gRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVf
UkVWQUxJREFURTsKKwogRU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSBFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRTsKIAogRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUyA9IEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlM7CkBAIC00NDMsNCArNDQ1LDQgQEAgRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7
CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJ
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJ
T04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykg
JChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAk
KEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZ
X0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9D
T0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVP
X1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JF
VkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NS
T0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRC
T1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVf
UkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VM
RU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9Y
U0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZF
U1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RB
UktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lP
TlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5B
VEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FD
SEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVD
VCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCRFJJVkVSX01P
VVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9O
UykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9X
RUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBkODA4ZWUwM2ZhMjQ3OTIwODZk
ZDljN2VkNWE0ZTA2ZjU5YzA1MjM4Li43ZGEzNGU2M2NkNzI0YjIwNzRmOGVmYmMzZjRiMzEzMWE1
N2Q1MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTkwLDYgKzE5MCw4IEBAIEVOQUJMRV9HRU9MT0NBVElP
Tl9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJ
T05fbWFjY2F0YWx5c3QgPSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05f
bWFjb3N4ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogCitFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9X
SElMRV9SRVZBTElEQVRFID0gRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFU
RTsKKwogRU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRTsK
IAogRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUyA9IEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlM7CkBAIC00NDMsNCArNDQ1LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJM
RV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RS
QU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVf
RkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
RlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVU
RSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkg
JChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9T
VEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElP
TikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RP
VUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJD
RV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5T
SU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0Up
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVB
TUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxF
X1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VD
SF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxF
X1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9D
U1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VY
UEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
VFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFU
Q0hFUlMpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlC
T0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VM
QVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVS
RkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NI
QVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJT
KSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVP
X1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRP
KSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGQ4MDhlZTAzZmEyNDc5MjA4NmRk
OWM3ZWQ1YTRlMDZmNTljMDUyMzguLjdkYTM0ZTYzY2Q3MjRiMjA3NGY4ZWZiYzNmNGIzMTMxYTU3
ZDUyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5MCw2ICsxOTAsOCBAQCBFTkFCTEVfR0VP
TE9DQVRJT05faXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dF
T0xPQ0FUSU9OX21hY2NhdGFseXN0ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xP
Q0FUSU9OX21hY29zeCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIAorRU5BQkxFX0hUVFBfQ0FDSEVf
U1RBTEVfV0hJTEVfUkVWQUxJREFURSA9IEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEU7CisKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gRU5BQkxFX0lOREVYRURfREFU
QUJBU0U7CiAKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgPSBFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTOwpAQCAtNDQzLDQgKzQ0NSw0IEBAIEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwog
CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJM
RV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9O
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQo
RU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChF
TkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkg
JChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9B
VFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09M
X01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19U
T09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9T
VFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZB
TElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9Y
X0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JF
U09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAk
KEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklW
RVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAk
KEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxF
X1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNM
VCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJF
RSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNU
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJL
X01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05T
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRF
X0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lO
VEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFC
TEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09O
VEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
RVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hF
X1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9Q
T0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1Qp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVO
QUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9I
QU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQo
RU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VT
RV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VC
X0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcAppbmRleCA0OTU5MDUwNjc5Y2UwNTA0ODQyNDQ3ZWIx
ZjVhMGJmOGE2NzY4M2NlLi43NjM3OTgxNmUzMzNmNWFhZWIxMzY4NzAwOWUyODE0NzA0MzJiYzU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlk
YXRpb24uY3BwCkBAIC0zMTMsOCArMzEzLDIwIEBAIENhY2hlQ29udHJvbERpcmVjdGl2ZXMgcGFy
c2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMpCiAg
ICAgICAgICAgICAgICAgZG91YmxlIG1heFN0YWxlID0gZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9E
b3VibGUoJm9rKTsKICAgICAgICAgICAgICAgICBpZiAob2spCiAgICAgICAgICAgICAgICAgICAg
IHJlc3VsdC5tYXhTdGFsZSA9IFNlY29uZHMgeyBtYXhTdGFsZSB9OwotICAgICAgICAgICAgfSBl
bHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0
LCAiaW1tdXRhYmxlIikpCisgICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGRpcmVjdGl2ZXNbaV0uZmlyc3QsICJpbW11dGFibGUiKSkgewogICAgICAg
ICAgICAgICAgIHJlc3VsdC5pbW11dGFibGUgPSB0cnVlOworICAgICAgICAgICAgfSBlbHNlIGlm
IChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAic3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGFs
ZVdoaWxlUmV2YWxpZGF0ZSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGaXJzdCBzdGFsZS13
aGlsZS1yZXZhbGlkYXRlIGRpcmVjdGl2ZSB3aW5zIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBvbmVz
LgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgYm9vbCBvazsKKyAgICAgICAgICAgICAgICBkb3VibGUgc3RhbGVXaGlsZVJl
dmFsaWRhdGUgPSBkaXJlY3RpdmVzW2ldLnNlY29uZC50b0RvdWJsZSgmb2spOworICAgICAgICAg
ICAgICAgIGlmIChvaykgeworICAgICAgICAgICAgICAgICAgICByZXN1bHQubWF4U3RhbGUgPSBT
ZWNvbmRzIHsgc3RhbGVXaGlsZVJldmFsaWRhdGUgfTsKKyAgICAgICAgICAgICAgICAgICAgcmVz
dWx0LnN0YWxlV2hpbGVSZXZhbGlkYXRlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oCmluZGV4IDU2ZWZlYTYyMTU0NDc5NTA2YTE2
NjRmZmQwOGUwOGFiMmM1NTZiY2QuLjhlNmE4ZmMzZDYzMzU0OGRhMTdhOGYwYzQ4NWJiYWE3YjVh
ZDkzYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVW
YWxpZGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZh
bGlkYXRpb24uaApAQCAtNjUsNiArNjUsNyBAQCBzdHJ1Y3QgQ2FjaGVDb250cm9sRGlyZWN0aXZl
cyB7CiAgICAgICAgICwgbm9TdG9yZShmYWxzZSkKICAgICAgICAgLCBtdXN0UmV2YWxpZGF0ZShm
YWxzZSkKICAgICAgICAgLCBpbW11dGFibGUoZmFsc2UpCisgICAgICAgICwgc3RhbGVXaGlsZVJl
dmFsaWRhdGUoZmFsc2UpCiAgICAgICAgIHsgfQogCiAgICAgTWFya2FibGU8U2Vjb25kcywgU2Vj
b25kczo6TWFya2FibGVUcmFpdHM+IG1heEFnZTsKQEAgLTczLDYgKzc0LDcgQEAgc3RydWN0IENh
Y2hlQ29udHJvbERpcmVjdGl2ZXMgewogICAgIGJvb2wgbm9TdG9yZSA6IDE7CiAgICAgYm9vbCBt
dXN0UmV2YWxpZGF0ZSA6IDE7CiAgICAgYm9vbCBpbW11dGFibGUgOiAxOworICAgIGJvb2wgc3Rh
bGVXaGlsZVJldmFsaWRhdGUgOiAxOwogfTsKIFdFQkNPUkVfRVhQT1JUIENhY2hlQ29udHJvbERp
cmVjdGl2ZXMgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKGNvbnN0IEhUVFBIZWFkZXJNYXAm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlc3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVzcG9uc2VCYXNlLmNwcAppbmRleCAyMGFjNjRkNTcwMzRjNjllYTkyYmM3YTQzNTM2ZjE2
ZDc5NWZmYTI5Li41Y2JkYmZlYzlhZGNjN2M3N2ZhMDkxYzk5MjgwNGRlNDk1MjdmZDFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VC
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmNwcApAQCAtNjU1LDYgKzY1NSwxNSBAQCBPcHRpb25hbDxTZWNvbmRzPiBSZXNv
dXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250cm9sTWF4QWdlKCkgY29uc3QKICAgICByZXR1cm4g
bV9jYWNoZUNvbnRyb2xEaXJlY3RpdmVzLm1heEFnZTsKIH0KIAorT3B0aW9uYWw8U2Vjb25kcz4g
UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkg
Y29uc3QKK3sKKyAgICBpZiAoIW1faGF2ZVBhcnNlZENhY2hlQ29udHJvbEhlYWRlcikKKyAgICAg
ICAgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKCk7CisgICAgaWYgKG1fY2FjaGVDb250cm9s
RGlyZWN0aXZlcy5zdGFsZVdoaWxlUmV2YWxpZGF0ZSkKKyAgICAgICAgcmV0dXJuIG1fY2FjaGVD
b250cm9sRGlyZWN0aXZlcy5tYXhTdGFsZTsKKyAgICByZXR1cm4gV1RGOjpudWxsb3B0OworfQor
CiBzdGF0aWMgT3B0aW9uYWw8V2FsbFRpbWU+IHBhcnNlRGF0ZVZhbHVlSW5IZWFkZXIoY29uc3Qg
SFRUUEhlYWRlck1hcCYgaGVhZGVycywgSFRUUEhlYWRlck5hbWUgaGVhZGVyTmFtZSkKIHsKICAg
ICBTdHJpbmcgaGVhZGVyVmFsdWUgPSBoZWFkZXJzLmdldChoZWFkZXJOYW1lKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
aAppbmRleCBjYjE3YjU5NTQ4N2QxMGI3NzNjNGU0ODUzNTQzMDI0YTUwZjFhOTdmLi40MDY4MWYw
NzdhYjllZWQwOWM5MzViYjBiYWFjOWUwYjQwOWMzOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCkBAIC0xMzYs
NiArMTM2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY2FjaGVDb250cm9s
Q29udGFpbnNJbW11dGFibGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGhhc0Nh
Y2hlVmFsaWRhdG9yRmllbGRzKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8
U2Vjb25kcz4gY2FjaGVDb250cm9sTWF4QWdlKCkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQg
T3B0aW9uYWw8U2Vjb25kcz4gY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKSBjb25z
dDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxXYWxsVGltZT4gZGF0ZSgpIGNvbnN0Owog
ICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGFnZSgpIGNvbnN0OwogICAgIFdF
QkNPUkVfRVhQT1JUIE9wdGlvbmFsPFdhbGxUaW1lPiBleHBpcmVzKCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCBkODA4ZWUwM2ZhMjQ3OTIwODZkZDljN2VkNWE0ZTA2ZjU5YzA1MjM4Li43ZGEzNGU2M2Nk
NzI0YjIwNzRmOGVmYmMzZjRiMzEzMWE1N2Q1MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5MCw2ICsxOTAs
OCBAQCBFTkFCTEVfR0VPTE9DQVRJT05faXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0dFT0xPQ0FU
SU9OOwogRU5BQkxFX0dFT0xPQ0FUSU9OX21hY2NhdGFseXN0ID0gRU5BQkxFX0dFT0xPQ0FUSU9O
OwogRU5BQkxFX0dFT0xPQ0FUSU9OX21hY29zeCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIAorRU5B
QkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSA9IEVOQUJMRV9IVFRQX0NBQ0hF
X1NUQUxFX1dISUxFX1JFVkFMSURBVEU7CisKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gRU5B
QkxFX0lOREVYRURfREFUQUJBU0U7CiAKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTOwpAQCAtNDQzLDQgKzQ0NSw0
IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFE
SUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NT
X1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19U
WVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
QVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9E
SVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9T
UEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFC
TEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFO
RExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
VklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0Vf
SU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAk
KEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElD
UykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9D
UllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJ
VFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJ
Q0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9T
SVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09Q
KSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1Rf
SklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQ
RUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJW
RVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NB
TVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJM
RV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlN
RU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZF
TlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0la
RV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VS
VkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxF
X1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FS
RF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVf
V0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRI
TikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAppbmRleCBmMzQ0ZDFhYmE2
NGZlOTNjOWNiZWJkNDdmNDNlODE2M2JhY2Q3YzE3Li43ODA2ZGNjYTJmN2FlYzE3YTRiYzg4ZTVl
MzE2OGEwY2QxYjVjMTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiTmV0
d29ya0NhY2hlLmgiCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVMb2FkLmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVM
b2FkTWFuYWdlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRl
ICJOZXR3b3JrUHJvY2Vzcy5oIgpAQCAtMTUyLDcgKzE1Myw3IEBAIHN0YXRpYyBib29sIGNhY2hl
UG9saWN5QWxsb3dzRXhwaXJlZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBw
b2xpY3kpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgYm9vbCByZXNwb25zZUhhc0V4
cGlyZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFdhbGxUaW1l
IHRpbWVzdGFtcCwgT3B0aW9uYWw8U2Vjb25kcz4gbWF4U3RhbGUpCitzdGF0aWMgYm9vbCByZXNw
b25zZUhhc0V4cGlyZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IFdhbGxUaW1lIHRpbWVzdGFtcCwgT3B0aW9uYWw8U2Vjb25kcz4gbWF4U3RhbGUsIGJvb2wmIGlu
UmVzcG9uc2VTdGFsZW5lc3MpCiB7CiAgICAgaWYgKHJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRh
aW5zTm9DYWNoZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE2MiwyNSArMTYzLDM1IEBA
IHN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhwaXJlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgV2FsbFRpCiAKICAgICBhdXRvIG1heGltdW1TdGFsZW5lc3MgPSBt
YXhTdGFsZSA/IG1heFN0YWxlLnZhbHVlKCkgOiAwX21zOwogICAgIGJvb2wgaGFzRXhwaXJlZCA9
IGFnZSAtIGxpZmV0aW1lID4gbWF4aW11bVN0YWxlbmVzczsKKyNpZiBFTkFCTEUoTkVUV09SS19D
QUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCisgICAgaWYgKGhhc0V4cGlyZWQpIHsKKyAg
ICAgICAgYXV0byByZXNwb25zZU1heFN0YWxlbmVzcyA9IHJlc3BvbnNlLmNhY2hlQ29udHJvbFN0
YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAgICAgIG1heGltdW1TdGFsZW5lc3MgKz0gcmVzcG9u
c2VNYXhTdGFsZW5lc3MgPyByZXNwb25zZU1heFN0YWxlbmVzcy52YWx1ZSgpIDogMF9tczsKKyAg
ICAgICAgaW5SZXNwb25zZVN0YWxlbmVzcyA9IGFnZSAtIGxpZmV0aW1lIDwgbWF4aW11bVN0YWxl
bmVzczsKKyAgICB9CisjZW5kaWYKIAogI2lmbmRlZiBMT0dfRElTQUJMRUQKICAgICBpZiAoaGFz
RXhwaXJlZCkKLSAgICAgICAgTE9HKE5ldHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgbmVl
ZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJlZCBhZ2U9JWYgbGlmZXRpbWU9JWYgbWF4LXN0YWxlPSVn
IiwgYWdlLCBsaWZldGltZSwgbWF4U3RhbGUpOworICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAi
KE5ldHdvcmtQcm9jZXNzKSBuZWVkc1JldmFsaWRhdGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBsaWZl
dGltZT0lZiBtYXgtc3RhbGVuZXNzPSVmIiwgYWdlLCBsaWZldGltZSwgbWF4aW11bVN0YWxlbmVz
cyk7CiAjZW5kaWYKIAogICAgIHJldHVybiBoYXNFeHBpcmVkOwogfQogCi1zdGF0aWMgYm9vbCBy
ZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdhbGxU
aW1lIHRpbWVzdGFtcCkKK3N0YXRpYyBVc2VEZWNpc2lvbiByZXNwb25zZU5lZWRzUmV2YWxpZGF0
aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdhbGxUaW1lIHRpbWVzdGFtcCkKIHsKICAg
ICBhdXRvIHJlcXVlc3REaXJlY3RpdmVzID0gV2ViQ29yZTo6cGFyc2VDYWNoZUNvbnRyb2xEaXJl
Y3RpdmVzKHJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKTsKICAgICBpZiAocmVxdWVzdERpcmVj
dGl2ZXMubm9DYWNoZSkKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBVc2VE
ZWNpc2lvbjo6VmFsaWRhdGU7CiAgICAgLy8gRm9yIHJlcXVlc3RzIHdlIGlnbm9yZSBtYXgtYWdl
IHZhbHVlcyBvdGhlciB0aGFuIHplcm8uCiAgICAgaWYgKHJlcXVlc3REaXJlY3RpdmVzLm1heEFn
ZSAmJiByZXF1ZXN0RGlyZWN0aXZlcy5tYXhBZ2UudmFsdWUoKSA9PSAwX21zKQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpWYWxpZGF0ZTsKIAotICAg
IHJldHVybiByZXNwb25zZUhhc0V4cGlyZWQocmVzcG9uc2UsIHRpbWVzdGFtcCwgcmVxdWVzdERp
cmVjdGl2ZXMubWF4U3RhbGUpOworICAgIGJvb2wgaW5SZXNwb25zZVN0YWxlbmVzcyA9IGZhbHNl
OworICAgIGlmIChyZXNwb25zZUhhc0V4cGlyZWQocmVzcG9uc2UsIHRpbWVzdGFtcCwgcmVxdWVz
dERpcmVjdGl2ZXMubWF4U3RhbGUsIGluUmVzcG9uc2VTdGFsZW5lc3MpKQorICAgICAgICByZXR1
cm4gaW5SZXNwb25zZVN0YWxlbmVzcyA/IFVzZURlY2lzaW9uOjpBc3luY1JldmFsaWRhdGUgOiBV
c2VEZWNpc2lvbjo6VmFsaWRhdGU7CisgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CiB9CiAK
IHN0YXRpYyBVc2VEZWNpc2lvbiBtYWtlVXNlRGVjaXNpb24oTmV0d29ya1Byb2Nlc3MmIG5ldHdv
cmtQcm9jZXNzLCBjb25zdCBQQUw6OlNlc3Npb25JRCYgc2Vzc2lvbklELCBjb25zdCBFbnRyeSYg
ZW50cnksIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKQEAgLTE5Nyw4
ICsyMDgsOSBAQCBzdGF0aWMgVXNlRGVjaXNpb24gbWFrZVVzZURlY2lzaW9uKE5ldHdvcmtQcm9j
ZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgUEFMOjpTZQogICAgIGlmIChjYWNoZVBvbGljeUFs
bG93c0V4cGlyZWQocmVxdWVzdC5jYWNoZVBvbGljeSgpKSkKICAgICAgICAgcmV0dXJuIFVzZURl
Y2lzaW9uOjpVc2U7CiAKLSAgICBpZiAoIXJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oZW50cnku
cmVzcG9uc2UoKSwgcmVxdWVzdCwgZW50cnkudGltZVN0YW1wKCkpKQotICAgICAgICByZXR1cm4g
VXNlRGVjaXNpb246OlVzZTsKKyAgICBhdXRvIGRlY2lzaW9uID0gcmVzcG9uc2VOZWVkc1JldmFs
aWRhdGlvbihlbnRyeS5yZXNwb25zZSgpLCByZXF1ZXN0LCBlbnRyeS50aW1lU3RhbXAoKSk7Cisg
ICAgaWYgKGRlY2lzaW9uICE9IFVzZURlY2lzaW9uOjpWYWxpZGF0ZSkKKyAgICAgICAgcmV0dXJu
IGRlY2lzaW9uOwogCiAgICAgaWYgKCFlbnRyeS5yZXNwb25zZSgpLmhhc0NhY2hlVmFsaWRhdG9y
RmllbGRzKCkpCiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6Tm9EdWVUb01pc3NpbmdWYWxp
ZGF0b3JGaWVsZHM7CkBAIC0yNTEsOCArMjYzLDEwIEBAIHN0YXRpYyBTdG9yZURlY2lzaW9uIG1h
a2VTdG9yZURlY2lzaW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxS
CiAgICAgYm9vbCBzdG9yZVVuY29uZGl0aW9uYWxseUZvckhpc3RvcnlOYXZpZ2F0aW9uID0gaXNN
YWluUmVzb3VyY2UgfHwgb3JpZ2luYWxSZXF1ZXN0LnByaW9yaXR5KCkgPT0gV2ViQ29yZTo6UmVz
b3VyY2VMb2FkUHJpb3JpdHk6OlZlcnlIaWdoOwogICAgIGlmICghc3RvcmVVbmNvbmRpdGlvbmFs
bHlGb3JIaXN0b3J5TmF2aWdhdGlvbikgewogICAgICAgICBhdXRvIG5vdyA9IFdhbGxUaW1lOjpu
b3coKTsKLSAgICAgICAgYm9vbCBoYXNOb25aZXJvTGlmZXRpbWUgPSAhcmVzcG9uc2UuY2FjaGVD
b250cm9sQ29udGFpbnNOb0NhY2hlKCkgJiYgV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0
aW1lRm9ySFRUUEZhbWlseShyZXNwb25zZSwgbm93KSA+IDBfbXM7Ci0KKyAgICAgICAgU2Vjb25k
cyBhbGxvd2VkU3RhbGU7CisgICAgICAgIGlmIChhdXRvIHZhbHVlID0gcmVzcG9uc2UuY2FjaGVD
b250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKSkKKyAgICAgICAgICAgIGFsbG93ZWRTdGFsZSA9
IHZhbHVlLnZhbHVlKCk7CisgICAgICAgIGJvb2wgaGFzTm9uWmVyb0xpZmV0aW1lID0gIXJlc3Bv
bnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpICYmIChXZWJDb3JlOjpjb21wdXRlRnJl
c2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCBub3cpID4gMF9tcyB8fCBhbGxv
d2VkU3RhbGUgPiAwX21zKTsKICAgICAgICAgYm9vbCBwb3NzaWJseVJldXNhYmxlID0gcmVzcG9u
c2UuaGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSB8fCBoYXNOb25aZXJvTGlmZXRpbWU7CiAgICAg
ICAgIGlmICghcG9zc2libHlSZXVzYWJsZSkKICAgICAgICAgICAgIHJldHVybiBTdG9yZURlY2lz
aW9uOjpOb0R1ZVRvVW5saWtlbHlUb1JldXNlOwpAQCAtMjk2LDYgKzMxMCw4MyBAQCBzdGF0aWMg
Ym9vbCBpbmxpbmUgY2FuUmVxdWVzdFVzZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUgogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoSFRUUF9DQUNIRV9TVEFM
RV9XSElMRV9SRVZBTElEQVRFKQorc3RhdGljIGlubGluZSBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QgY29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdChjb25zdCBLZXkmIGtleSwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBFbnRyeSogZW50cnkpCit7Cisg
ICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJldmFsaWRhdGlvblJlcXVlc3QgPSByZXF1ZXN0
OworICAgIGlmICgha2V5LnBhcnRpdGlvbigpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV2YWxpZGF0
aW9uUmVxdWVzdC5zZXRDYWNoZVBhcnRpdGlvbihrZXkucGFydGl0aW9uKCkpOworICAgIEFTU0VS
VF9XSVRIX01FU1NBR0Uoa2V5LnJhbmdlKCkuaXNFbXB0eSgpLCAicmFuZ2UgaXMgbm90IHN1cHBv
cnRlZCIpOworCisgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOwor
ICAgIGlmIChlbnRyeSkgeworICAgICAgICBTdHJpbmcgZVRhZyA9IGVudHJ5LT5yZXNwb25zZSgp
Lmh0dHBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6RVRhZyk7CisgICAgICAg
IGlmICghZVRhZy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNl
dEhUVFBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6SWZOb25lTWF0Y2gsIGVU
YWcpOworCisgICAgICAgIFN0cmluZyBsYXN0TW9kaWZpZWQgPSBlbnRyeS0+cmVzcG9uc2UoKS5o
dHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6Okxhc3RNb2RpZmllZCk7Cisg
ICAgICAgIGlmICghbGFzdE1vZGlmaWVkLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldmFsaWRh
dGlvblJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpJ
Zk1vZGlmaWVkU2luY2UsIGxhc3RNb2RpZmllZCk7CisgICAgfQorCisgICAgcmV2YWxpZGF0aW9u
UmVxdWVzdC5zZXRQcmlvcml0eShXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eTo6TG93KTsK
KworICAgIHJldHVybiByZXZhbGlkYXRpb25SZXF1ZXN0OworfQorCitjbGFzcyBBc3luY1JldmFs
aWRhdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgdHlw
ZWRlZiBGdW5jdGlvbjx2b2lkIChib29sKT4gQXN5bmNSZXZhbGlkYXRpb25Db21wbGV0aW9uSGFu
ZGxlcjsKKyAgICBBc3luY1JldmFsaWRhdGlvbihDYWNoZSYgY2FjaGUsIGNvbnN0IEdsb2JhbEZy
YW1lSUQmIGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
c3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNoZTo6RW50cnk+IGVudHJ5LCBBc3luY1JldmFsaWRh
dGlvbkNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKKyAgICAgICAgOiBtX3RpbWVyKCp0aGlz
LCAmQXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5kaW5nKQorICAgICAg
ICAsIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkKKyAgICB7CisgICAgICAg
IGF1dG8ga2V5ID0gZW50cnktPmtleSgpOworICAgICAgICBhdXRvIHJldmFsaWRhdGlvblJlcXVl
c3QgPSBjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KGtleSwgcmVxdWVzdCwgZW50cnkuZ2V0
KCkpOworICAgICAgICBhdXRvIGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdlKGVudHJ5
LT5yZXNwb25zZSgpLCBlbnRyeS0+dGltZVN0YW1wKCkpOworICAgICAgICBhdXRvIGxpZmV0aW1l
ID0gV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShlbnRyeS0+
cmVzcG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICAgICAgYXV0byByZXNwb25zZU1h
eFN0YWxlbmVzcyA9IGVudHJ5LT5yZXNwb25zZSgpLmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZh
bGlkYXRlKCk7CisgICAgICAgIEFTU0VSVChyZXNwb25zZU1heFN0YWxlbmVzcyk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KCpyZXNwb25zZU1heFN0YWxlbmVzcyAtIChhZ2UgLSBsaWZl
dGltZSkpOworICAgICAgICBtX2xvYWQgPSBtYWtlVW5pcXVlPFNwZWN1bGF0aXZlTG9hZD4oY2Fj
aGUsIGZyYW1lSUQsIHJldmFsaWRhdGlvblJlcXVlc3QsIFdURk1vdmUoZW50cnkpLCBbdGhpcywg
a2V5LCByZXZhbGlkYXRpb25SZXF1ZXN0XShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IHJldmFsaWRh
dGVkRW50cnkpIHsKKyAgICAgICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8fCAhcmV2
YWxpZGF0ZWRFbnRyeS0+bmVlZHNWYWxpZGF0aW9uKCkpOworICAgICAgICAgICAgQVNTRVJUKCFy
ZXZhbGlkYXRlZEVudHJ5IHx8IHJldmFsaWRhdGVkRW50cnktPmtleSgpID09IGtleSk7CisgICAg
ICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyKHJldmFsaWRhdGVkRW50cnkuZ2V0KCkpOworICAg
ICAgICB9KTsKKyAgICB9CisKKyAgICBjb25zdCBTcGVjdWxhdGl2ZUxvYWQmIGxvYWQoKSBjb25z
dCB7IHJldHVybiAqbV9sb2FkOyB9CisKKyAgICB2b2lkIHN0YWxlV2hpbGVSZXZhbGlkYXRlRW5k
aW5nKCkgeyBtX2NvbXBsZXRpb25IYW5kbGVyKHRydWUpOyB9CisKK3ByaXZhdGU6CisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFNwZWN1bGF0aXZlTG9hZD4gbV9sb2FkOworICAgIFdlYkNvcmU6OlRpbWVy
IG1fdGltZXI7CisgICAgQXN5bmNSZXZhbGlkYXRpb25Db21wbGV0aW9uSGFuZGxlciBtX2NvbXBs
ZXRpb25IYW5kbGVyOworfTsKKworc3RhdGljIGlubGluZSBib29sIGNhblVzZVBlbmRpbmdSZXZh
bGlkYXRpb24oY29uc3QgU3BlY3VsYXRpdmVMb2FkJiBsb2FkLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCit7CisgICAgcmV0dXJuIHJlcXVlc3RzSGVhZGVy
c01hdGNoKGxvYWQub3JpZ2luYWxSZXF1ZXN0KCksIGFjdHVhbFJlcXVlc3QpOworfQorCit2b2lk
IENhY2hlOjpzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBOZXR3b3JrQ2FjaGU6OktleSYga2V5LCBzdGQ6
OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlEKQor
eworICAgIGF1dG8qIHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbiA9IG1fcGVuZGluZ0FzeW5jUmV2
YWxpZGF0aW9ucy5nZXQoa2V5KTsKKyAgICBpZiAocGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uICYm
IGNhblVzZVBlbmRpbmdSZXZhbGlkYXRpb24ocGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uLT5sb2Fk
KCksIHJlcXVlc3QpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIHJldmFsaWRhdG9yID0g
bWFrZVVuaXF1ZTxBc3luY1JldmFsaWRhdGlvbj4oKnRoaXMsIGZyYW1lSUQsIHJlcXVlc3QsIFdU
Rk1vdmUoZW50cnkpLCBbdGhpcywga2V5XShib29sIGVuZGluZykgeworICAgICAgICBpZiAoZW5k
aW5nKSB7CisgICAgICAgICAgICBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMudGFrZShrZXkp
OworICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgQXN5bmMg
cmV2YWxpZGF0aW9uIGNvbXBsZXRlZCBmb3IgJyVzJzoiLCBrZXkuaWRlbnRpZmllcigpLnV0Zjgo
KS5kYXRhKCkpOworICAgICAgICB9CisgICAgfSk7CisgICAgbV9wZW5kaW5nQXN5bmNSZXZhbGlk
YXRpb25zLmFkZChrZXksIFdURk1vdmUocmV2YWxpZGF0b3IpKTsKK30KKyNlbmRpZgorCiB2b2lk
IENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXIm
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQocmVxdWVzdC51cmwoKS5wcm90b2Nv
bElzSW5IVFRQRmFtaWx5KCkpOwpAQCAtMzM0LDEyICs0MjUsMTEgQEAgdm9pZCBDYWNoZTo6cmV0
cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9i
YWxGcmFtZUkKICAgICB9CiAjZW5kaWYKIAotICAgIG1fc3RvcmFnZS0+cmV0cmlldmUoc3RvcmFn
ZUtleSwgcHJpb3JpdHksIFtyZXF1ZXN0LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpLCBpbmZvID0gV1RGTW92ZShpbmZvKSwgc3RvcmFnZUtleSwgbmV0d29y
a1Byb2Nlc3MgPSBtYWtlUmVmKG5ldHdvcmtQcm9jZXNzKCkpLCBzZXNzaW9uSUQgPSBtX3Nlc3Np
b25JRF0oYXV0byByZWNvcmQsIGF1dG8gdGltaW5ncykgbXV0YWJsZSB7CisgICAgbV9zdG9yYWdl
LT5yZXRyaWV2ZShzdG9yYWdlS2V5LCBwcmlvcml0eSwgW3RoaXMsIHJlcXVlc3QsIGNvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGluZm8gPSBXVEZNb3ZlKGlu
Zm8pLCBzdG9yYWdlS2V5LCBuZXR3b3JrUHJvY2VzcyA9IG1ha2VSZWYobmV0d29ya1Byb2Nlc3Mo
KSksIHNlc3Npb25JRCA9IG1fc2Vzc2lvbklELCBmcmFtZUlEXShhdXRvIHJlY29yZCwgYXV0byB0
aW1pbmdzKSBtdXRhYmxlIHsKICAgICAgICAgaW5mby5zdG9yYWdlVGltaW5ncyA9IHRpbWluZ3M7
CiAKICAgICAgICAgaWYgKCFyZWNvcmQpIHsKICAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGUs
ICIoTmV0d29ya1Byb2Nlc3MpIG5vdCBmb3VuZCBpbiBzdG9yYWdlIik7Ci0KICAgICAgICAgICAg
IGNvbXBsZXRlUmV0cmlldmUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG51bGxwdHIsIGlu
Zm8pOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC0zNTAsNiArNDQw
LDEzIEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJCiAKICAgICAgICAgYXV0byB1c2VEZWNpc2lv
biA9IGVudHJ5ID8gbWFrZVVzZURlY2lzaW9uKG5ldHdvcmtQcm9jZXNzLCBzZXNzaW9uSUQsICpl
bnRyeSwgcmVxdWVzdCkgOiBVc2VEZWNpc2lvbjo6Tm9EdWVUb0RlY29kZUZhaWx1cmU7CiAgICAg
ICAgIHN3aXRjaCAodXNlRGVjaXNpb24pIHsKKyAgICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6QXN5
bmNSZXZhbGlkYXRlOiB7CisjaWYgRU5BQkxFKEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJ
REFURSkKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gZW50cnlDb3B5ID0gbWFr
ZVVuaXF1ZTxFbnRyeT4oKmVudHJ5KTsKKyAgICAgICAgICAgIHN0YXJ0QXN5bmNSZXZhbGlkYXRp
b25JZk5lZWRlZChyZXF1ZXN0LCBzdG9yYWdlS2V5LCBXVEZNb3ZlKGVudHJ5Q29weSksIGZyYW1l
SUQpOworI2VuZGlmCisgICAgICAgICAgICBGQUxMVEhST1VHSDsKKyAgICAgICAgfQogICAgICAg
ICBjYXNlIFVzZURlY2lzaW9uOjpVc2U6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBVc2VEZWNpc2lvbjo6VmFsaWRhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAppbmRleCAwZGVlN2Y4OGRmZjYxNjJjYzNmZDc4NTFi
ODM4MGZjNWE4M2JkNWFlLi5hNDQ3ODFkOTZjYmE1Yzg5NmMwNGU0ZmE3OTBiZjBjMzMzNjk5OGFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgTmV0d29ya1Byb2Nlc3M7CiAKIG5hbWVzcGFj
ZSBOZXR3b3JrQ2FjaGUgewogCitjbGFzcyBBc3luY1JldmFsaWRhdGlvbjsKIGNsYXNzIENhY2hl
OwogY2xhc3MgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjsKIApAQCAtODIsNiArODMsNyBAQCBlbnVt
IGNsYXNzIFN0b3JlRGVjaXNpb24gewogZW51bSBjbGFzcyBVc2VEZWNpc2lvbiB7CiAgICAgVXNl
LAogICAgIFZhbGlkYXRlLAorICAgIEFzeW5jUmV2YWxpZGF0ZSwKICAgICBOb0R1ZVRvVmFyeWlu
Z0hlYWRlck1pc21hdGNoLAogICAgIE5vRHVlVG9NaXNzaW5nVmFsaWRhdG9yRmllbGRzLAogICAg
IE5vRHVlVG9EZWNvZGVGYWlsdXJlLApAQCAtMTY5LDYgKzE3MSwxMCBAQCBwdWJsaWM6CiAgICAg
U3BlY3VsYXRpdmVMb2FkTWFuYWdlciogc3BlY3VsYXRpdmVMb2FkTWFuYWdlcigpIHsgcmV0dXJu
IG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlci5nZXQoKTsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
SFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKQorICAgIHZvaWQgc3RhcnRBc3luY1Jl
dmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IE5ldHdvcmtDYWNoZTo6S2V5Jiwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiwgY29uc3QgR2xvYmFs
RnJhbWVJRCYpOworI2VuZGlmCisKICAgICBOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3Mo
KSB7IHJldHVybiBtX25ldHdvcmtQcm9jZXNzLmdldCgpOyB9CiAgICAgY29uc3QgUEFMOjpTZXNz
aW9uSUQmIHNlc3Npb25JRCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbklEOyB9CiAgICAgY29u
c3QgU3RyaW5nJiBzdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9zdG9yYWdlRGly
ZWN0b3J5OyB9CkBAIC0xOTUsNiArMjAxLDEwIEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVf
cHRyPFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI+IG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlcjsKICNl
bmRpZgogCisjaWYgRU5BQkxFKEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKKyAg
ICBIYXNoTWFwPEtleSwgc3RkOjp1bmlxdWVfcHRyPEFzeW5jUmV2YWxpZGF0aW9uPj4gbV9wZW5k
aW5nQXN5bmNSZXZhbGlkYXRpb25zOworI2VuZGlmCisKICAgICB1bnNpZ25lZCBtX3RyYXZlcnNl
Q291bnQgeyAwIH07CiAgICAgUEFMOjpTZXNzaW9uSUQgbV9zZXNzaW9uSUQ7CiAgICAgU3RyaW5n
IG1fc3RvcmFnZURpcmVjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcApp
bmRleCA2YzcyZmFiZTcyZTM1OTQ0OGE3YzFiMjkxY2Q5MGU5NTBlNWJiZTU0Li5hMjIzMzYwNDYz
YTZmODcwYjc2YjllODdjMTU3NjhlYzc1YWMyOGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZUxvYWQuY3BwCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAot
I2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikKKyNpZiBF
TkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pIHx8IEVOQUJMRShI
VFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hl
U3BlY3VsYXRpdmVMb2FkLmgiCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xNTUsNiArMTU1
LDQzIEBAIHZvaWQgU3BlY3VsYXRpdmVMb2FkOjpkaWRDb21wbGV0ZSgpCiAgICAgbV9jb21wbGV0
aW9uSGFuZGxlcihXVEZNb3ZlKG1fY2FjaGVFbnRyeSkpOwogfQogCisjaWYgIUxPR19ESVNBQkxF
RAorCitzdGF0aWMgdm9pZCBkdW1wSFRUUEhlYWRlcnNEaWZmKGNvbnN0IEhUVFBIZWFkZXJNYXAm
IGhlYWRlcnNBLCBjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQikKK3sKKyAgICBhdXRvIGFF
bmQgPSBoZWFkZXJzQS5lbmQoKTsKKyAgICBmb3IgKGF1dG8gaXQgPSBoZWFkZXJzQS5iZWdpbigp
OyBpdCAhPSBhRW5kOyArK2l0KSB7CisgICAgICAgIFN0cmluZyB2YWx1ZUIgPSBoZWFkZXJzQi5n
ZXQoaXQtPmtleSk7CisgICAgICAgIGlmICh2YWx1ZUIuaXNOdWxsKCkpCisgICAgICAgICAgICBM
T0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKiAnJXMnIEhUVFAgaGVhZGVy
IGlzIG9ubHkgaW4gZmlyc3QgcmVxdWVzdCAodmFsdWU6ICVzKSIsIGl0LT5rZXkudXRmOCgpLmRh
dGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBlbHNlIGlmIChpdC0+dmFs
dWUgIT0gdmFsdWVCKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJl
bG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBkaWZmZXJzIGluIGJvdGggcmVxdWVzdHM6ICVz
ICE9ICVzIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSwg
dmFsdWVCLnV0ZjgoKS5kYXRhKCkpOworICAgIH0KKyAgICBhdXRvIGJFbmQgPSBoZWFkZXJzQi5l
bmQoKTsKKyAgICBmb3IgKGF1dG8gaXQgPSBoZWFkZXJzQi5iZWdpbigpOyBpdCAhPSBiRW5kOyAr
K2l0KSB7CisgICAgICAgIGlmICghaGVhZGVyc0EuY29udGFpbnMoaXQtPmtleSkpCisgICAgICAg
ICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKiAnJXMnIEhUVFAg
aGVhZGVyIGlzIG9ubHkgaW4gc2Vjb25kIHJlcXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0
ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKKyAgICB9Cit9CisKKyNlbmRp
ZgorCitib29sIHJlcXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgc3Bl
Y3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxS
ZXF1ZXN0KQoreworICAgIEFTU0VSVCghYWN0dWFsUmVxdWVzdC5pc0NvbmRpdGlvbmFsKCkpOwor
ICAgIFJlc291cmNlUmVxdWVzdCBzcGVjdWxhdGl2ZVJlcXVlc3QgPSBzcGVjdWxhdGl2ZVZhbGlk
YXRpb25SZXF1ZXN0OworICAgIHNwZWN1bGF0aXZlUmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgp
OworCisgICAgaWYgKHNwZWN1bGF0aXZlUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkgIT0gYWN0
dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpIHsKKyAgICAgICAgTE9HKE5ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIkNhbm5vdCByZXVzZSBzcGVjdWxhdGl2ZWx5IHZhbGlk
YXRlZCBlbnRyeSBiZWNhdXNlIEhUVFAgaGVhZGVycyB1c2VkIGZvciB2YWxpZGF0aW9uIGRvIG5v
dCBtYXRjaCIpOworI2lmICFMT0dfRElTQUJMRUQKKyAgICAgICAgZHVtcEhUVFBIZWFkZXJzRGlm
ZihzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpLCBhY3R1YWxSZXF1ZXN0Lmh0
dHBIZWFkZXJGaWVsZHMoKSk7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgKaW5kZXgg
NmNlNzdmOTllYTAwMzQ3M2M2OTgwN2ZmODU5MGIyMjFjMmUyZDQwYy4uOWY3NDdmN2VhYTVjODM5
YjNmN2M3MWM2YWI1Y2QwNTcwYTE4YzE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9h
ZC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKE5FVFdP
UktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQorI2lmIEVOQUJMRShORVRXT1JLX0NB
Q0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgfHwgRU5BQkxFKEhUVFBfQ0FDSEVfU1RBTEVf
V0hJTEVfUkVWQUxJREFURSkKIAogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZS5oIgogI2luY2x1ZGUg
Ik5ldHdvcmtDYWNoZUVudHJ5LmgiCkBAIC03Nyw2ICs3Nyw4IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2RpZENvbXBsZXRlIHsgZmFsc2UgfTsKIH07CiAKK2Jvb2wgcmVxdWVzdHNIZWFkZXJzTWF0
Y2goY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25S
ZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpOwor
CiB9IC8vIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCA2Nzk0
MDM5YjdlMTkxN2E0YWFiYWQ0ZDJkNTA4ZjczOTUzNzg2NTY3Li45ODA2ZjYyZWE3YmIwNWMwYzNl
ZDcyYWFmZGU3NDNkZDVlZGFiODMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRp
dmVMb2FkTWFuYWdlci5jcHAKQEAgLTI1Niw0MyArMjU2LDYgQEAgU3BlY3VsYXRpdmVMb2FkTWFu
YWdlcjo6flNwZWN1bGF0aXZlTG9hZE1hbmFnZXIoKQogewogfQogCi0jaWYgIUxPR19ESVNBQkxF
RAotCi1zdGF0aWMgdm9pZCBkdW1wSFRUUEhlYWRlcnNEaWZmKGNvbnN0IEhUVFBIZWFkZXJNYXAm
IGhlYWRlcnNBLCBjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQikKLXsKLSAgICBhdXRvIGFF
bmQgPSBoZWFkZXJzQS5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBoZWFkZXJzQS5iZWdpbigp
OyBpdCAhPSBhRW5kOyArK2l0KSB7Ci0gICAgICAgIFN0cmluZyB2YWx1ZUIgPSBoZWFkZXJzQi5n
ZXQoaXQtPmtleSk7Ci0gICAgICAgIGlmICh2YWx1ZUIuaXNOdWxsKCkpCi0gICAgICAgICAgICBM
T0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKiAnJXMnIEhUVFAgaGVhZGVy
IGlzIG9ubHkgaW4gZmlyc3QgcmVxdWVzdCAodmFsdWU6ICVzKSIsIGl0LT5rZXkudXRmOCgpLmRh
dGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICBlbHNlIGlmIChpdC0+dmFs
dWUgIT0gdmFsdWVCKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJl
bG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBkaWZmZXJzIGluIGJvdGggcmVxdWVzdHM6ICVz
ICE9ICVzIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSwg
dmFsdWVCLnV0ZjgoKS5kYXRhKCkpOwotICAgIH0KLSAgICBhdXRvIGJFbmQgPSBoZWFkZXJzQi5l
bmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBoZWFkZXJzQi5iZWdpbigpOyBpdCAhPSBiRW5kOyAr
K2l0KSB7Ci0gICAgICAgIGlmICghaGVhZGVyc0EuY29udGFpbnMoaXQtPmtleSkpCi0gICAgICAg
ICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKiAnJXMnIEhUVFAg
aGVhZGVyIGlzIG9ubHkgaW4gc2Vjb25kIHJlcXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0
ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKLSAgICB9Ci19Ci0KLSNlbmRp
ZgotCi1zdGF0aWMgYm9vbCByZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
YWN0dWFsUmVxdWVzdCkKLXsKLSAgICBBU1NFUlQoIWFjdHVhbFJlcXVlc3QuaXNDb25kaXRpb25h
bCgpKTsKLSAgICBSZXNvdXJjZVJlcXVlc3Qgc3BlY3VsYXRpdmVSZXF1ZXN0ID0gc3BlY3VsYXRp
dmVWYWxpZGF0aW9uUmVxdWVzdDsKLSAgICBzcGVjdWxhdGl2ZVJlcXVlc3QubWFrZVVuY29uZGl0
aW9uYWwoKTsKLQotICAgIGlmIChzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygp
ICE9IGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKSB7Ci0gICAgICAgIExPRyhOZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICJDYW5ub3QgcmV1c2Ugc3BlY3VsYXRpdmVs
eSB2YWxpZGF0ZWQgZW50cnkgYmVjYXVzZSBIVFRQIGhlYWRlcnMgdXNlZCBmb3IgdmFsaWRhdGlv
biBkbyBub3QgbWF0Y2giKTsKLSNpZiAhTE9HX0RJU0FCTEVECi0gICAgICAgIGR1bXBIVFRQSGVh
ZGVyc0RpZmYoc3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSwgYWN0dWFsUmVx
dWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOwotI2VuZGlmCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIGJvb2wgU3BlY3VsYXRpdmVMb2FkTWFuYWdl
cjo6Y2FuVXNlUHJlbG9hZGVkRW50cnkoY29uc3QgUHJlbG9hZGVkRW50cnkmIGVudHJ5LCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCiB7CiAgICAgaWYgKCFlbnRyeS53YXNS
ZXZhbGlkYXRlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBkODA4ZWUwM2Zh
MjQ3OTIwODZkZDljN2VkNWE0ZTA2ZjU5YzA1MjM4Li43ZGEzNGU2M2NkNzI0YjIwNzRmOGVmYmMz
ZjRiMzEzMWE1N2Q1MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTkwLDYg
KzE5MCw4IEBAIEVOQUJMRV9HRU9MT0NBVElPTl9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfR0VP
TE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjY2F0YWx5c3QgPSBFTkFCTEVfR0VPTE9D
QVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjb3N4ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwog
CitFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFID0gRU5BQkxFX0hUVFBf
Q0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURTsKKwogRU5BQkxFX0lOREVYRURfREFUQUJBU0Ug
PSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRTsKIAogRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUyA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlM7CkBAIC00NDMsNCAr
NDQ1LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
Q1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1Mp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChF
TkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NB
Q0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1Qp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5F
Q1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAk
KEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FH
RV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9N
T1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElP
TlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVf
V0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RS
QU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9D
X0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVf
RkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
RlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURB
VEUpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9P
QlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NP
REVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9M
QVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9M
RUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJ
UFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1P
UllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJM
RV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
U0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChF
TkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tF
WUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9O
UykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL2NtYWtlL09wdGlvbnNGVFcuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0ZUVy5jbWFr
ZQppbmRleCA2Y2YzODlhOWRiNTg5NzllZWFkODE2MGVmMDY0NDQ4MTgwYmFhODhkLi41OTY3MWNj
ZmE2Yzg2NjI1OGMzMGRlNzJmOWE0OTQxNzdmZWRiYzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21h
a2UvT3B0aW9uc0ZUVy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0ZUVy5jbWFrZQpA
QCAtMTU5LDYgKzE1OSw3IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OIFBSSVZBVEUgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTiBQUklWQVRFIE9GRikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUgUFJJVkFU
RSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRU5DUllQVEVE
X01FRElBIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSBQUklWQVRFIE9GRikKIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlRMIFBSSVZBVEUgT0ZGKQogV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQgUFJJVkFURSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfTEVUVEVSUFJFU1MgUFJJVkFURSBPRkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IDVjOGJj
Yzc1YzllNWE4MjBlYWIzOTAwNzI5ZmQzZjFjZWRiNTQ3Y2UuLjRkNmVlNjM3MzNjOWUxYTU4Y2My
ZTIxNzllODAwMzEyODUyYzlmYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC0xNTQsNiArMTU0
LDcgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9ET1dOTE9BRF9BVFRSSUJVVEUgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUEgUFJJVkFURSAke0VOQUJMRV9FWFBFUklN
RU5UQUxfRkVBVFVSRVN9KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X0ZUUERJUiBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUgUFJJVkFURSBPTikKIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SIFBSSVZB
VEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUVESUFfU1RS
RUFNIFBSSVZBVEUgJHtFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTfSkKIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NSFRNTCBQUklWQVRFIE9OKQpkaWZmIC0tZ2l0
IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlCmluZGV4IGUzMDFhYmQ2ZGU4Nzg5MTI1MjM5YmQxZWFjODZkOTIxY2Mz
MTZlNzQuLmJlZTk0Nzk0ZTZiMmNhNjY1ODc3NzU5ZDI3OTkzMzRkOGQ0MzllOGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTEzNyw2ICsxMzcsNyBAQCBtYWNybyhXRUJLSVRfT1BU
SU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSAiVG9nZ2xlIEZ1bGxzY3JlZW4gQVBJIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX0dBTUVQQUQgIlRvZ2dsZSBHYW1lcGFkIHN1cHBvcnQiIFBS
SVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9HRU9MT0NBVElPTiAi
VG9nZ2xlIEdlb2xvY2F0aW9uIHN1cHBvcnQiIFBSSVZBVEUgT04pCisgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSAiVG9nZ2xl
IEhUVFAgY2FjaGUgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBzdXBwb3J0IiBQUklWQVRFIE9GRikK
ICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSAiVG9nZ2xl
IEluZGV4ZWQgRGF0YWJhc2Ugc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTICJUb2dnbGUgc3VwcG9y
dCBmb3IgSW5kZXhlZCBEYXRhYmFzZSBpbiB3b3JrZXJzIiBQUklWQVRFIE9OKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SICJUb2dnbGUgSW5wdXQgVHlw
ZSBDb2xvciBzdXBwb3J0IiBQUklWQVRFIE9GRikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzMWUzNTMwN2ZkN2RmYTdkM2M0MGVlMDlkNTFlODA1
ZWE2NWY5NTcyLi5jNjMzYzNjMDBmMjBhMmM4MTkyYzYxZjJiMjM4YWM0NTcxMGUwYTcyIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTktMTAtMDcgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAg
ICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0xMC0wNCAgU2Fh
bSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBPU1IgZXhpdCB0
byB0aGUgTExJbnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGQ4MDhlZTAzZmEyNDc5MjA4NmRk
OWM3ZWQ1YTRlMDZmNTljMDUyMzguLjdkYTM0ZTYzY2Q3MjRiMjA3NGY4ZWZiYzNmNGIzMTMxYTU3
ZDUyMTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTkwLDYgKzE5MCw4IEBAIEVOQUJMRV9H
RU9MT0NBVElPTl9pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVf
R0VPTE9DQVRJT05fbWFjY2F0YWx5c3QgPSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VP
TE9DQVRJT05fbWFjb3N4ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogCitFTkFCTEVfSFRUUF9DQUNI
RV9TVEFMRV9XSElMRV9SRVZBTElEQVRFID0gRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVf
UkVWQUxJREFURTsKKwogRU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSBFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRTsKIAogRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUyA9IEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlM7CkBAIC00NDMsNCArNDQ1LDQgQEAgRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7
CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJ
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJ
T04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykg
JChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAk
KEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZ
X0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9D
T0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVP
X1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JF
VkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NS
T0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRC
T1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVf
UkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VM
RU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRS
SVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFC
TEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9Y
U0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9U
UkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZF
U1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RB
UktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lP
TlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5B
VEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FD
SEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVD
VCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCRFJJVkVSX01P
VVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9O
UykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9X
RUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI1YjE5YzY1YzAyNjJhZDA3MTA2ZGI3Mzg1
NDViYjI3MGJjZWY1Y2IuLmI2YzI5YzBhOTExZmVhM2MyZTJhMzliMWQ3NGFlZGQ0NmU3ZWZkYzkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0xMC0wNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBz
dHJhdGVneQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjAxNDYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
U2tpcCBuZXdseSBpbXBvcnRlZCB0ZXN0cyBmb3IgV0sxLgorCisgICAgICAgICogcGxhdGZvcm0v
aW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVz
dEV4cGVjdGF0aW9uczoKKwogMjAxOS0xMC0wNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBhdHRhY2hTaGFkb3cgc2hvdWxkIHN1cHBvcnQgYXR0YWNoaW5nIGEg
c2hhZG93IHJvb3QgdG8gYSBtYWluIGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IDQ2YWJkOWE2MmNjZjA4OTlmNmQyM2E1NGMxMGFhMDJhYzUwNmYwNjEuLmUzMDNjNWEz
OTY1NTJlZjA4YzNmMTZkNTk1YWE3ZDczYmRkMGU3N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTEwLTA3ICBSb2IgQnVpcyAgPHJidWlzQGln
YWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hl
IHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbXBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBXUFQgdGVzdHMuCisKKyAgICAgICAgKiBy
ZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5o
dHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUt
Y3NzLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5w
eTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5OiBB
ZGRlZC4KKyAgICAgICAgKGlkX3Rva2VuKToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
c3RhbGUtY3NzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvc3RhbGUtaW1hZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qczogQWRk
ZWQuCisgICAgICAgIChhc3luYy5icm9hZGNhc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nOiBBZGRlZC4K
KwogMjAxOS0xMC0wNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBDaGFuZ2UgIkludmFsaWRTdGF0ZUVycm9yIiB0byAiTm90U3VwcG9ydGVkRXJyb3IiIGZvciBh
dHRhY2hTaGFkb3coKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291
cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCBiZWQzMzk1YjA2YWM3MWQx
NWNmMDVhZTE2MzJlMDQ3ZGZiMmRmZDQ0Li42MWI3Y2NmYjgwNWU2NTRiODY1NjZiNjk5OGI1OWM1
ZTBlODJhMTNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2Vz
L2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMTYwLDYgKzE2MCw3IEBACiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3JhbmdlIjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL2Z1bGxzY3JlZW4iOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvZ2FtZXBhZCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9nZW5lcmljLXNl
bnNvciI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
NmJmMjZmNGFiMTFjNzc3YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFj
Nzc3YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFT
UyBTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1z
dy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmY2ViYzI0YTYzZjQwZGU1NGE0YzM5OTFjOTA1MGVi
NzQ0ODZhMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0
cHMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPlN0YWxlIFJldmFsaWRhdGlvbiBS
ZXF1ZXN0cyBkb24ndCBnZXQgc2VudCB0byBzZXJ2aWNlIHdvcmtlcjwvdGl0bGU+CisgIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0
IHNyYz0iLi4vLi4vc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0
LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCisgIC8vIER1cGxpY2F0
aW5nIHRoaXMgcmVzb3VyY2UgdG8gbWFrZSBzZXJ2aWNlIHdvcmtlciBzY29waW5nIHNpbXBsZXIu
CisgIGFzeW5jIGZ1bmN0aW9uIHNldHVwUmVnaXN0cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVk
KHQsIHNjb3BlKSB7CisgICAgY29uc3QgY29udHJvbGxlZCA9IG5ldyBQcm9taXNlKChyZXNvbHZl
KSA9PiB7CisgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbmNvbnRyb2xsZXJjaGFuZ2Ug
PSAoKSA9PiB7IHJlc29sdmUoKTsgfTsKKyAgICB9KTsKKyAgICBjb25zdCByZWcgPSBhd2FpdCBu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcignc3ctaW50ZXJjZXB0LmpzJyk7CisgICAg
YXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAg
ICBhd2FpdCBjb250cm9sbGVkOworICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKF8gPT4gcmVn
LnVucmVnaXN0ZXIoKSk7CisgICAgcmV0dXJuIHJlZzsKKyAgfQorCisgIC8vIFVzaW5nIDI1MG1z
IHBvbGxpbmcgaW50ZXJ2YWwgdG8gcHJvdmlkZSBlbm91Z2ggJ25ldHdvcmsgY2FsbW5lc3MnIHRv
IGdpdmUKKyAgLy8gdGhlIGJhY2tncm91bmQgbG93IHByaW9yaXR5IHJldmFsaWRhdGlvbiByZXF1
ZXN0IGEgY2hhbmNlIHRvIGtpY2sgaW4uCisgIGZ1bmN0aW9uIHdhaXQyNTBtcyh0ZXN0KSB7Cisg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgdGVzdC5zdGVwX3RpbWVv
dXQoKCkgPT4geworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9LCAyNTApOworICAgIH0pOwor
ICB9CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgdmFyIHJlcXVlc3Rf
dG9rZW4gPSB0b2tlbigpOworICAgIGNvbnN0IHVyaSA9ICdyZXNvdXJjZXMvc3RhbGUtc2NyaXB0
LnB5P3Rva2VuPScgKyByZXF1ZXN0X3Rva2VuOworCisgICAgYXdhaXQgc2V0dXBSZWdpc3RyYXRp
b25BbmRXYWl0VG9CZUNvbnRyb2xsZWQodGVzdCwgJ3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkn
KTsKKworICAgIHZhciBzZXJ2aWNlX3dvcmtlcl9jb3VudCA9IDA7CisgICAgbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIG9uY2UoZXZl
bnQpIHsKKyAgICAgIGlmIChldmVudC5kYXRhLmVuZHNXaXRoKHVyaSkpIHsKKyAgICAgICAgc2Vy
dmljZV93b3JrZXJfY291bnQrKzsKKyAgICAgIH0KKyAgICB9KTsKKworICAgIGNvbnN0IHJlc3Bv
bnNlID0gYXdhaXQgZmV0Y2godXJpKTsKKyAgICBjb25zdCByZXNwb25zZTIgPSBhd2FpdCBmZXRj
aCh1cmkpOworICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2UuaGVhZGVycy5nZXQoJ1VuaXF1ZS1J
ZCcpLCByZXNwb25zZTIuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpKTsKKyAgICB3aGlsZSh0cnVl
KSB7CisgICAgICBjb25zdCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3Vy
Y2VzL3N0YWxlLXNjcmlwdC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAg
ICBpZiAocmV2YWxpZGF0aW9uX2NoZWNrLmhlYWRlcnMuZ2V0KCdDb3VudCcpID09ICcyJykgewor
ICAgICAgICAvLyBUaGUgc2VydmljZSB3b3JrZXIgc2hvdWxkIG5vdCBzZWUgdGhlIHJldmFsaWRh
dGlvbiByZXF1ZXN0LgorICAgICAgICBhc3NlcnRfZXF1YWxzKHNlcnZpY2Vfd29ya2VyX2NvdW50
LCAyKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBhd2FpdCB3YWl0MjUwbXModGVz
dCk7CisgICAgfQorICB9LCAnU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZScpOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9mZXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzMz
OTBjN2FkNTk0OGM2ODJiMmZiZGNiM2M5NWE0YzM3NGRiYmEyZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJl
dmFsaWRhdGUgaXMgbm90IGV4ZWN1dGVkIGZvciBmZXRjaCBBUEk8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9j
b21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHdhaXQyNW1zKHRl
c3QpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHRlc3Quc3RlcF90
aW1lb3V0KCgpID0+IHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9LCAyNSk7CisgIH0pOworfQor
Citwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0
b2tlbigpOworCisgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFs
ZS1zY3JpcHQucHk/dG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworICBjb25zdCByZXNwb25zZTIg
PSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj1gICsgcmVxdWVz
dF90b2tlbik7CisKKyAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZS5oZWFkZXJzLmdldCgnVW5pcXVl
LUlkJyksIHJlc3BvbnNlMi5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJykpOworCisgIHdoaWxlKHRy
dWUpIHsKKyAgICBjb25zdCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3Vy
Y2VzL3N0YWxlLXNjcmlwdC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAg
aWYgKHJldmFsaWRhdGlvbl9jaGVjay5oZWFkZXJzLmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAg
ICAgIGJyZWFrOworICAgIH0KKyAgICBhd2FpdCB3YWl0MjVtcyh0ZXN0KTsKKyAgfQorfSwgJ1Nl
Y29uZCBmZXRjaCByZXR1cm5zIHNhbWUgcmVzcG9uc2UnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmFlNTQ2ZDA2NTFmOTdmMzAy
MDgyOTQ1MmRiNjIyNTQ4NmRjNDUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3Jlc291cmNlcy9zdGFsZS1jc3MucHkKQEAgLTAsMCArMSwyOCBAQAorZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgorCisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBO
b25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0g
Tm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0g
cmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAg
aWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAgY291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBp
c19xdWVyeToKKyAgICAgICAgaWYgY291bnQgPCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVy
LnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNv
dW50ICsgMQorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQor
ICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAg
ICAgY29udGVudCA9ICIiCisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAg
ZWxzZToKKyAgICAgIGNvbnRlbnQgPSAiYm9keSB7IGJhY2tncm91bmQ6IHJnYigwLCAxMjgsIDAp
OyB9IgorICAgICAgaWYgY291bnQgPiAxOgorICAgICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNr
Z3JvdW5kOiByZ2IoMjU1LCAwLCAwKTsgfSIKKworICAgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQt
VHlwZSIsICJ0ZXh0L2NzcyIpLAorICAgICAgICAgICAgICAgKCJDYWNoZS1Db250cm9sIiwgInBy
aXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIpXQorCisgICAgICBy
ZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
cmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFs
ZS1pbWFnZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzllYjg0YmIzNGJiZDE1ZTJjYTcwNjFlZTRmYTU3MjRk
MmM2NGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFs
ZS1pbWFnZS5weQpAQCAtMCwwICsxLDM4IEBACitpbXBvcnQgb3MucGF0aAorCitkZWYgbWFpbihy
ZXF1ZXN0LCByZXNwb25zZSk6CisKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tl
biIsIE5vbmUpCisgICAgaXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25l
KSAhPSBOb25lCisgICAgd2l0aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFs
dWUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisg
ICAgICBpZiB2YWx1ZSAhPSBOb25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAg
IGlmIGlzX3F1ZXJ5OgorICAgICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5z
ZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50
ID0gY291bnQgKyAxCisgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291
bnQpCisKKyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50
KV0KKyAgICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVu
dAorICAgIGVsc2U6CisgICAgICBmaWxlbmFtZSA9ICJncmVlbi0xNngxNi5wbmciCisgICAgICBp
ZiBjb3VudCA+IDE6CisgICAgICAgIGZpbGVuYW1lID0gImdyZWVuLTI1NngyNTYucG5nIgorCisg
ICAgICBwYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLi8u
Li8uLi9pbWFnZXMiLCBmaWxlbmFtZSkKKyAgICAgIGJvZHkgPSBvcGVuKHBhdGgsICJyYiIpLnJl
YWQoKQorCisgICAgICByZXNwb25zZS5hZGRfcmVxdWlyZWRfaGVhZGVycyA9IEZhbHNlCisgICAg
ICByZXNwb25zZS53cml0ZXIud3JpdGVfc3RhdHVzKDIwMCkKKyAgICAgIHJlc3BvbnNlLndyaXRl
ci53cml0ZV9oZWFkZXIoImNvbnRlbnQtbGVuZ3RoIiwgbGVuKGJvZHkpKQorICAgICAgcmVzcG9u
c2Uud3JpdGVyLndyaXRlX2hlYWRlcigiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdl
PTAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAiKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndy
aXRlX2hlYWRlcigiY29udGVudC10eXBlIiwgImltYWdlL3BuZyIpCisgICAgICByZXNwb25zZS53
cml0ZXIuZW5kX2hlYWRlcnMoKQorCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoYm9keSkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFk
NTQ2NzFmNDIxMTczNWY1NmRmNTBhNTVkZWVhNmVkMjgxZDVhMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5CkBAIC0wLDAgKzEsMzIg
QEAKK2ltcG9ydCByYW5kb20sIHN0cmluZywgZGF0ZXRpbWUKKworZGVmIGlkX3Rva2VuKCk6Cisg
ICBsZXR0ZXJzID0gc3RyaW5nLmFzY2lpX2xvd2VyY2FzZQorICAgcmV0dXJuICcnLmpvaW4ocmFu
ZG9tLmNob2ljZShsZXR0ZXJzKSBmb3IgaSBpbiByYW5nZSgyMCkpCisKK2RlZiBtYWluKHJlcXVl
c3QsIHJlc3BvbnNlKToKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5v
bmUpCisgICAgaXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBO
b25lCisgICAgd2l0aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSBy
ZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBp
ZiB2YWx1ZSAhPSBOb25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlz
X3F1ZXJ5OgorICAgICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIu
c3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291
bnQgKyAxCisgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisK
KyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAg
ICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAg
IGVsc2U6CisgICAgICB1bmlxdWVfaWQgPSBpZF90b2tlbigpCisgICAgICBoZWFkZXJzID0gWygi
Q29udGVudC1UeXBlIiwgInRleHQvamF2YXNjcmlwdCIpLAorICAgICAgICAgICAgICAgICAoIkNh
Y2hlLUNvbnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
PTYwIiksCisgICAgICAgICAgICAgICAgICgiVW5pcXVlLUlkIiwgdW5pcXVlX2lkKV0KKyAgICAg
IGNvbnRlbnQgPSAicmVwb3J0KCd7fScpIi5mb3JtYXQodW5pcXVlX2lkKQorICAgICAgcmV0dXJu
IDIwMCwgaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzVhNzczMmE1NjZkNGE2ZjU3M2NjOTdmZDNkMTQ1NDY1N2Q0NzY4
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2cKQEAgLTAsMCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgor
Tm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNl
cy9zdGFsZS1jc3MucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3N0YWxlLWNzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3
ZWFmMDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9z
dGFsZS1jc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVy
bnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1j
c3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTYy
NjBmZGI0NWMwYzJjNjBiNGQ3NmY2M2E3NjM4OWRmODE4YjExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxl
IFJldmFsaWRhdGUgd29ya3MgZm9yIGNzczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9r
ZW4oKTsKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygo
KSA9PiB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyh3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCdi
YWNrZ3JvdW5kLWNvbG9yJyksICJyZ2IoMCwgMTI4LCAwKSIpOworICAgICAgdmFyIGxpbmsyID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOworICAgICAgbGluazIub25sb2FkID0gdC5z
dGVwX2Z1bmMoKCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3In
KSwgInJnYigwLCAxMjgsIDApIik7CisgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsK
KyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZh
bGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLWNz
cy5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVz
cG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0
KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNvdW50ID09ICcyJykgeworICAgICAgICAgICAg
ICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90
aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSkpOwor
ICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAg
ICAgfSk7CisgICAgICBsaW5rMi5yZWwgPSAic3R5bGVzaGVldCI7CisgICAgICBsaW5rMi50eXBl
ID0gInRleHQvY3NzIjsKKyAgICAgIGxpbmsyLmhyZWYgPSAicmVzb3VyY2VzL3N0YWxlLWNzcy5w
eT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQobGluazIpOworICAgIH0sIDApOworICB9KTsKK30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJl
c291cmNlJyk7CisKK3ZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOwor
bGluay5yZWwgPSAic3R5bGVzaGVldCI7CitsaW5rLnR5cGUgPSAidGV4dC9jc3MiOworbGluay5o
cmVmID0gInJlc291cmNlcy9zdGFsZS1jc3MucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZTQyMDE0ZGVm
ZDcxOTEwOTZjMzNjY2U1ODMwZWY3Y2FhMWE1N2E2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKyAKKwor
UEFTUyBDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjBhMDhmODE3MjlkZTQ5OTg1YzY1NzVlMWE3YTVmY2I3N2QzYTBlZTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbApAQCAt
MCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIHdvcmtzIGZvciBpbWFnZXM8L3RpdGxl
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8IS0tCitVc2Ug
YSBjaGlsZCBkb2N1bWVudCB0byBsb2FkIHRoZSBzZWNvbmQgc3RhbGUgaW1hZ2UgaW50byBiZWNh
dXNlCithbiBpbWFnZSBsb2FkZWQgaW50byB0aGUgc2FtZSBkb2N1bWVudCB3aWxsIHNraXAgY2Fj
aGUtY29udHJvbCBoZWFkZXJzLgorU2VlOiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0
aGUtbGlzdC1vZi1hdmFpbGFibGUtaW1hZ2VzCistLT4KKzxpZnJhbWUgaWQ9ImNoaWxkIiBzcmNk
b2M9IiI+PC9pZnJhbWU+Cis8c2NyaXB0PgorCit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7
Cithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4g
eworICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImZpcnN0aW1hZ2UiKS53aWR0aCwgMTYsICJXaWR0aCBpcyAxNiIp
OworICAgICAgdmFyIGNoaWxkRG9jdW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hp
bGQnKS5jb250ZW50RG9jdW1lbnQ7CisgICAgICB2YXIgaW1nMiA9IGNoaWxkRG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaW1nIik7CisgICAgICBpbWcyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhpbWcyLndpZHRoLCAxNiwgImltYWdlIGRpbWVuc2lv
biIpOworICAgICAgICB2YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2Ug
cG9sbCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2Nj
dXIuCisgICAgICAgICAgZmV0Y2goInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT9xdWVyeSZ0b2tl
bj0iICsgcmVxdWVzdF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAg
ICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAg
ICAgICAgICAgaWYgKGNvdW50ID09ICcyJykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVz
dWx0LCAyNSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAg
ICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBp
bWcyLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9r
ZW47CisgICAgICBjaGlsZERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nMik7CisgICAgfSwg
MCk7CisgIH0pOworfSwgJ0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGlt
ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOworaW1nLnNyYyA9ICJyZXNvdXJjZXMv
c3RhbGUtaW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CitpbWcuaWQgPSAiZmlyc3Rp
bWFnZSI7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFmMDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIENhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODc5M2U1MDA1NmJjNjA1M2VhNDEwZDY1OGFlZDM3
M2QxOWY5YTQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlw
dC5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIHNj
cmlwdHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+
Cis8c2NyaXB0PgordmFyIGxhc3RfbW9kaWZpZWQ7Cit2YXIgbGFzdF9tb2RpZmllZF9jb3VudCA9
IDA7Cit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7CisKKy8vIFRoZSBzY3JpcHQgd2lsbCBj
YWxsIHJlcG9ydCB2aWEgYSB1bmlxdWVseSBnZW5lcmF0ZWQgSUQgb24gdGhlIHN1YnJlc291cmNl
LgorLy8gSWYgaXQgaXMgYSBjYWNoZSBoaXQgdGhlIElEIHdpbGwgYmUgdGhlIHNhbWUgYW5kIHRo
ZSB0ZXN0IHdpbGwgcGFzcy4KK2Z1bmN0aW9uIHJlcG9ydChtb2QpIHsKKyAgaWYgKCFsYXN0X21v
ZGlmaWVkKSB7CisgICAgbGFzdF9tb2RpZmllZCA9IG1vZDsKKyAgICBsYXN0X21vZGlmaWVkX2Nv
dW50ID0gMTsKKyAgfSBlbHNlIGlmIChsYXN0X21vZGlmaWVkID09IG1vZCkgeworICAgIGxhc3Rf
bW9kaWZpZWRfY291bnQrKzsKKyAgfQorfQorCithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cu
b25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHN0ZXBfdGltZW91dCgoKSA9PiB7Cisg
ICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAg
ICBzY3JpcHQuc3JjID0gInJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49IiArIHJlcXVl
c3RfdG9rZW47CisgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7CisgICAg
ICBzY3JpcHQub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICAgIGFzc2VydF9l
cXVhbHMobGFzdF9tb2RpZmllZF9jb3VudCwgMiwgImxhc3QgbW9kaWZpZWQiKTsKKyAgICAgICAg
ICB2YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1
c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAg
ICAgICAgIGZldGNoKCJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3F1ZXJ5JnRva2VuPSIgKyBy
ZXF1ZXN0X3Rva2VuKS50aGVuKHQuc3RlcF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAg
ICAgICB2YXIgY291bnQgPSByZXNwb25zZS5oZWFkZXJzLmdldCgiQ291bnQiKTsKKyAgICAgICAg
ICAgICAgaWYgKGNvdW50ID09ICcyJykgeworICAgICAgICAgICAgICAgICAgdC5kb25lKCk7Cisg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hl
Y2tSZXN1bHQsIDI1KTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSkpOworICAgICAg
ICAgIH07CisgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAg
IH0pOworICAgIH0sIDApOworICB9KTsKK30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNl
Jyk7CisKK3ZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3Nj
cmlwdC5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0iICsgcmVxdWVzdF90
b2tlbjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKKzwvc2NyaXB0PgorPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGNhN2RlNTFiMGI4YzU1MTgy
NzZlNzBhZTIxOWI3YmM4Zjg2OWE5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdy1pbnRlcmNlcHQuanMKQEAgLTAsMCArMSwxNCBAQAorYXN5bmMgZnVuY3Rpb24gYnJvYWRj
YXN0KG1zZykgeworICBmb3IgKGNvbnN0IGNsaWVudCBvZiBhd2FpdCBjbGllbnRzLm1hdGNoQWxs
KCkpIHsKKyAgICBjbGllbnQucG9zdE1lc3NhZ2UobXNnKTsKKyAgfQorfQorCitzZWxmLmFkZEV2
ZW50TGlzdGVuZXIoJ2ZldGNoJywgZXZlbnQgPT4geworICBldmVudC53YWl0VW50aWwoYnJvYWRj
YXN0KGV2ZW50LnJlcXVlc3QudXJsKSk7CisgIGV2ZW50LnJlc3BvbmRXaXRoKGZldGNoKGV2ZW50
LnJlcXVlc3QpKTsKK30pOworCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2FjdGl2YXRlJywgZXZl
bnQgPT4geworICBzZWxmLmNsaWVudHMuY2xhaW0oKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9n
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFiOWRkMDZmODQ2YTcwNjhmZWEyYjgyODc4MWFkNzVjYzE5OGU3YTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCAr
MSwyMiBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0
YWxlLXNjcmlwdC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVlNjQwMzhh
ZDhlNjdkNjliYzcxMzljOWI3ZDkzNzFiZTU3YjZjYzcuLjdmNDgzZGZkYjI5Nzc5MmMyYmVmNmMw
ZGE4YWU1MWIzOTI0ZjExMGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTE5OTgsMyArMTk5OCw2IEBAIHdlYmtpdC5vcmcvYi8xODg3NjIg
ZmFzdC93cml0aW5nLW1vZGUvZW5nbGlzaC1ybC10ZXh0LXdpdGgtc3BlbGxpbmctbWFya2VyLmh0
bWwKIGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLWh0bWwtMmQuaHRtbAogCiB3ZWJraXQub3Jn
L2IvMTU5NzI0IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9z
ZW5kLXJlZGlyZWN0LXBvc3QtdXBsb2FkLmh0bSBbIFNraXAgXQorCisjIFN0YWxlLXdoaWxlLXJl
dmFsaWRhdGUgaXMgbm90IHN1cHBvcnRlZCBvbiBXSzEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBbIFNraXAgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGIwMGNiZDZlOTI4
ZDAyNWJiMzZjMzY0ZjQwMTVhMzcxYTkyZTVhYjUuLjhhNjA4NWNmMDQ3ODRiMmQ5MTU2ZWIwNmM4
MTY1NzA0YmY5NDk4YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTc5MSwzICs3OTEsNiBAQCB3ZWJraXQub3JnL2IvMTk5MjQyIFsgRGVi
dWcgXSBodHRwL3Rlc3RzL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLXJlc291cmNlLXRpbWluZwog
WyBNb2phdmUrIF0gZmFzdC9pbWFnZXMvYW5pbWF0ZWQtaGVpY3MtdmVyaWZ5Lmh0bWwgWyBTa2lw
IF0KIAogd2Via2l0Lm9yZy9iLzIwMDAwMiBbIE1vamF2ZSsgRGVidWcgXSBpbXBvcnRlZC9ibGlu
ay9zdG9yYWdlL2luZGV4ZWRkYi9ibG9iLWJhc2ljcy1tZXRhZGF0YS5odG1sIFsgVGltZW91dCBd
CisKKyMgU3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBpcyBub3Qgc3VwcG9ydGVkIG9uIFdLMQoraW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYmVhZTJm
ZmYzZjgxNDljNWZhYjVkNjk5Y2Y2OTRkNDk2ZWYzN2Y2Ni4uN2E1NzNiM2ZkYTJiZjdiODg4MjQw
NzhkMWM4ODRiYTVlNDM3NGE5ZSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTEwLTA3ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0
ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0
NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNv
dXJjZS9jbWFrZS9PcHRpb25zRlRXLmNtYWtlOgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRp
b25zR1RLLmNtYWtlOgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFr
ZToKKwogMjAxOS0xMC0wNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIE9wdGlvbnNHVEsuY21ha2UgYW5kIE5F
V1MgZm9yIDIuMjcuMSByZWxlYXNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380325</attachid>
            <date>2019-10-07 07:22:10 -0700</date>
            <delta_ts>2019-10-11 03:58:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191007162207.patch</filename>
            <type>text/plain</type>
            <size>105100</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NjcwMTQ0MTUxMDg5MjBkN2MwZTQ3NzhmZTEyMjI5Y2ZjYmUxMjQzLi41ODkzNzk4ZDM5MjIzNTE5
YTExODA3ZDEwMTBiMmMyMzg5NjBkZWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxOS0xMC0wNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEhUVFBfQ0FD
SEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSBidWlsZCBmbGFnLgorCisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMTAtMDQgIFJvc3MgS2ly
c2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIFNvY2tldC1iYXNlZCBS
V0kgc2hvdWxkIGJhc2U2NC1lbmNvZGUgYmFja2VuZCBjb21tYW5kcyBvbiBjbGllbnQsIG5vdCBz
ZXJ2ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBlODYyYWNkYjI4N2VhOWNjNTYyNTIyMGYxODBjNzNkODMxMjIy
MWEyLi4yN2I0MmYwY2VmODFkYTJlNzAyYTEwMTVmMWEyNjk5MzJjNTFiNzA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMTAtMDcgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNv
bT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRl
Z3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0YXJ0
IHBhcnNpbmcgdGhlIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgQ2FjaGUtQ29udHJvbCBkaXJlY3Rp
dmUKKyAgICAgICAgYW5kIGV4cG9zZSBpdCBvbiBSZXNvdXJjZVJlc3BvbnNlLgorCisgICAgICAg
IFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNo
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLWltYWdlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRt
bAorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6cGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVDb250cm9sRGlyZWN0aXZlczo6Q2FjaGVDb250cm9sRGlyZWN0aXZlcyk6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRh
dGUgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuaDoKKwogMjAxOS0xMC0wNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBhdHRhY2hTaGFkb3cgc2hvdWxkIHN1cHBvcnQgYXR0YWNoaW5nIGEgc2hhZG93IHJv
b3QgdG8gYSBtYWluIGVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDQ4ZTgzMzc5ZGM3Mjdj
N2QzOGY0MTcwYzBlY2E5YjFhYzFkZTg0ODUuLjc1M2Y4MzM1ODM4ZmVhMTIwNmUzZTMzNGZlOGE4
MGJkODVmNmQxMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTEw
LTA3ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFs
ZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZB
TElEQVRFIGJ1aWxkIGZsYWcuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZzoKKwogMjAxOS0xMC0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFNpbXBsaWZ5IHNhbmRib3ggZW5hYmxpbmcgbWFj
cm9zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDU3NDNkNGI1Yjk3NzZkNDQ2MmM0ODNhNmYyZWJkYzVkZDVhYzI3OWYu
LjVhNzc4MWZiMjE1YTUwYzEwNGRhNDc4NjNlMzJhZDBmNzdiMzk1NmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDMgQEAKKzIwMTktMTAtMDcgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBV
c2VEZWNpc2lvbiB2YWx1ZSBBc3luY1JldmFsaWRhdGUgZm9yIGFzeW5jIHJldmFsaWRhdGlvbi4g
VGhpcyBpcyB1c2VkCisgICAgICAgIHdoZW4gdGhlIHJldHJpZXZlZCBjYWNoZSBlbnRyeSBpcyBh
IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgcmVzcG9uc2UgWzFdLgorICAgICAgICBJbiBjYXNlIG9m
IEFzeW5jUmV2YWxpZGF0ZSwgYSBjaGVjayBpcyBtYWRlIHRvIHNlZSBpZiB0aGVyZSBpcyBhCisg
ICAgICAgIGN1cnJlbnQgYXN5bmMgcmV2YWxpZGF0aW9uIG9uZ29pbmcgZm9yIHRoZSBlbnRyeSwg
aWYgbm90IG9uZSBpcworICAgICAgICBzdGFydGVkLiBSZWdhcmRsZXNzLCB0aGUgc3RhbGUgZW50
cnkgaXMgcmV0dXJuZWQsIHVudGlsIGVpdGhlciB0aGUKKyAgICAgICAgYXN5bmMgcmV2YWxpZGF0
aW9uIGVuZHMgc3VjY2Vzc2Z1bGx5IG9yIGF0IHRoZSBtb21lbnQgd2hlbiB0aGUKKyAgICAgICAg
cmVzcG9uc2UgZXhwaXJlcyBmb3IgcmVhbC4KKworICAgICAgICBbMV0gaHR0cHM6Ly9mZXRjaC5z
cGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS1yZXNwb25zZQor
CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0NhY2hlOjpyZXNwb25zZUhhc0V4cGlyZWQpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ2FjaGU6OnJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24pOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ2FjaGU6Om1ha2VVc2VEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtDYWNoZTo6bWFrZVN0b3JlRGVjaXNpb24pOiBBbGxvdyBzdG9yaW5nCisgICAgICAgIHN0
YWxlLXdoaWxlLXJldmFsaWRhdGUgcmVzcG9uc2VzIGlmIG5vdCBleHBpcmVkLgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3QpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9uOjpBc3luY1JldmFs
aWRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRp
b246OmxvYWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2
YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZyk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZTo6Y2FuVXNlUGVuZGluZ1JldmFsaWRhdGlvbik6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6OnN0YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZCk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6OnJldHJpZXZlKToKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmR1bXBIVFRQSGVhZGVyc0RpZmYpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlcXVlc3RzSGVhZGVyc01hdGNoKToKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5h
Z2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpkdW1wSFRUUEhlYWRlcnNE
aWZmKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXF1ZXN0c0hl
YWRlcnNNYXRjaCk6IERlbGV0ZWQuCisKIDIwMTktMTAtMDQgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBhIGJldHRlciBuYW1lIHRoYW4gYWxsb3dGYXN0Q2xp
Y2tzRXZlcnl3aGVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDg1MTlkM2MwMTI2
OWM1YjJhYTVmOGM4MjUzM2IzMzk0MTEzOGRhYzkuLmU2MGVjMTNjZWFkMDU0ZmNmZGMwNTE0MzM0
M2ExMTI1YWZjYzM3ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxOS0xMC0wNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAg
IFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEhUVFBfQ0FDSEVfU1RB
TEVfV0hJTEVfUkVWQUxJREFURSBidWlsZCBmbGFnLgorCisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMTAtMDQgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW5hbWUgU2NoZW1lUmVn
aXN0cnkgdG8gTGVnYWN5U2NoZW1lUmVnaXN0cnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCBkODA4ZWUwM2ZhMjQ3OTIwODZkZDljN2VkNWE0ZTA2ZjU5YzA1MjM4Li43ZGEzNGU2M2NkNzI0
YjIwNzRmOGVmYmMzZjRiMzEzMWE1N2Q1MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBA
IC0xOTAsNiArMTkwLDggQEAgRU5BQkxFX0dFT0xPQ0FUSU9OX2lwaG9uZXNpbXVsYXRvciA9IEVO
QUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9HRU9MT0NBVElPTl9tYWNjYXRhbHlzdCA9IEVOQUJM
RV9HRU9MT0NBVElPTjsKIEVOQUJMRV9HRU9MT0NBVElPTl9tYWNvc3ggPSBFTkFCTEVfR0VPTE9D
QVRJT047CiAKK0VOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUgPSBFTkFC
TEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFOworCiBFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFOwogCiBFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTID0gRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUzsKQEAg
LTQ0Myw0ICs0NDUsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsK
IAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
ICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19N
T0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RP
Ul9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExF
UikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05F
VFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMp
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09C
U0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJD
RV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJf
UFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9X
T1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNF
Ul9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VC
RFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lO
VEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJf
QVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAk
KEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElP
TikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAk
KEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVf
UkVWQUxJREFURSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJT
RUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZ
Qk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQo
RU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQo
RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5B
QkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRB
TE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkg
JChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMp
ICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdf
QVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJE
UklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5U
RVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJH
UFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CmluZGV4IGQ4MDhlZTAzZmEyNDc5MjA4NmRkOWM3ZWQ1YTRlMDZmNTljMDUyMzguLjdkYTM0ZTYz
Y2Q3MjRiMjA3NGY4ZWZiYzNmNGIzMTMxYTU3ZDUyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xOTAsNiAr
MTkwLDggQEAgRU5BQkxFX0dFT0xPQ0FUSU9OX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9HRU9M
T0NBVElPTjsKIEVOQUJMRV9HRU9MT0NBVElPTl9tYWNjYXRhbHlzdCA9IEVOQUJMRV9HRU9MT0NB
VElPTjsKIEVOQUJMRV9HRU9MT0NBVElPTl9tYWNvc3ggPSBFTkFCTEVfR0VPTE9DQVRJT047CiAK
K0VOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUgPSBFTkFCTEVfSFRUUF9D
QUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFOworCiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9
IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFOwogCiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTID0gRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUzsKQEAgLTQ0Myw0ICs0
NDUsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxF
X0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNf
R1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9D
U1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJ
TUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5B
VEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FD
SEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVD
VCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQo
RU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCRFJJVkVSX01P
VVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9O
UykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9X
RUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9B
UFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0Nf
TE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9G
QVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFU
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09C
U0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09E
RV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xF
R0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9S
WV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChF
TkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVf
UEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxF
X1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9T
RVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5B
QkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVO
QUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZ
Qk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05T
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5B
QkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
QVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggZDgwOGVlMDNmYTI0NzkyMDg2ZGQ5YzdlZDVhNGUwNmY1OWMwNTIzOC4uN2RhMzRlNjNj
ZDcyNGIyMDc0ZjhlZmJjM2Y0YjMxMzFhNTdkNTIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
MTkwLDYgKzE5MCw4IEBAIEVOQUJMRV9HRU9MT0NBVElPTl9pcGhvbmVzaW11bGF0b3IgPSBFTkFC
TEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjY2F0YWx5c3QgPSBFTkFCTEVf
R0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjb3N4ID0gRU5BQkxFX0dFT0xPQ0FU
SU9OOwogCitFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFID0gRU5BQkxF
X0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURTsKKwogRU5BQkxFX0lOREVYRURfREFU
QUJBU0UgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRTsKIAogRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUyA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlM7CkBAIC00
NDMsNCArNDQ1LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAk
KEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9E
RV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1Jf
QUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRX
T1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNF
UlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0Vf
TE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BS
RUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09S
S0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJf
TUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNT
RU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRS
SVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQ
SV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChF
TkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChF
TkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEUpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxP
TkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQo
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAk
KEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQ
SSkgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJ
VkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BV
KSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uY3BwCmluZGV4
IDQ5NTkwNTA2NzljZTA1MDQ4NDI0NDdlYjFmNWEwYmY4YTY3NjgzY2UuLmMwMWVmZWE1MGYwMmNk
MWQxNjhlODgyZDc3NjkyMjA1ZTkwZTMxZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKQEAgLTMxMyw4ICszMTMsMTkgQEAg
Q2FjaGVDb250cm9sRGlyZWN0aXZlcyBwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMoY29uc3Qg
SFRUUEhlYWRlck1hcCYgaGVhZGVycykKICAgICAgICAgICAgICAgICBkb3VibGUgbWF4U3RhbGUg
PSBkaXJlY3RpdmVzW2ldLnNlY29uZC50b0RvdWJsZSgmb2spOwogICAgICAgICAgICAgICAgIGlm
IChvaykKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lm1heFN0YWxlID0gU2Vjb25kcyB7IG1h
eFN0YWxlIH07Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKGRpcmVjdGl2ZXNbaV0uZmlyc3QsICJpbW11dGFibGUiKSkKKyAgICAgICAgICAgIH0g
ZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5maXJz
dCwgImltbXV0YWJsZSIpKSB7CiAgICAgICAgICAgICAgICAgcmVzdWx0LmltbXV0YWJsZSA9IHRy
dWU7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KGRpcmVjdGl2ZXNbaV0uZmlyc3QsICJzdGFsZS13aGlsZS1yZXZhbGlkYXRlIikpIHsKKyAgICAg
ICAgICAgICAgICBpZiAocmVzdWx0LnN0YWxlV2hpbGVSZXZhbGlkYXRlKSB7CisgICAgICAgICAg
ICAgICAgICAgIC8vIEZpcnN0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgZGlyZWN0aXZlIHdpbnMg
aWYgdGhlcmUgYXJlIG11bHRpcGxlIG9uZXMuCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBib29sIG9rOworICAgICAgICAg
ICAgICAgIGRvdWJsZSBzdGFsZVdoaWxlUmV2YWxpZGF0ZSA9IGRpcmVjdGl2ZXNbaV0uc2Vjb25k
LnRvRG91YmxlKCZvayk7CisgICAgICAgICAgICAgICAgaWYgKG9rKSB7CisgICAgICAgICAgICAg
ICAgICAgIHJlc3VsdC5zdGFsZVdoaWxlUmV2YWxpZGF0ZSA9IFNlY29uZHMgeyBzdGFsZVdoaWxl
UmV2YWxpZGF0ZSB9OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9D
YWNoZVZhbGlkYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVW
YWxpZGF0aW9uLmgKaW5kZXggNTZlZmVhNjIxNTQ0Nzk1MDZhMTY2NGZmZDA4ZTA4YWIyYzU1NmJj
ZC4uMDQwYTk2OTdlNWZhODJlMWFmNTBmZmE5YWQxOTI3MjdmM2I3ODQxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oCkBAIC02OSw2
ICs2OSw3IEBAIHN0cnVjdCBDYWNoZUNvbnRyb2xEaXJlY3RpdmVzIHsKIAogICAgIE1hcmthYmxl
PFNlY29uZHMsIFNlY29uZHM6Ok1hcmthYmxlVHJhaXRzPiBtYXhBZ2U7CiAgICAgTWFya2FibGU8
U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IG1heFN0YWxlOworICAgIE1hcmthYmxl
PFNlY29uZHMsIFNlY29uZHM6Ok1hcmthYmxlVHJhaXRzPiBzdGFsZVdoaWxlUmV2YWxpZGF0ZTsK
ICAgICBib29sIG5vQ2FjaGUgOiAxOwogICAgIGJvb2wgbm9TdG9yZSA6IDE7CiAgICAgYm9vbCBt
dXN0UmV2YWxpZGF0ZSA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCmluZGV4IDIwYWM2NGQ1NzAzNGM2OWVh
OTJiYzdhNDM1MzZmMTZkNzk1ZmZhMjkuLjMyNzJlMGM0OGU2YjY0N2EwM2QwMjM4MzY5YWMzYjgx
MGU1ZWNjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXNwb25zZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCkBAIC02NTUsNiArNjU1LDEzIEBAIE9wdGlvbmFs
PFNlY29uZHM+IFJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xNYXhBZ2UoKSBjb25z
dAogICAgIHJldHVybiBtX2NhY2hlQ29udHJvbERpcmVjdGl2ZXMubWF4QWdlOwogfQogCitPcHRp
b25hbDxTZWNvbmRzPiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250cm9sU3RhbGVXaGls
ZVJldmFsaWRhdGUoKSBjb25zdAoreworICAgIGlmICghbV9oYXZlUGFyc2VkQ2FjaGVDb250cm9s
SGVhZGVyKQorICAgICAgICBwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMoKTsKKyAgICByZXR1
cm4gbV9jYWNoZUNvbnRyb2xEaXJlY3RpdmVzLnN0YWxlV2hpbGVSZXZhbGlkYXRlOworfQorCiBz
dGF0aWMgT3B0aW9uYWw8V2FsbFRpbWU+IHBhcnNlRGF0ZVZhbHVlSW5IZWFkZXIoY29uc3QgSFRU
UEhlYWRlck1hcCYgaGVhZGVycywgSFRUUEhlYWRlck5hbWUgaGVhZGVyTmFtZSkKIHsKICAgICBT
dHJpbmcgaGVhZGVyVmFsdWUgPSBoZWFkZXJzLmdldChoZWFkZXJOYW1lKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApp
bmRleCBjYjE3YjU5NTQ4N2QxMGI3NzNjNGU0ODUzNTQzMDI0YTUwZjFhOTdmLi40MDY4MWYwNzdh
YjllZWQwOWM5MzViYjBiYWFjOWUwYjQwOWMzOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCkBAIC0xMzYsNiAr
MTM2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY2FjaGVDb250cm9sQ29u
dGFpbnNJbW11dGFibGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGhhc0NhY2hl
VmFsaWRhdG9yRmllbGRzKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8U2Vj
b25kcz4gY2FjaGVDb250cm9sTWF4QWdlKCkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgT3B0
aW9uYWw8U2Vjb25kcz4gY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKSBjb25zdDsK
ICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxXYWxsVGltZT4gZGF0ZSgpIGNvbnN0OwogICAg
IFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGFnZSgpIGNvbnN0OwogICAgIFdFQkNP
UkVfRVhQT1JUIE9wdGlvbmFsPFdhbGxUaW1lPiBleHBpcmVzKCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIv
U291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCBkODA4ZWUwM2ZhMjQ3OTIwODZkZDljN2VkNWE0ZTA2ZjU5YzA1MjM4Li43ZGEzNGU2M2NkNzI0
YjIwNzRmOGVmYmMzZjRiMzEzMWE1N2Q1MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5MCw2ICsxOTAsOCBA
QCBFTkFCTEVfR0VPTE9DQVRJT05faXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0dFT0xPQ0FUSU9O
OwogRU5BQkxFX0dFT0xPQ0FUSU9OX21hY2NhdGFseXN0ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwog
RU5BQkxFX0dFT0xPQ0FUSU9OX21hY29zeCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIAorRU5BQkxF
X0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSA9IEVOQUJMRV9IVFRQX0NBQ0hFX1NU
QUxFX1dISUxFX1JFVkFMSURBVEU7CisKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gRU5BQkxF
X0lOREVYRURfREFUQUJBU0U7CiAKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMg
PSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTOwpAQCAtNDQzLDQgKzQ0NSw0IEBA
IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BB
SU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBF
RF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQ
QVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tF
WUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VT
VE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVD
VUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09W
RVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElD
UykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVf
U0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5U
RVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVO
QUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQ
VE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FU
SU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAk
KEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklU
X1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNU
T1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBM
RVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9O
RVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5U
X1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRT
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9P
QlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVS
X1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0Vf
V09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VT
RVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VC
QVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dF
QkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9J
TlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAppbmRleCBmMzQ0ZDFhYmE2NGZl
OTNjOWNiZWJkNDdmNDNlODE2M2JhY2Q3YzE3Li45OGExYjU3MjQwMzRhNjJmNDVjYmIzNmE2MWVl
NTIwMWY0YTdkOThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiTmV0d29y
a0NhY2hlLmgiCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTmV0d29ya0NhY2hl
U3BlY3VsYXRpdmVMb2FkLmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJO
ZXR3b3JrUHJvY2Vzcy5oIgpAQCAtMTUyLDM1ICsxNTMsNDYgQEAgc3RhdGljIGJvb2wgY2FjaGVQ
b2xpY3lBbGxvd3NFeHBpcmVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IHBv
bGljeSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhw
aXJlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgV2FsbFRpbWUg
dGltZXN0YW1wLCBPcHRpb25hbDxTZWNvbmRzPiBtYXhTdGFsZSkKK3N0YXRpYyBVc2VEZWNpc2lv
biByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlLCBXYWxsVGltZSB0aW1lc3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0
YWxlKQogewogICAgIGlmIChyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkK
LSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRh
dGU7CiAKICAgICBhdXRvIGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdlKHJlc3BvbnNl
LCB0aW1lc3RhbXApOwogICAgIGF1dG8gbGlmZXRpbWUgPSBXZWJDb3JlOjpjb21wdXRlRnJlc2hu
ZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCB0aW1lc3RhbXApOwogCiAgICAgYXV0
byBtYXhpbXVtU3RhbGVuZXNzID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMF9tczsK
ICAgICBib29sIGhhc0V4cGlyZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1heGltdW1TdGFsZW5lc3M7
CisjaWYgRU5BQkxFKEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKKyAgICBpZiAo
aGFzRXhwaXJlZCAmJiAhbWF4U3RhbGUpIHsKKyAgICAgICAgYXV0byByZXNwb25zZU1heFN0YWxl
bmVzcyA9IHJlc3BvbnNlLmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAg
ICAgIG1heGltdW1TdGFsZW5lc3MgKz0gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPyByZXNwb25zZU1h
eFN0YWxlbmVzcy52YWx1ZSgpIDogMF9tczsKKyAgICAgICAgYm9vbCBpblJlc3BvbnNlU3RhbGVu
ZXNzID0gYWdlIC0gbGlmZXRpbWUgPCBtYXhpbXVtU3RhbGVuZXNzOworICAgICAgICBpZiAoaW5S
ZXNwb25zZVN0YWxlbmVzcykKKyAgICAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6QXN5bmNS
ZXZhbGlkYXRlOworICAgIH0KKyNlbmRpZgogCisgICAgaWYgKGhhc0V4cGlyZWQpIHsKICNpZm5k
ZWYgTE9HX0RJU0FCTEVECi0gICAgaWYgKGhhc0V4cGlyZWQpCi0gICAgICAgIExPRyhOZXR3b3Jr
Q2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4cGlyZWQgYWdl
PSVmIGxpZmV0aW1lPSVmIG1heC1zdGFsZT0lZyIsIGFnZSwgbGlmZXRpbWUsIG1heFN0YWxlKTsK
KyAgICAgICAgTE9HKE5ldHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgbmVlZHNSZXZhbGlk
YXRpb24gaGFzRXhwaXJlZCBhZ2U9JWYgbGlmZXRpbWU9JWYgbWF4LXN0YWxlbmVzcz0lZiIsIGFn
ZSwgbGlmZXRpbWUsIG1heGltdW1TdGFsZW5lc3MpOwogI2VuZGlmCisgICAgICAgIHJldHVybiBV
c2VEZWNpc2lvbjo6VmFsaWRhdGU7CisgICAgfQogCi0gICAgcmV0dXJuIGhhc0V4cGlyZWQ7Cisg
ICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlTmVl
ZHNSZXZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUgdGltZXN0
YW1wKQorc3RhdGljIFVzZURlY2lzaW9uIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUgdGltZXN0YW1wKQogewogICAgIGF1dG8gcmVx
dWVzdERpcmVjdGl2ZXMgPSBXZWJDb3JlOjpwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMocmVx
dWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOwogICAgIGlmIChyZXF1ZXN0RGlyZWN0aXZlcy5ub0Nh
Y2hlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpW
YWxpZGF0ZTsKICAgICAvLyBGb3IgcmVxdWVzdHMgd2UgaWdub3JlIG1heC1hZ2UgdmFsdWVzIG90
aGVyIHRoYW4gemVyby4KICAgICBpZiAocmVxdWVzdERpcmVjdGl2ZXMubWF4QWdlICYmIHJlcXVl
c3REaXJlY3RpdmVzLm1heEFnZS52YWx1ZSgpID09IDBfbXMpCi0gICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlZhbGlkYXRlOwogCi0gICAgcmV0dXJuIHJl
c3BvbnNlSGFzRXhwaXJlZChyZXNwb25zZSwgdGltZXN0YW1wLCByZXF1ZXN0RGlyZWN0aXZlcy5t
YXhTdGFsZSk7CisgICAgcmV0dXJuIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24ocmVzcG9uc2Us
IHRpbWVzdGFtcCwgcmVxdWVzdERpcmVjdGl2ZXMubWF4U3RhbGUpOwogfQogCiBzdGF0aWMgVXNl
RGVjaXNpb24gbWFrZVVzZURlY2lzaW9uKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2Vzcywg
Y29uc3QgUEFMOjpTZXNzaW9uSUQmIHNlc3Npb25JRCwgY29uc3QgRW50cnkmIGVudHJ5LCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCkBAIC0xOTcsOCArMjA5LDkgQEAg
c3RhdGljIFVzZURlY2lzaW9uIG1ha2VVc2VEZWNpc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29y
a1Byb2Nlc3MsIGNvbnN0IFBBTDo6U2UKICAgICBpZiAoY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVk
KHJlcXVlc3QuY2FjaGVQb2xpY3koKSkpCiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNl
OwogCi0gICAgaWYgKCFyZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGVudHJ5LnJlc3BvbnNlKCks
IHJlcXVlc3QsIGVudHJ5LnRpbWVTdGFtcCgpKSkKLSAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9u
OjpVc2U7CisgICAgYXV0byBkZWNpc2lvbiA9IHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oZW50
cnkucmVzcG9uc2UoKSwgcmVxdWVzdCwgZW50cnkudGltZVN0YW1wKCkpOworICAgIGlmIChkZWNp
c2lvbiAhPSBVc2VEZWNpc2lvbjo6VmFsaWRhdGUpCisgICAgICAgIHJldHVybiBkZWNpc2lvbjsK
IAogICAgIGlmICghZW50cnkucmVzcG9uc2UoKS5oYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpKQog
ICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246Ok5vRHVlVG9NaXNzaW5nVmFsaWRhdG9yRmllbGRz
OwpAQCAtMjUxLDggKzI2NCwxMiBAQCBzdGF0aWMgU3RvcmVEZWNpc2lvbiBtYWtlU3RvcmVEZWNp
c2lvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUgogICAgIGJvb2wg
c3RvcmVVbmNvbmRpdGlvbmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbiA9IGlzTWFpblJlc291cmNl
IHx8IG9yaWdpbmFsUmVxdWVzdC5wcmlvcml0eSgpID09IFdlYkNvcmU6OlJlc291cmNlTG9hZFBy
aW9yaXR5OjpWZXJ5SGlnaDsKICAgICBpZiAoIXN0b3JlVW5jb25kaXRpb25hbGx5Rm9ySGlzdG9y
eU5hdmlnYXRpb24pIHsKICAgICAgICAgYXV0byBub3cgPSBXYWxsVGltZTo6bm93KCk7Ci0gICAg
ICAgIGJvb2wgaGFzTm9uWmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRh
aW5zTm9DYWNoZSgpICYmIFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBG
YW1pbHkocmVzcG9uc2UsIG5vdykgPiAwX21zOwotCisgICAgICAgIFNlY29uZHMgYWxsb3dlZFN0
YWxlOworI2lmIEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCisgICAg
ICAgIGlmIChhdXRvIHZhbHVlID0gcmVzcG9uc2UuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFs
aWRhdGUoKSkKKyAgICAgICAgICAgIGFsbG93ZWRTdGFsZSA9IHZhbHVlLnZhbHVlKCk7CisjZW5k
aWYKKyAgICAgICAgYm9vbCBoYXNOb25aZXJvTGlmZXRpbWUgPSAhcmVzcG9uc2UuY2FjaGVDb250
cm9sQ29udGFpbnNOb0NhY2hlKCkgJiYgKFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGlt
ZUZvckhUVFBGYW1pbHkocmVzcG9uc2UsIG5vdykgPiAwX21zIHx8IGFsbG93ZWRTdGFsZSA+IDBf
bXMpOwogICAgICAgICBib29sIHBvc3NpYmx5UmV1c2FibGUgPSByZXNwb25zZS5oYXNDYWNoZVZh
bGlkYXRvckZpZWxkcygpIHx8IGhhc05vblplcm9MaWZldGltZTsKICAgICAgICAgaWYgKCFwb3Nz
aWJseVJldXNhYmxlKQogICAgICAgICAgICAgcmV0dXJuIFN0b3JlRGVjaXNpb246Ok5vRHVlVG9V
bmxpa2VseVRvUmV1c2U7CkBAIC0yOTYsNiArMzEzLDgzIEBAIHN0YXRpYyBib29sIGlubGluZSBj
YW5SZXF1ZXN0VXNlU3BlY3VsYXRpdmVSZXZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFM
SURBVEUpCitzdGF0aWMgaW5saW5lIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjb25zdHJ1Y3RS
ZXZhbGlkYXRpb25SZXF1ZXN0KGNvbnN0IEtleSYga2V5LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEVudHJ5KiBlbnRyeSkKK3sKKyAgICBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmV2YWxpZGF0aW9uUmVxdWVzdCA9IHJlcXVlc3Q7CisgICAgaWYgKCFr
ZXkucGFydGl0aW9uKCkuaXNFbXB0eSgpKQorICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNl
dENhY2hlUGFydGl0aW9uKGtleS5wYXJ0aXRpb24oKSk7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FH
RShrZXkucmFuZ2UoKS5pc0VtcHR5KCksICJyYW5nZSBpcyBub3Qgc3VwcG9ydGVkIik7CisKKyAg
ICByZXZhbGlkYXRpb25SZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7CisgICAgaWYgKGVudHJ5
KSB7CisgICAgICAgIFN0cmluZyBlVGFnID0gZW50cnktPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZp
ZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpFVGFnKTsKKyAgICAgICAgaWYgKCFlVGFnLmlz
RW1wdHkoKSkKKyAgICAgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0SFRUUEhlYWRlckZp
ZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpJZk5vbmVNYXRjaCwgZVRhZyk7CisKKyAgICAg
ICAgU3RyaW5nIGxhc3RNb2RpZmllZCA9IGVudHJ5LT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVs
ZChXZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6TGFzdE1vZGlmaWVkKTsKKyAgICAgICAgaWYgKCFs
YXN0TW9kaWZpZWQuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5z
ZXRIVFRQSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OklmTW9kaWZpZWRTaW5j
ZSwgbGFzdE1vZGlmaWVkKTsKKyAgICB9CisKKyAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldFBy
aW9yaXR5KFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpMb3cpOworCisgICAgcmV0dXJu
IHJldmFsaWRhdGlvblJlcXVlc3Q7Cit9CisKK2NsYXNzIEFzeW5jUmV2YWxpZGF0aW9uIHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIEZ1bmN0aW9u
PHZvaWQgKGJvb2wpPiBBc3luY1JldmFsaWRhdGlvbkNvbXBsZXRpb25IYW5kbGVyOworICAgIEFz
eW5jUmV2YWxpZGF0aW9uKENhY2hlJiBjYWNoZSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJ
RCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBzdGQ6OnVuaXF1ZV9w
dHI8TmV0d29ya0NhY2hlOjpFbnRyeT4gZW50cnksIEFzeW5jUmV2YWxpZGF0aW9uQ29tcGxldGlv
bkhhbmRsZXImJiBoYW5kbGVyKQorICAgICAgICA6IG1fdGltZXIoKnRoaXMsICZBc3luY1JldmFs
aWRhdGlvbjo6c3RhbGVXaGlsZVJldmFsaWRhdGVFbmRpbmcpCisgICAgICAgICwgbV9jb21wbGV0
aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIpKQorICAgIHsKKyAgICAgICAgYXV0byBrZXkgPSBl
bnRyeS0+a2V5KCk7CisgICAgICAgIGF1dG8gcmV2YWxpZGF0aW9uUmVxdWVzdCA9IGNvbnN0cnVj
dFJldmFsaWRhdGlvblJlcXVlc3Qoa2V5LCByZXF1ZXN0LCBlbnRyeS5nZXQoKSk7CisgICAgICAg
IGF1dG8gYWdlID0gV2ViQ29yZTo6Y29tcHV0ZUN1cnJlbnRBZ2UoZW50cnktPnJlc3BvbnNlKCks
IGVudHJ5LT50aW1lU3RhbXAoKSk7CisgICAgICAgIGF1dG8gbGlmZXRpbWUgPSBXZWJDb3JlOjpj
b21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KGVudHJ5LT5yZXNwb25zZSgpLCBl
bnRyeS0+dGltZVN0YW1wKCkpOworICAgICAgICBhdXRvIHJlc3BvbnNlTWF4U3RhbGVuZXNzID0g
ZW50cnktPnJlc3BvbnNlKCkuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKTsKKyAg
ICAgICAgQVNTRVJUKHJlc3BvbnNlTWF4U3RhbGVuZXNzKTsKKyAgICAgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoKnJlc3BvbnNlTWF4U3RhbGVuZXNzIC0gKGFnZSAtIGxpZmV0aW1lKSk7CisgICAg
ICAgIG1fbG9hZCA9IG1ha2VVbmlxdWU8U3BlY3VsYXRpdmVMb2FkPihjYWNoZSwgZnJhbWVJRCwg
cmV2YWxpZGF0aW9uUmVxdWVzdCwgV1RGTW92ZShlbnRyeSksIFt0aGlzLCBrZXksIHJldmFsaWRh
dGlvblJlcXVlc3RdKHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gcmV2YWxpZGF0ZWRFbnRyeSkgewor
ICAgICAgICAgICAgQVNTRVJUKCFyZXZhbGlkYXRlZEVudHJ5IHx8ICFyZXZhbGlkYXRlZEVudHJ5
LT5uZWVkc1ZhbGlkYXRpb24oKSk7CisgICAgICAgICAgICBBU1NFUlQoIXJldmFsaWRhdGVkRW50
cnkgfHwgcmV2YWxpZGF0ZWRFbnRyeS0+a2V5KCkgPT0ga2V5KTsKKyAgICAgICAgICAgIG1fY29t
cGxldGlvbkhhbmRsZXIocmV2YWxpZGF0ZWRFbnRyeS5nZXQoKSk7CisgICAgICAgIH0pOworICAg
IH0KKworICAgIGNvbnN0IFNwZWN1bGF0aXZlTG9hZCYgbG9hZCgpIGNvbnN0IHsgcmV0dXJuICpt
X2xvYWQ7IH0KKworICAgIHZvaWQgc3RhbGVXaGlsZVJldmFsaWRhdGVFbmRpbmcoKSB7IG1fY29t
cGxldGlvbkhhbmRsZXIodHJ1ZSk7IH0KKworcHJpdmF0ZToKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
U3BlY3VsYXRpdmVMb2FkPiBtX2xvYWQ7CisgICAgV2ViQ29yZTo6VGltZXIgbV90aW1lcjsKKyAg
ICBBc3luY1JldmFsaWRhdGlvbkNvbXBsZXRpb25IYW5kbGVyIG1fY29tcGxldGlvbkhhbmRsZXI7
Cit9OworCitzdGF0aWMgaW5saW5lIGJvb2wgY2FuVXNlUGVuZGluZ1JldmFsaWRhdGlvbihjb25z
dCBTcGVjdWxhdGl2ZUxvYWQmIGxvYWQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYg
YWN0dWFsUmVxdWVzdCkKK3sKKyAgICByZXR1cm4gcmVxdWVzdHNIZWFkZXJzTWF0Y2gobG9hZC5v
cmlnaW5hbFJlcXVlc3QoKSwgYWN0dWFsUmVxdWVzdCk7Cit9CisKK3ZvaWQgQ2FjaGU6OnN0YXJ0
QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IE5ldHdvcmtDYWNoZTo6S2V5JiBrZXksIHN0ZDo6dW5pcXVlX3B0cjxF
bnRyeT4gZW50cnksIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQpCit7CisgICAgYXV0byog
cGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uID0gbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLmdl
dChrZXkpOworICAgIGlmIChwZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24gJiYgY2FuVXNlUGVuZGlu
Z1JldmFsaWRhdGlvbihwZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24tPmxvYWQoKSwgcmVxdWVzdCkp
CisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gcmV2YWxpZGF0b3IgPSBtYWtlVW5pcXVlPEFz
eW5jUmV2YWxpZGF0aW9uPigqdGhpcywgZnJhbWVJRCwgcmVxdWVzdCwgV1RGTW92ZShlbnRyeSks
IFt0aGlzLCBrZXldKGJvb2wgZW5kaW5nKSB7CisgICAgICAgIGlmIChlbmRpbmcpIHsKKyAgICAg
ICAgICAgIG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9ucy50YWtlKGtleSk7CisgICAgICAgICAg
ICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBBc3luYyByZXZhbGlkYXRpb24g
Y29tcGxldGVkIGZvciAnJXMnOiIsIGtleS5pZGVudGlmaWVyKCkudXRmOCgpLmRhdGEoKSk7Cisg
ICAgICAgIH0KKyAgICB9KTsKKyAgICBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMuYWRkKGtl
eSwgV1RGTW92ZShyZXZhbGlkYXRvcikpOworfQorI2VuZGlmCisKIHZvaWQgQ2FjaGU6OnJldHJp
ZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFs
RnJhbWVJRCYgZnJhbWVJRCwgUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25I
YW5kbGVyKQogewogICAgIEFTU0VSVChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1p
bHkoKSk7CkBAIC0zMzQsMTIgKzQyOCwxMSBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogICAg
IH0KICNlbmRpZgogCi0gICAgbV9zdG9yYWdlLT5yZXRyaWV2ZShzdG9yYWdlS2V5LCBwcmlvcml0
eSwgW3JlcXVlc3QsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
ciksIGluZm8gPSBXVEZNb3ZlKGluZm8pLCBzdG9yYWdlS2V5LCBuZXR3b3JrUHJvY2VzcyA9IG1h
a2VSZWYobmV0d29ya1Byb2Nlc3MoKSksIHNlc3Npb25JRCA9IG1fc2Vzc2lvbklEXShhdXRvIHJl
Y29yZCwgYXV0byB0aW1pbmdzKSBtdXRhYmxlIHsKKyAgICBtX3N0b3JhZ2UtPnJldHJpZXZlKHN0
b3JhZ2VLZXksIHByaW9yaXR5LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMp
LCByZXF1ZXN0LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
LCBpbmZvID0gV1RGTW92ZShpbmZvKSwgc3RvcmFnZUtleSwgbmV0d29ya1Byb2Nlc3MgPSBtYWtl
UmVmKG5ldHdvcmtQcm9jZXNzKCkpLCBzZXNzaW9uSUQgPSBtX3Nlc3Npb25JRCwgZnJhbWVJRF0o
YXV0byByZWNvcmQsIGF1dG8gdGltaW5ncykgbXV0YWJsZSB7CiAgICAgICAgIGluZm8uc3RvcmFn
ZVRpbWluZ3MgPSB0aW1pbmdzOwogCiAgICAgICAgIGlmICghcmVjb3JkKSB7CiAgICAgICAgICAg
ICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBub3QgZm91bmQgaW4gc3RvcmFn
ZSIpOwotCiAgICAgICAgICAgICBjb21wbGV0ZVJldHJpZXZlKFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpLCBudWxscHRyLCBpbmZvKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgfQpAQCAtMzUwLDYgKzQ0MywxMyBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogCiAgICAg
ICAgIGF1dG8gdXNlRGVjaXNpb24gPSBlbnRyeSA/IG1ha2VVc2VEZWNpc2lvbihuZXR3b3JrUHJv
Y2Vzcywgc2Vzc2lvbklELCAqZW50cnksIHJlcXVlc3QpIDogVXNlRGVjaXNpb246Ok5vRHVlVG9E
ZWNvZGVGYWlsdXJlOwogICAgICAgICBzd2l0Y2ggKHVzZURlY2lzaW9uKSB7CisgICAgICAgIGNh
c2UgVXNlRGVjaXNpb246OkFzeW5jUmV2YWxpZGF0ZTogeworI2lmIEVOQUJMRShIVFRQX0NBQ0hF
X1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50
cnk+IGVudHJ5Q29weSA9IG1ha2VVbmlxdWU8RW50cnk+KCplbnRyeSk7CisgICAgICAgICAgICBz
dGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQocmVxdWVzdCwgc3RvcmFnZUtleSwgV1RGTW92
ZShlbnRyeUNvcHkpLCBmcmFtZUlEKTsKKyNlbmRpZgorICAgICAgICAgICAgRkFMTFRIUk9VR0g7
CisgICAgICAgIH0KICAgICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6VXNlOgogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OlZhbGlkYXRlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKaW5kZXggMGRlZTdm
ODhkZmY2MTYyY2MzZmQ3ODUxYjgzODBmYzVhODNiZDVhZS4uYTQ0NzgxZDk2Y2JhNWM4OTZjMDRl
NGZhNzkwYmYwYzMzMzY5OThhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIE5ldHdvcmtQ
cm9jZXNzOwogCiBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAorY2xhc3MgQXN5bmNSZXZhbGlk
YXRpb247CiBjbGFzcyBDYWNoZTsKIGNsYXNzIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI7CiAKQEAg
LTgyLDYgKzgzLDcgQEAgZW51bSBjbGFzcyBTdG9yZURlY2lzaW9uIHsKIGVudW0gY2xhc3MgVXNl
RGVjaXNpb24gewogICAgIFVzZSwKICAgICBWYWxpZGF0ZSwKKyAgICBBc3luY1JldmFsaWRhdGUs
CiAgICAgTm9EdWVUb1ZhcnlpbmdIZWFkZXJNaXNtYXRjaCwKICAgICBOb0R1ZVRvTWlzc2luZ1Zh
bGlkYXRvckZpZWxkcywKICAgICBOb0R1ZVRvRGVjb2RlRmFpbHVyZSwKQEAgLTE2OSw2ICsxNzEs
MTAgQEAgcHVibGljOgogICAgIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXIqIHNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXIoKSB7IHJldHVybiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXIuZ2V0KCk7IH0KICNl
bmRpZgogCisjaWYgRU5BQkxFKEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKKyAg
ICB2b2lkIHN0YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZChjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmLCBjb25zdCBOZXR3b3JrQ2FjaGU6OktleSYsIHN0ZDo6dW5pcXVlX3B0cjxF
bnRyeT4sIGNvbnN0IEdsb2JhbEZyYW1lSUQmKTsKKyNlbmRpZgorCiAgICAgTmV0d29ya1Byb2Nl
c3MmIG5ldHdvcmtQcm9jZXNzKCkgeyByZXR1cm4gbV9uZXR3b3JrUHJvY2Vzcy5nZXQoKTsgfQog
ICAgIGNvbnN0IFBBTDo6U2Vzc2lvbklEJiBzZXNzaW9uSUQoKSBjb25zdCB7IHJldHVybiBtX3Nl
c3Npb25JRDsgfQogICAgIGNvbnN0IFN0cmluZyYgc3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsg
cmV0dXJuIG1fc3RvcmFnZURpcmVjdG9yeTsgfQpAQCAtMTk1LDYgKzIwMSwxMCBAQCBwcml2YXRl
OgogICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyPiBtX3NwZWN1bGF0
aXZlTG9hZE1hbmFnZXI7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dI
SUxFX1JFVkFMSURBVEUpCisgICAgSGFzaE1hcDxLZXksIHN0ZDo6dW5pcXVlX3B0cjxBc3luY1Jl
dmFsaWRhdGlvbj4+IG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uczsKKyNlbmRpZgorCiAgICAg
dW5zaWduZWQgbV90cmF2ZXJzZUNvdW50IHsgMCB9OwogICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vz
c2lvbklEOwogICAgIFN0cmluZyBtX3N0b3JhZ2VEaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9h
ZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXggNmM3MmZhYmU3MmUzNTk0NDhhN2MxYjI5MWNkOTBlOTUw
ZTViYmU1NC4uYTIyMzM2MDQ2M2E2Zjg3MGI3NmI5ZTg3YzE1NzY4ZWM3NWFjMjhhOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZUxvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcApAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9S
RVZBTElEQVRJT04pCisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJ
REFUSU9OKSB8fCBFTkFCTEUoSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKQogI2lu
Y2x1ZGUgIk5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oIgogCiAjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgpAQCAtMTU1LDYgKzE1NSw0MyBAQCB2b2lkIFNwZWN1bGF0aXZlTG9hZDo6ZGlkQ29tcGxl
dGUoKQogICAgIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShtX2NhY2hlRW50cnkpKTsKIH0K
IAorI2lmICFMT0dfRElTQUJMRUQKKworc3RhdGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlmZihj
b25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVy
c0IpCit7CisgICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7CisgICAgZm9yIChhdXRvIGl0
ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgeworICAgICAgICBTdHJpbmcg
dmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOworICAgICAgICBpZiAodmFsdWVCLmlzTnVs
bCgpKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywg
IiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVlc3QgKHZhbHVlOiAlcyki
LCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKKyAgICAg
ICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKKyAgICAgICAgICAgIExPRyhOZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIgZGlmZmVycyBp
biBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZh
bHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsKKyAgICB9CisgICAgYXV0
byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7CisgICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0IuYmVn
aW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgeworICAgICAgICBpZiAoIWhlYWRlcnNBLmNvbnRhaW5z
KGl0LT5rZXkpKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9h
ZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29uZCByZXF1ZXN0ICh2YWx1
ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSk7
CisgICAgfQorfQorCisjZW5kaWYKKworYm9vbCByZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3QsIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkKK3sKKyAgICBBU1NFUlQoIWFjdHVhbFJlcXVlc3Qu
aXNDb25kaXRpb25hbCgpKTsKKyAgICBSZXNvdXJjZVJlcXVlc3Qgc3BlY3VsYXRpdmVSZXF1ZXN0
ID0gc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdDsKKyAgICBzcGVjdWxhdGl2ZVJlcXVlc3Qu
bWFrZVVuY29uZGl0aW9uYWwoKTsKKworICAgIGlmIChzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhl
YWRlckZpZWxkcygpICE9IGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKSB7CisgICAg
ICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICJDYW5ub3QgcmV1c2Ug
c3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQgZW50cnkgYmVjYXVzZSBIVFRQIGhlYWRlcnMgdXNlZCBm
b3IgdmFsaWRhdGlvbiBkbyBub3QgbWF0Y2giKTsKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgICAg
IGR1bXBIVFRQSGVhZGVyc0RpZmYoc3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMo
KSwgYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOworI2VuZGlmCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IE5ldHdvcmtDYWNoZQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlTG9hZC5oCmluZGV4IDZjZTc3Zjk5ZWEwMDM0NzNjNjk4MDdmZjg1OTBiMjIxYzJlMmQ0
MGMuLjlmNzQ3ZjdlYWE1YzgzOWIzZjdjNzFjNmFiNWNkMDU3MGExOGMxNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRp
dmVMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWQuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikKKyNp
ZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pIHx8IEVOQUJM
RShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCiAKICNpbmNsdWRlICJOZXR3b3Jr
Q2FjaGUuaCIKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVFbnRyeS5oIgpAQCAtNzcsNiArNzcsOCBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9kaWRDb21wbGV0ZSB7IGZhbHNlIH07CiB9OwogCitib29s
IHJlcXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgc3Bl
Y3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiBhY3R1YWxSZXF1ZXN0KTsKKwogfSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFu
YWdlci5jcHAKaW5kZXggNjc5NDAzOWI3ZTE5MTdhNGFhYmFkNGQyZDUwOGY3Mzk1Mzc4NjU2Ny4u
OTgwNmY2MmVhN2JiMDVjMGMzZWQ3MmFhZmRlNzQzZGQ1ZWRhYjgzMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxv
YWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC0yNTYsNDMgKzI1Niw2IEBA
IFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6On5TcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyKCkKIHsKIH0K
IAotI2lmICFMT0dfRElTQUJMRUQKLQotc3RhdGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlmZihj
b25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVy
c0IpCi17Ci0gICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0
ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgewotICAgICAgICBTdHJpbmcg
dmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOwotICAgICAgICBpZiAodmFsdWVCLmlzTnVs
bCgpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywg
IiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVlc3QgKHZhbHVlOiAlcyki
LCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKLSAgICAg
ICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKLSAgICAgICAgICAgIExPRyhOZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIgZGlmZmVycyBp
biBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZh
bHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsKLSAgICB9Ci0gICAgYXV0
byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0IuYmVn
aW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgewotICAgICAgICBpZiAoIWhlYWRlcnNBLmNvbnRhaW5z
KGl0LT5rZXkpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9h
ZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29uZCByZXF1ZXN0ICh2YWx1
ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSk7
Ci0gICAgfQotfQotCi0jZW5kaWYKLQotc3RhdGljIGJvb2wgcmVxdWVzdHNIZWFkZXJzTWF0Y2go
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1ZXN0LCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCi17Ci0gICAgQVNTRVJUKCFhY3R1YWxS
ZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKSk7Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IHNwZWN1bGF0aXZl
UmVxdWVzdCA9IHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3Q7Ci0gICAgc3BlY3VsYXRpdmVS
ZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7Ci0KLSAgICBpZiAoc3BlY3VsYXRpdmVSZXF1ZXN0
Lmh0dHBIZWFkZXJGaWVsZHMoKSAhPSBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSkg
ewotICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiQ2Fubm90
IHJldXNlIHNwZWN1bGF0aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJlY2F1c2UgSFRUUCBoZWFkZXJz
IHVzZWQgZm9yIHZhbGlkYXRpb24gZG8gbm90IG1hdGNoIik7Ci0jaWYgIUxPR19ESVNBQkxFRAot
ICAgICAgICBkdW1wSFRUUEhlYWRlcnNEaWZmKHNwZWN1bGF0aXZlUmVxdWVzdC5odHRwSGVhZGVy
RmllbGRzKCksIGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKTsKLSNlbmRpZgotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwotfQotCiBib29sIFNw
ZWN1bGF0aXZlTG9hZE1hbmFnZXI6OmNhblVzZVByZWxvYWRlZEVudHJ5KGNvbnN0IFByZWxvYWRl
ZEVudHJ5JiBlbnRyeSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KQogewog
ICAgIGlmICghZW50cnkud2FzUmV2YWxpZGF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKaW5kZXggZDgwOGVlMDNmYTI0NzkyMDg2ZGQ5YzdlZDVhNGUwNmY1OWMwNTIzOC4uN2RhMzRl
NjNjZDcyNGIyMDc0ZjhlZmJjM2Y0YjMxMzFhNTdkNTIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKQEAgLTE5MCw2ICsxOTAsOCBAQCBFTkFCTEVfR0VPTE9DQVRJT05faXBob25lc2lt
dWxhdG9yID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xPQ0FUSU9OX21hY2NhdGFs
eXN0ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xPQ0FUSU9OX21hY29zeCA9IEVO
QUJMRV9HRU9MT0NBVElPTjsKIAorRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJ
REFURSA9IEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEU7CisKIEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFID0gRU5BQkxFX0lOREVYRURfREFUQUJBU0U7CiAKIEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTOwpAQCAtNDQzLDQgKzQ0NSw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVO
QUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9O
X01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVO
QUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BF
Uk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9O
X09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRf
Q09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
TU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5B
QkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
S0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BB
SU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBF
RF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSFRUUF9DQUNIRV9T
VEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVO
QUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FU
VFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xf
TUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFM
SURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xM
SU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hf
RVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVT
T1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZ
X1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQo
RU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZF
Ul9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQo
RU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVf
V0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRlRXLmNtYWtlIGIvU291cmNlL2Nt
YWtlL09wdGlvbnNGVFcuY21ha2UKaW5kZXggNmNmMzg5YTlkYjU4OTc5ZWVhZDgxNjBlZjA2NDQ0
ODE4MGJhYTg4ZC4uNTk2NzFjY2ZhNmM4NjYyNThjMzBkZTcyZjlhNDk0MTc3ZmVkYmM3YyAxMDA2
NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNGVFcuY21ha2UKKysrIGIvU291cmNlL2NtYWtl
L09wdGlvbnNGVFcuY21ha2UKQEAgLTE1OSw2ICsxNTksNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfREFUQV9JTlRFUkFDVElPTiBQUklWQVRFIE9GRikKIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04gUFJJ
VkFURSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRE9XTkxP
QURfQVRUUklCVVRFIFBSSVZBVEUgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUg
UFJJVkFURSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5U
TCBQUklWQVRFIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9M
QVlPVVRfRk9STUFUVElOR19DT05URVhUIFBSSVZBVEUgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFVFRFUlBSRVNTIFBSSVZBVEUgT0ZGKQpkaWZmIC0tZ2l0
IGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dU
Sy5jbWFrZQppbmRleCA1YzhiY2M3NWM5ZTVhODIwZWFiMzkwMDcyOWZkM2YxY2VkYjU0N2NlLi40
ZDZlZTYzNzMzYzllMWE1OGNjMmUyMTc5ZTgwMDMxMjg1MmM5ZmE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5j
bWFrZQpAQCAtMTU0LDYgKzE1NCw3IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfRE9XTkxPQURfQVRUUklCVVRFIFBSSVZBVEUgT04pCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRU5DUllQVEVEX01FRElBIFBSSVZB
VEUgJHtFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTfSkKIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9GVFBESVIgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRF
IFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUiBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX01FRElBX1NUUkVBTSBQUklWQVRFICR7RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFU
VVJFU30pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUhUTUwgUFJJ
VkFURSBPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBi
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCBlMzAxYWJkNmRlODc4OTEy
NTIzOWJkMWVhYzg2ZDkyMWNjMzE2ZTc0Li5iZWU5NDc5NGU2YjJjYTY2NTg3Nzc1OWQyNzk5MzM0
ZDhkNDM5ZThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
KysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0xMzcsNiArMTM3LDcg
QEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfRlVMTFNDUkVFTl9BUEkgIlRvZ2dsZSBGdWxsc2NyZWVuIEFQSSBzdXBwb3J0IiBQUklW
QVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9HQU1FUEFEICJUb2dnbGUg
R2FtZXBhZCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfR0VPTE9DQVRJT04gIlRvZ2dsZSBHZW9sb2NhdGlvbiBzdXBwb3J0IiBQUklWQVRFIE9O
KQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxF
X1JFVkFMSURBVEUgIlRvZ2dsZSBIVFRQIGNhY2hlIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgc3Vw
cG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UgIlRvZ2dsZSBJbmRleGVkIERhdGFiYXNlIHN1cHBvcnQiIFBSSVZBVEUgT04p
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUyAiVG9nZ2xlIHN1cHBvcnQgZm9yIEluZGV4ZWQgRGF0YWJhc2UgaW4gd29ya2VycyIgUFJJ
VkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UiAiVG9nZ2xlIElucHV0IFR5cGUgQ29sb3Igc3VwcG9ydCIgUFJJVkFURSBPRkYpCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzFlMzUzMDdmZDdk
ZmE3ZDNjNDBlZTA5ZDUxZTgwNWVhNjVmOTU3Mi4uNjNhMzA1MmJhOTFiM2JjYWQxZDA2MzhkYjI3
ZDc0OTYzMjkxNTMzOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTEwLTA3ICBSb2IgQnVpcyAgPHJidWlzQGln
YWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hl
IHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFIGJ1aWxkIGZsYWcuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnOgorCiAyMDE5LTEwLTA0ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFsbG93IE9TUiBleGl0IHRvIHRoZSBMTEludApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5k
ZXggZDgwOGVlMDNmYTI0NzkyMDg2ZGQ5YzdlZDVhNGUwNmY1OWMwNTIzOC4uN2RhMzRlNjNjZDcy
NGIyMDc0ZjhlZmJjM2Y0YjMxMzFhNTdkNTIxMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0x
OTAsNiArMTkwLDggQEAgRU5BQkxFX0dFT0xPQ0FUSU9OX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJM
RV9HRU9MT0NBVElPTjsKIEVOQUJMRV9HRU9MT0NBVElPTl9tYWNjYXRhbHlzdCA9IEVOQUJMRV9H
RU9MT0NBVElPTjsKIEVOQUJMRV9HRU9MT0NBVElPTl9tYWNvc3ggPSBFTkFCTEVfR0VPTE9DQVRJ
T047CiAKK0VOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUgPSBFTkFCTEVf
SFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFOworCiBFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFOwogCiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTID0gRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUzsKQEAgLTQ0
Myw0ICs0NDUsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAot
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQo
RU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RF
X0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9B
TFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChF
TkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRF
KSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFU
VElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdP
UktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VS
VkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJF
Q09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JL
RVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCRFJJ
VkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJ
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVO
QUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVO
QUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVW
QUxJREFURSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNU
SU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9B
UkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5B
QkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5B
QkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9O
RSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChF
TkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9Q
T0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQo
RU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05U
UykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4p
ICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJ
KSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklW
RVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJB
Q1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjVi
MTljNjVjMDI2MmFkMDcxMDZkYjczODU0NWJiMjcwYmNlZjVjYi4uYjZjMjljMGE5MTFmZWEzYzJl
MmEzOWIxZDc0YWVkZDQ2ZTdlZmRjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTEwLTA3
ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13
aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTa2lwIG5ld2x5IGltcG9ydGVkIHRlc3RzIGZvciBXSzEu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE5LTEwLTA2ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIGF0dGFjaFNoYWRvdyBzaG91
bGQgc3VwcG9ydCBhdHRhY2hpbmcgYSBzaGFkb3cgcm9vdCB0byBhIG1haW4gZWxlbWVudApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNDZhYmQ5YTYyY2NmMDg5OWY2ZDIzYTU0YzEw
YWEwMmFjNTA2ZjA2MS4uZTMwM2M1YTM5NjU1MmVmMDhjM2YxNmQ1OTVhYTdkNzNiZGQwZTc3YSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMTAt
MDcgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxl
LXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIFdQ
VCB0ZXN0cy4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvZmV0Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
cmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAoaWRfdG9rZW4pOgorICAgICAg
ICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3Mt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1h
Z2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1zY3JpcHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvc3ctaW50ZXJjZXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jLmJyb2FkY2FzdCk6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
dzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDE5LTEwLTA0ICBSeW9zdWtlIE5pd2EgIDxybml3
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIENoYW5nZSAiSW52YWxpZFN0YXRlRXJyb3IiIHRvICJO
b3RTdXBwb3J0ZWRFcnJvciIgZm9yIGF0dGFjaFNoYWRvdygpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29u
CmluZGV4IGJlZDMzOTViMDZhYzcxZDE1Y2YwNWFlMTYzMmUwNDdkZmIyZGZkNDQuLjYxYjdjY2Zi
ODA1ZTY1NGI4NjU2NmI2OTk4YjU5YzVlMGU4MmExM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29u
CkBAIC0xNjAsNiArMTYwLDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaSI6
ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzIjogImlt
cG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvcmFuZ2UiOiAiaW1wb3J0Iiwg
CisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlIjog
ImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZnVsbHNjcmVlbiI6ICJza2lwIiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9nYW1lcGFkIjogInNraXAiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL2dlbmVyaWMtc2Vuc29yIjogInNraXAiLCAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2YmYyNmY0YWIxMWM3NzdhZGYyNDhhYTM3YWMwYzc3Mjgy
MzcwNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFNlY29uZCBmZXRjaCByZXR1cm5zIHNhbWUgcmVz
cG9uc2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ2YmYyNmY0YWIxMWM3NzdhZGYyNDhhYTM3YWMwYzc3MjgyMzcwNzIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFNlY29uZCBmZXRjaCByZXR1cm5zIHNhbWUgcmVzcG9u
c2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWZjZWJjMjRh
NjNmNDBkZTU0YTRjMzk5MWM5MDUwZWI3NDQ4NmEyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0
bGU+U3RhbGUgUmV2YWxpZGF0aW9uIFJlcXVlc3RzIGRvbid0IGdldCBzZW50IHRvIHNlcnZpY2Ug
d29ya2VyPC90aXRsZT4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorICA8c2Ny
aXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CisKKyAgLy8gRHVwbGljYXRpbmcgdGhpcyByZXNvdXJjZSB0byBtYWtlIHNlcnZpY2Ug
d29ya2VyIHNjb3Bpbmcgc2ltcGxlci4KKyAgYXN5bmMgZnVuY3Rpb24gc2V0dXBSZWdpc3RyYXRp
b25BbmRXYWl0VG9CZUNvbnRyb2xsZWQodCwgc2NvcGUpIHsKKyAgICBjb25zdCBjb250cm9sbGVk
ID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29y
a2VyLm9uY29udHJvbGxlcmNoYW5nZSA9ICgpID0+IHsgcmVzb2x2ZSgpOyB9OworICAgIH0pOwor
ICAgIGNvbnN0IHJlZyA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCdz
dy1pbnRlcmNlcHQuanMnKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFs
bGluZywgJ2FjdGl2YXRlZCcpOworICAgIGF3YWl0IGNvbnRyb2xsZWQ7CisgICAgYWRkX2NvbXBs
ZXRpb25fY2FsbGJhY2soXyA9PiByZWcudW5yZWdpc3RlcigpKTsKKyAgICByZXR1cm4gcmVnOwor
ICB9CisKKyAgLy8gVXNpbmcgMjUwbXMgcG9sbGluZyBpbnRlcnZhbCB0byBwcm92aWRlIGVub3Vn
aCAnbmV0d29yayBjYWxtbmVzcycgdG8gZ2l2ZQorICAvLyB0aGUgYmFja2dyb3VuZCBsb3cgcHJp
b3JpdHkgcmV2YWxpZGF0aW9uIHJlcXVlc3QgYSBjaGFuY2UgdG8ga2ljayBpbi4KKyAgZnVuY3Rp
b24gd2FpdDI1MG1zKHRlc3QpIHsKKyAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICAgIHJlc29sdmUoKTsKKyAg
ICAgIH0sIDI1MCk7CisgICAgfSk7CisgIH0KKworICBwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3Qp
ID0+IHsKKyAgICB2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7CisgICAgY29uc3QgdXJpID0g
J3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49JyArIHJlcXVlc3RfdG9rZW47CisKKyAg
ICBhd2FpdCBzZXR1cFJlZ2lzdHJhdGlvbkFuZFdhaXRUb0JlQ29udHJvbGxlZCh0ZXN0LCAncmVz
b3VyY2VzL3N0YWxlLXNjcmlwdC5weScpOworCisgICAgdmFyIHNlcnZpY2Vfd29ya2VyX2NvdW50
ID0gMDsKKyAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCdtZXNz
YWdlJywgZnVuY3Rpb24gb25jZShldmVudCkgeworICAgICAgaWYgKGV2ZW50LmRhdGEuZW5kc1dp
dGgodXJpKSkgeworICAgICAgICBzZXJ2aWNlX3dvcmtlcl9jb3VudCsrOworICAgICAgfQorICAg
IH0pOworCisgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmkpOworICAgIGNvbnN0
IHJlc3BvbnNlMiA9IGF3YWl0IGZldGNoKHVyaSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXNwb25z
ZS5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJyksIHJlc3BvbnNlMi5oZWFkZXJzLmdldCgnVW5pcXVl
LUlkJykpOworICAgIHdoaWxlKHRydWUpIHsKKyAgICAgIGNvbnN0IHJldmFsaWRhdGlvbl9jaGVj
ayA9IGF3YWl0IGZldGNoKGByZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3F1ZXJ5JnRva2VuPWAg
KyByZXF1ZXN0X3Rva2VuKTsKKyAgICAgIGlmIChyZXZhbGlkYXRpb25fY2hlY2suaGVhZGVycy5n
ZXQoJ0NvdW50JykgPT0gJzInKSB7CisgICAgICAgIC8vIFRoZSBzZXJ2aWNlIHdvcmtlciBzaG91
bGQgbm90IHNlZSB0aGUgcmV2YWxpZGF0aW9uIHJlcXVlc3QuCisgICAgICAgIGFzc2VydF9lcXVh
bHMoc2VydmljZV93b3JrZXJfY291bnQsIDIpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAg
ICAgIGF3YWl0IHdhaXQyNTBtcyh0ZXN0KTsKKyAgICB9CisgIH0sICdTZWNvbmQgZmV0Y2ggcmV0
dXJucyBzYW1lIHJlc3BvbnNlJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0
Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43MzM5MGM3YWQ1OTQ4YzY4MmIyZmJkY2IzYzk1YTRjMzc0ZGJi
YTJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKQEAgLTAs
MCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSBpcyBub3QgZXhlY3V0ZWQgZm9yIGZldGNo
IEFQSTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorZnVuY3Rpb24gd2FpdDI1bXModGVzdCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7CisgICAgdGVzdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgcmVzb2x2ZSgpOwor
ICAgIH0sIDI1KTsKKyAgfSk7Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewor
ICB2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7CisKKyAgY29uc3QgcmVzcG9uc2UgPSBhd2Fp
dCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj1gICsgcmVxdWVzdF90b2tl
bik7CisgIGNvbnN0IHJlc3BvbnNlMiA9IGF3YWl0IGZldGNoKGByZXNvdXJjZXMvc3RhbGUtc2Ny
aXB0LnB5P3Rva2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKworICBhc3NlcnRfZXF1YWxzKHJlc3Bv
bnNlLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSwgcmVzcG9uc2UyLmhlYWRlcnMuZ2V0KCdVbmlx
dWUtSWQnKSk7CisKKyAgd2hpbGUodHJ1ZSkgeworICAgIGNvbnN0IHJldmFsaWRhdGlvbl9jaGVj
ayA9IGF3YWl0IGZldGNoKGByZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3F1ZXJ5JnRva2VuPWAg
KyByZXF1ZXN0X3Rva2VuKTsKKyAgICBpZiAocmV2YWxpZGF0aW9uX2NoZWNrLmhlYWRlcnMuZ2V0
KCdDb3VudCcpID09ICcyJykgeworICAgICAgYnJlYWs7CisgICAgfQorICAgIGF3YWl0IHdhaXQy
NW1zKHRlc3QpOworICB9Cit9LCAnU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZScp
OworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxl
LWNzcy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE2YWU1NDZkMDY1MWY5N2YzMDIwODI5NDUyZGI2MjI1NDg2ZGM0NTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weQpAQCAtMCwwICsx
LDI4IEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisKKyAgICB0b2tlbiA9IHJlcXVl
c3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgaXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5m
aXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAgd2l0aCByZXF1ZXN0LnNlcnZlci5zdGFz
aC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQor
ICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAhPSBOb25lOgorICAgICAgICBjb3VudCA9
IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgICBpZiBjb3VudCA8IDI6Cisg
ICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICAgIGVs
c2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0
YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgaWYgaXNfcXVlcnk6CisgICAgICBoZWFkZXJzID0g
WygiQ291bnQiLCBjb3VudCldCisgICAgICBjb250ZW50ID0gIiIKKyAgICAgIHJldHVybiAyMDAs
IGhlYWRlcnMsIGNvbnRlbnQKKyAgICBlbHNlOgorICAgICAgY29udGVudCA9ICJib2R5IHsgYmFj
a2dyb3VuZDogcmdiKDAsIDEyOCwgMCk7IH0iCisgICAgICBpZiBjb3VudCA+IDE6CisgICAgICAg
IGNvbnRlbnQgPSAiYm9keSB7IGJhY2tncm91bmQ6IHJnYigyNTUsIDAsIDApOyB9IgorCisgICAg
ICBoZWFkZXJzID0gWygiQ29udGVudC1UeXBlIiwgInRleHQvY3NzIiksCisgICAgICAgICAgICAg
ICAoIkNhY2hlLUNvbnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZh
bGlkYXRlPTYwIildCisKKyAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzOWViODRiYjM0
YmJkMTVlMmNhNzA2MWVlNGZhNTcyNGQyYzY0ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5CkBAIC0wLDAgKzEsMzggQEAKK2ltcG9y
dCBvcy5wYXRoCisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKworICAgIHRva2VuID0g
cmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBpc19xdWVyeSA9IHJlcXVlc3Qu
R0VULmZpcnN0KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUKKyAgICB3aXRoIHJlcXVlc3Quc2VydmVy
LnN0YXNoLmxvY2s6CisgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRha2UodG9r
ZW4pCisgICAgICBjb3VudCA9IDAKKyAgICAgIGlmIHZhbHVlICE9IE5vbmU6CisgICAgICAgIGNv
dW50ID0gaW50KHZhbHVlKQorICAgICAgaWYgaXNfcXVlcnk6CisgICAgICAgIGlmIGNvdW50IDwg
MjoKKyAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAg
ICAgZWxzZToKKyAgICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAgcmVxdWVzdC5zZXJ2
ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKworICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgaGVh
ZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIiCisgICAgICByZXR1
cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIGZpbGVuYW1lID0gImdy
ZWVuLTE2eDE2LnBuZyIKKyAgICAgIGlmIGNvdW50ID4gMToKKyAgICAgICAgZmlsZW5hbWUgPSAi
Z3JlZW4tMjU2eDI1Ni5wbmciCisKKyAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5k
aXJuYW1lKF9fZmlsZV9fKSwgIi4uLy4uLy4uL2ltYWdlcyIsIGZpbGVuYW1lKQorICAgICAgYm9k
eSA9IG9wZW4ocGF0aCwgInJiIikucmVhZCgpCisKKyAgICAgIHJlc3BvbnNlLmFkZF9yZXF1aXJl
ZF9oZWFkZXJzID0gRmFsc2UKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9zdGF0dXMoMjAw
KQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiY29udGVudC1sZW5ndGgiLCBs
ZW4oYm9keSkpCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVyKCJDYWNoZS1Db250
cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIpCisg
ICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVyKCJjb250ZW50LXR5cGUiLCAiaW1hZ2Uv
cG5nIikKKyAgICAgIHJlc3BvbnNlLndyaXRlci5lbmRfaGVhZGVycygpCisKKyAgICAgIHJlc3Bv
bnNlLndyaXRlci53cml0ZShib2R5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1zY3JpcHQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLXNj
cmlwdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YWQ1NDY3MWY0MjExNzM1ZjU2ZGY1MGE1NWRlZWE2ZWQyODFk
NWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1z
Y3JpcHQucHkKQEAgLTAsMCArMSwzMiBAQAoraW1wb3J0IHJhbmRvbSwgc3RyaW5nLCBkYXRldGlt
ZQorCitkZWYgaWRfdG9rZW4oKToKKyAgIGxldHRlcnMgPSBzdHJpbmcuYXNjaWlfbG93ZXJjYXNl
CisgICByZXR1cm4gJycuam9pbihyYW5kb20uY2hvaWNlKGxldHRlcnMpIGZvciBpIGluIHJhbmdl
KDIwKSkKKworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHRva2VuID0gcmVxdWVz
dC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBpc19xdWVyeSA9IHJlcXVlc3QuR0VULmZp
cnN0KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUKKyAgICB3aXRoIHJlcXVlc3Quc2VydmVyLnN0YXNo
LmxvY2s6CisgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRha2UodG9rZW4pCisg
ICAgICBjb3VudCA9IDAKKyAgICAgIGlmIHZhbHVlICE9IE5vbmU6CisgICAgICAgIGNvdW50ID0g
aW50KHZhbHVlKQorICAgICAgaWYgaXNfcXVlcnk6CisgICAgICAgIGlmIGNvdW50IDwgMjoKKyAg
ICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAgICAgZWxz
ZToKKyAgICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rh
c2gucHV0KHRva2VuLCBjb3VudCkKKworICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgaGVhZGVycyA9
IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIiCisgICAgICByZXR1cm4gMjAw
LCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIHVuaXF1ZV9pZCA9IGlkX3Rva2Vu
KCkKKyAgICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9qYXZhc2NyaXB0Iiks
CisgICAgICAgICAgICAgICAgICgiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdlPTAs
IHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAiKSwKKyAgICAgICAgICAgICAgICAgKCJVbmlxdWUt
SWQiLCB1bmlxdWVfaWQpXQorICAgICAgY29udGVudCA9ICJyZXBvcnQoJ3t9JykiLmZvcm1hdCh1
bmlxdWVfaWQpCisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWE3NzMyYTU2NmQ0YTZm
NTczY2M5N2ZkM2QxNDU0NjU3ZDQ3NjgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE5IEBACitUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
K0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkg
b3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weQorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9y
ZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxl
LXNjcmlwdC5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44YWM5OTQwNWE3Yjg5YzEzZTU3ODdlYWYwNzllZDZmMTQ4OGU4YzEwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZSAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNz
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmY1NjI2MGZkYjQ1YzBjMmM2MGI0ZDc2ZjYzYTc2Mzg5ZGY4MThi
MTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwKQEAg
LTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSB3b3JrcyBmb3IgY3NzPC90aXRsZT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KKwor
dmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworYXN5bmNfdGVzdCh0ID0+IHsKKyAgd2luZG93
Lm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7
CisgICAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJv
ZHkpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSwgInJnYigwLCAxMjgsIDAp
Iik7CisgICAgICB2YXIgbGluazIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Cisg
ICAgICBsaW5rMi5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlW
YWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpLCAicmdiKDAsIDEyOCwgMCkiKTsKKyAgICAgICAgdmFy
IGNoZWNrUmVzdWx0ID0gKCkgPT4geworICAgICAgICAgIC8vIFdlIHBvbGwgYmVjYXVzZSB3ZSBk
b24ndCBrbm93IHdoZW4gdGhlIHJldmFsaWRhdGlvbiB3aWxsIG9jY3VyLgorICAgICAgICAgIGZl
dGNoKCJyZXNvdXJjZXMvc3RhbGUtY3NzLnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0X3Rva2Vu
KS50aGVuKHQuc3RlcF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgdmFyIGNvdW50
ID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoIkNvdW50Iik7CisgICAgICAgICAgICBpZiAoY291bnQg
PT0gJzInKSB7CisgICAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICB9KSk7CisgICAgICAgIH07CisgICAgICAgIHQuc3RlcF90aW1lb3V0
KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICB9KTsKKyAgICAgIGxpbmsyLnJlbCA9ICJzdHlsZXNo
ZWV0IjsKKyAgICAgIGxpbmsyLnR5cGUgPSAidGV4dC9jc3MiOworICAgICAgbGluazIuaHJlZiA9
ICJyZXNvdXJjZXMvc3RhbGUtY3NzLnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOworICAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rMik7CisgICAgfSwgMCk7CisgIH0pOworfSwg
J0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGxpbmsgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJsaW5rIik7CitsaW5rLnJlbCA9ICJzdHlsZXNoZWV0IjsKK2xpbmsudHlw
ZSA9ICJ0ZXh0L2NzcyI7CitsaW5rLmhyZWYgPSAicmVzb3VyY2VzL3N0YWxlLWNzcy5weT90b2tl
bj0iICsgcmVxdWVzdF90b2tlbjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFn
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjFlNDIwMTRkZWZkNzE5MTA5NmMzM2NjZTU4MzBlZjdjYWExYTU3YTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorIAorCitQQVNTIENhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2Ug
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGEwOGY4MTcyOWRlNDk5ODVj
NjU3NWUxYTdhNWZjYjc3ZDNhMGVlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdGFsZS1pbWFnZS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUg
d29ya3MgZm9yIGltYWdlczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8Ym9keT4KKzwhLS0KK1VzZSBhIGNoaWxkIGRvY3VtZW50IHRvIGxvYWQgdGhlIHNlY29u
ZCBzdGFsZSBpbWFnZSBpbnRvIGJlY2F1c2UKK2FuIGltYWdlIGxvYWRlZCBpbnRvIHRoZSBzYW1l
IGRvY3VtZW50IHdpbGwgc2tpcCBjYWNoZS1jb250cm9sIGhlYWRlcnMuCitTZWU6IGh0dHBzOi8v
aHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1saXN0LW9mLWF2YWlsYWJsZS1pbWFnZXMKKy0tPgor
PGlmcmFtZSBpZD0iY2hpbGQiIHNyY2RvYz0iIj48L2lmcmFtZT4KKzxzY3JpcHQ+CisKK3ZhciBy
ZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxv
YWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAg
ICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlyc3RpbWFnZSIpLndp
ZHRoLCAxNiwgIldpZHRoIGlzIDE2Iik7CisgICAgICB2YXIgY2hpbGREb2N1bWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdjaGlsZCcpLmNvbnRlbnREb2N1bWVudDsKKyAgICAgIHZhciBp
bWcyID0gY2hpbGREb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICAgIGltZzIub25s
b2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGltZzIud2lk
dGgsIDE2LCAiaW1hZ2UgZGltZW5zaW9uIik7CisgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgp
ID0+IHsKKyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRo
ZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICBmZXRjaCgicmVzb3VyY2VzL3N0
YWxlLWltYWdlLnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0X3Rva2VuKS50aGVuKHQuc3RlcF9m
dW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgdmFyIGNvdW50ID0gcmVzcG9uc2UuaGVh
ZGVycy5nZXQoIkNvdW50Iik7CisgICAgICAgICAgICBpZiAoY291bnQgPT0gJzInKSB7CisgICAg
ICAgICAgICAgIHQuZG9uZSgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
dC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICB9KSk7CisgICAgICAgIH07CisgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAy
NSk7CisgICAgICB9KTsKKyAgICAgIGltZzIuc3JjID0gInJlc291cmNlcy9zdGFsZS1pbWFnZS5w
eT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGNoaWxkRG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpbWcyKTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9LCAnQ2FjaGUgcmV0dXJucyBzdGFs
ZSByZXNvdXJjZScpOworCit2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7
CitpbWcuc3JjID0gInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT90b2tlbj0iICsgcmVxdWVzdF90
b2tlbjsKK2ltZy5pZCA9ICJmaXJzdGltYWdlIjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
aW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0
YWxlLXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWM5OTQwNWE3Yjg5YzEzZTU3ODdlYWYwNzllZDZmMTQ4
OGU4YzEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FjaGUgcmV0dXJucyBzdGFsZSBy
ZXNvdXJjZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4NzkzZTUw
MDU2YmM2MDUzZWE0MTBkNjU4YWVkMzczZDE5ZjlhNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUg
UmV2YWxpZGF0ZSB3b3JrcyBmb3Igc2NyaXB0czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit2YXIgbGFzdF9tb2RpZmllZDsKK3Zh
ciBsYXN0X21vZGlmaWVkX2NvdW50ID0gMDsKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsK
KworLy8gVGhlIHNjcmlwdCB3aWxsIGNhbGwgcmVwb3J0IHZpYSBhIHVuaXF1ZWx5IGdlbmVyYXRl
ZCBJRCBvbiB0aGUgc3VicmVzb3VyY2UuCisvLyBJZiBpdCBpcyBhIGNhY2hlIGhpdCB0aGUgSUQg
d2lsbCBiZSB0aGUgc2FtZSBhbmQgdGhlIHRlc3Qgd2lsbCBwYXNzLgorZnVuY3Rpb24gcmVwb3J0
KG1vZCkgeworICBpZiAoIWxhc3RfbW9kaWZpZWQpIHsKKyAgICBsYXN0X21vZGlmaWVkID0gbW9k
OworICAgIGxhc3RfbW9kaWZpZWRfY291bnQgPSAxOworICB9IGVsc2UgaWYgKGxhc3RfbW9kaWZp
ZWQgPT0gbW9kKSB7CisgICAgbGFzdF9tb2RpZmllZF9jb3VudCsrOworICB9Cit9CisKK2FzeW5j
X3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAg
c3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJzY3JpcHQiKTsKKyAgICAgIHNjcmlwdC5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLXNj
cmlwdC5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoc2NyaXB0KTsKKyAgICAgIHNjcmlwdC5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9
PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhsYXN0X21vZGlmaWVkX2NvdW50LCAyLCAibGFz
dCBtb2RpZmllZCIpOworICAgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAg
ICAgICAgIC8vIFdlIHBvbGwgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoZW4gdGhlIHJldmFsaWRh
dGlvbiB3aWxsIG9jY3VyLgorICAgICAgICAgICAgZmV0Y2goInJlc291cmNlcy9zdGFsZS1zY3Jp
cHQucHk/cXVlcnkmdG9rZW49IiArIHJlcXVlc3RfdG9rZW4pLnRoZW4odC5zdGVwX2Z1bmMoKHJl
c3BvbnNlKSA9PiB7CisgICAgICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMu
Z2V0KCJDb3VudCIpOworICAgICAgICAgICAgICBpZiAoY291bnQgPT0gJzInKSB7CisgICAgICAg
ICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9KSk7CisgICAgICAgICAgfTsKKyAgICAgICAgICB0LnN0ZXBfdGltZW91dChj
aGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgfSwgMCk7CisgIH0pOworfSwgJ0NhY2hl
IHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNjcmlwdCIpOworc2NyaXB0LnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0
LnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChz
Y3JpcHQpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
c3ctaW50ZXJjZXB0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kY2E3ZGU1MWIwYjhjNTUxODI3NmU3MGFlMjE5YjdiYzhmODY5YTk1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpAQCAtMCwwICsxLDE0IEBA
Cithc3luYyBmdW5jdGlvbiBicm9hZGNhc3QobXNnKSB7CisgIGZvciAoY29uc3QgY2xpZW50IG9m
IGF3YWl0IGNsaWVudHMubWF0Y2hBbGwoKSkgeworICAgIGNsaWVudC5wb3N0TWVzc2FnZShtc2cp
OworICB9Cit9CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBldmVudCA9PiB7Cisg
IGV2ZW50LndhaXRVbnRpbChicm9hZGNhc3QoZXZlbnQucmVxdWVzdC51cmwpKTsKKyAgZXZlbnQu
cmVzcG9uZFdpdGgoZmV0Y2goZXZlbnQucmVxdWVzdCkpOworfSk7CisKK3NlbGYuYWRkRXZlbnRM
aXN0ZW5lcignYWN0aXZhdGUnLCBldmVudCA9PiB7CisgIHNlbGYuY2xpZW50cy5jbGFpbSgpOwor
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI5ZGQwNmY4NDZhNzA2OGZlYTJi
ODI4NzgxYWQ3NWNjMTk4ZTdhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS93
M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rv
cnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkg
dGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZv
cm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMg
ZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
K05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
ZmV0Y2gtc3cuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
c3ctaW50ZXJjZXB0LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggNWU2NDAzOGFkOGU2N2Q2OWJjNzEzOWM5YjdkOTM3MWJlNTdiNmNjNy4u
N2Y0ODNkZmRiMjk3NzkyYzJiZWY2YzBkYThhZTUxYjM5MjRmMTEwYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTk5OCwzICsxOTk4LDYg
QEAgd2Via2l0Lm9yZy9iLzE4ODc2MiBmYXN0L3dyaXRpbmctbW9kZS9lbmdsaXNoLXJsLXRleHQt
d2l0aC1zcGVsbGluZy1tYXJrZXIuaHRtbAogaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctaHRt
bC0yZC5odG1sCiAKIHdlYmtpdC5vcmcvYi8xNTk3MjQgWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtcG9zdC11cGxvYWQuaHRtIFsgU2tp
cCBdCisKKyMgU3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBpcyBub3Qgc3VwcG9ydGVkIG9uIFdLMQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYjAwY2JkNmU5MjhkMDI1YmIzNmMzNjRmNDAxNWEzNzFhOTJlNWFiNS4uOGE2
MDg1Y2YwNDc4NGIyZDkxNTZlYjA2YzgxNjU3MDRiZjk0OThiZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNzkxLDMgKzc5MSw2IEBAIHdl
YmtpdC5vcmcvYi8xOTkyNDIgWyBEZWJ1ZyBdIGh0dHAvdGVzdHMvcGVyZm9ybWFuY2UvcGVyZm9y
bWFuY2UtcmVzb3VyY2UtdGltaW5nCiBbIE1vamF2ZSsgXSBmYXN0L2ltYWdlcy9hbmltYXRlZC1o
ZWljcy12ZXJpZnkuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMjAwMDAyIFsgTW9qYXZl
KyBEZWJ1ZyBdIGltcG9ydGVkL2JsaW5rL3N0b3JhZ2UvaW5kZXhlZGRiL2Jsb2ItYmFzaWNzLW1l
dGFkYXRhLmh0bWwgWyBUaW1lb3V0IF0KKworIyBTdGFsZS13aGlsZS1yZXZhbGlkYXRlIGlzIG5v
dCBzdXBwb3J0ZWQgb24gV0sxCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBi
L0NoYW5nZUxvZwppbmRleCBiZWFlMmZmZjNmODE0OWM1ZmFiNWQ2OTljZjY5NGQ0OTZlZjM3ZjY2
Li41MWRhYzJkODUxZWEzNDU3NjA1NGJiZjc0YmVlOTMyYWE1MjRkOTJmIDEwMDY0NAotLS0gYS9D
aGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMTAtMDcgIFJv
YiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxl
LXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUg
YnVpbGQgZmxhZy4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRlRXLmNtYWtlOgor
ICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlOgorICAgICAgICAqIFNvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAxOS0xMC0wNCAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBk
YXRlIE9wdGlvbnNHVEsuY21ha2UgYW5kIE5FV1MgZm9yIDIuMjcuMSByZWxlYXNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380743</attachid>
            <date>2019-10-11 03:58:52 -0700</date>
            <delta_ts>2019-10-11 04:29:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191011125850.patch</filename>
            <type>text/plain</type>
            <size>113409</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwOTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
OWUyNDM2NjY3ODNiODdhZWMwNDBkZGIyMjI3MzVhNjVhZmRjMzZlLi5iMmE4Mjg5NzFlOTE4ODJk
MmNiNTRhYTg2NzgyZTRmMGYxZjU3MDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEhUVFBfQ0FD
SEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSBidWlsZCBmbGFnLgorCisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMTAtMDkgIFNhYW0gQmFy
YXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVHJ5IHRvIGZp
eCBidWlsZCBmb3IgV2luZG93cyBDX0xPT1AKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYThlOGIzN2ZhNWJiMzli
OGExMmFlYWM3OTNjYWU4ZjM3NmQ3YTUyLi42NjA3N2QzODU0ZDRlMGM0MTczOWQ2YjM5NjZmYzgw
MTlhYThlMjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMTAtMTEgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJl
dmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFN0YXJ0IHBhcnNpbmcgdGhlIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUg
Q2FjaGUtQ29udHJvbCBkaXJlY3RpdmUKKyAgICAgICAgYW5kIGV4cG9zZSBpdCBvbiBSZXNvdXJj
ZVJlc3BvbnNlLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3Mu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbAorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlk
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVz
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZh
bGlkYXRlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmg6CisKIDIwMTktMTAtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBET01DYWNoZVN0b3JhZ2Ugc2hvdWxkIG5vdCBwcmV2ZW50IHBhZ2VzIGZyb20g
ZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYmI2
ZjUxNjBkYzRjNGI3YmViYzljNWY3MmRhMDhiM2Y0ODI5OWRhMC4uMGNhMDFmNjE5Y2Y4OGMxMTI1
NjM2Mzc4MTNmNTlmNTUwNDU3MTYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTktMTAtMTEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBT
dXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBIVFRQX0NBQ0hFX1NUQUxF
X1dISUxFX1JFVkFMSURBVEUgYnVpbGQgZmxhZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTEwLTA3ICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZhaWx1cmUgaW4gV2ViSFRNTFZp
ZXcubW0gd2l0aCB0aGUgcHVibGljIFNESyAoWGNvZGUgMTEgYW5kIE1vamF2ZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZTg1OTJjZTllZmNlN2ZhYzYyYWE1ZTBmZjBhYzY3OTAwMTM5NmNlYi4uNzM5OTUwNDhlODY0
MmQ1ZTdmZmM5ODJmYmUxNjQwZjQyM2UwYTgwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAor
MjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBv
cnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IFVzZURlY2lzaW9uIHZh
bHVlIEFzeW5jUmV2YWxpZGF0ZSBmb3IgYXN5bmMgcmV2YWxpZGF0aW9uLiBUaGlzIGlzIHVzZWQK
KyAgICAgICAgd2hlbiB0aGUgcmV0cmlldmVkIGNhY2hlIGVudHJ5IGlzIGEgc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZSByZXNwb25zZSBbMV0uCisgICAgICAgIEluIGNhc2Ugb2YgQXN5bmNSZXZhbGlk
YXRlLCBhIGNoZWNrIGlzIG1hZGUgdG8gc2VlIGlmIHRoZXJlIGlzIGEKKyAgICAgICAgY3VycmVu
dCBhc3luYyByZXZhbGlkYXRpb24gb25nb2luZyBmb3IgdGhlIGVudHJ5LCBpZiBub3Qgb25lIGlz
CisgICAgICAgIHN0YXJ0ZWQuIFJlZ2FyZGxlc3MsIHRoZSBzdGFsZSBlbnRyeSBpcyByZXR1cm5l
ZCwgdW50aWwgZWl0aGVyIHRoZQorICAgICAgICBhc3luYyByZXZhbGlkYXRpb24gZW5kcyBzdWNj
ZXNzZnVsbHkgb3IgYXQgdGhlIG1vbWVudCB3aGVuIHRoZQorICAgICAgICByZXNwb25zZSBleHBp
cmVzIGZvciByZWFsLgorCisgICAgICAgIFsxXSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9y
Zy8jY29uY2VwdC1zdGFsZS13aGlsZS1yZXZhbGlkYXRlLXJlc3BvbnNlCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ2FjaGU6OmNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3QpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9uOjpBc3luY1JldmFsaWRh
dGlvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24u
aDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRp
b246OmxvYWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2
YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZyk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a0NhY2hlOjpyZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjptYWtlVXNlRGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6Om1ha2VTdG9yZURlY2lzaW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpj
YW5Vc2VQZW5kaW5nUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpDYWNoZTo6c3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpDYWNoZTo6cmV0cmlldmUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrQ2FjaGU6OnJlc3BvbnNlSGFzRXhwaXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0NhY2hlOjpkdW1wSFRUUEhlYWRlcnNEaWZmKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpyZXF1ZXN0c0hlYWRlcnNNYXRjaCk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6ZHVtcEhUVFBIZWFkZXJzRGlmZik6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVxdWVzdHNIZWFkZXJzTWF0Y2gp
OiBEZWxldGVkLgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTEwLTEwICB5b3Vlbm4gZmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBBbGxvdyBTWVNfX19wdGhyZWFkX21hcmtj
YW5jZWwgY2FsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDRiYTcxZmI4MDE3Njkx
NDhlODczNGI5ZmEwNDQ1NGNmNmI4MTc2NDUuLjliMDk0ZmQ2NjRjYzBiNjg4MjUzZDJhMDZjZjYx
ODMwNmYyNDhkZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1
cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEhUVFBfQ0FDSEVfU1RBTEVf
V0hJTEVfUkVWQUxJREFURSBidWlsZCBmbGFnLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMTAtMDkgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NsaXBib2FyZCBBUEldIFJlZmFjdG9y
IFBhc3RlYm9hcmQgaXRlbSByZWFkaW5nIGZ1bmN0aW9ucyB0byB3b3JrIG9uIGJvdGggaU9TIGFu
ZCBtYWNPUwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGQ4MDhlZTAzZmEyNDc5MjA4NmRk
OWM3ZWQ1YTRlMDZmNTljMDUyMzguLjdkYTM0ZTYzY2Q3MjRiMjA3NGY4ZWZiYzNmNGIzMTMxYTU3
ZDUyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5MCw2ICsxOTAsOCBAQCBFTkFC
TEVfR0VPTE9DQVRJT05faXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5B
QkxFX0dFT0xPQ0FUSU9OX21hY2NhdGFseXN0ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxF
X0dFT0xPQ0FUSU9OX21hY29zeCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIAorRU5BQkxFX0hUVFBf
Q0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSA9IEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dI
SUxFX1JFVkFMSURBVEU7CisKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gRU5BQkxFX0lOREVY
RURfREFUQUJBU0U7CiAKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgPSBFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTOwpAQCAtNDQzLDQgKzQ0NSw0IEBAIEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5H
X0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVS
QUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9S
VCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
UykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJE
X0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BS
T1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19W
SURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElW
RV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9X
X1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChF
TkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9T
QU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVB
QkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNF
U19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9X
RUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
R0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
MykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01B
TklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1J
U1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxU
RVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5B
QkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkg
JChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JL
X0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVF
U1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZF
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNP
Tk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VS
KSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVT
U0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1C
TFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZF
Ul9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFD
VElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZDgwOGVlMDNmYTI0Nzky
MDg2ZGQ5YzdlZDVhNGUwNmY1OWMwNTIzOC4uN2RhMzRlNjNjZDcyNGIyMDc0ZjhlZmJjM2Y0YjMx
MzFhNTdkNTIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5MCw2ICsxOTAsOCBAQCBFTkFCTEVfR0VPTE9D
QVRJT05faXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xP
Q0FUSU9OX21hY2NhdGFseXN0ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xPQ0FU
SU9OX21hY29zeCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIAorRU5BQkxFX0hUVFBfQ0FDSEVfU1RB
TEVfV0hJTEVfUkVWQUxJREFURSA9IEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFM
SURBVEU7CisKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gRU5BQkxFX0lOREVYRURfREFUQUJB
U0U7CiAKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgPSBFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTOwpAQCAtNDQzLDQgKzQ0NSw0IEBAIEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5B
QkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFC
TEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRS
SUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01B
TkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09M
Qk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJF
QU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElE
QVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElO
R19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VY
VEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09V
UkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZB
UklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5U
X0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVO
QUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
VE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01P
REVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJ
U1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVf
S0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9D
VVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQ
RUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5B
QkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9J
TlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQo
RU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBkODA4ZWUwM2ZhMjQ3OTIw
ODZkZDljN2VkNWE0ZTA2ZjU5YzA1MjM4Li43ZGEzNGU2M2NkNzI0YjIwNzRmOGVmYmMzZjRiMzEz
MWE1N2Q1MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xOTAsNiArMTkwLDggQEAgRU5BQkxF
X0dFT0xPQ0FUSU9OX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJM
RV9HRU9MT0NBVElPTl9tYWNjYXRhbHlzdCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9H
RU9MT0NBVElPTl9tYWNvc3ggPSBFTkFCTEVfR0VPTE9DQVRJT047CiAKK0VOQUJMRV9IVFRQX0NB
Q0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUgPSBFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElM
RV9SRVZBTElEQVRFOworCiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFOwogCiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTID0gRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUzsKQEAgLTQ0Myw0ICs0NDUsNCBAQCBFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9L
RVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9U
T0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklE
RU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVf
UkVWQUxJREFUSU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FO
REJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJM
RV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVO
QUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNf
RUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNT
RU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9O
UykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VC
RFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVO
QUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNT
SU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVS
TkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJM
RV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19D
QUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIp
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURf
U1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05O
RUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikg
JChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZ
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJf
TU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RB
VElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxF
X1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKaW5kZXggNDk1OTA1MDY3OWNlMDUwNDg0MjQ0
N2ViMWY1YTBiZjhhNjc2ODNjZS4uMmQzNTA3ZGYyMzdkYjI5NWQ1OTMxYTRjMGRmNzYwMjc3N2Rl
N2I4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZh
bGlkYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVW
YWxpZGF0aW9uLmNwcApAQCAtMzEzLDggKzMxMywxOCBAQCBDYWNoZUNvbnRyb2xEaXJlY3RpdmVz
IHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcyhjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJz
KQogICAgICAgICAgICAgICAgIGRvdWJsZSBtYXhTdGFsZSA9IGRpcmVjdGl2ZXNbaV0uc2Vjb25k
LnRvRG91YmxlKCZvayk7CiAgICAgICAgICAgICAgICAgaWYgKG9rKQogICAgICAgICAgICAgICAg
ICAgICByZXN1bHQubWF4U3RhbGUgPSBTZWNvbmRzIHsgbWF4U3RhbGUgfTsKLSAgICAgICAgICAg
IH0gZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5m
aXJzdCwgImltbXV0YWJsZSIpKQorICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAiaW1tdXRhYmxlIikpIHsKICAg
ICAgICAgICAgICAgICByZXN1bHQuaW1tdXRhYmxlID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxz
ZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5maXJzdCwg
InN0YWxlLXdoaWxlLXJldmFsaWRhdGUiKSkgeworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQu
c3RhbGVXaGlsZVJldmFsaWRhdGUpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRmlyc3Qgc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZSBkaXJlY3RpdmUgd2lucyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUg
b25lcy4KKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIGJvb2wgb2s7CisgICAgICAgICAgICAgICAgZG91YmxlIHN0YWxlV2hp
bGVSZXZhbGlkYXRlID0gZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9Eb3VibGUoJm9rKTsKKyAgICAg
ICAgICAgICAgICBpZiAob2spCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5zdGFsZVdoaWxl
UmV2YWxpZGF0ZSA9IFNlY29uZHMgeyBzdGFsZVdoaWxlUmV2YWxpZGF0ZSB9OworICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9DYWNoZVZhbGlkYXRpb24uaAppbmRleCA1NmVmZWE2MjE1NDQ3OTUwNmExNjY0ZmZk
MDhlMDhhYjJjNTU2YmNkLi4wNDBhOTY5N2U1ZmE4MmUxYWY1MGZmYTlhZDE5MjcyN2YzYjc4NDEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0
aW9uLmgKQEAgLTY5LDYgKzY5LDcgQEAgc3RydWN0IENhY2hlQ29udHJvbERpcmVjdGl2ZXMgewog
CiAgICAgTWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IG1heEFnZTsK
ICAgICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNvbmRzOjpNYXJrYWJsZVRyYWl0cz4gbWF4U3RhbGU7
CisgICAgTWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IHN0YWxlV2hp
bGVSZXZhbGlkYXRlOwogICAgIGJvb2wgbm9DYWNoZSA6IDE7CiAgICAgYm9vbCBub1N0b3JlIDog
MTsKICAgICBib29sIG11c3RSZXZhbGlkYXRlIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKaW5kZXggMjBh
YzY0ZDU3MDM0YzY5ZWE5MmJjN2E0MzUzNmYxNmQ3OTVmZmEyOS4uMzI3MmUwYzQ4ZTZiNjQ3YTAz
ZDAyMzgzNjlhYzNiODEwZTVlY2NmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKQEAgLTY1NSw2ICs2NTUs
MTMgQEAgT3B0aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJv
bE1heEFnZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5tYXhB
Z2U7CiB9CiAKK09wdGlvbmFsPFNlY29uZHM+IFJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNv
bnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2hhdmVQYXJz
ZWRDYWNoZUNvbnRyb2xIZWFkZXIpCisgICAgICAgIHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZl
cygpOworICAgIHJldHVybiBtX2NhY2hlQ29udHJvbERpcmVjdGl2ZXMuc3RhbGVXaGlsZVJldmFs
aWRhdGU7Cit9CisKIHN0YXRpYyBPcHRpb25hbDxXYWxsVGltZT4gcGFyc2VEYXRlVmFsdWVJbkhl
YWRlcihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzLCBIVFRQSGVhZGVyTmFtZSBoZWFkZXJO
YW1lKQogewogICAgIFN0cmluZyBoZWFkZXJWYWx1ZSA9IGhlYWRlcnMuZ2V0KGhlYWRlck5hbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oCmluZGV4IGNiMTdiNTk1NDg3ZDEwYjc3M2M0ZTQ4NTM1NDMwMjRhNTBmMWE5
N2YuLjQwNjgxZjA3N2FiOWVlZDA5YzkzNWJiMGJhYWM5ZTBiNDA5YzM4ZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKQEAgLTEzNiw2ICsxMzYsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBj
YWNoZUNvbnRyb2xDb250YWluc0ltbXV0YWJsZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JU
IGJvb2wgaGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9S
VCBPcHRpb25hbDxTZWNvbmRzPiBjYWNoZUNvbnRyb2xNYXhBZ2UoKSBjb25zdDsKKyAgICBXRUJD
T1JFX0VYUE9SVCBPcHRpb25hbDxTZWNvbmRzPiBjYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxp
ZGF0ZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFdhbGxUaW1lPiBkYXRl
KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gYWdlKCkgY29u
c3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8V2FsbFRpbWU+IGV4cGlyZXMoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCmluZGV4IGQ4MDhlZTAzZmEyNDc5MjA4NmRkOWM3ZWQ1YTRlMDZmNTljMDUyMzgu
LjdkYTM0ZTYzY2Q3MjRiMjA3NGY4ZWZiYzNmNGIzMTMxYTU3ZDUyMTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
MTkwLDYgKzE5MCw4IEBAIEVOQUJMRV9HRU9MT0NBVElPTl9pcGhvbmVzaW11bGF0b3IgPSBFTkFC
TEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjY2F0YWx5c3QgPSBFTkFCTEVf
R0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjb3N4ID0gRU5BQkxFX0dFT0xPQ0FU
SU9OOwogCitFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFID0gRU5BQkxF
X0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURTsKKwogRU5BQkxFX0lOREVYRURfREFU
QUJBU0UgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRTsKIAogRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUyA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlM7CkBAIC00
NDMsNCArNDQ1LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAk
KEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9E
RV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1Jf
QUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRX
T1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNF
UlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0Vf
TE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BS
RUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09S
S0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJf
TUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNT
RU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRS
SVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQ
SV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChF
TkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChF
TkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEUpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxP
TkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQo
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAk
KEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQ
SSkgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJ
VkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BV
KSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9u
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40OTQ0Y2RjODdkYTk4NGUzOTI1Y2VkMmRjZWM0OGYxNmMyOTc4MTQ2
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9B
c3luY1JldmFsaWRhdGlvbi5jcHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKQorI2luY2x1ZGUgIkFz
eW5jUmV2YWxpZGF0aW9uLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlVmFsaWRhdGlvbi5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgeworCitzdGF0
aWMgaW5saW5lIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjb25zdHJ1Y3RSZXZhbGlkYXRpb25S
ZXF1ZXN0KGNvbnN0IEtleSYga2V5LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IEVudHJ5KiBlbnRyeSkKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QgcmV2YWxpZGF0aW9uUmVxdWVzdCA9IHJlcXVlc3Q7CisgICAgaWYgKCFrZXkucGFydGl0aW9u
KCkuaXNFbXB0eSgpKQorICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldENhY2hlUGFydGl0
aW9uKGtleS5wYXJ0aXRpb24oKSk7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShrZXkucmFuZ2Uo
KS5pc0VtcHR5KCksICJyYW5nZSBpcyBub3Qgc3VwcG9ydGVkIik7CisKKyAgICByZXZhbGlkYXRp
b25SZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7CisgICAgaWYgKGVudHJ5KSB7CisgICAgICAg
IFN0cmluZyBlVGFnID0gZW50cnktPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKFdlYkNvcmU6
OkhUVFBIZWFkZXJOYW1lOjpFVGFnKTsKKyAgICAgICAgaWYgKCFlVGFnLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKFdlYkNvcmU6
OkhUVFBIZWFkZXJOYW1lOjpJZk5vbmVNYXRjaCwgZVRhZyk7CisKKyAgICAgICAgU3RyaW5nIGxh
c3RNb2RpZmllZCA9IGVudHJ5LT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChXZWJDb3JlOjpI
VFRQSGVhZGVyTmFtZTo6TGFzdE1vZGlmaWVkKTsKKyAgICAgICAgaWYgKCFsYXN0TW9kaWZpZWQu
aXNFbXB0eSgpKQorICAgICAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRIVFRQSGVhZGVy
RmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OklmTW9kaWZpZWRTaW5jZSwgbGFzdE1vZGlm
aWVkKTsKKyAgICB9CisKKyAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldFByaW9yaXR5KFdlYkNv
cmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpMb3cpOworCisgICAgcmV0dXJuIHJldmFsaWRhdGlv
blJlcXVlc3Q7Cit9CisKK3ZvaWQgQXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlk
YXRlRW5kaW5nKCkKK3sKKyAgICBpZiAobV9jb21wbGV0aW9uSGFuZGxlcikgeworICAgICAgICBt
X2NvbXBsZXRpb25IYW5kbGVyKHRydWUpOworICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyID0g
bnVsbHB0cjsKKyAgICB9Cit9CisKK0FzeW5jUmV2YWxpZGF0aW9uOjpBc3luY1JldmFsaWRhdGlv
bihDYWNoZSYgY2FjaGUsIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNo
ZTo6RW50cnk+IGVudHJ5LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGhhbmRsZXIp
CisgICAgOiBtX3RpbWVyKCp0aGlzLCAmQXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZh
bGlkYXRlRW5kaW5nKQorICAgICwgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIp
KQoreworICAgIGF1dG8ga2V5ID0gZW50cnktPmtleSgpOworICAgIGF1dG8gcmV2YWxpZGF0aW9u
UmVxdWVzdCA9IGNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3Qoa2V5LCByZXF1ZXN0LCBlbnRy
eS5nZXQoKSk7CisgICAgYXV0byBhZ2UgPSBXZWJDb3JlOjpjb21wdXRlQ3VycmVudEFnZShlbnRy
eS0+cmVzcG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICBhdXRvIGxpZmV0aW1lID0g
V2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShlbnRyeS0+cmVz
cG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICBhdXRvIHJlc3BvbnNlTWF4U3RhbGVu
ZXNzID0gZW50cnktPnJlc3BvbnNlKCkuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUo
KTsKKyAgICBBU1NFUlQocmVzcG9uc2VNYXhTdGFsZW5lc3MpOworICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KCpyZXNwb25zZU1heFN0YWxlbmVzcyAtIChhZ2UgLSBsaWZldGltZSkpOworICAgIG1f
bG9hZCA9IG1ha2VVbmlxdWU8U3BlY3VsYXRpdmVMb2FkPihjYWNoZSwgZnJhbWVJRCwgcmV2YWxp
ZGF0aW9uUmVxdWVzdCwgV1RGTW92ZShlbnRyeSksIFt0aGlzLCBrZXksIHJldmFsaWRhdGlvblJl
cXVlc3RdKHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gcmV2YWxpZGF0ZWRFbnRyeSkgeworICAgICAg
ICBBU1NFUlQoIXJldmFsaWRhdGVkRW50cnkgfHwgIXJldmFsaWRhdGVkRW50cnktPm5lZWRzVmFs
aWRhdGlvbigpKTsKKyAgICAgICAgQVNTRVJUKCFyZXZhbGlkYXRlZEVudHJ5IHx8IHJldmFsaWRh
dGVkRW50cnktPmtleSgpID09IGtleSk7CisgICAgICAgIGlmIChtX2NvbXBsZXRpb25IYW5kbGVy
KSB7CisgICAgICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyKHJldmFsaWRhdGVkRW50cnkuZ2V0
KCkpOworICAgICAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlciA9IG51bGxwdHI7CisgICAgICAg
IH0KKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0FzeW5jUmV2YWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0FzeW5jUmV2YWxpZGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODU4NDkxNzRkMGY4YTRhMmU4ODU3YTBi
NDlhMWY1Njg3N2M4MjdiYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uaApAQCAtMCwwICsxLDYwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKKworI2lu
Y2x1ZGUgIk5ldHdvcmtDYWNoZS5oIgorI2luY2x1ZGUgIk5ldHdvcmtDYWNoZUVudHJ5LmgiCisj
aW5jbHVkZSAiTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFNwZWN1bGF0aXZlTG9hZDsKKworbmFtZXNw
YWNlIE5ldHdvcmtDYWNoZSB7CisKK2NsYXNzIEFzeW5jUmV2YWxpZGF0aW9uIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBBc3luY1JldmFsaWRhdGlvbihDYWNo
ZSYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
LCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya0NhY2hlOjpFbnRyeT4sIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYpOworCisgICAgY29uc3QgU3BlY3VsYXRpdmVMb2FkJiBsb2FkKCkgY29u
c3QgeyByZXR1cm4gKm1fbG9hZDsgfQorCisgICAgdm9pZCBzdGFsZVdoaWxlUmV2YWxpZGF0ZUVu
ZGluZygpOworCitwcml2YXRlOgorICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWQ+
IG1fbG9hZDsKKyAgICBXZWJDb3JlOjpUaW1lciBtX3RpbWVyOworICAgIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCk+IG1fY29tcGxldGlvbkhhbmRsZXI7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBOZXR3b3JrQ2FjaGUKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxF
KEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAppbmRleCBmMzQ0ZDFhYmE2
NGZlOTNjOWNiZWJkNDdmNDNlODE2M2JhY2Q3YzE3Li5iNzA4ZmFlYThiYjRmNWI2OTZjMDBhODQ0
ZDY2MDE1MTA1Y2Y3MGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlLmgiCiAKKyNpbmNsdWRlICJBc3luY1JldmFs
aWRhdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3RvcmFnZS5o
IgpAQCAtMTUyLDM1ICsxNTMsNDYgQEAgc3RhdGljIGJvb2wgY2FjaGVQb2xpY3lBbGxvd3NFeHBp
cmVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IHBvbGljeSkKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhwaXJlZChjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgV2FsbFRpbWUgdGltZXN0YW1wLCBPcHRp
b25hbDxTZWNvbmRzPiBtYXhTdGFsZSkKK3N0YXRpYyBVc2VEZWNpc2lvbiByZXNwb25zZU5lZWRz
UmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBX
YWxsVGltZSB0aW1lc3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxlKQogewogICAgIGlm
IChyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkKLSAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAKICAgICBhdXRv
IGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdlKHJlc3BvbnNlLCB0aW1lc3RhbXApOwog
ICAgIGF1dG8gbGlmZXRpbWUgPSBXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JI
VFRQRmFtaWx5KHJlc3BvbnNlLCB0aW1lc3RhbXApOwogCiAgICAgYXV0byBtYXhpbXVtU3RhbGVu
ZXNzID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMF9tczsKICAgICBib29sIGhhc0V4
cGlyZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1heGltdW1TdGFsZW5lc3M7CisjaWYgRU5BQkxFKEhU
VFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKKyAgICBpZiAoaGFzRXhwaXJlZCAmJiAh
bWF4U3RhbGUpIHsKKyAgICAgICAgYXV0byByZXNwb25zZU1heFN0YWxlbmVzcyA9IHJlc3BvbnNl
LmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAgICAgIG1heGltdW1TdGFs
ZW5lc3MgKz0gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPyByZXNwb25zZU1heFN0YWxlbmVzcy52YWx1
ZSgpIDogMF9tczsKKyAgICAgICAgYm9vbCBpblJlc3BvbnNlU3RhbGVuZXNzID0gYWdlIC0gbGlm
ZXRpbWUgPCBtYXhpbXVtU3RhbGVuZXNzOworICAgICAgICBpZiAoaW5SZXNwb25zZVN0YWxlbmVz
cykKKyAgICAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRlOworICAg
IH0KKyNlbmRpZgogCisgICAgaWYgKGhhc0V4cGlyZWQpIHsKICNpZm5kZWYgTE9HX0RJU0FCTEVE
Ci0gICAgaWYgKGhhc0V4cGlyZWQpCi0gICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29y
a1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4cGlyZWQgYWdlPSVmIGxpZmV0aW1lPSVm
IG1heC1zdGFsZT0lZyIsIGFnZSwgbGlmZXRpbWUsIG1heFN0YWxlKTsKKyAgICAgICAgTE9HKE5l
dHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgbmVlZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJl
ZCBhZ2U9JWYgbGlmZXRpbWU9JWYgbWF4LXN0YWxlbmVzcz0lZiIsIGFnZSwgbGlmZXRpbWUsIG1h
eGltdW1TdGFsZW5lc3MpOwogI2VuZGlmCisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFs
aWRhdGU7CisgICAgfQogCi0gICAgcmV0dXJuIGhhc0V4cGlyZWQ7CisgICAgcmV0dXJuIFVzZURl
Y2lzaW9uOjpVc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUgdGltZXN0YW1wKQorc3RhdGljIFVz
ZURlY2lzaW9uIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgV2FsbFRpbWUgdGltZXN0YW1wKQogewogICAgIGF1dG8gcmVxdWVzdERpcmVjdGl2ZXMg
PSBXZWJDb3JlOjpwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMocmVxdWVzdC5odHRwSGVhZGVy
RmllbGRzKCkpOwogICAgIGlmIChyZXF1ZXN0RGlyZWN0aXZlcy5ub0NhY2hlKQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpWYWxpZGF0ZTsKICAgICAv
LyBGb3IgcmVxdWVzdHMgd2UgaWdub3JlIG1heC1hZ2UgdmFsdWVzIG90aGVyIHRoYW4gemVyby4K
ICAgICBpZiAocmVxdWVzdERpcmVjdGl2ZXMubWF4QWdlICYmIHJlcXVlc3REaXJlY3RpdmVzLm1h
eEFnZS52YWx1ZSgpID09IDBfbXMpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1
cm4gVXNlRGVjaXNpb246OlZhbGlkYXRlOwogCi0gICAgcmV0dXJuIHJlc3BvbnNlSGFzRXhwaXJl
ZChyZXNwb25zZSwgdGltZXN0YW1wLCByZXF1ZXN0RGlyZWN0aXZlcy5tYXhTdGFsZSk7CisgICAg
cmV0dXJuIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24ocmVzcG9uc2UsIHRpbWVzdGFtcCwgcmVx
dWVzdERpcmVjdGl2ZXMubWF4U3RhbGUpOwogfQogCiBzdGF0aWMgVXNlRGVjaXNpb24gbWFrZVVz
ZURlY2lzaW9uKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgUEFMOjpTZXNz
aW9uSUQmIHNlc3Npb25JRCwgY29uc3QgRW50cnkmIGVudHJ5LCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QpCkBAIC0xOTcsOCArMjA5LDkgQEAgc3RhdGljIFVzZURlY2lz
aW9uIG1ha2VVc2VEZWNpc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0
IFBBTDo6U2UKICAgICBpZiAoY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVkKHJlcXVlc3QuY2FjaGVQ
b2xpY3koKSkpCiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogCi0gICAgaWYgKCFy
ZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGVudHJ5LnJlc3BvbnNlKCksIHJlcXVlc3QsIGVudHJ5
LnRpbWVTdGFtcCgpKSkKLSAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CisgICAgYXV0
byBkZWNpc2lvbiA9IHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oZW50cnkucmVzcG9uc2UoKSwg
cmVxdWVzdCwgZW50cnkudGltZVN0YW1wKCkpOworICAgIGlmIChkZWNpc2lvbiAhPSBVc2VEZWNp
c2lvbjo6VmFsaWRhdGUpCisgICAgICAgIHJldHVybiBkZWNpc2lvbjsKIAogICAgIGlmICghZW50
cnkucmVzcG9uc2UoKS5oYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpKQogICAgICAgICByZXR1cm4g
VXNlRGVjaXNpb246Ok5vRHVlVG9NaXNzaW5nVmFsaWRhdG9yRmllbGRzOwpAQCAtMjUxLDggKzI2
NCwxMiBAQCBzdGF0aWMgU3RvcmVEZWNpc2lvbiBtYWtlU3RvcmVEZWNpc2lvbihjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUgogICAgIGJvb2wgc3RvcmVVbmNvbmRpdGlv
bmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbiA9IGlzTWFpblJlc291cmNlIHx8IG9yaWdpbmFsUmVx
dWVzdC5wcmlvcml0eSgpID09IFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpWZXJ5SGln
aDsKICAgICBpZiAoIXN0b3JlVW5jb25kaXRpb25hbGx5Rm9ySGlzdG9yeU5hdmlnYXRpb24pIHsK
ICAgICAgICAgYXV0byBub3cgPSBXYWxsVGltZTo6bm93KCk7Ci0gICAgICAgIGJvb2wgaGFzTm9u
WmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpICYm
IFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkocmVzcG9uc2Us
IG5vdykgPiAwX21zOwotCisgICAgICAgIFNlY29uZHMgYWxsb3dlZFN0YWxlOworI2lmIEVOQUJM
RShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCisgICAgICAgIGlmIChhdXRvIHZh
bHVlID0gcmVzcG9uc2UuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKSkKKyAgICAg
ICAgICAgIGFsbG93ZWRTdGFsZSA9IHZhbHVlLnZhbHVlKCk7CisjZW5kaWYKKyAgICAgICAgYm9v
bCBoYXNOb25aZXJvTGlmZXRpbWUgPSAhcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNOb0Nh
Y2hlKCkgJiYgKFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHko
cmVzcG9uc2UsIG5vdykgPiAwX21zIHx8IGFsbG93ZWRTdGFsZSA+IDBfbXMpOwogICAgICAgICBi
b29sIHBvc3NpYmx5UmV1c2FibGUgPSByZXNwb25zZS5oYXNDYWNoZVZhbGlkYXRvckZpZWxkcygp
IHx8IGhhc05vblplcm9MaWZldGltZTsKICAgICAgICAgaWYgKCFwb3NzaWJseVJldXNhYmxlKQog
ICAgICAgICAgICAgcmV0dXJuIFN0b3JlRGVjaXNpb246Ok5vRHVlVG9Vbmxpa2VseVRvUmV1c2U7
CkBAIC0yOTYsNiArMzEzLDI2IEBAIHN0YXRpYyBib29sIGlubGluZSBjYW5SZXF1ZXN0VXNlU3Bl
Y3VsYXRpdmVSZXZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSCiB9CiAjZW5kaWYK
IAorc3RhdGljIGlubGluZSBib29sIGNhblVzZVBlbmRpbmdSZXZhbGlkYXRpb24oY29uc3QgU3Bl
Y3VsYXRpdmVMb2FkJiBsb2FkLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIGFjdHVh
bFJlcXVlc3QpCit7CisgICAgcmV0dXJuIHJlcXVlc3RzSGVhZGVyc01hdGNoKGxvYWQub3JpZ2lu
YWxSZXF1ZXN0KCksIGFjdHVhbFJlcXVlc3QpOworfQorCit2b2lkIENhY2hlOjpzdGFydEFzeW5j
UmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBjb25zdCBOZXR3b3JrQ2FjaGU6OktleSYga2V5LCBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+
IGVudHJ5LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlEKQoreworICAgIGF1dG8qIHBlbmRp
bmdBc3luY1JldmFsaWRhdGlvbiA9IG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9ucy5nZXQoa2V5
KTsKKyAgICBpZiAocGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uICYmIGNhblVzZVBlbmRpbmdSZXZh
bGlkYXRpb24ocGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uLT5sb2FkKCksIHJlcXVlc3QpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBhdXRvIHJldmFsaWRhdG9yID0gbWFrZVVuaXF1ZTxBc3luY1Jl
dmFsaWRhdGlvbj4oKnRoaXMsIGZyYW1lSUQsIHJlcXVlc3QsIFdURk1vdmUoZW50cnkpLCBbdGhp
cywga2V5XShib29sIGVuZGluZykgeworICAgICAgICBpZiAoZW5kaW5nKSB7CisgICAgICAgICAg
ICBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMudGFrZShrZXkpOworICAgICAgICAgICAgTE9H
KE5ldHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgQXN5bmMgcmV2YWxpZGF0aW9uIGNvbXBs
ZXRlZCBmb3IgJyVzJzoiLCBrZXkuaWRlbnRpZmllcigpLnV0ZjgoKS5kYXRhKCkpOworICAgICAg
ICB9CisgICAgfSk7CisgICAgbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLmFkZChrZXksIFdU
Rk1vdmUocmV2YWxpZGF0b3IpKTsKK30KKwogdm9pZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFt
ZUlELCBSZXRyaWV2ZUNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAg
ICAgQVNTRVJUKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKTsKQEAgLTMz
NCwxMiArMzcxLDExIEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJCiAgICAgfQogI2VuZGlmCiAK
LSAgICBtX3N0b3JhZ2UtPnJldHJpZXZlKHN0b3JhZ2VLZXksIHByaW9yaXR5LCBbcmVxdWVzdCwg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgaW5mbyA9IFdU
Rk1vdmUoaW5mbyksIHN0b3JhZ2VLZXksIG5ldHdvcmtQcm9jZXNzID0gbWFrZVJlZihuZXR3b3Jr
UHJvY2VzcygpKSwgc2Vzc2lvbklEID0gbV9zZXNzaW9uSURdKGF1dG8gcmVjb3JkLCBhdXRvIHRp
bWluZ3MpIG11dGFibGUgeworICAgIG1fc3RvcmFnZS0+cmV0cmlldmUoc3RvcmFnZUtleSwgcHJp
b3JpdHksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHJlcXVlc3QsIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGluZm8gPSBXVEZN
b3ZlKGluZm8pLCBzdG9yYWdlS2V5LCBuZXR3b3JrUHJvY2VzcyA9IG1ha2VSZWYobmV0d29ya1By
b2Nlc3MoKSksIHNlc3Npb25JRCA9IG1fc2Vzc2lvbklELCBmcmFtZUlEXShhdXRvIHJlY29yZCwg
YXV0byB0aW1pbmdzKSBtdXRhYmxlIHsKICAgICAgICAgaW5mby5zdG9yYWdlVGltaW5ncyA9IHRp
bWluZ3M7CiAKICAgICAgICAgaWYgKCFyZWNvcmQpIHsKICAgICAgICAgICAgIExPRyhOZXR3b3Jr
Q2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIG5vdCBmb3VuZCBpbiBzdG9yYWdlIik7Ci0KICAgICAg
ICAgICAgIGNvbXBsZXRlUmV0cmlldmUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG51bGxw
dHIsIGluZm8pOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC0zNTAs
NiArMzg2LDEzIEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJCiAKICAgICAgICAgYXV0byB1c2VE
ZWNpc2lvbiA9IGVudHJ5ID8gbWFrZVVzZURlY2lzaW9uKG5ldHdvcmtQcm9jZXNzLCBzZXNzaW9u
SUQsICplbnRyeSwgcmVxdWVzdCkgOiBVc2VEZWNpc2lvbjo6Tm9EdWVUb0RlY29kZUZhaWx1cmU7
CiAgICAgICAgIHN3aXRjaCAodXNlRGVjaXNpb24pIHsKKyAgICAgICAgY2FzZSBVc2VEZWNpc2lv
bjo6QXN5bmNSZXZhbGlkYXRlOiB7CisjaWYgRU5BQkxFKEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVf
UkVWQUxJREFURSkKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gZW50cnlDb3B5
ID0gbWFrZVVuaXF1ZTxFbnRyeT4oKmVudHJ5KTsKKyAgICAgICAgICAgIHN0YXJ0QXN5bmNSZXZh
bGlkYXRpb25JZk5lZWRlZChyZXF1ZXN0LCBzdG9yYWdlS2V5LCBXVEZNb3ZlKGVudHJ5Q29weSks
IGZyYW1lSUQpOworI2VuZGlmCisgICAgICAgICAgICBGQUxMVEhST1VHSDsKKyAgICAgICAgfQog
ICAgICAgICBjYXNlIFVzZURlY2lzaW9uOjpVc2U6CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBVc2VEZWNpc2lvbjo6VmFsaWRhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAppbmRleCAwZGVlN2Y4OGRmZjYxNjJjYzNm
ZDc4NTFiODM4MGZjNWE4M2JkNWFlLi44MGU3MDQ5YjBhY2RkNDkwZDJlMjQ0NGI5MGYxMWEwMjMw
ODAxZTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgTmV0d29ya1Byb2Nlc3M7CiAKIG5h
bWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCitjbGFzcyBBc3luY1JldmFsaWRhdGlvbjsKIGNsYXNz
IENhY2hlOwogY2xhc3MgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjsKIApAQCAtODIsNiArODMsNyBA
QCBlbnVtIGNsYXNzIFN0b3JlRGVjaXNpb24gewogZW51bSBjbGFzcyBVc2VEZWNpc2lvbiB7CiAg
ICAgVXNlLAogICAgIFZhbGlkYXRlLAorICAgIEFzeW5jUmV2YWxpZGF0ZSwKICAgICBOb0R1ZVRv
VmFyeWluZ0hlYWRlck1pc21hdGNoLAogICAgIE5vRHVlVG9NaXNzaW5nVmFsaWRhdG9yRmllbGRz
LAogICAgIE5vRHVlVG9EZWNvZGVGYWlsdXJlLApAQCAtMTY5LDYgKzE3MSw4IEBAIHB1YmxpYzoK
ICAgICBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyKiBzcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyKCkgeyBy
ZXR1cm4gbV9zcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmdldCgpOyB9CiAjZW5kaWYKIAorICAgIHZv
aWQgc3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IE5ldHdvcmtDYWNoZTo6S2V5Jiwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5
PiwgY29uc3QgR2xvYmFsRnJhbWVJRCYpOworCiAgICAgTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQ
cm9jZXNzKCkgeyByZXR1cm4gbV9uZXR3b3JrUHJvY2Vzcy5nZXQoKTsgfQogICAgIGNvbnN0IFBB
TDo6U2Vzc2lvbklEJiBzZXNzaW9uSUQoKSBjb25zdCB7IHJldHVybiBtX3Nlc3Npb25JRDsgfQog
ICAgIGNvbnN0IFN0cmluZyYgc3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Rv
cmFnZURpcmVjdG9yeTsgfQpAQCAtMTk1LDYgKzE5OSw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI+IG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdl
cjsKICNlbmRpZgogCisgICAgSGFzaE1hcDxLZXksIHN0ZDo6dW5pcXVlX3B0cjxBc3luY1JldmFs
aWRhdGlvbj4+IG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uczsKKwogICAgIHVuc2lnbmVkIG1f
dHJhdmVyc2VDb3VudCB7IDAgfTsKICAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKICAg
ICBTdHJpbmcgbV9zdG9yYWdlRGlyZWN0b3J5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxv
YWQuY3BwCmluZGV4IDZjNzJmYWJlNzJlMzU5NDQ4YTdjMWIyOTFjZDkwZTk1MGU1YmJlNTQuLjAx
YmM4N2ZmZWM3OTdmOWQ3NzNhZDU4ZmQ5YmIzMmM0MTFkZTQzNDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlTG9hZC5jcHAKQEAgLTE1NSw2ICsxNTUsNDMgQEAgdm9pZCBTcGVjdWxhdGl2
ZUxvYWQ6OmRpZENvbXBsZXRlKCkKICAgICBtX2NvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUobV9j
YWNoZUVudHJ5KSk7CiB9CiAKKyNpZiAhTE9HX0RJU0FCTEVECisKK3N0YXRpYyB2b2lkIGR1bXBI
VFRQSGVhZGVyc0RpZmYoY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyc0EsIGNvbnN0IEhUVFBI
ZWFkZXJNYXAmIGhlYWRlcnNCKQoreworICAgIGF1dG8gYUVuZCA9IGhlYWRlcnNBLmVuZCgpOwor
ICAgIGZvciAoYXV0byBpdCA9IGhlYWRlcnNBLmJlZ2luKCk7IGl0ICE9IGFFbmQ7ICsraXQpIHsK
KyAgICAgICAgU3RyaW5nIHZhbHVlQiA9IGhlYWRlcnNCLmdldChpdC0+a2V5KTsKKyAgICAgICAg
aWYgKHZhbHVlQi5pc051bGwoKSkKKyAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIgaXMgb25seSBpbiBmaXJzdCByZXF1
ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgp
LmRhdGEoKSk7CisgICAgICAgIGVsc2UgaWYgKGl0LT52YWx1ZSAhPSB2YWx1ZUIpCisgICAgICAg
ICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKiAnJXMnIEhUVFAg
aGVhZGVyIGRpZmZlcnMgaW4gYm90aCByZXF1ZXN0czogJXMgIT0gJXMiLCBpdC0+a2V5LnV0Zjgo
KS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpLCB2YWx1ZUIudXRmOCgpLmRhdGEoKSk7
CisgICAgfQorICAgIGF1dG8gYkVuZCA9IGhlYWRlcnNCLmVuZCgpOworICAgIGZvciAoYXV0byBp
dCA9IGhlYWRlcnNCLmJlZ2luKCk7IGl0ICE9IGJFbmQ7ICsraXQpIHsKKyAgICAgICAgaWYgKCFo
ZWFkZXJzQS5jb250YWlucyhpdC0+a2V5KSkKKyAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIgaXMgb25seSBpbiBzZWNv
bmQgcmVxdWVzdCAodmFsdWU6ICVzKSIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVl
LnV0ZjgoKS5kYXRhKCkpOworICAgIH0KK30KKworI2VuZGlmCisKK2Jvb2wgcmVxdWVzdHNIZWFk
ZXJzTWF0Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1
ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCit7CisgICAgQVNTRVJU
KCFhY3R1YWxSZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKSk7CisgICAgUmVzb3VyY2VSZXF1ZXN0IHNw
ZWN1bGF0aXZlUmVxdWVzdCA9IHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3Q7CisgICAgc3Bl
Y3VsYXRpdmVSZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7CisKKyAgICBpZiAoc3BlY3VsYXRp
dmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSAhPSBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFkZXJG
aWVsZHMoKSkgeworICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5n
LCAiQ2Fubm90IHJldXNlIHNwZWN1bGF0aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJlY2F1c2UgSFRU
UCBoZWFkZXJzIHVzZWQgZm9yIHZhbGlkYXRpb24gZG8gbm90IG1hdGNoIik7CisjaWYgIUxPR19E
SVNBQkxFRAorICAgICAgICBkdW1wSFRUUEhlYWRlcnNEaWZmKHNwZWN1bGF0aXZlUmVxdWVzdC5o
dHRwSGVhZGVyRmllbGRzKCksIGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKTsKKyNl
bmRpZgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQor
CiB9IC8vIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlTG9hZC5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaAppbmRleCA2Y2U3N2Y5OWVhMDAzNDczYzY5ODA3
ZmY4NTkwYjIyMWMyZTJkNDBjLi45NTYyZDljOGUwYWNhNTMwMmJlOTk0ODg3ZGI4YjIyY2U5YWVj
Mzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgKQEAgLTc3LDYgKzc3LDggQEAg
cHJpdmF0ZToKICAgICBib29sIG1fZGlkQ29tcGxldGUgeyBmYWxzZSB9OwogfTsKIAorYm9vbCBy
ZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHNwZWN1
bGF0aXZlVmFsaWRhdGlvblJlcXVlc3QsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYg
YWN0dWFsUmVxdWVzdCk7CisKIH0gLy8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFn
ZXIuY3BwCmluZGV4IDY3OTQwMzliN2UxOTE3YTRhYWJhZDRkMmQ1MDhmNzM5NTM3ODY1NjcuLjk4
MDZmNjJlYTdiYjA1YzBjM2VkNzJhYWZkZTc0M2RkNWVkYWI4MzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtMjU2LDQzICsyNTYsNiBAQCBT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjp+U3BlY3VsYXRpdmVMb2FkTWFuYWdlcigpCiB7CiB9CiAK
LSNpZiAhTE9HX0RJU0FCTEVECi0KLXN0YXRpYyB2b2lkIGR1bXBIVFRQSGVhZGVyc0RpZmYoY29u
c3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyc0EsIGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnNC
KQotewotICAgIGF1dG8gYUVuZCA9IGhlYWRlcnNBLmVuZCgpOwotICAgIGZvciAoYXV0byBpdCA9
IGhlYWRlcnNBLmJlZ2luKCk7IGl0ICE9IGFFbmQ7ICsraXQpIHsKLSAgICAgICAgU3RyaW5nIHZh
bHVlQiA9IGhlYWRlcnNCLmdldChpdC0+a2V5KTsKLSAgICAgICAgaWYgKHZhbHVlQi5pc051bGwo
KSkKLSAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIq
ICclcycgSFRUUCBoZWFkZXIgaXMgb25seSBpbiBmaXJzdCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwg
aXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAg
IGVsc2UgaWYgKGl0LT52YWx1ZSAhPSB2YWx1ZUIpCi0gICAgICAgICAgICBMT0coTmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKiAnJXMnIEhUVFAgaGVhZGVyIGRpZmZlcnMgaW4g
Ym90aCByZXF1ZXN0czogJXMgIT0gJXMiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1
ZS51dGY4KCkuZGF0YSgpLCB2YWx1ZUIudXRmOCgpLmRhdGEoKSk7Ci0gICAgfQotICAgIGF1dG8g
YkVuZCA9IGhlYWRlcnNCLmVuZCgpOwotICAgIGZvciAoYXV0byBpdCA9IGhlYWRlcnNCLmJlZ2lu
KCk7IGl0ICE9IGJFbmQ7ICsraXQpIHsKLSAgICAgICAgaWYgKCFoZWFkZXJzQS5jb250YWlucyhp
dC0+a2V5KSkKLSAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRp
bmcsICIqICclcycgSFRUUCBoZWFkZXIgaXMgb25seSBpbiBzZWNvbmQgcmVxdWVzdCAodmFsdWU6
ICVzKSIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCkpOwot
ICAgIH0KLX0KLQotI2VuZGlmCi0KLXN0YXRpYyBib29sIHJlcXVlc3RzSGVhZGVyc01hdGNoKGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KQotewotICAgIEFTU0VSVCghYWN0dWFsUmVx
dWVzdC5pc0NvbmRpdGlvbmFsKCkpOwotICAgIFJlc291cmNlUmVxdWVzdCBzcGVjdWxhdGl2ZVJl
cXVlc3QgPSBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1ZXN0OwotICAgIHNwZWN1bGF0aXZlUmVx
dWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOwotCi0gICAgaWYgKHNwZWN1bGF0aXZlUmVxdWVzdC5o
dHRwSGVhZGVyRmllbGRzKCkgIT0gYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpIHsK
LSAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIkNhbm5vdCBy
ZXVzZSBzcGVjdWxhdGl2ZWx5IHZhbGlkYXRlZCBlbnRyeSBiZWNhdXNlIEhUVFAgaGVhZGVycyB1
c2VkIGZvciB2YWxpZGF0aW9uIGRvIG5vdCBtYXRjaCIpOwotI2lmICFMT0dfRElTQUJMRUQKLSAg
ICAgICAgZHVtcEhUVFBIZWFkZXJzRGlmZihzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZp
ZWxkcygpLCBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSk7Ci0jZW5kaWYKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogYm9vbCBTcGVj
dWxhdGl2ZUxvYWRNYW5hZ2VyOjpjYW5Vc2VQcmVsb2FkZWRFbnRyeShjb25zdCBQcmVsb2FkZWRF
bnRyeSYgZW50cnksIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkKIHsKICAg
ICBpZiAoIWVudHJ5Lndhc1JldmFsaWRhdGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCA5MzZjMGNmNTVh
ZDAzZmJiYjNhZGM4NDM5MjAxM2E5MGUzNDhiNWVkLi4xNjc3NzQ5ZjAzZDQ2M2QzN2EyNTQ1NmM1
NjhkYjRiYzUxMTNlZjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0Cisr
KyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTc3LDYgKzc3LDcgQEAgTmV0d29ya1By
b2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcAogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
Q2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuY3BwCiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0
b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmVDb25uZWN0aW9uLmNwcAorTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRp
b24uY3BwCiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCiBOZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHAKIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZUNvZGVycy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYzOGViZWQ1ODUzZmQ3YWQ0NzQ5OTM1MTNlNmFm
YTAxYjA4NzBiN2IuLjk1YjU0YmMzOTNmMWU1ZGE0ZWU1NTZmYjUxMGRmNmQ5OWI3NmNlMDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MTM4Niw2ICsxMzg2LDcgQEAKIAkJQTc4Q0NEREMxOTNBQzlGQjAwNUVDQzI1IC8qIGNvbS5hcHBs
ZS5XZWJLaXQuV2ViQ29udGVudC5zYiBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTc4Q0NERDkxOTNBQzlFMzAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJL
aXQuV2ViQ29udGVudC5zYiAqLzsgfTsKIAkJQTdENzkyRDgxNzY3Q0NBMzAwODgxQ0JFIC8qIEFj
dGl2aXR5QXNzZXJ0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBN0Q3OTJENDE3NjdDQjA5MDA4ODFDQkUgLyogQWN0aXZpdHlBc3NlcnRpb24uaCAq
LzsgfTsKIAkJQUFCMTQ1RTYyMjNGOTMxMjAwRTQ4OUQ4IC8qIFByZWZldGNoQ2FjaGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQjE0NUU0MjIzRjkz
MTIwMEU0ODlEOCAvKiBQcmVmZXRjaENhY2hlLmggKi87IH07CisJCUFBRkE2MzRGMjM0RjdDNjQw
MEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQUFGQTYzNEUyMzRGN0M2MzAwRkZBODY0IC8qIEFzeW5jUmV2
YWxpZGF0aW9uLmggKi87IH07CiAJCUI2MkU3MzEyMTQzMDQ3QjAwMDY5RUMzNSAvKiBXS0hpdFRl
c3RSZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEI2MkU3MzExMTQzMDQ3QjAwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCODc4QjYxNTEzMzQyOERD
MDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCODc4QjYxMzEzMzQyOERDMDA2ODg4RTkgLyogQ29ycmVjdGlv
blBhbmVsLmggKi87IH07CiAJCUJDMDE3RDA3MTYyNjBGRjQwMDcwNTRGNSAvKiBXS0RPTURvY3Vt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAx
N0NGRjE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01Eb2N1bWVudC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC00MTQ4LDYgKzQxNDksOCBAQAogCQlB
N0U5M0NFQjE5MjUzMUFBMDBBMURDNDggLyogQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEF1eGlsaWFyeVByb2Nlc3NJT1MubW07
IHBhdGggPSBpb3MvQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUFCMTQ1RTQyMjNGOTMxMjAwRTQ4OUQ4IC8qIFByZWZldGNoQ2FjaGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJlZmV0Y2hDYWNoZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBQUIxNDVFNTIyM0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hD
YWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmVmZXRjaENh
Y2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFGQTYzNEUyMzRGN0M2MzAw
RkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEFzeW5jUmV2YWxpZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUFBRkE2MzUwMjM0RjdDNzMwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBBc3luY1JldmFsaWRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIzOTZFQTU1MTJFMEVEMkQwMEY0RkVCNyAvKiBjb25maWcuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gY29uZmlnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUI2MkU3MzBGMTQzMDQ3QTYwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tIaXRUZXN0UmVzdWx0LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjYyRTczMTExNDMwNDdCMDAwNjlFQzM1IC8q
IFdLSGl0VGVzdFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0hp
dFRlc3RSZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTkxNzUsNiArOTE3
OCw4IEBACiAJCUU0ODlEMjgyMUEwQTJCRTgwMDc4QzA2QSAvKiBjYWNoZSAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQUFGQTYzNTAyMzRGN0M3MzAwRkZB
ODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmNwcCAqLywKKwkJCQlBQUZBNjM0RTIzNEY3QzYzMDBG
RkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCAqLywKIAkJCQk0MTg5N0VENjFGNDE1RDg2MDAx
NkZBNDIgLyogQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCAqLywKIAkJCQk0MTg5N0VEMjFGNDE1RDg1
MDAxNkZBNDIgLyogQ2FjaGVTdG9yYWdlRW5naW5lLmggKi8sCiAJCQkJNDFDODU4MTkxRjUxMERF
RTAwNjVFMDg1IC8qIENhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcCAqLywKQEAgLTk0MTYsNiAr
OTQyMSw3IEBACiAJCQkJQTE3NUM0NEEyMUFBMzE3MTAwMDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJz
Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMUEwQkQyMUE0OEU2QzYwMDU0RUY3NCAvKiBB
c3NlcnRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1RTc3MjgxODNERDZG
NjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQUFGQTYzNEYy
MzRGN0M2NDAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0VFOTY2RDExMkZBRjU3MDA2QkNDMjQgLyogQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTFBMzE3MzIxMzRDRUE2QzAwN0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxMkY1ODk3MTJBODgzODgwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZVByb3h5LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKaW5kZXggZDgwOGVlMDNmYTI0NzkyMDg2ZGQ5YzdlZDVhNGUwNmY1OWMwNTIzOC4uN2RhMzRl
NjNjZDcyNGIyMDc0ZjhlZmJjM2Y0YjMxMzFhNTdkNTIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKQEAgLTE5MCw2ICsxOTAsOCBAQCBFTkFCTEVfR0VPTE9DQVRJT05faXBob25lc2lt
dWxhdG9yID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xPQ0FUSU9OX21hY2NhdGFs
eXN0ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xPQ0FUSU9OX21hY29zeCA9IEVO
QUJMRV9HRU9MT0NBVElPTjsKIAorRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJ
REFURSA9IEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEU7CisKIEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFID0gRU5BQkxFX0lOREVYRURfREFUQUJBU0U7CiAKIEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTOwpAQCAtNDQzLDQgKzQ0NSw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVO
QUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9O
X01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVO
QUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BF
Uk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9O
X09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRf
Q09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
TU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5B
QkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
S0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVO
VFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BB
SU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBF
RF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSFRUUF9DQUNIRV9T
VEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVO
QUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FU
VFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xf
TUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RP
T0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFM
SURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xM
SU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hf
RVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVT
T1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZ
X1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQo
RU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZF
Ul9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQo
RU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVf
V0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRlRXLmNtYWtlIGIvU291cmNlL2Nt
YWtlL09wdGlvbnNGVFcuY21ha2UKaW5kZXggNmNmMzg5YTlkYjU4OTc5ZWVhZDgxNjBlZjA2NDQ0
ODE4MGJhYTg4ZC4uNTk2NzFjY2ZhNmM4NjYyNThjMzBkZTcyZjlhNDk0MTc3ZmVkYmM3YyAxMDA2
NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNGVFcuY21ha2UKKysrIGIvU291cmNlL2NtYWtl
L09wdGlvbnNGVFcuY21ha2UKQEAgLTE1OSw2ICsxNTksNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfREFUQV9JTlRFUkFDVElPTiBQUklWQVRFIE9GRikKIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04gUFJJ
VkFURSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRE9XTkxP
QURfQVRUUklCVVRFIFBSSVZBVEUgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUg
UFJJVkFURSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5U
TCBQUklWQVRFIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9M
QVlPVVRfRk9STUFUVElOR19DT05URVhUIFBSSVZBVEUgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFVFRFUlBSRVNTIFBSSVZBVEUgT0ZGKQpkaWZmIC0tZ2l0
IGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dU
Sy5jbWFrZQppbmRleCA1YzhiY2M3NWM5ZTVhODIwZWFiMzkwMDcyOWZkM2YxY2VkYjU0N2NlLi40
ZDZlZTYzNzMzYzllMWE1OGNjMmUyMTc5ZTgwMDMxMjg1MmM5ZmE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5j
bWFrZQpAQCAtMTU0LDYgKzE1NCw3IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfRE9XTkxPQURfQVRUUklCVVRFIFBSSVZBVEUgT04pCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRU5DUllQVEVEX01FRElBIFBSSVZB
VEUgJHtFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTfSkKIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9GVFBESVIgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRF
IFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUiBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX01FRElBX1NUUkVBTSBQUklWQVRFICR7RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFU
VVJFU30pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUhUTUwgUFJJ
VkFURSBPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBi
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCBlMzAxYWJkNmRlODc4OTEy
NTIzOWJkMWVhYzg2ZDkyMWNjMzE2ZTc0Li5iZWU5NDc5NGU2YjJjYTY2NTg3Nzc1OWQyNzk5MzM0
ZDhkNDM5ZThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
KysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0xMzcsNiArMTM3LDcg
QEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfRlVMTFNDUkVFTl9BUEkgIlRvZ2dsZSBGdWxsc2NyZWVuIEFQSSBzdXBwb3J0IiBQUklW
QVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9HQU1FUEFEICJUb2dnbGUg
R2FtZXBhZCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfR0VPTE9DQVRJT04gIlRvZ2dsZSBHZW9sb2NhdGlvbiBzdXBwb3J0IiBQUklWQVRFIE9O
KQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxF
X1JFVkFMSURBVEUgIlRvZ2dsZSBIVFRQIGNhY2hlIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgc3Vw
cG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UgIlRvZ2dsZSBJbmRleGVkIERhdGFiYXNlIHN1cHBvcnQiIFBSSVZBVEUgT04p
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUyAiVG9nZ2xlIHN1cHBvcnQgZm9yIEluZGV4ZWQgRGF0YWJhc2UgaW4gd29ya2VycyIgUFJJ
VkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UiAiVG9nZ2xlIElucHV0IFR5cGUgQ29sb3Igc3VwcG9ydCIgUFJJVkFURSBPRkYpCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTViMzEzZmFlZWRm
MzJkZGZiMmRiMjgwMDkwYTMwOWE5Nzc5Nzg0Yy4uOWI4ZTJkYjVmZmVkOTczZjcxZDk0ODMzZjdl
YmM3YzM4ODdhMjBkOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTEwLTExICBSb2IgQnVpcyAgPHJidWlzQGln
YWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hl
IHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFIGJ1aWxkIGZsYWcuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnOgorCiAyMDE5LTEwLTA5ICBSdXNzZWxsIEVwc3RlaW4gIDxyZXBzdGVpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1MDkzMC4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IGQ4MDhlZTAzZmEyNDc5MjA4NmRkOWM3ZWQ1YTRlMDZmNTljMDUyMzguLjdk
YTM0ZTYzY2Q3MjRiMjA3NGY4ZWZiYzNmNGIzMTMxYTU3ZDUyMTIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtMTkwLDYgKzE5MCw4IEBAIEVOQUJMRV9HRU9MT0NBVElPTl9pcGhvbmVzaW11bGF0
b3IgPSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjY2F0YWx5c3Qg
PSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjb3N4ID0gRU5BQkxF
X0dFT0xPQ0FUSU9OOwogCitFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRF
ID0gRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURTsKKwogRU5BQkxFX0lO
REVYRURfREFUQUJBU0UgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRTsKIAogRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUyA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlM7CkBAIC00NDMsNCArNDQ1LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9
IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxF
X1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRF
RF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Yz
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFO
SUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxF
X0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JT
RVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RF
X0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZ
X1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVO
QUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
RVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVf
U0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5B
QkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlC
T0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
TkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJ
TkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09N
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5U
RVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQ
T1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxF
X1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFU
SU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdf
VE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRF
TlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJD
RSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJ
QVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05f
TU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9G
VUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RS
RUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RP
VUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDJhYThiM2IxMzlhNjg4YTgzODgxMzcwZDMxNjMwNmRiMDkzZWI5ZGYuLjE4ZDdhZGI0
NzI4MDljMDVlMmY1NGRkZDZjNjE0M2U3NmM0ZTg3NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBv
cnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2tpcCBuZXdseSBpbXBvcnRlZCB0ZXN0
cyBmb3IgV0sxLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25z
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOS0x
MC0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERPTUNhY2hl
U3RvcmFnZSBzaG91bGQgbm90IHByZXZlbnQgcGFnZXMgZnJvbSBlbnRlcmluZyB0aGUgYmFjay9m
b3J3YXJkIGNhY2hlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAxYWZhYWU2NTg4
Nzc1MzBhMjUzOTgzNzcwMjE5ZjllZjY3MDM4ZmRhLi5hNzJjNWY5MjE3ZWIxMDYzMjQ0YTRhNDZl
MmZjYjZlYmY2ZmEwNTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzNSBAQAorMjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAg
ICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wb3J0IHN0YWxlLXdo
aWxlLXJldmFsaWRhdGUgV1BUIHRlc3RzLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1l
eHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3
Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvZmV0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weTogQWRkZWQuCisg
ICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk6IEFkZGVkLgorICAgICAg
ICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weTogQWRkZWQuCisgICAgICAgIChp
ZF90b2tlbik6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3N0YWxlLWNzcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNj
cmlwdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQuanM6IEFkZGVkLgorICAgICAgICAoYXN5
bmMuYnJvYWRjYXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMTktMTAtMDkgIEFs
aWNpYSBCb3lhIEdhcmPDrWEgIDxhYm95YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtNU0VdW0dT
dHJlYW1lcl0gRml4IHZpZGVvIHNvbWV0aW1lcyBub3QgYXBwZWFyaW5nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9u
cy5qc29uCmluZGV4IGE4MjFkZWJkZmNiZGFhOTQxMmQ3NjQ5NjEwODQ2N2Y4YThhNDdmN2MuLjAx
ZTJhMTBjOTYyZTkwYzE0NTU5YWZlMTgyZWI1Y2VkOTdmMDBlYTQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9u
cy5qc29uCkBAIC0xNjEsNiArMTYxLDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3Jz
IjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvcmFuZ2UiOiAiaW1w
b3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZnVsbHNjcmVlbiI6ICJz
a2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9nYW1lcGFkIjogInNraXAiLCAKICAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL2dlbmVyaWMtc2Vuc29yIjogInNraXAiLCAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0
Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2YmYyNmY0YWIxMWM3NzdhZGYyNDhhYTM3YWMw
Yzc3MjgyMzcwNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFNlY29uZCBmZXRjaCByZXR1cm5zIHNh
bWUgcmVzcG9uc2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQ2YmYyNmY0YWIxMWM3NzdhZGYyNDhhYTM3YWMwYzc3MjgyMzcwNzIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFNlY29uZCBmZXRjaCByZXR1cm5zIHNhbWUg
cmVzcG9uc2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWZj
ZWJjMjRhNjNmNDBkZTU0YTRjMzk5MWM5MDUwZWI3NDQ4NmEyOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
ICA8dGl0bGU+U3RhbGUgUmV2YWxpZGF0aW9uIFJlcXVlc3RzIGRvbid0IGdldCBzZW50IHRvIHNl
cnZpY2Ugd29ya2VyPC90aXRsZT4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0Pgor
ICA8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CisKKyAgLy8gRHVwbGljYXRpbmcgdGhpcyByZXNvdXJjZSB0byBtYWtlIHNl
cnZpY2Ugd29ya2VyIHNjb3Bpbmcgc2ltcGxlci4KKyAgYXN5bmMgZnVuY3Rpb24gc2V0dXBSZWdp
c3RyYXRpb25BbmRXYWl0VG9CZUNvbnRyb2xsZWQodCwgc2NvcGUpIHsKKyAgICBjb25zdCBjb250
cm9sbGVkID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIG5hdmlnYXRvci5zZXJ2
aWNlV29ya2VyLm9uY29udHJvbGxlcmNoYW5nZSA9ICgpID0+IHsgcmVzb2x2ZSgpOyB9OworICAg
IH0pOworICAgIGNvbnN0IHJlZyA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lz
dGVyKCdzdy1pbnRlcmNlcHQuanMnKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcu
aW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOworICAgIGF3YWl0IGNvbnRyb2xsZWQ7CisgICAgYWRk
X2NvbXBsZXRpb25fY2FsbGJhY2soXyA9PiByZWcudW5yZWdpc3RlcigpKTsKKyAgICByZXR1cm4g
cmVnOworICB9CisKKyAgLy8gVXNpbmcgMjUwbXMgcG9sbGluZyBpbnRlcnZhbCB0byBwcm92aWRl
IGVub3VnaCAnbmV0d29yayBjYWxtbmVzcycgdG8gZ2l2ZQorICAvLyB0aGUgYmFja2dyb3VuZCBs
b3cgcHJpb3JpdHkgcmV2YWxpZGF0aW9uIHJlcXVlc3QgYSBjaGFuY2UgdG8ga2ljayBpbi4KKyAg
ZnVuY3Rpb24gd2FpdDI1MG1zKHRlc3QpIHsKKyAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7CisgICAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICAgIHJlc29sdmUo
KTsKKyAgICAgIH0sIDI1MCk7CisgICAgfSk7CisgIH0KKworICBwcm9taXNlX3Rlc3QoYXN5bmMg
KHRlc3QpID0+IHsKKyAgICB2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7CisgICAgY29uc3Qg
dXJpID0gJ3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49JyArIHJlcXVlc3RfdG9rZW47
CisKKyAgICBhd2FpdCBzZXR1cFJlZ2lzdHJhdGlvbkFuZFdhaXRUb0JlQ29udHJvbGxlZCh0ZXN0
LCAncmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weScpOworCisgICAgdmFyIHNlcnZpY2Vfd29ya2Vy
X2NvdW50ID0gMDsKKyAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRFdmVudExpc3RlbmVy
KCdtZXNzYWdlJywgZnVuY3Rpb24gb25jZShldmVudCkgeworICAgICAgaWYgKGV2ZW50LmRhdGEu
ZW5kc1dpdGgodXJpKSkgeworICAgICAgICBzZXJ2aWNlX3dvcmtlcl9jb3VudCsrOworICAgICAg
fQorICAgIH0pOworCisgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmkpOworICAg
IGNvbnN0IHJlc3BvbnNlMiA9IGF3YWl0IGZldGNoKHVyaSk7CisgICAgYXNzZXJ0X2VxdWFscyhy
ZXNwb25zZS5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJyksIHJlc3BvbnNlMi5oZWFkZXJzLmdldCgn
VW5pcXVlLUlkJykpOworICAgIHdoaWxlKHRydWUpIHsKKyAgICAgIGNvbnN0IHJldmFsaWRhdGlv
bl9jaGVjayA9IGF3YWl0IGZldGNoKGByZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3F1ZXJ5JnRv
a2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKyAgICAgIGlmIChyZXZhbGlkYXRpb25fY2hlY2suaGVh
ZGVycy5nZXQoJ0NvdW50JykgPT0gJzInKSB7CisgICAgICAgIC8vIFRoZSBzZXJ2aWNlIHdvcmtl
ciBzaG91bGQgbm90IHNlZSB0aGUgcmV2YWxpZGF0aW9uIHJlcXVlc3QuCisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoc2VydmljZV93b3JrZXJfY291bnQsIDIpOworICAgICAgICBicmVhazsKKyAgICAg
IH0KKyAgICAgIGF3YWl0IHdhaXQyNTBtcyh0ZXN0KTsKKyAgICB9CisgIH0sICdTZWNvbmQgZmV0
Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvZmV0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzM5MGM3YWQ1OTQ4YzY4MmIyZmJkY2IzYzk1YTRj
Mzc0ZGJiYTJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwK
QEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSBpcyBub3QgZXhlY3V0ZWQgZm9y
IGZldGNoIEFQSTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorZnVuY3Rpb24gd2FpdDI1bXModGVzdCkgeworICByZXR1cm4gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CisgICAgdGVzdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgcmVzb2x2
ZSgpOworICAgIH0sIDI1KTsKKyAgfSk7Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkg
PT4geworICB2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7CisKKyAgY29uc3QgcmVzcG9uc2Ug
PSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj1gICsgcmVxdWVz
dF90b2tlbik7CisgIGNvbnN0IHJlc3BvbnNlMiA9IGF3YWl0IGZldGNoKGByZXNvdXJjZXMvc3Rh
bGUtc2NyaXB0LnB5P3Rva2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKworICBhc3NlcnRfZXF1YWxz
KHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSwgcmVzcG9uc2UyLmhlYWRlcnMuZ2V0
KCdVbmlxdWUtSWQnKSk7CisKKyAgd2hpbGUodHJ1ZSkgeworICAgIGNvbnN0IHJldmFsaWRhdGlv
bl9jaGVjayA9IGF3YWl0IGZldGNoKGByZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3F1ZXJ5JnRv
a2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKyAgICBpZiAocmV2YWxpZGF0aW9uX2NoZWNrLmhlYWRl
cnMuZ2V0KCdDb3VudCcpID09ICcyJykgeworICAgICAgYnJlYWs7CisgICAgfQorICAgIGF3YWl0
IHdhaXQyNW1zKHRlc3QpOworICB9Cit9LCAnU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNw
b25zZScpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2Vz
L3N0YWxlLWNzcy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE2YWU1NDZkMDY1MWY5N2YzMDIwODI5NDUyZGI2MjI1NDg2ZGM0NTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weQpAQCAt
MCwwICsxLDI4IEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisKKyAgICB0b2tlbiA9
IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgaXNfcXVlcnkgPSByZXF1ZXN0
LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAgd2l0aCByZXF1ZXN0LnNlcnZl
ci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRv
a2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAhPSBOb25lOgorICAgICAgICBj
b3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgICBpZiBjb3VudCA8
IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAg
ICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAgIHJlcXVlc3Quc2Vy
dmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgaWYgaXNfcXVlcnk6CisgICAgICBoZWFk
ZXJzID0gWygiQ291bnQiLCBjb3VudCldCisgICAgICBjb250ZW50ID0gIiIKKyAgICAgIHJldHVy
biAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKKyAgICBlbHNlOgorICAgICAgY29udGVudCA9ICJib2R5
IHsgYmFja2dyb3VuZDogcmdiKDAsIDEyOCwgMCk7IH0iCisgICAgICBpZiBjb3VudCA+IDE6Cisg
ICAgICAgIGNvbnRlbnQgPSAiYm9keSB7IGJhY2tncm91bmQ6IHJnYigyNTUsIDAsIDApOyB9Igor
CisgICAgICBoZWFkZXJzID0gWygiQ29udGVudC1UeXBlIiwgInRleHQvY3NzIiksCisgICAgICAg
ICAgICAgICAoIkNhY2hlLUNvbnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGls
ZS1yZXZhbGlkYXRlPTYwIildCisKKyAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzOWVi
ODRiYjM0YmJkMTVlMmNhNzA2MWVlNGZhNTcyNGQyYzY0ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5CkBAIC0wLDAgKzEsMzggQEAK
K2ltcG9ydCBvcy5wYXRoCisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKworICAgIHRv
a2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBpc19xdWVyeSA9IHJl
cXVlc3QuR0VULmZpcnN0KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUKKyAgICB3aXRoIHJlcXVlc3Qu
c2VydmVyLnN0YXNoLmxvY2s6CisgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRh
a2UodG9rZW4pCisgICAgICBjb3VudCA9IDAKKyAgICAgIGlmIHZhbHVlICE9IE5vbmU6CisgICAg
ICAgIGNvdW50ID0gaW50KHZhbHVlKQorICAgICAgaWYgaXNfcXVlcnk6CisgICAgICAgIGlmIGNv
dW50IDwgMjoKKyAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50
KQorICAgICAgZWxzZToKKyAgICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAgcmVxdWVz
dC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKworICAgIGlmIGlzX3F1ZXJ5OgorICAg
ICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIiCisgICAg
ICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIGZpbGVuYW1l
ID0gImdyZWVuLTE2eDE2LnBuZyIKKyAgICAgIGlmIGNvdW50ID4gMToKKyAgICAgICAgZmlsZW5h
bWUgPSAiZ3JlZW4tMjU2eDI1Ni5wbmciCisKKyAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4ob3Mu
cGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uLy4uLy4uL2ltYWdlcyIsIGZpbGVuYW1lKQorICAg
ICAgYm9keSA9IG9wZW4ocGF0aCwgInJiIikucmVhZCgpCisKKyAgICAgIHJlc3BvbnNlLmFkZF9y
ZXF1aXJlZF9oZWFkZXJzID0gRmFsc2UKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9zdGF0
dXMoMjAwKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiY29udGVudC1sZW5n
dGgiLCBsZW4oYm9keSkpCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVyKCJDYWNo
ZS1Db250cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02
MCIpCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVyKCJjb250ZW50LXR5cGUiLCAi
aW1hZ2UvcG5nIikKKyAgICAgIHJlc3BvbnNlLndyaXRlci5lbmRfaGVhZGVycygpCisKKyAgICAg
IHJlc3BvbnNlLndyaXRlci53cml0ZShib2R5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0
YWxlLXNjcmlwdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWQ1NDY3MWY0MjExNzM1ZjU2ZGY1MGE1NWRlZWE2
ZWQyODFkNWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9z
dGFsZS1zY3JpcHQucHkKQEAgLTAsMCArMSwzMiBAQAoraW1wb3J0IHJhbmRvbSwgc3RyaW5nLCBk
YXRldGltZQorCitkZWYgaWRfdG9rZW4oKToKKyAgIGxldHRlcnMgPSBzdHJpbmcuYXNjaWlfbG93
ZXJjYXNlCisgICByZXR1cm4gJycuam9pbihyYW5kb20uY2hvaWNlKGxldHRlcnMpIGZvciBpIGlu
IHJhbmdlKDIwKSkKKworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHRva2VuID0g
cmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBpc19xdWVyeSA9IHJlcXVlc3Qu
R0VULmZpcnN0KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUKKyAgICB3aXRoIHJlcXVlc3Quc2VydmVy
LnN0YXNoLmxvY2s6CisgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRha2UodG9r
ZW4pCisgICAgICBjb3VudCA9IDAKKyAgICAgIGlmIHZhbHVlICE9IE5vbmU6CisgICAgICAgIGNv
dW50ID0gaW50KHZhbHVlKQorICAgICAgaWYgaXNfcXVlcnk6CisgICAgICAgIGlmIGNvdW50IDwg
MjoKKyAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAg
ICAgZWxzZToKKyAgICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAgcmVxdWVzdC5zZXJ2
ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKworICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgaGVh
ZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIiCisgICAgICByZXR1
cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIHVuaXF1ZV9pZCA9IGlk
X3Rva2VuKCkKKyAgICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9qYXZhc2Ny
aXB0IiksCisgICAgICAgICAgICAgICAgICgiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgt
YWdlPTAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAiKSwKKyAgICAgICAgICAgICAgICAgKCJV
bmlxdWUtSWQiLCB1bmlxdWVfaWQpXQorICAgICAgY29udGVudCA9ICJyZXBvcnQoJ3t9JykiLmZv
cm1hdCh1bmlxdWVfaWQpCisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWE3NzMyYTU2
NmQ0YTZmNTczY2M5N2ZkM2QxNDU0NjU3ZDQ3NjgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE5IEBACitUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8v
Z2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBt
b2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxl
czoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weQorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2Vz
L3N0YWxlLXNjcmlwdC5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44YWM5OTQwNWE3Yjg5YzEzZTU3ODdlYWYwNzllZDZmMTQ4OGU4YzEwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACisKK1BBU1MgQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZSAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0
YWxlLWNzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1NjI2MGZkYjQ1YzBjMmM2MGI0ZDc2ZjYzYTc2Mzg5
ZGY4MThiMTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0
bWwKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSB3b3JrcyBmb3IgY3NzPC90
aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlw
dD4KKwordmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworYXN5bmNfdGVzdCh0ID0+IHsKKyAg
d2luZG93Lm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICB0LnN0ZXBfdGltZW91dCgo
KSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSwgInJnYigwLCAx
MjgsIDApIik7CisgICAgICB2YXIgbGluazIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5r
Iik7CisgICAgICBsaW5rMi5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAgIGFz
c2VydF9lcXVhbHMod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJv
cGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpLCAicmdiKDAsIDEyOCwgMCkiKTsKKyAgICAg
ICAgdmFyIGNoZWNrUmVzdWx0ID0gKCkgPT4geworICAgICAgICAgIC8vIFdlIHBvbGwgYmVjYXVz
ZSB3ZSBkb24ndCBrbm93IHdoZW4gdGhlIHJldmFsaWRhdGlvbiB3aWxsIG9jY3VyLgorICAgICAg
ICAgIGZldGNoKCJyZXNvdXJjZXMvc3RhbGUtY3NzLnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0
X3Rva2VuKS50aGVuKHQuc3RlcF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgdmFy
IGNvdW50ID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoIkNvdW50Iik7CisgICAgICAgICAgICBpZiAo
Y291bnQgPT0gJzInKSB7CisgICAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICB9KSk7CisgICAgICAgIH07CisgICAgICAgIHQuc3RlcF90
aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICB9KTsKKyAgICAgIGxpbmsyLnJlbCA9ICJz
dHlsZXNoZWV0IjsKKyAgICAgIGxpbmsyLnR5cGUgPSAidGV4dC9jc3MiOworICAgICAgbGluazIu
aHJlZiA9ICJyZXNvdXJjZXMvc3RhbGUtY3NzLnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOwor
ICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rMik7CisgICAgfSwgMCk7CisgIH0p
OworfSwgJ0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGxpbmsgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7CitsaW5rLnJlbCA9ICJzdHlsZXNoZWV0IjsKK2xp
bmsudHlwZSA9ICJ0ZXh0L2NzcyI7CitsaW5rLmhyZWYgPSAicmVzb3VyY2VzL3N0YWxlLWNzcy5w
eT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGlu
ayk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFlNDIwMTRkZWZkNzE5MTA5NmMzM2NjZTU4MzBlZjdjYWExYTU3
YTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorIAorCitQQVNTIENhY2hlIHJldHVybnMgc3RhbGUgcmVz
b3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGEwOGY4MTcyOWRl
NDk5ODVjNjU3NWUxYTdhNWZjYjc3ZDNhMGVlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1s
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFs
aWRhdGUgd29ya3MgZm9yIGltYWdlczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8Ym9keT4KKzwhLS0KK1VzZSBhIGNoaWxkIGRvY3VtZW50IHRvIGxvYWQgdGhl
IHNlY29uZCBzdGFsZSBpbWFnZSBpbnRvIGJlY2F1c2UKK2FuIGltYWdlIGxvYWRlZCBpbnRvIHRo
ZSBzYW1lIGRvY3VtZW50IHdpbGwgc2tpcCBjYWNoZS1jb250cm9sIGhlYWRlcnMuCitTZWU6IGh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1saXN0LW9mLWF2YWlsYWJsZS1pbWFnZXMK
Ky0tPgorPGlmcmFtZSBpZD0iY2hpbGQiIHNyY2RvYz0iIj48L2lmcmFtZT4KKzxzY3JpcHQ+CisK
K3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRv
dy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4g
eworICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlyc3RpbWFn
ZSIpLndpZHRoLCAxNiwgIldpZHRoIGlzIDE2Iik7CisgICAgICB2YXIgY2hpbGREb2N1bWVudCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGlsZCcpLmNvbnRlbnREb2N1bWVudDsKKyAgICAg
IHZhciBpbWcyID0gY2hpbGREb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICAgIGlt
ZzIub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGlt
ZzIud2lkdGgsIDE2LCAiaW1hZ2UgZGltZW5zaW9uIik7CisgICAgICAgIHZhciBjaGVja1Jlc3Vs
dCA9ICgpID0+IHsKKyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3
aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICBmZXRjaCgicmVzb3Vy
Y2VzL3N0YWxlLWltYWdlLnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0X3Rva2VuKS50aGVuKHQu
c3RlcF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgdmFyIGNvdW50ID0gcmVzcG9u
c2UuaGVhZGVycy5nZXQoIkNvdW50Iik7CisgICAgICAgICAgICBpZiAoY291bnQgPT0gJzInKSB7
CisgICAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICB9KSk7CisgICAgICAgIH07CisgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVz
dWx0LCAyNSk7CisgICAgICB9KTsKKyAgICAgIGltZzIuc3JjID0gInJlc291cmNlcy9zdGFsZS1p
bWFnZS5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGNoaWxkRG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChpbWcyKTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9LCAnQ2FjaGUgcmV0dXJu
cyBzdGFsZSByZXNvdXJjZScpOworCit2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aW1nIik7CitpbWcuc3JjID0gInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT90b2tlbj0iICsgcmVx
dWVzdF90b2tlbjsKK2ltZy5pZCA9ICJmaXJzdGltYWdlIjsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2Ny
aXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWM5OTQwNWE3Yjg5YzEzZTU3ODdlYWYwNzll
ZDZmMTQ4OGU4YzEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNj
cmlwdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FjaGUgcmV0dXJucyBz
dGFsZSByZXNvdXJjZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlw
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4
NzkzZTUwMDU2YmM2MDUzZWE0MTBkNjU4YWVkMzczZDE5ZjlhNDEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgU3RhbGUg
V2hpbGUgUmV2YWxpZGF0ZSB3b3JrcyBmb3Igc2NyaXB0czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1v
bi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit2YXIgbGFzdF9tb2RpZmll
ZDsKK3ZhciBsYXN0X21vZGlmaWVkX2NvdW50ID0gMDsKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9r
ZW4oKTsKKworLy8gVGhlIHNjcmlwdCB3aWxsIGNhbGwgcmVwb3J0IHZpYSBhIHVuaXF1ZWx5IGdl
bmVyYXRlZCBJRCBvbiB0aGUgc3VicmVzb3VyY2UuCisvLyBJZiBpdCBpcyBhIGNhY2hlIGhpdCB0
aGUgSUQgd2lsbCBiZSB0aGUgc2FtZSBhbmQgdGhlIHRlc3Qgd2lsbCBwYXNzLgorZnVuY3Rpb24g
cmVwb3J0KG1vZCkgeworICBpZiAoIWxhc3RfbW9kaWZpZWQpIHsKKyAgICBsYXN0X21vZGlmaWVk
ID0gbW9kOworICAgIGxhc3RfbW9kaWZpZWRfY291bnQgPSAxOworICB9IGVsc2UgaWYgKGxhc3Rf
bW9kaWZpZWQgPT0gbW9kKSB7CisgICAgbGFzdF9tb2RpZmllZF9jb3VudCsrOworICB9Cit9CisK
K2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7
CisgICAgc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAgICAgIHNjcmlwdC5zcmMgPSAicmVzb3VyY2VzL3N0
YWxlLXNjcmlwdC5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKKyAgICAgIHNjcmlwdC5vbmxvYWQgPSB0LnN0ZXBfZnVu
YygoKSA9PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhsYXN0X21vZGlmaWVkX2NvdW50LCAy
LCAibGFzdCBtb2RpZmllZCIpOworICAgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsK
KyAgICAgICAgICAgIC8vIFdlIHBvbGwgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoZW4gdGhlIHJl
dmFsaWRhdGlvbiB3aWxsIG9jY3VyLgorICAgICAgICAgICAgZmV0Y2goInJlc291cmNlcy9zdGFs
ZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49IiArIHJlcXVlc3RfdG9rZW4pLnRoZW4odC5zdGVwX2Z1
bmMoKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhl
YWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgICBpZiAoY291bnQgPT0gJzInKSB7Cisg
ICAgICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9KSk7CisgICAgICAgICAgfTsKKyAgICAgICAgICB0LnN0ZXBfdGlt
ZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgfSwgMCk7CisgIH0pOworfSwg
J0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIHNjcmlwdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworc2NyaXB0LnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUt
c2NyaXB0LnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChzY3JpcHQpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3ctaW50ZXJjZXB0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kY2E3ZGU1MWIwYjhjNTUxODI3NmU3MGFlMjE5YjdiYzhmODY5YTk1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpAQCAtMCwwICsx
LDE0IEBACithc3luYyBmdW5jdGlvbiBicm9hZGNhc3QobXNnKSB7CisgIGZvciAoY29uc3QgY2xp
ZW50IG9mIGF3YWl0IGNsaWVudHMubWF0Y2hBbGwoKSkgeworICAgIGNsaWVudC5wb3N0TWVzc2Fn
ZShtc2cpOworICB9Cit9CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBldmVudCA9
PiB7CisgIGV2ZW50LndhaXRVbnRpbChicm9hZGNhc3QoZXZlbnQucmVxdWVzdC51cmwpKTsKKyAg
ZXZlbnQucmVzcG9uZFdpdGgoZmV0Y2goZXZlbnQucmVxdWVzdCkpOworfSk7CisKK3NlbGYuYWRk
RXZlbnRMaXN0ZW5lcignYWN0aXZhdGUnLCBldmVudCA9PiB7CisgIHNlbGYuY2xpZW50cy5jbGFp
bSgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI5ZGQwNmY4NDZhNzA2
OGZlYTJiODI4NzgxYWQ3NWNjMTk4ZTdhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWIt
cGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWlt
YWdlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3ctaW50ZXJjZXB0LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggOGE1NmY4NzQ0YTc1NzYxYTExNmY4ZWQ1Zjg2NTc4ODQzOTQ2
YmQ2OC4uNzQ3ZDIxYTRkMDNhYTUyNDRkYWJhNGNmYjA5MDE2MmY3ZWQ5MDA1NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjAwNSw0ICsy
MDA1LDcgQEAgaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctaHRtbC0yZC5odG1sCiB3ZWJraXQu
b3JnL2IvMTU5NzI0IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9zZW5kLXJlZGlyZWN0LXBvc3QtdXBsb2FkLmh0bSBbIFNraXAgXQogCiAjIFNraXAgSXNMb2dn
ZWRJbgotaHR0cC90ZXN0cy9pcy1sb2dnZWQtaW4vIFsgU2tpcCBdClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQoraHR0cC90ZXN0cy9pcy1sb2dnZWQtaW4vIFsgU2tpcCBdCisKKyMgU3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZSBpcyBub3Qgc3VwcG9ydGVkIG9uIFdLMQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlIFsgU2tpcCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYmEx
YWE0MDlmOWZjYzlmY2VkMjk5MTVkOGYxMzViYTE4MTBlMGExOC4uNGNiNWFkMjBhZDNjMDMzMWQ5
MDBkNjg5NTk0OTU0Y2FmODdkM2I2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODAxLDMgKzgwMSw2IEBAIHdlYmtpdC5vcmcvYi8yMDAw
MDIgWyBNb2phdmUrIERlYnVnIF0gaW1wb3J0ZWQvYmxpbmsvc3RvcmFnZS9pbmRleGVkZGIvYmxv
Yi1iYXNpCiAKICMgU2tpcCBJc0xvZ2dlZEluCiBodHRwL3Rlc3RzL2lzLWxvZ2dlZC1pbi8gWyBT
a2lwIF0KKworIyBTdGFsZS13aGlsZS1yZXZhbGlkYXRlIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0sx
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0
OGYzODM3ODQ5Y2U3M2NlN2EyMGY5OWI3MTgwOTdkMGMwOGU4Y2JhLi4yZjFlY2QxYzc4YmIwYTU3
OTRlYzcwZGI2OWUyOWFlNDNhN2NjMTc4IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMTAtMTEgIFJvYiBCdWlzICA8cmJ1aXNAaWdh
bGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUg
c3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUgYnVpbGQgZmxhZy4KKworICAg
ICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRlRXLmNtYWtlOgorICAgICAgICAqIFNvdXJjZS9j
bWFrZS9PcHRpb25zR1RLLmNtYWtlOgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0
dXJlcy5jbWFrZToKKwogMjAxOS0xMC0wOCAgQWRyaWFuIFBlcmV6IGRlIENhc3RybyAgPGFwZXJl
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0ZSBPcHRpb25zV1BFLmNt
YWtlIGFuZCBORVdTIGZvciB0aGUgMi4yNy4xIHJlbGVhc2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380744</attachid>
            <date>2019-10-11 04:29:39 -0700</date>
            <delta_ts>2019-10-11 05:03:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191011132933.patch</filename>
            <type>text/plain</type>
            <size>113464</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwOTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
OWUyNDM2NjY3ODNiODdhZWMwNDBkZGIyMjI3MzVhNjVhZmRjMzZlLi5iMmE4Mjg5NzFlOTE4ODJk
MmNiNTRhYTg2NzgyZTRmMGYxZjU3MDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEhUVFBfQ0FD
SEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSBidWlsZCBmbGFnLgorCisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMTAtMDkgIFNhYW0gQmFy
YXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVHJ5IHRvIGZp
eCBidWlsZCBmb3IgV2luZG93cyBDX0xPT1AKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYThlOGIzN2ZhNWJiMzli
OGExMmFlYWM3OTNjYWU4ZjM3NmQ3YTUyLi42NjA3N2QzODU0ZDRlMGM0MTczOWQ2YjM5NjZmYzgw
MTlhYThlMjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMTAtMTEgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJl
dmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFN0YXJ0IHBhcnNpbmcgdGhlIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUg
Q2FjaGUtQ29udHJvbCBkaXJlY3RpdmUKKyAgICAgICAgYW5kIGV4cG9zZSBpdCBvbiBSZXNvdXJj
ZVJlc3BvbnNlLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3Mu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbAorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlk
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVz
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZh
bGlkYXRlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmg6CisKIDIwMTktMTAtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBET01DYWNoZVN0b3JhZ2Ugc2hvdWxkIG5vdCBwcmV2ZW50IHBhZ2VzIGZyb20g
ZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYmI2
ZjUxNjBkYzRjNGI3YmViYzljNWY3MmRhMDhiM2Y0ODI5OWRhMC4uMGNhMDFmNjE5Y2Y4OGMxMTI1
NjM2Mzc4MTNmNTlmNTUwNDU3MTYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTktMTAtMTEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBT
dXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBIVFRQX0NBQ0hFX1NUQUxF
X1dISUxFX1JFVkFMSURBVEUgYnVpbGQgZmxhZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTEwLTA3ICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZhaWx1cmUgaW4gV2ViSFRNTFZp
ZXcubW0gd2l0aCB0aGUgcHVibGljIFNESyAoWGNvZGUgMTEgYW5kIE1vamF2ZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZTg1OTJjZTllZmNlN2ZhYzYyYWE1ZTBmZjBhYzY3OTAwMTM5NmNlYi4uNzM5OTUwNDhlODY0
MmQ1ZTdmZmM5ODJmYmUxNjQwZjQyM2UwYTgwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAor
MjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBv
cnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IFVzZURlY2lzaW9uIHZh
bHVlIEFzeW5jUmV2YWxpZGF0ZSBmb3IgYXN5bmMgcmV2YWxpZGF0aW9uLiBUaGlzIGlzIHVzZWQK
KyAgICAgICAgd2hlbiB0aGUgcmV0cmlldmVkIGNhY2hlIGVudHJ5IGlzIGEgc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZSByZXNwb25zZSBbMV0uCisgICAgICAgIEluIGNhc2Ugb2YgQXN5bmNSZXZhbGlk
YXRlLCBhIGNoZWNrIGlzIG1hZGUgdG8gc2VlIGlmIHRoZXJlIGlzIGEKKyAgICAgICAgY3VycmVu
dCBhc3luYyByZXZhbGlkYXRpb24gb25nb2luZyBmb3IgdGhlIGVudHJ5LCBpZiBub3Qgb25lIGlz
CisgICAgICAgIHN0YXJ0ZWQuIFJlZ2FyZGxlc3MsIHRoZSBzdGFsZSBlbnRyeSBpcyByZXR1cm5l
ZCwgdW50aWwgZWl0aGVyIHRoZQorICAgICAgICBhc3luYyByZXZhbGlkYXRpb24gZW5kcyBzdWNj
ZXNzZnVsbHkgb3IgYXQgdGhlIG1vbWVudCB3aGVuIHRoZQorICAgICAgICByZXNwb25zZSBleHBp
cmVzIGZvciByZWFsLgorCisgICAgICAgIFsxXSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9y
Zy8jY29uY2VwdC1zdGFsZS13aGlsZS1yZXZhbGlkYXRlLXJlc3BvbnNlCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ2FjaGU6OmNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3QpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9uOjpBc3luY1JldmFsaWRh
dGlvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24u
aDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRp
b246OmxvYWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2
YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZyk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a0NhY2hlOjpyZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjptYWtlVXNlRGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6Om1ha2VTdG9yZURlY2lzaW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpj
YW5Vc2VQZW5kaW5nUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpDYWNoZTo6c3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpDYWNoZTo6cmV0cmlldmUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrQ2FjaGU6OnJlc3BvbnNlSGFzRXhwaXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0NhY2hlOjpkdW1wSFRUUEhlYWRlcnNEaWZmKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpyZXF1ZXN0c0hlYWRlcnNNYXRjaCk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6ZHVtcEhUVFBIZWFkZXJzRGlmZik6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVxdWVzdHNIZWFkZXJzTWF0Y2gp
OiBEZWxldGVkLgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTEwLTEwICB5b3Vlbm4gZmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBBbGxvdyBTWVNfX19wdGhyZWFkX21hcmtj
YW5jZWwgY2FsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDRiYTcxZmI4MDE3Njkx
NDhlODczNGI5ZmEwNDQ1NGNmNmI4MTc2NDUuLjliMDk0ZmQ2NjRjYzBiNjg4MjUzZDJhMDZjZjYx
ODMwNmYyNDhkZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1
cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEhUVFBfQ0FDSEVfU1RBTEVf
V0hJTEVfUkVWQUxJREFURSBidWlsZCBmbGFnLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMTAtMDkgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NsaXBib2FyZCBBUEldIFJlZmFjdG9y
IFBhc3RlYm9hcmQgaXRlbSByZWFkaW5nIGZ1bmN0aW9ucyB0byB3b3JrIG9uIGJvdGggaU9TIGFu
ZCBtYWNPUwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGQ4MDhlZTAzZmEyNDc5MjA4NmRk
OWM3ZWQ1YTRlMDZmNTljMDUyMzguLjdkYTM0ZTYzY2Q3MjRiMjA3NGY4ZWZiYzNmNGIzMTMxYTU3
ZDUyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5MCw2ICsxOTAsOCBAQCBFTkFC
TEVfR0VPTE9DQVRJT05faXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5B
QkxFX0dFT0xPQ0FUSU9OX21hY2NhdGFseXN0ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxF
X0dFT0xPQ0FUSU9OX21hY29zeCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIAorRU5BQkxFX0hUVFBf
Q0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSA9IEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dI
SUxFX1JFVkFMSURBVEU7CisKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gRU5BQkxFX0lOREVY
RURfREFUQUJBU0U7CiAKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgPSBFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTOwpAQCAtNDQzLDQgKzQ0NSw0IEBAIEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5H
X0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVS
QUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9S
VCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
UykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJE
X0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BS
T1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19W
SURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElW
RV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9X
X1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChF
TkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9T
QU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVB
QkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNF
U19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9X
RUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
R0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
MykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01B
TklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1J
U1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxU
RVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5B
QkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkg
JChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JL
X0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVF
U1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZF
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNP
Tk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VS
KSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVT
U0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1C
TFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZF
Ul9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFD
VElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZDgwOGVlMDNmYTI0Nzky
MDg2ZGQ5YzdlZDVhNGUwNmY1OWMwNTIzOC4uN2RhMzRlNjNjZDcyNGIyMDc0ZjhlZmJjM2Y0YjMx
MzFhNTdkNTIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5MCw2ICsxOTAsOCBAQCBFTkFCTEVfR0VPTE9D
QVRJT05faXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xP
Q0FUSU9OX21hY2NhdGFseXN0ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xPQ0FU
SU9OX21hY29zeCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIAorRU5BQkxFX0hUVFBfQ0FDSEVfU1RB
TEVfV0hJTEVfUkVWQUxJREFURSA9IEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFM
SURBVEU7CisKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gRU5BQkxFX0lOREVYRURfREFUQUJB
U0U7CiAKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgPSBFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTOwpAQCAtNDQzLDQgKzQ0NSw0IEBAIEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5B
QkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFC
TEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRS
SUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01B
TkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09M
Qk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJF
QU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElE
QVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElO
R19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VY
VEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09V
UkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZB
UklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5U
X0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVO
QUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
VE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01P
REVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJ
U1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVf
S0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9D
VVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQ
RUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5B
QkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9J
TlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQo
RU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBkODA4ZWUwM2ZhMjQ3OTIw
ODZkZDljN2VkNWE0ZTA2ZjU5YzA1MjM4Li43ZGEzNGU2M2NkNzI0YjIwNzRmOGVmYmMzZjRiMzEz
MWE1N2Q1MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xOTAsNiArMTkwLDggQEAgRU5BQkxF
X0dFT0xPQ0FUSU9OX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJM
RV9HRU9MT0NBVElPTl9tYWNjYXRhbHlzdCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9H
RU9MT0NBVElPTl9tYWNvc3ggPSBFTkFCTEVfR0VPTE9DQVRJT047CiAKK0VOQUJMRV9IVFRQX0NB
Q0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUgPSBFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElM
RV9SRVZBTElEQVRFOworCiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFOwogCiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTID0gRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUzsKQEAgLTQ0Myw0ICs0NDUsNCBAQCBFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9L
RVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9U
T0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklE
RU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVf
UkVWQUxJREFUSU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FO
REJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJM
RV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVO
QUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNf
RUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNT
RU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9O
UykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VC
RFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVO
QUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNT
SU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVS
TkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJM
RV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19D
QUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIp
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURf
U1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05O
RUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikg
JChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZ
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJf
TU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RB
VElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxF
X1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKaW5kZXggNDk1OTA1MDY3OWNlMDUwNDg0MjQ0
N2ViMWY1YTBiZjhhNjc2ODNjZS4uMmQzNTA3ZGYyMzdkYjI5NWQ1OTMxYTRjMGRmNzYwMjc3N2Rl
N2I4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZh
bGlkYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVW
YWxpZGF0aW9uLmNwcApAQCAtMzEzLDggKzMxMywxOCBAQCBDYWNoZUNvbnRyb2xEaXJlY3RpdmVz
IHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcyhjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJz
KQogICAgICAgICAgICAgICAgIGRvdWJsZSBtYXhTdGFsZSA9IGRpcmVjdGl2ZXNbaV0uc2Vjb25k
LnRvRG91YmxlKCZvayk7CiAgICAgICAgICAgICAgICAgaWYgKG9rKQogICAgICAgICAgICAgICAg
ICAgICByZXN1bHQubWF4U3RhbGUgPSBTZWNvbmRzIHsgbWF4U3RhbGUgfTsKLSAgICAgICAgICAg
IH0gZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5m
aXJzdCwgImltbXV0YWJsZSIpKQorICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAiaW1tdXRhYmxlIikpIHsKICAg
ICAgICAgICAgICAgICByZXN1bHQuaW1tdXRhYmxlID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxz
ZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5maXJzdCwg
InN0YWxlLXdoaWxlLXJldmFsaWRhdGUiKSkgeworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQu
c3RhbGVXaGlsZVJldmFsaWRhdGUpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRmlyc3Qgc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZSBkaXJlY3RpdmUgd2lucyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUg
b25lcy4KKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIGJvb2wgb2s7CisgICAgICAgICAgICAgICAgZG91YmxlIHN0YWxlV2hp
bGVSZXZhbGlkYXRlID0gZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9Eb3VibGUoJm9rKTsKKyAgICAg
ICAgICAgICAgICBpZiAob2spCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5zdGFsZVdoaWxl
UmV2YWxpZGF0ZSA9IFNlY29uZHMgeyBzdGFsZVdoaWxlUmV2YWxpZGF0ZSB9OworICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9DYWNoZVZhbGlkYXRpb24uaAppbmRleCA1NmVmZWE2MjE1NDQ3OTUwNmExNjY0ZmZk
MDhlMDhhYjJjNTU2YmNkLi4wNDBhOTY5N2U1ZmE4MmUxYWY1MGZmYTlhZDE5MjcyN2YzYjc4NDEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0
aW9uLmgKQEAgLTY5LDYgKzY5LDcgQEAgc3RydWN0IENhY2hlQ29udHJvbERpcmVjdGl2ZXMgewog
CiAgICAgTWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IG1heEFnZTsK
ICAgICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNvbmRzOjpNYXJrYWJsZVRyYWl0cz4gbWF4U3RhbGU7
CisgICAgTWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IHN0YWxlV2hp
bGVSZXZhbGlkYXRlOwogICAgIGJvb2wgbm9DYWNoZSA6IDE7CiAgICAgYm9vbCBub1N0b3JlIDog
MTsKICAgICBib29sIG11c3RSZXZhbGlkYXRlIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKaW5kZXggMjBh
YzY0ZDU3MDM0YzY5ZWE5MmJjN2E0MzUzNmYxNmQ3OTVmZmEyOS4uMzI3MmUwYzQ4ZTZiNjQ3YTAz
ZDAyMzgzNjlhYzNiODEwZTVlY2NmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKQEAgLTY1NSw2ICs2NTUs
MTMgQEAgT3B0aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJv
bE1heEFnZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5tYXhB
Z2U7CiB9CiAKK09wdGlvbmFsPFNlY29uZHM+IFJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNv
bnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2hhdmVQYXJz
ZWRDYWNoZUNvbnRyb2xIZWFkZXIpCisgICAgICAgIHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZl
cygpOworICAgIHJldHVybiBtX2NhY2hlQ29udHJvbERpcmVjdGl2ZXMuc3RhbGVXaGlsZVJldmFs
aWRhdGU7Cit9CisKIHN0YXRpYyBPcHRpb25hbDxXYWxsVGltZT4gcGFyc2VEYXRlVmFsdWVJbkhl
YWRlcihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzLCBIVFRQSGVhZGVyTmFtZSBoZWFkZXJO
YW1lKQogewogICAgIFN0cmluZyBoZWFkZXJWYWx1ZSA9IGhlYWRlcnMuZ2V0KGhlYWRlck5hbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oCmluZGV4IGNiMTdiNTk1NDg3ZDEwYjc3M2M0ZTQ4NTM1NDMwMjRhNTBmMWE5
N2YuLjQwNjgxZjA3N2FiOWVlZDA5YzkzNWJiMGJhYWM5ZTBiNDA5YzM4ZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKQEAgLTEzNiw2ICsxMzYsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBj
YWNoZUNvbnRyb2xDb250YWluc0ltbXV0YWJsZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JU
IGJvb2wgaGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9S
VCBPcHRpb25hbDxTZWNvbmRzPiBjYWNoZUNvbnRyb2xNYXhBZ2UoKSBjb25zdDsKKyAgICBXRUJD
T1JFX0VYUE9SVCBPcHRpb25hbDxTZWNvbmRzPiBjYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxp
ZGF0ZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFdhbGxUaW1lPiBkYXRl
KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gYWdlKCkgY29u
c3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8V2FsbFRpbWU+IGV4cGlyZXMoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCmluZGV4IGQ4MDhlZTAzZmEyNDc5MjA4NmRkOWM3ZWQ1YTRlMDZmNTljMDUyMzgu
LjdkYTM0ZTYzY2Q3MjRiMjA3NGY4ZWZiYzNmNGIzMTMxYTU3ZDUyMTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
MTkwLDYgKzE5MCw4IEBAIEVOQUJMRV9HRU9MT0NBVElPTl9pcGhvbmVzaW11bGF0b3IgPSBFTkFC
TEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjY2F0YWx5c3QgPSBFTkFCTEVf
R0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjb3N4ID0gRU5BQkxFX0dFT0xPQ0FU
SU9OOwogCitFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFID0gRU5BQkxF
X0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURTsKKwogRU5BQkxFX0lOREVYRURfREFU
QUJBU0UgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRTsKIAogRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUyA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlM7CkBAIC00
NDMsNCArNDQ1LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAk
KEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9E
RV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1Jf
QUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRX
T1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNF
UlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0Vf
TE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BS
RUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09S
S0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJf
TUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNT
RU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRS
SVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQ
SV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChF
TkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChF
TkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEUpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxP
TkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQo
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAk
KEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQ
SSkgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJ
VkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BV
KSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9u
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40OTQ0Y2RjODdkYTk4NGUzOTI1Y2VkMmRjZWM0OGYxNmMyOTc4MTQ2
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9B
c3luY1JldmFsaWRhdGlvbi5jcHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKQorI2luY2x1ZGUgIkFz
eW5jUmV2YWxpZGF0aW9uLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlVmFsaWRhdGlvbi5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgeworCitzdGF0
aWMgaW5saW5lIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjb25zdHJ1Y3RSZXZhbGlkYXRpb25S
ZXF1ZXN0KGNvbnN0IEtleSYga2V5LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IEVudHJ5KiBlbnRyeSkKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QgcmV2YWxpZGF0aW9uUmVxdWVzdCA9IHJlcXVlc3Q7CisgICAgaWYgKCFrZXkucGFydGl0aW9u
KCkuaXNFbXB0eSgpKQorICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldENhY2hlUGFydGl0
aW9uKGtleS5wYXJ0aXRpb24oKSk7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShrZXkucmFuZ2Uo
KS5pc0VtcHR5KCksICJyYW5nZSBpcyBub3Qgc3VwcG9ydGVkIik7CisKKyAgICByZXZhbGlkYXRp
b25SZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7CisgICAgaWYgKGVudHJ5KSB7CisgICAgICAg
IFN0cmluZyBlVGFnID0gZW50cnktPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKFdlYkNvcmU6
OkhUVFBIZWFkZXJOYW1lOjpFVGFnKTsKKyAgICAgICAgaWYgKCFlVGFnLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKFdlYkNvcmU6
OkhUVFBIZWFkZXJOYW1lOjpJZk5vbmVNYXRjaCwgZVRhZyk7CisKKyAgICAgICAgU3RyaW5nIGxh
c3RNb2RpZmllZCA9IGVudHJ5LT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChXZWJDb3JlOjpI
VFRQSGVhZGVyTmFtZTo6TGFzdE1vZGlmaWVkKTsKKyAgICAgICAgaWYgKCFsYXN0TW9kaWZpZWQu
aXNFbXB0eSgpKQorICAgICAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRIVFRQSGVhZGVy
RmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OklmTW9kaWZpZWRTaW5jZSwgbGFzdE1vZGlm
aWVkKTsKKyAgICB9CisKKyAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldFByaW9yaXR5KFdlYkNv
cmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpMb3cpOworCisgICAgcmV0dXJuIHJldmFsaWRhdGlv
blJlcXVlc3Q7Cit9CisKK3ZvaWQgQXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlk
YXRlRW5kaW5nKCkKK3sKKyAgICBpZiAobV9jb21wbGV0aW9uSGFuZGxlcikgeworICAgICAgICBt
X2NvbXBsZXRpb25IYW5kbGVyKHRydWUpOworICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyID0g
bnVsbHB0cjsKKyAgICB9Cit9CisKK0FzeW5jUmV2YWxpZGF0aW9uOjpBc3luY1JldmFsaWRhdGlv
bihDYWNoZSYgY2FjaGUsIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNo
ZTo6RW50cnk+IGVudHJ5LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGhhbmRsZXIp
CisgICAgOiBtX3RpbWVyKCp0aGlzLCAmQXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZh
bGlkYXRlRW5kaW5nKQorICAgICwgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIp
KQoreworICAgIGF1dG8ga2V5ID0gZW50cnktPmtleSgpOworICAgIGF1dG8gcmV2YWxpZGF0aW9u
UmVxdWVzdCA9IGNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3Qoa2V5LCByZXF1ZXN0LCBlbnRy
eS5nZXQoKSk7CisgICAgYXV0byBhZ2UgPSBXZWJDb3JlOjpjb21wdXRlQ3VycmVudEFnZShlbnRy
eS0+cmVzcG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICBhdXRvIGxpZmV0aW1lID0g
V2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShlbnRyeS0+cmVz
cG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICBhdXRvIHJlc3BvbnNlTWF4U3RhbGVu
ZXNzID0gZW50cnktPnJlc3BvbnNlKCkuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUo
KTsKKyAgICBBU1NFUlQocmVzcG9uc2VNYXhTdGFsZW5lc3MpOworICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KCpyZXNwb25zZU1heFN0YWxlbmVzcyAtIChhZ2UgLSBsaWZldGltZSkpOworICAgIG1f
bG9hZCA9IG1ha2VVbmlxdWU8U3BlY3VsYXRpdmVMb2FkPihjYWNoZSwgZnJhbWVJRCwgcmV2YWxp
ZGF0aW9uUmVxdWVzdCwgV1RGTW92ZShlbnRyeSksIFt0aGlzLCBrZXksIHJldmFsaWRhdGlvblJl
cXVlc3RdKHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gcmV2YWxpZGF0ZWRFbnRyeSkgeworICAgICAg
ICBBU1NFUlQoIXJldmFsaWRhdGVkRW50cnkgfHwgIXJldmFsaWRhdGVkRW50cnktPm5lZWRzVmFs
aWRhdGlvbigpKTsKKyAgICAgICAgQVNTRVJUKCFyZXZhbGlkYXRlZEVudHJ5IHx8IHJldmFsaWRh
dGVkRW50cnktPmtleSgpID09IGtleSk7CisgICAgICAgIGlmIChtX2NvbXBsZXRpb25IYW5kbGVy
KSB7CisgICAgICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyKHJldmFsaWRhdGVkRW50cnkuZ2V0
KCkpOworICAgICAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlciA9IG51bGxwdHI7CisgICAgICAg
IH0KKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0FzeW5jUmV2YWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0FzeW5jUmV2YWxpZGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODU4NDkxNzRkMGY4YTRhMmU4ODU3YTBi
NDlhMWY1Njg3N2M4MjdiYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uaApAQCAtMCwwICsxLDYwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKKworI2lu
Y2x1ZGUgIk5ldHdvcmtDYWNoZS5oIgorI2luY2x1ZGUgIk5ldHdvcmtDYWNoZUVudHJ5LmgiCisj
aW5jbHVkZSAiTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFNwZWN1bGF0aXZlTG9hZDsKKworbmFtZXNw
YWNlIE5ldHdvcmtDYWNoZSB7CisKK2NsYXNzIEFzeW5jUmV2YWxpZGF0aW9uIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBBc3luY1JldmFsaWRhdGlvbihDYWNo
ZSYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
LCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya0NhY2hlOjpFbnRyeT4sIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYpOworCisgICAgY29uc3QgU3BlY3VsYXRpdmVMb2FkJiBsb2FkKCkgY29u
c3QgeyByZXR1cm4gKm1fbG9hZDsgfQorCisgICAgdm9pZCBzdGFsZVdoaWxlUmV2YWxpZGF0ZUVu
ZGluZygpOworCitwcml2YXRlOgorICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWQ+
IG1fbG9hZDsKKyAgICBXZWJDb3JlOjpUaW1lciBtX3RpbWVyOworICAgIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCk+IG1fY29tcGxldGlvbkhhbmRsZXI7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBOZXR3b3JrQ2FjaGUKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxF
KEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAppbmRleCBmMzQ0ZDFhYmE2
NGZlOTNjOWNiZWJkNDdmNDNlODE2M2JhY2Q3YzE3Li5lZGZjZjU5ODE3NDEwYzk0N2YxNWJkNDY0
MDZmYzNlNDZjYjgwNTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlLmgiCiAKKyNpbmNsdWRlICJBc3luY1JldmFs
aWRhdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3RvcmFnZS5o
IgpAQCAtMTUyLDM1ICsxNTMsNDYgQEAgc3RhdGljIGJvb2wgY2FjaGVQb2xpY3lBbGxvd3NFeHBp
cmVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IHBvbGljeSkKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhwaXJlZChjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgV2FsbFRpbWUgdGltZXN0YW1wLCBPcHRp
b25hbDxTZWNvbmRzPiBtYXhTdGFsZSkKK3N0YXRpYyBVc2VEZWNpc2lvbiByZXNwb25zZU5lZWRz
UmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBX
YWxsVGltZSB0aW1lc3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxlKQogewogICAgIGlm
IChyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkKLSAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAKICAgICBhdXRv
IGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdlKHJlc3BvbnNlLCB0aW1lc3RhbXApOwog
ICAgIGF1dG8gbGlmZXRpbWUgPSBXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JI
VFRQRmFtaWx5KHJlc3BvbnNlLCB0aW1lc3RhbXApOwogCiAgICAgYXV0byBtYXhpbXVtU3RhbGVu
ZXNzID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMF9tczsKICAgICBib29sIGhhc0V4
cGlyZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1heGltdW1TdGFsZW5lc3M7CisjaWYgRU5BQkxFKEhU
VFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKKyAgICBpZiAoaGFzRXhwaXJlZCAmJiAh
bWF4U3RhbGUpIHsKKyAgICAgICAgYXV0byByZXNwb25zZU1heFN0YWxlbmVzcyA9IHJlc3BvbnNl
LmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAgICAgIG1heGltdW1TdGFs
ZW5lc3MgKz0gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPyByZXNwb25zZU1heFN0YWxlbmVzcy52YWx1
ZSgpIDogMF9tczsKKyAgICAgICAgYm9vbCBpblJlc3BvbnNlU3RhbGVuZXNzID0gYWdlIC0gbGlm
ZXRpbWUgPCBtYXhpbXVtU3RhbGVuZXNzOworICAgICAgICBpZiAoaW5SZXNwb25zZVN0YWxlbmVz
cykKKyAgICAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRlOworICAg
IH0KKyNlbmRpZgogCisgICAgaWYgKGhhc0V4cGlyZWQpIHsKICNpZm5kZWYgTE9HX0RJU0FCTEVE
Ci0gICAgaWYgKGhhc0V4cGlyZWQpCi0gICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29y
a1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4cGlyZWQgYWdlPSVmIGxpZmV0aW1lPSVm
IG1heC1zdGFsZT0lZyIsIGFnZSwgbGlmZXRpbWUsIG1heFN0YWxlKTsKKyAgICAgICAgTE9HKE5l
dHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgbmVlZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJl
ZCBhZ2U9JWYgbGlmZXRpbWU9JWYgbWF4LXN0YWxlbmVzcz0lZiIsIGFnZSwgbGlmZXRpbWUsIG1h
eGltdW1TdGFsZW5lc3MpOwogI2VuZGlmCisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFs
aWRhdGU7CisgICAgfQogCi0gICAgcmV0dXJuIGhhc0V4cGlyZWQ7CisgICAgcmV0dXJuIFVzZURl
Y2lzaW9uOjpVc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUgdGltZXN0YW1wKQorc3RhdGljIFVz
ZURlY2lzaW9uIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgV2FsbFRpbWUgdGltZXN0YW1wKQogewogICAgIGF1dG8gcmVxdWVzdERpcmVjdGl2ZXMg
PSBXZWJDb3JlOjpwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMocmVxdWVzdC5odHRwSGVhZGVy
RmllbGRzKCkpOwogICAgIGlmIChyZXF1ZXN0RGlyZWN0aXZlcy5ub0NhY2hlKQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpWYWxpZGF0ZTsKICAgICAv
LyBGb3IgcmVxdWVzdHMgd2UgaWdub3JlIG1heC1hZ2UgdmFsdWVzIG90aGVyIHRoYW4gemVyby4K
ICAgICBpZiAocmVxdWVzdERpcmVjdGl2ZXMubWF4QWdlICYmIHJlcXVlc3REaXJlY3RpdmVzLm1h
eEFnZS52YWx1ZSgpID09IDBfbXMpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1
cm4gVXNlRGVjaXNpb246OlZhbGlkYXRlOwogCi0gICAgcmV0dXJuIHJlc3BvbnNlSGFzRXhwaXJl
ZChyZXNwb25zZSwgdGltZXN0YW1wLCByZXF1ZXN0RGlyZWN0aXZlcy5tYXhTdGFsZSk7CisgICAg
cmV0dXJuIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24ocmVzcG9uc2UsIHRpbWVzdGFtcCwgcmVx
dWVzdERpcmVjdGl2ZXMubWF4U3RhbGUpOwogfQogCiBzdGF0aWMgVXNlRGVjaXNpb24gbWFrZVVz
ZURlY2lzaW9uKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgUEFMOjpTZXNz
aW9uSUQmIHNlc3Npb25JRCwgY29uc3QgRW50cnkmIGVudHJ5LCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QpCkBAIC0xOTcsOCArMjA5LDkgQEAgc3RhdGljIFVzZURlY2lz
aW9uIG1ha2VVc2VEZWNpc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0
IFBBTDo6U2UKICAgICBpZiAoY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVkKHJlcXVlc3QuY2FjaGVQ
b2xpY3koKSkpCiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogCi0gICAgaWYgKCFy
ZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGVudHJ5LnJlc3BvbnNlKCksIHJlcXVlc3QsIGVudHJ5
LnRpbWVTdGFtcCgpKSkKLSAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CisgICAgYXV0
byBkZWNpc2lvbiA9IHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oZW50cnkucmVzcG9uc2UoKSwg
cmVxdWVzdCwgZW50cnkudGltZVN0YW1wKCkpOworICAgIGlmIChkZWNpc2lvbiAhPSBVc2VEZWNp
c2lvbjo6VmFsaWRhdGUpCisgICAgICAgIHJldHVybiBkZWNpc2lvbjsKIAogICAgIGlmICghZW50
cnkucmVzcG9uc2UoKS5oYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpKQogICAgICAgICByZXR1cm4g
VXNlRGVjaXNpb246Ok5vRHVlVG9NaXNzaW5nVmFsaWRhdG9yRmllbGRzOwpAQCAtMjUxLDggKzI2
NCwxMiBAQCBzdGF0aWMgU3RvcmVEZWNpc2lvbiBtYWtlU3RvcmVEZWNpc2lvbihjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUgogICAgIGJvb2wgc3RvcmVVbmNvbmRpdGlv
bmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbiA9IGlzTWFpblJlc291cmNlIHx8IG9yaWdpbmFsUmVx
dWVzdC5wcmlvcml0eSgpID09IFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpWZXJ5SGln
aDsKICAgICBpZiAoIXN0b3JlVW5jb25kaXRpb25hbGx5Rm9ySGlzdG9yeU5hdmlnYXRpb24pIHsK
ICAgICAgICAgYXV0byBub3cgPSBXYWxsVGltZTo6bm93KCk7Ci0gICAgICAgIGJvb2wgaGFzTm9u
WmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpICYm
IFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkocmVzcG9uc2Us
IG5vdykgPiAwX21zOwotCisgICAgICAgIFNlY29uZHMgYWxsb3dlZFN0YWxlOworI2lmIEVOQUJM
RShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCisgICAgICAgIGlmIChhdXRvIHZh
bHVlID0gcmVzcG9uc2UuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKSkKKyAgICAg
ICAgICAgIGFsbG93ZWRTdGFsZSA9IHZhbHVlLnZhbHVlKCk7CisjZW5kaWYKKyAgICAgICAgYm9v
bCBoYXNOb25aZXJvTGlmZXRpbWUgPSAhcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNOb0Nh
Y2hlKCkgJiYgKFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHko
cmVzcG9uc2UsIG5vdykgPiAwX21zIHx8IGFsbG93ZWRTdGFsZSA+IDBfbXMpOwogICAgICAgICBi
b29sIHBvc3NpYmx5UmV1c2FibGUgPSByZXNwb25zZS5oYXNDYWNoZVZhbGlkYXRvckZpZWxkcygp
IHx8IGhhc05vblplcm9MaWZldGltZTsKICAgICAgICAgaWYgKCFwb3NzaWJseVJldXNhYmxlKQog
ICAgICAgICAgICAgcmV0dXJuIFN0b3JlRGVjaXNpb246Ok5vRHVlVG9Vbmxpa2VseVRvUmV1c2U7
CkBAIC0yOTYsNiArMzEzLDI4IEBAIHN0YXRpYyBib29sIGlubGluZSBjYW5SZXF1ZXN0VXNlU3Bl
Y3VsYXRpdmVSZXZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSCiB9CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCitzdGF0aWMg
aW5saW5lIGJvb2wgY2FuVXNlUGVuZGluZ1JldmFsaWRhdGlvbihjb25zdCBTcGVjdWxhdGl2ZUxv
YWQmIGxvYWQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkK
K3sKKyAgICByZXR1cm4gcmVxdWVzdHNIZWFkZXJzTWF0Y2gobG9hZC5vcmlnaW5hbFJlcXVlc3Qo
KSwgYWN0dWFsUmVxdWVzdCk7Cit9CisKK3ZvaWQgQ2FjaGU6OnN0YXJ0QXN5bmNSZXZhbGlkYXRp
b25JZk5lZWRlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IE5ldHdvcmtDYWNoZTo6S2V5JiBrZXksIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gZW50cnksIGNv
bnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQpCit7CisgICAgYXV0byogcGVuZGluZ0FzeW5jUmV2
YWxpZGF0aW9uID0gbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLmdldChrZXkpOworICAgIGlm
IChwZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24gJiYgY2FuVXNlUGVuZGluZ1JldmFsaWRhdGlvbihw
ZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24tPmxvYWQoKSwgcmVxdWVzdCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGF1dG8gcmV2YWxpZGF0b3IgPSBtYWtlVW5pcXVlPEFzeW5jUmV2YWxpZGF0aW9u
PigqdGhpcywgZnJhbWVJRCwgcmVxdWVzdCwgV1RGTW92ZShlbnRyeSksIFt0aGlzLCBrZXldKGJv
b2wgZW5kaW5nKSB7CisgICAgICAgIGlmIChlbmRpbmcpIHsKKyAgICAgICAgICAgIG1fcGVuZGlu
Z0FzeW5jUmV2YWxpZGF0aW9ucy50YWtlKGtleSk7CisgICAgICAgICAgICBMT0coTmV0d29ya0Nh
Y2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBBc3luYyByZXZhbGlkYXRpb24gY29tcGxldGVkIGZvciAn
JXMnOiIsIGtleS5pZGVudGlmaWVyKCkudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIH0KKyAgICB9
KTsKKyAgICBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMuYWRkKGtleSwgV1RGTW92ZShyZXZh
bGlkYXRvcikpOworfQorI2VuZGlmCisKIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJ
RCwgUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAg
IEFTU0VSVChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSk7CkBAIC0zMzQs
MTIgKzM3MywxMSBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogICAgIH0KICNlbmRpZgogCi0g
ICAgbV9zdG9yYWdlLT5yZXRyaWV2ZShzdG9yYWdlS2V5LCBwcmlvcml0eSwgW3JlcXVlc3QsIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGluZm8gPSBXVEZN
b3ZlKGluZm8pLCBzdG9yYWdlS2V5LCBuZXR3b3JrUHJvY2VzcyA9IG1ha2VSZWYobmV0d29ya1By
b2Nlc3MoKSksIHNlc3Npb25JRCA9IG1fc2Vzc2lvbklEXShhdXRvIHJlY29yZCwgYXV0byB0aW1p
bmdzKSBtdXRhYmxlIHsKKyAgICBtX3N0b3JhZ2UtPnJldHJpZXZlKHN0b3JhZ2VLZXksIHByaW9y
aXR5LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCByZXF1ZXN0LCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBpbmZvID0gV1RGTW92
ZShpbmZvKSwgc3RvcmFnZUtleSwgbmV0d29ya1Byb2Nlc3MgPSBtYWtlUmVmKG5ldHdvcmtQcm9j
ZXNzKCkpLCBzZXNzaW9uSUQgPSBtX3Nlc3Npb25JRCwgZnJhbWVJRF0oYXV0byByZWNvcmQsIGF1
dG8gdGltaW5ncykgbXV0YWJsZSB7CiAgICAgICAgIGluZm8uc3RvcmFnZVRpbWluZ3MgPSB0aW1p
bmdzOwogCiAgICAgICAgIGlmICghcmVjb3JkKSB7CiAgICAgICAgICAgICBMT0coTmV0d29ya0Nh
Y2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBub3QgZm91bmQgaW4gc3RvcmFnZSIpOwotCiAgICAgICAg
ICAgICBjb21wbGV0ZVJldHJpZXZlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBudWxscHRy
LCBpbmZvKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQpAQCAtMzUwLDYg
KzM4OCwxMyBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogCiAgICAgICAgIGF1dG8gdXNlRGVj
aXNpb24gPSBlbnRyeSA/IG1ha2VVc2VEZWNpc2lvbihuZXR3b3JrUHJvY2Vzcywgc2Vzc2lvbklE
LCAqZW50cnksIHJlcXVlc3QpIDogVXNlRGVjaXNpb246Ok5vRHVlVG9EZWNvZGVGYWlsdXJlOwog
ICAgICAgICBzd2l0Y2ggKHVzZURlY2lzaW9uKSB7CisgICAgICAgIGNhc2UgVXNlRGVjaXNpb246
OkFzeW5jUmV2YWxpZGF0ZTogeworI2lmIEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEUpCisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5Q29weSA9
IG1ha2VVbmlxdWU8RW50cnk+KCplbnRyeSk7CisgICAgICAgICAgICBzdGFydEFzeW5jUmV2YWxp
ZGF0aW9uSWZOZWVkZWQocmVxdWVzdCwgc3RvcmFnZUtleSwgV1RGTW92ZShlbnRyeUNvcHkpLCBm
cmFtZUlEKTsKKyNlbmRpZgorICAgICAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgICAgIH0KICAg
ICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6VXNlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgVXNlRGVjaXNpb246OlZhbGlkYXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKaW5kZXggMGRlZTdmODhkZmY2MTYyY2MzZmQ3
ODUxYjgzODBmYzVhODNiZDVhZS4uODBlNzA0OWIwYWNkZDQ5MGQyZTI0NDRiOTBmMTFhMDIzMDgw
MWU1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZS5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIE5ldHdvcmtQcm9jZXNzOwogCiBuYW1l
c3BhY2UgTmV0d29ya0NhY2hlIHsKIAorY2xhc3MgQXN5bmNSZXZhbGlkYXRpb247CiBjbGFzcyBD
YWNoZTsKIGNsYXNzIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI7CiAKQEAgLTgyLDYgKzgzLDcgQEAg
ZW51bSBjbGFzcyBTdG9yZURlY2lzaW9uIHsKIGVudW0gY2xhc3MgVXNlRGVjaXNpb24gewogICAg
IFVzZSwKICAgICBWYWxpZGF0ZSwKKyAgICBBc3luY1JldmFsaWRhdGUsCiAgICAgTm9EdWVUb1Zh
cnlpbmdIZWFkZXJNaXNtYXRjaCwKICAgICBOb0R1ZVRvTWlzc2luZ1ZhbGlkYXRvckZpZWxkcywK
ICAgICBOb0R1ZVRvRGVjb2RlRmFpbHVyZSwKQEAgLTE2OSw2ICsxNzEsOCBAQCBwdWJsaWM6CiAg
ICAgU3BlY3VsYXRpdmVMb2FkTWFuYWdlciogc3BlY3VsYXRpdmVMb2FkTWFuYWdlcigpIHsgcmV0
dXJuIG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlci5nZXQoKTsgfQogI2VuZGlmCiAKKyAgICB2b2lk
IHN0YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBOZXR3b3JrQ2FjaGU6OktleSYsIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4s
IGNvbnN0IEdsb2JhbEZyYW1lSUQmKTsKKwogICAgIE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJv
Y2VzcygpIHsgcmV0dXJuIG1fbmV0d29ya1Byb2Nlc3MuZ2V0KCk7IH0KICAgICBjb25zdCBQQUw6
OlNlc3Npb25JRCYgc2Vzc2lvbklEKCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9uSUQ7IH0KICAg
ICBjb25zdCBTdHJpbmcmIHN0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3N0b3Jh
Z2VEaXJlY3Rvcnk7IH0KQEAgLTE5NSw2ICsxOTksOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5p
cXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyPiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXI7
CiAjZW5kaWYKIAorICAgIEhhc2hNYXA8S2V5LCBzdGQ6OnVuaXF1ZV9wdHI8QXN5bmNSZXZhbGlk
YXRpb24+PiBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnM7CisKICAgICB1bnNpZ25lZCBtX3Ry
YXZlcnNlQ291bnQgeyAwIH07CiAgICAgUEFMOjpTZXNzaW9uSUQgbV9zZXNzaW9uSUQ7CiAgICAg
U3RyaW5nIG1fc3RvcmFnZURpcmVjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
LmNwcAppbmRleCA2YzcyZmFiZTcyZTM1OTQ0OGE3YzFiMjkxY2Q5MGU5NTBlNWJiZTU0Li4wMWJj
ODdmZmVjNzk3ZjlkNzczYWQ1OGZkOWJiMzJjNDExZGU0MzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWQuY3BwCkBAIC0xNTUsNiArMTU1LDQzIEBAIHZvaWQgU3BlY3VsYXRpdmVM
b2FkOjpkaWRDb21wbGV0ZSgpCiAgICAgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKG1fY2Fj
aGVFbnRyeSkpOwogfQogCisjaWYgIUxPR19ESVNBQkxFRAorCitzdGF0aWMgdm9pZCBkdW1wSFRU
UEhlYWRlcnNEaWZmKGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnNBLCBjb25zdCBIVFRQSGVh
ZGVyTWFwJiBoZWFkZXJzQikKK3sKKyAgICBhdXRvIGFFbmQgPSBoZWFkZXJzQS5lbmQoKTsKKyAg
ICBmb3IgKGF1dG8gaXQgPSBoZWFkZXJzQS5iZWdpbigpOyBpdCAhPSBhRW5kOyArK2l0KSB7Cisg
ICAgICAgIFN0cmluZyB2YWx1ZUIgPSBoZWFkZXJzQi5nZXQoaXQtPmtleSk7CisgICAgICAgIGlm
ICh2YWx1ZUIuaXNOdWxsKCkpCisgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRp
dmVQcmVsb2FkaW5nLCAiKiAnJXMnIEhUVFAgaGVhZGVyIGlzIG9ubHkgaW4gZmlyc3QgcmVxdWVz
dCAodmFsdWU6ICVzKSIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5k
YXRhKCkpOworICAgICAgICBlbHNlIGlmIChpdC0+dmFsdWUgIT0gdmFsdWVCKQorICAgICAgICAg
ICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhl
YWRlciBkaWZmZXJzIGluIGJvdGggcmVxdWVzdHM6ICVzICE9ICVzIiwgaXQtPmtleS51dGY4KCku
ZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSwgdmFsdWVCLnV0ZjgoKS5kYXRhKCkpOwor
ICAgIH0KKyAgICBhdXRvIGJFbmQgPSBoZWFkZXJzQi5lbmQoKTsKKyAgICBmb3IgKGF1dG8gaXQg
PSBoZWFkZXJzQi5iZWdpbigpOyBpdCAhPSBiRW5kOyArK2l0KSB7CisgICAgICAgIGlmICghaGVh
ZGVyc0EuY29udGFpbnMoaXQtPmtleSkpCisgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlU3Bl
Y3VsYXRpdmVQcmVsb2FkaW5nLCAiKiAnJXMnIEhUVFAgaGVhZGVyIGlzIG9ubHkgaW4gc2Vjb25k
IHJlcXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51
dGY4KCkuZGF0YSgpKTsKKyAgICB9Cit9CisKKyNlbmRpZgorCitib29sIHJlcXVlc3RzSGVhZGVy
c01hdGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVz
dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KQoreworICAgIEFTU0VSVCgh
YWN0dWFsUmVxdWVzdC5pc0NvbmRpdGlvbmFsKCkpOworICAgIFJlc291cmNlUmVxdWVzdCBzcGVj
dWxhdGl2ZVJlcXVlc3QgPSBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1ZXN0OworICAgIHNwZWN1
bGF0aXZlUmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOworCisgICAgaWYgKHNwZWN1bGF0aXZl
UmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkgIT0gYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmll
bGRzKCkpIHsKKyAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywg
IkNhbm5vdCByZXVzZSBzcGVjdWxhdGl2ZWx5IHZhbGlkYXRlZCBlbnRyeSBiZWNhdXNlIEhUVFAg
aGVhZGVycyB1c2VkIGZvciB2YWxpZGF0aW9uIGRvIG5vdCBtYXRjaCIpOworI2lmICFMT0dfRElT
QUJMRUQKKyAgICAgICAgZHVtcEhUVFBIZWFkZXJzRGlmZihzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0
cEhlYWRlckZpZWxkcygpLCBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSk7CisjZW5k
aWYKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWQuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgKaW5kZXggNmNlNzdmOTllYTAwMzQ3M2M2OTgwN2Zm
ODU5MGIyMjFjMmUyZDQwYy4uOTU2MmQ5YzhlMGFjYTUzMDJiZTk5NDg4N2RiOGIyMmNlOWFlYzM4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCkBAIC03Nyw2ICs3Nyw4IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2RpZENvbXBsZXRlIHsgZmFsc2UgfTsKIH07CiAKK2Jvb2wgcmVx
dWVzdHNIZWFkZXJzTWF0Y2goY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBzcGVjdWxh
dGl2ZVZhbGlkYXRpb25SZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIGFj
dHVhbFJlcXVlc3QpOworCiB9IC8vIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2Vy
LmNwcAppbmRleCA2Nzk0MDM5YjdlMTkxN2E0YWFiYWQ0ZDJkNTA4ZjczOTUzNzg2NTY3Li45ODA2
ZjYyZWE3YmIwNWMwYzNlZDcyYWFmZGU3NDNkZDVlZGFiODMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKQEAgLTI1Niw0MyArMjU2LDYgQEAgU3Bl
Y3VsYXRpdmVMb2FkTWFuYWdlcjo6flNwZWN1bGF0aXZlTG9hZE1hbmFnZXIoKQogewogfQogCi0j
aWYgIUxPR19ESVNBQkxFRAotCi1zdGF0aWMgdm9pZCBkdW1wSFRUUEhlYWRlcnNEaWZmKGNvbnN0
IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnNBLCBjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQikK
LXsKLSAgICBhdXRvIGFFbmQgPSBoZWFkZXJzQS5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBo
ZWFkZXJzQS5iZWdpbigpOyBpdCAhPSBhRW5kOyArK2l0KSB7Ci0gICAgICAgIFN0cmluZyB2YWx1
ZUIgPSBoZWFkZXJzQi5nZXQoaXQtPmtleSk7Ci0gICAgICAgIGlmICh2YWx1ZUIuaXNOdWxsKCkp
Ci0gICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKiAn
JXMnIEhUVFAgaGVhZGVyIGlzIG9ubHkgaW4gZmlyc3QgcmVxdWVzdCAodmFsdWU6ICVzKSIsIGl0
LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICBl
bHNlIGlmIChpdC0+dmFsdWUgIT0gdmFsdWVCKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBkaWZmZXJzIGluIGJv
dGggcmVxdWVzdHM6ICVzICE9ICVzIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUu
dXRmOCgpLmRhdGEoKSwgdmFsdWVCLnV0ZjgoKS5kYXRhKCkpOwotICAgIH0KLSAgICBhdXRvIGJF
bmQgPSBoZWFkZXJzQi5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBoZWFkZXJzQi5iZWdpbigp
OyBpdCAhPSBiRW5kOyArK2l0KSB7Ci0gICAgICAgIGlmICghaGVhZGVyc0EuY29udGFpbnMoaXQt
PmtleSkpCi0gICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5n
LCAiKiAnJXMnIEhUVFAgaGVhZGVyIGlzIG9ubHkgaW4gc2Vjb25kIHJlcXVlc3QgKHZhbHVlOiAl
cykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKLSAg
ICB9Ci19Ci0KLSNlbmRpZgotCi1zdGF0aWMgYm9vbCByZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3QsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkKLXsKLSAgICBBU1NFUlQoIWFjdHVhbFJlcXVl
c3QuaXNDb25kaXRpb25hbCgpKTsKLSAgICBSZXNvdXJjZVJlcXVlc3Qgc3BlY3VsYXRpdmVSZXF1
ZXN0ID0gc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdDsKLSAgICBzcGVjdWxhdGl2ZVJlcXVl
c3QubWFrZVVuY29uZGl0aW9uYWwoKTsKLQotICAgIGlmIChzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0
cEhlYWRlckZpZWxkcygpICE9IGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKSB7Ci0g
ICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICJDYW5ub3QgcmV1
c2Ugc3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQgZW50cnkgYmVjYXVzZSBIVFRQIGhlYWRlcnMgdXNl
ZCBmb3IgdmFsaWRhdGlvbiBkbyBub3QgbWF0Y2giKTsKLSNpZiAhTE9HX0RJU0FCTEVECi0gICAg
ICAgIGR1bXBIVFRQSGVhZGVyc0RpZmYoc3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVs
ZHMoKSwgYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOwotI2VuZGlmCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIGJvb2wgU3BlY3Vs
YXRpdmVMb2FkTWFuYWdlcjo6Y2FuVXNlUHJlbG9hZGVkRW50cnkoY29uc3QgUHJlbG9hZGVkRW50
cnkmIGVudHJ5LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCiB7CiAgICAg
aWYgKCFlbnRyeS53YXNSZXZhbGlkYXRlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
b3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggOTM2YzBjZjU1YWQw
M2ZiYmIzYWRjODQzOTIwMTNhOTBlMzQ4YjVlZC4uMTY3Nzc0OWYwM2Q0NjNkMzdhMjU0NTZjNTY4
ZGI0YmM1MTEzZWY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC03Nyw2ICs3Nyw3IEBAIE5ldHdvcmtQcm9j
ZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0Nh
Y2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcAogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9y
YWdlRW5naW5lQ2FjaGVzLmNwcAogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5n
aW5lQ29ubmVjdGlvbi5jcHAKK05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9u
LmNwcAogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAogTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlQmxvYlN0b3JhZ2UuY3BwCiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MzhlYmVkNTg1M2ZkN2FkNDc0OTkzNTEzZTZhZmEw
MWIwODcwYjdiLi45NWI1NGJjMzkzZjFlNWRhNGVlNTU2ZmI1MTBkZjZkOTliNzZjZTA2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEz
ODYsNiArMTM4Niw3IEBACiAJCUE3OENDRERDMTkzQUM5RkIwMDVFQ0MyNSAvKiBjb20uYXBwbGUu
V2ViS2l0LldlYkNvbnRlbnQuc2IgaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3OENDREQ5MTkzQUM5RTMwMDVFQ0MyNSAvKiBjb20uYXBwbGUuV2ViS2l0
LldlYkNvbnRlbnQuc2IgKi87IH07CiAJCUE3RDc5MkQ4MTc2N0NDQTMwMDg4MUNCRSAvKiBBY3Rp
dml0eUFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTdENzkyRDQxNzY3Q0IwOTAwODgxQ0JFIC8qIEFjdGl2aXR5QXNzZXJ0aW9uLmggKi87
IH07CiAJCUFBQjE0NUU2MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVmZXRjaENhY2hlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUIxNDVFNDIyM0Y5MzEy
MDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5oICovOyB9OworCQlBQUZBNjM0RjIzNEY3QzY0MDBG
RkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEFBRkE2MzRFMjM0RjdDNjMwMEZGQTg2NCAvKiBBc3luY1JldmFs
aWRhdGlvbi5oICovOyB9OwogCQlCNjJFNzMxMjE0MzA0N0IwMDA2OUVDMzUgLyogV0tIaXRUZXN0
UmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
NjJFNzMxMTE0MzA0N0IwMDA2OUVDMzUgLyogV0tIaXRUZXN0UmVzdWx0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjg3OEI2MTUxMzM0MjhEQzAw
Njg4OEU5IC8qIENvcnJlY3Rpb25QYW5lbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjg3OEI2MTMxMzM0MjhEQzAwNjg4OEU5IC8qIENvcnJlY3Rpb25Q
YW5lbC5oICovOyB9OwogCQlCQzAxN0QwNzE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01Eb2N1bWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMTdD
RkYxNjI2MEZGNDAwNzA1NEY1IC8qIFdLRE9NRG9jdW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNDE0OCw2ICs0MTQ5LDggQEAKIAkJQTdF
OTNDRUIxOTI1MzFBQTAwQTFEQzQ4IC8qIEF1eGlsaWFyeVByb2Nlc3NJT1MubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBBdXhpbGlhcnlQcm9jZXNzSU9TLm1tOyBw
YXRoID0gaW9zL0F1eGlsaWFyeVByb2Nlc3NJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUFBQjE0NUU0MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVmZXRjaENhY2hlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByZWZldGNoQ2FjaGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUFCMTQ1RTUyMjNGOTMxMjAwRTQ4OUQ4IC8qIFByZWZldGNoQ2Fj
aGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJlZmV0Y2hDYWNo
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRkE2MzRFMjM0RjdDNjMwMEZG
QTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBc3luY1JldmFsaWRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
QUZBNjM1MDIzNEY3QzczMDBGRkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQXN5bmNSZXZhbGlkYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCMzk2RUE1NTEyRTBFRDJEMDBGNEZFQjcgLyogY29uZmlnLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvbmZpZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCNjJFNzMwRjE0MzA0N0E2MDA2OUVDMzUgLyogV0tIaXRUZXN0UmVzdWx0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLSGl0VGVzdFJlc3VsdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2MkU3MzExMTQzMDQ3QjAwMDY5RUMzNSAvKiBX
S0hpdFRlc3RSZXN1bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tIaXRU
ZXN0UmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MTc1LDYgKzkxNzgs
OCBAQAogCQlFNDg5RDI4MjFBMEEyQkU4MDA3OEMwNkEgLyogY2FjaGUgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUFBRkE2MzUwMjM0RjdDNzMwMEZGQTg2
NCAvKiBBc3luY1JldmFsaWRhdGlvbi5jcHAgKi8sCisJCQkJQUFGQTYzNEUyMzRGN0M2MzAwRkZB
ODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggKi8sCiAJCQkJNDE4OTdFRDYxRjQxNUQ4NjAwMTZG
QTQyIC8qIENhY2hlU3RvcmFnZUVuZ2luZS5jcHAgKi8sCiAJCQkJNDE4OTdFRDIxRjQxNUQ4NTAw
MTZGQTQyIC8qIENhY2hlU3RvcmFnZUVuZ2luZS5oICovLAogCQkJCTQxQzg1ODE5MUY1MTBERUUw
MDY1RTA4NSAvKiBDYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAgKi8sCkBAIC05NDE2LDYgKzk0
MjEsNyBAQAogCQkJCUExNzVDNDRBMjFBQTMxNzEwMDAwMzdEMCAvKiBBcmd1bWVudENvZGVyc0Nv
Y29hLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTFBMEJEMjFBNDhFNkM2MDA1NEVGNzQgLyogQXNz
ZXJ0aW9uU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNUU3NzI4MTgzREQ2RjYw
MDA3MjAzRiAvKiBBc3luY1JlcXVlc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBRkE2MzRGMjM0
RjdDNjQwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNFRTk2NkQxMTJGQUY1NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxQTMxNzMyMTM0Q0VBNkMwMDdDOUE0RiAvKiBBdHRyaWJ1dGVkU3RyaW5nLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTJGNTg5NzEyQTg4Mzg4MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25D
aGFsbGVuZ2VQcm94eS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CmluZGV4IGQ4MDhlZTAzZmEyNDc5MjA4NmRkOWM3ZWQ1YTRlMDZmNTljMDUyMzguLjdkYTM0ZTYz
Y2Q3MjRiMjA3NGY4ZWZiYzNmNGIzMTMxYTU3ZDUyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC0xOTAsNiArMTkwLDggQEAgRU5BQkxFX0dFT0xPQ0FUSU9OX2lwaG9uZXNpbXVs
YXRvciA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9HRU9MT0NBVElPTl9tYWNjYXRhbHlz
dCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9HRU9MT0NBVElPTl9tYWNvc3ggPSBFTkFC
TEVfR0VPTE9DQVRJT047CiAKK0VOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURB
VEUgPSBFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFOworCiBFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFOwogCiBFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTID0gRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUzsKQEAgLTQ0Myw0ICs0NDUsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
ID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFC
TEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xB
VEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9N
QU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFC
TEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJN
SVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9P
QlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NP
REVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9M
QVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9M
RUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJ
UFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1P
UllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJM
RV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
U0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChF
TkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tF
WUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9O
UykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BB
WSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRT
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlO
VElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURf
T00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9J
TlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NV
UFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZF
QVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hUVFBfQ0FDSEVfU1RB
TEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFC
TEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRS
SUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01B
TkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09M
Qk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJF
QU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElE
QVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElO
R19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VY
VEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09V
UkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZB
UklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5U
X0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVO
QUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
VE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0ZUVy5jbWFrZSBiL1NvdXJjZS9jbWFr
ZS9PcHRpb25zRlRXLmNtYWtlCmluZGV4IDZjZjM4OWE5ZGI1ODk3OWVlYWQ4MTYwZWYwNjQ0NDgx
ODBiYWE4OGQuLjU5NjcxY2NmYTZjODY2MjU4YzMwZGU3MmY5YTQ5NDE3N2ZlZGJjN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRlRXLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9P
cHRpb25zRlRXLmNtYWtlCkBAIC0xNTksNiArMTU5LDcgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04gUFJJVkFURSBPRkYpCiBXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OIFBSSVZB
VEUgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RPV05MT0FE
X0FUVFJJQlVURSBQUklWQVRFIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9FTkNSWVBURURfTUVESUEgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFIFBS
SVZBVEUgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOVEwg
UFJJVkFURSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCBQUklWQVRFIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9MRVRURVJQUkVTUyBQUklWQVRFIE9GRikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsu
Y21ha2UKaW5kZXggNWM4YmNjNzVjOWU1YTgyMGVhYjM5MDA3MjlmZDNmMWNlZGI1NDdjZS4uNGQ2
ZWU2MzczM2M5ZTFhNThjYzJlMjE3OWU4MDAzMTI4NTJjOWZhOCAxMDA2NDQKLS0tIGEvU291cmNl
L2NtYWtlL09wdGlvbnNHVEsuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21h
a2UKQEAgLTE1NCw2ICsxNTQsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0RPV05MT0FEX0FUVFJJQlVURSBQUklWQVRFIE9OKQogV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSBQUklWQVRF
ICR7RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFU30pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfRlRQRElSIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSBQ
UklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9NRURJQV9TVFJFQU0gUFJJVkFURSAke0VOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVN9KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01IVE1MIFBSSVZB
VEUgT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9T
b3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggZTMwMWFiZDZkZTg3ODkxMjUy
MzliZDFlYWM4NmQ5MjFjYzMxNmU3NC4uYmVlOTQ3OTRlNmIyY2E2NjU4Nzc3NTlkMjc5OTMzNGQ4
ZDQzOWU4YSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisr
KyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMTM3LDYgKzEzNyw3IEBA
IG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJICJUb2dnbGUgRnVsbHNjcmVlbiBBUEkgc3VwcG9ydCIgUFJJVkFU
RSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfR0FNRVBBRCAiVG9nZ2xlIEdh
bWVwYWQgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0dFT0xPQ0FUSU9OICJUb2dnbGUgR2VvbG9jYXRpb24gc3VwcG9ydCIgUFJJVkFURSBPTikK
KyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9S
RVZBTElEQVRFICJUb2dnbGUgSFRUUCBjYWNoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIHN1cHBv
cnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFICJUb2dnbGUgSW5kZXhlZCBEYXRhYmFzZSBzdXBwb3J0IiBQUklWQVRFIE9OKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMgIlRvZ2dsZSBzdXBwb3J0IGZvciBJbmRleGVkIERhdGFiYXNlIGluIHdvcmtlcnMiIFBSSVZB
VEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ig
IlRvZ2dsZSBJbnB1dCBUeXBlIENvbG9yIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDE1YjMxM2ZhZWVkZjMy
ZGRmYjJkYjI4MDA5MGEzMDlhOTc3OTc4NGMuLjliOGUyZGI1ZmZlZDk3M2Y3MWQ5NDgzM2Y3ZWJj
N2MzODg3YTIwZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBz
dHJhdGVneQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjAxNDYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSBidWlsZCBmbGFnLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0xMC0wOSAgUnVzc2VsbCBFcHN0ZWluICA8cmVwc3RlaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTA5MzAuCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCBkODA4ZWUwM2ZhMjQ3OTIwODZkZDljN2VkNWE0ZTA2ZjU5YzA1MjM4Li43ZGEz
NGU2M2NkNzI0YjIwNzRmOGVmYmMzZjRiMzEzMWE1N2Q1MjEyIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKQEAgLTE5MCw2ICsxOTAsOCBAQCBFTkFCTEVfR0VPTE9DQVRJT05faXBob25lc2ltdWxhdG9y
ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xPQ0FUSU9OX21hY2NhdGFseXN0ID0g
RU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xPQ0FUSU9OX21hY29zeCA9IEVOQUJMRV9H
RU9MT0NBVElPTjsKIAorRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSA9
IEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEU7CisKIEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFID0gRU5BQkxFX0lOREVYRURfREFUQUJBU0U7CiAKIEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
OwpAQCAtNDQzLDQgKzQ0NSw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9Y
U0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklG
RVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9E
QVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJ
T05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5T
UEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VS
VkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9B
VFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9V
VF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FD
WV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9T
QU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFC
TEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VW
RU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJ
WkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JF
U09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NF
UlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJW
SUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9B
UkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVU
SE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5H
X0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVS
QUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9S
VCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9X
SElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVU
RSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkg
JChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9T
VEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElP
TikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RP
VUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJD
RV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5T
SU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0Up
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVB
TUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxF
X1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VD
SF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxF
X1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAyYWE4YjNiMTM5YTY4OGE4Mzg4MTM3MGQzMTYzMDZkYjA5M2ViOWRmLi4xOGQ3YWRiNDcy
ODA5YzA1ZTJmNTRkZGQ2YzYxNDNlNzZjNGU4NzU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTktMTAtMTEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0
IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNraXAgbmV3bHkgaW1wb3J0ZWQgdGVzdHMg
Zm9yIFdLMS4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTktMTAt
MTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBET01DYWNoZVN0
b3JhZ2Ugc2hvdWxkIG5vdCBwcmV2ZW50IHBhZ2VzIGZyb20gZW50ZXJpbmcgdGhlIGJhY2svZm9y
d2FyZCBjYWNoZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMWFmYWFlNjU4ODc3
NTMwYTI1Mzk4Mzc3MDIxOWY5ZWY2NzAzOGZkYS4uYTcyYzVmOTIxN2ViMTA2MzI0NGE0YTQ2ZTJm
Y2I2ZWJmNmZhMDU3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzUgQEAKKzIwMTktMTAtMTEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAg
ICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9ydCBzdGFsZS13aGls
ZS1yZXZhbGlkYXRlIFdQVCB0ZXN0cy4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5o
dHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L2ZldGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHk6IEFkZGVkLgorICAg
ICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5OiBBZGRlZC4KKyAgICAgICAg
KG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAoaWRf
dG9rZW4pOgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3Jp
cHQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5j
LmJyb2FkY2FzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDE5LTEwLTA5ICBBbGlj
aWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbTVNFXVtHU3Ry
ZWFtZXJdIEZpeCB2aWRlbyBzb21ldGltZXMgbm90IGFwcGVhcmluZwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMu
anNvbgppbmRleCBhODIxZGViZGZjYmRhYTk0MTJkNzY0OTYxMDg0NjdmOGE4YTQ3ZjdjLi4wMWUy
YTEwYzk2MmU5MGMxNDU1OWFmZTE4MmViNWNlZDk3ZjAwZWE0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMu
anNvbgpAQCAtMTYxLDYgKzE2MSw3IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycyI6
ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3JhbmdlIjogImltcG9y
dCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Z1bGxzY3JlZW4iOiAic2tp
cCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZ2FtZXBhZCI6ICJza2lwIiwgCiAgICAgIndl
Yi1wbGF0Zm9ybS10ZXN0cy9nZW5lcmljLXNlbnNvciI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNo
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFjNzc3YWRmMjQ4YWEzN2FjMGM3
NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1l
IHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFjNzc3YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJl
c3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmY2Vi
YzI0YTYzZjQwZGU1NGE0YzM5OTFjOTA1MGViNzQ0ODZhMjkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAg
PHRpdGxlPlN0YWxlIFJldmFsaWRhdGlvbiBSZXF1ZXN0cyBkb24ndCBnZXQgc2VudCB0byBzZXJ2
aWNlIHdvcmtlcjwvdGl0bGU+CisgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKyAg
PHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0PgorCisgIC8vIER1cGxpY2F0aW5nIHRoaXMgcmVzb3VyY2UgdG8gbWFrZSBzZXJ2
aWNlIHdvcmtlciBzY29waW5nIHNpbXBsZXIuCisgIGFzeW5jIGZ1bmN0aW9uIHNldHVwUmVnaXN0
cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVkKHQsIHNjb3BlKSB7CisgICAgY29uc3QgY29udHJv
bGxlZCA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBuYXZpZ2F0b3Iuc2Vydmlj
ZVdvcmtlci5vbmNvbnRyb2xsZXJjaGFuZ2UgPSAoKSA9PiB7IHJlc29sdmUoKTsgfTsKKyAgICB9
KTsKKyAgICBjb25zdCByZWcgPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rl
cignc3ctaW50ZXJjZXB0LmpzJyk7CisgICAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmlu
c3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICBhd2FpdCBjb250cm9sbGVkOworICAgIGFkZF9j
b21wbGV0aW9uX2NhbGxiYWNrKF8gPT4gcmVnLnVucmVnaXN0ZXIoKSk7CisgICAgcmV0dXJuIHJl
ZzsKKyAgfQorCisgIC8vIFVzaW5nIDI1MG1zIHBvbGxpbmcgaW50ZXJ2YWwgdG8gcHJvdmlkZSBl
bm91Z2ggJ25ldHdvcmsgY2FsbW5lc3MnIHRvIGdpdmUKKyAgLy8gdGhlIGJhY2tncm91bmQgbG93
IHByaW9yaXR5IHJldmFsaWRhdGlvbiByZXF1ZXN0IGEgY2hhbmNlIHRvIGtpY2sgaW4uCisgIGZ1
bmN0aW9uIHdhaXQyNTBtcyh0ZXN0KSB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUg
PT4geworICAgICAgdGVzdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgICByZXNvbHZlKCk7
CisgICAgICB9LCAyNTApOworICAgIH0pOworICB9CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jICh0
ZXN0KSA9PiB7CisgICAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworICAgIGNvbnN0IHVy
aSA9ICdyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPScgKyByZXF1ZXN0X3Rva2VuOwor
CisgICAgYXdhaXQgc2V0dXBSZWdpc3RyYXRpb25BbmRXYWl0VG9CZUNvbnRyb2xsZWQodGVzdCwg
J3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHknKTsKKworICAgIHZhciBzZXJ2aWNlX3dvcmtlcl9j
b3VudCA9IDA7CisgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcign
bWVzc2FnZScsIGZ1bmN0aW9uIG9uY2UoZXZlbnQpIHsKKyAgICAgIGlmIChldmVudC5kYXRhLmVu
ZHNXaXRoKHVyaSkpIHsKKyAgICAgICAgc2VydmljZV93b3JrZXJfY291bnQrKzsKKyAgICAgIH0K
KyAgICB9KTsKKworICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJpKTsKKyAgICBj
b25zdCByZXNwb25zZTIgPSBhd2FpdCBmZXRjaCh1cmkpOworICAgIGFzc2VydF9lcXVhbHMocmVz
cG9uc2UuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpLCByZXNwb25zZTIuaGVhZGVycy5nZXQoJ1Vu
aXF1ZS1JZCcpKTsKKyAgICB3aGlsZSh0cnVlKSB7CisgICAgICBjb25zdCByZXZhbGlkYXRpb25f
Y2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT9xdWVyeSZ0b2tl
bj1gICsgcmVxdWVzdF90b2tlbik7CisgICAgICBpZiAocmV2YWxpZGF0aW9uX2NoZWNrLmhlYWRl
cnMuZ2V0KCdDb3VudCcpID09ICcyJykgeworICAgICAgICAvLyBUaGUgc2VydmljZSB3b3JrZXIg
c2hvdWxkIG5vdCBzZWUgdGhlIHJldmFsaWRhdGlvbiByZXF1ZXN0LgorICAgICAgICBhc3NlcnRf
ZXF1YWxzKHNlcnZpY2Vfd29ya2VyX2NvdW50LCAyKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9
CisgICAgICBhd2FpdCB3YWl0MjUwbXModGVzdCk7CisgICAgfQorICB9LCAnU2Vjb25kIGZldGNo
IHJldHVybnMgc2FtZSByZXNwb25zZScpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L2ZldGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzMzOTBjN2FkNTk0OGM2ODJiMmZiZGNiM2M5NWE0YzM3
NGRiYmEyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCkBA
IC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgaXMgbm90IGV4ZWN1dGVkIGZvciBm
ZXRjaCBBUEk8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK2Z1bmN0aW9uIHdhaXQyNW1zKHRlc3QpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJl
c29sdmUgPT4geworICAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIHJlc29sdmUo
KTsKKyAgICB9LCAyNSk7CisgIH0pOworfQorCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+
IHsKKyAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworCisgIGNvbnN0IHJlc3BvbnNlID0g
YXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49YCArIHJlcXVlc3Rf
dG9rZW4pOworICBjb25zdCByZXNwb25zZTIgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxl
LXNjcmlwdC5weT90b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisKKyAgYXNzZXJ0X2VxdWFscyhy
ZXNwb25zZS5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJyksIHJlc3BvbnNlMi5oZWFkZXJzLmdldCgn
VW5pcXVlLUlkJykpOworCisgIHdoaWxlKHRydWUpIHsKKyAgICBjb25zdCByZXZhbGlkYXRpb25f
Y2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT9xdWVyeSZ0b2tl
bj1gICsgcmVxdWVzdF90b2tlbik7CisgICAgaWYgKHJldmFsaWRhdGlvbl9jaGVjay5oZWFkZXJz
LmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgICBhd2FpdCB3
YWl0MjVtcyh0ZXN0KTsKKyAgfQorfSwgJ1NlY29uZCBmZXRjaCByZXR1cm5zIHNhbWUgcmVzcG9u
c2UnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9z
dGFsZS1jc3MucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hNmFlNTQ2ZDA2NTFmOTdmMzAyMDgyOTQ1MmRiNjIyNTQ4NmRjNDUxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkKQEAgLTAs
MCArMSwyOCBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorCisgICAgdG9rZW4gPSBy
ZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5H
RVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIu
c3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tl
bikKKyAgICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAgY291
bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBpc19xdWVyeToKKyAgICAgICAgaWYgY291bnQgPCAy
OgorICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAg
ICBlbHNlOgorICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAgICByZXF1ZXN0LnNlcnZl
ci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgaGVhZGVy
cyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIiCisgICAgICByZXR1cm4g
MjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIGNvbnRlbnQgPSAiYm9keSB7
IGJhY2tncm91bmQ6IHJnYigwLCAxMjgsIDApOyB9IgorICAgICAgaWYgY291bnQgPiAxOgorICAg
ICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAwLCAwKTsgfSIKKwor
ICAgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2NzcyIpLAorICAgICAgICAg
ICAgICAgKCJDYWNoZS1Db250cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZT02MCIpXQorCisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzllYjg0
YmIzNGJiZDE1ZTJjYTcwNjFlZTRmYTU3MjRkMmM2NGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQpAQCAtMCwwICsxLDM4IEBACitp
bXBvcnQgb3MucGF0aAorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisKKyAgICB0b2tl
biA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgaXNfcXVlcnkgPSByZXF1
ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAgd2l0aCByZXF1ZXN0LnNl
cnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtl
KHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAhPSBOb25lOgorICAgICAg
ICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgICBpZiBjb3Vu
dCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkK
KyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAgIHJlcXVlc3Qu
c2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisKKyAgICBpZiBpc19xdWVyeToKKyAgICAg
IGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRlbnQgPSAiIgorICAgICAg
cmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6CisgICAgICBmaWxlbmFtZSA9
ICJncmVlbi0xNngxNi5wbmciCisgICAgICBpZiBjb3VudCA+IDE6CisgICAgICAgIGZpbGVuYW1l
ID0gImdyZWVuLTI1NngyNTYucG5nIgorCisgICAgICBwYXRoID0gb3MucGF0aC5qb2luKG9zLnBh
dGguZGlybmFtZShfX2ZpbGVfXyksICIuLi8uLi8uLi9pbWFnZXMiLCBmaWxlbmFtZSkKKyAgICAg
IGJvZHkgPSBvcGVuKHBhdGgsICJyYiIpLnJlYWQoKQorCisgICAgICByZXNwb25zZS5hZGRfcmVx
dWlyZWRfaGVhZGVycyA9IEZhbHNlCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfc3RhdHVz
KDIwMCkKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIoImNvbnRlbnQtbGVuZ3Ro
IiwgbGVuKGJvZHkpKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiQ2FjaGUt
Q29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdlPTAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAi
KQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiY29udGVudC10eXBlIiwgImlt
YWdlL3BuZyIpCisgICAgICByZXNwb25zZS53cml0ZXIuZW5kX2hlYWRlcnMoKQorCisgICAgICBy
ZXNwb25zZS53cml0ZXIud3JpdGUoYm9keSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9y
ZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFs
ZS1zY3JpcHQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFkNTQ2NzFmNDIxMTczNWY1NmRmNTBhNTVkZWVhNmVk
MjgxZDVhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3Rh
bGUtc2NyaXB0LnB5CkBAIC0wLDAgKzEsMzIgQEAKK2ltcG9ydCByYW5kb20sIHN0cmluZywgZGF0
ZXRpbWUKKworZGVmIGlkX3Rva2VuKCk6CisgICBsZXR0ZXJzID0gc3RyaW5nLmFzY2lpX2xvd2Vy
Y2FzZQorICAgcmV0dXJuICcnLmpvaW4ocmFuZG9tLmNob2ljZShsZXR0ZXJzKSBmb3IgaSBpbiBy
YW5nZSgyMCkpCisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICB0b2tlbiA9IHJl
cXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgaXNfcXVlcnkgPSByZXF1ZXN0LkdF
VC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAgd2l0aCByZXF1ZXN0LnNlcnZlci5z
dGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2Vu
KQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAhPSBOb25lOgorICAgICAgICBjb3Vu
dCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgICBpZiBjb3VudCA8IDI6
CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICAg
IGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAgIHJlcXVlc3Quc2VydmVy
LnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisKKyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhlYWRl
cnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0dXJu
IDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6CisgICAgICB1bmlxdWVfaWQgPSBpZF90
b2tlbigpCisgICAgICBoZWFkZXJzID0gWygiQ29udGVudC1UeXBlIiwgInRleHQvamF2YXNjcmlw
dCIpLAorICAgICAgICAgICAgICAgICAoIkNhY2hlLUNvbnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFn
ZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwIiksCisgICAgICAgICAgICAgICAgICgiVW5p
cXVlLUlkIiwgdW5pcXVlX2lkKV0KKyAgICAgIGNvbnRlbnQgPSAicmVwb3J0KCd7fScpIi5mb3Jt
YXQodW5pcXVlX2lkKQorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzVhNzczMmE1NjZk
NGE2ZjU3M2NjOTdmZDNkMTQ1NDY1N2Q0NzY4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOSBAQAorVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9k
aWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9z
dGFsZS1zY3JpcHQucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFmMDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1jc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTYyNjBmZGI0NWMwYzJjNjBiNGQ3NmY2M2E3NjM4OWRm
ODE4YjExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1s
CkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIGNzczwvdGl0
bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CisKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdp
bmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkg
PT4geworICAgICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyksICJyZ2IoMCwgMTI4
LCAwKSIpOworICAgICAgdmFyIGxpbmsyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIp
OworICAgICAgbGluazIub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICBhc3Nl
cnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3Bl
cnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSwgInJnYigwLCAxMjgsIDApIik7CisgICAgICAg
IHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ug
d2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAg
ICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLWNzcy5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90
b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBj
b3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNv
dW50ID09ICcyJykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGlt
ZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBsaW5rMi5yZWwgPSAic3R5
bGVzaGVldCI7CisgICAgICBsaW5rMi50eXBlID0gInRleHQvY3NzIjsKKyAgICAgIGxpbmsyLmhy
ZWYgPSAicmVzb3VyY2VzL3N0YWxlLWNzcy5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluazIpOworICAgIH0sIDApOworICB9KTsK
K30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlJyk7CisKK3ZhciBsaW5rID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgibGluayIpOworbGluay5yZWwgPSAic3R5bGVzaGVldCI7CitsaW5r
LnR5cGUgPSAidGV4dC9jc3MiOworbGluay5ocmVmID0gInJlc291cmNlcy9zdGFsZS1jc3MucHk/
dG9rZW49IiArIHJlcXVlc3RfdG9rZW47Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmsp
OworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUt
aW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZTQyMDE0ZGVmZDcxOTEwOTZjMzNjY2U1ODMwZWY3Y2FhMWE1N2E2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDQgQEAKKyAKKworUEFTUyBDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291
cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhMDhmODE3MjlkZTQ5
OTg1YzY1NzVlMWE3YTVmY2I3N2QzYTBlZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtaW1hZ2UuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlk
YXRlIHdvcmtzIGZvciBpbWFnZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwv
c2NyaXB0PgorPGJvZHk+Cis8IS0tCitVc2UgYSBjaGlsZCBkb2N1bWVudCB0byBsb2FkIHRoZSBz
ZWNvbmQgc3RhbGUgaW1hZ2UgaW50byBiZWNhdXNlCithbiBpbWFnZSBsb2FkZWQgaW50byB0aGUg
c2FtZSBkb2N1bWVudCB3aWxsIHNraXAgY2FjaGUtY29udHJvbCBoZWFkZXJzLgorU2VlOiBodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbGlzdC1vZi1hdmFpbGFibGUtaW1hZ2VzCist
LT4KKzxpZnJhbWUgaWQ9ImNoaWxkIiBzcmNkb2M9IiI+PC9pZnJhbWU+Cis8c2NyaXB0PgorCit2
YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7Cithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cu
b25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsK
KyAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpcnN0aW1hZ2Ui
KS53aWR0aCwgMTYsICJXaWR0aCBpcyAxNiIpOworICAgICAgdmFyIGNoaWxkRG9jdW1lbnQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hpbGQnKS5jb250ZW50RG9jdW1lbnQ7CisgICAgICB2
YXIgaW1nMiA9IGNoaWxkRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CisgICAgICBpbWcy
Lm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhpbWcy
LndpZHRoLCAxNiwgImltYWdlIGRpbWVuc2lvbiIpOworICAgICAgICB2YXIgY2hlY2tSZXN1bHQg
PSAoKSA9PiB7CisgICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hl
biB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAgZmV0Y2goInJlc291cmNl
cy9zdGFsZS1pbWFnZS5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90b2tlbikudGhlbih0LnN0
ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNl
LmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNvdW50ID09ICcyJykgewor
ICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3Vs
dCwgMjUpOworICAgICAgfSk7CisgICAgICBpbWcyLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtaW1h
Z2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBjaGlsZERvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoaW1nMik7CisgICAgfSwgMCk7CisgIH0pOworfSwgJ0NhY2hlIHJldHVybnMg
c3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlt
ZyIpOworaW1nLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk/dG9rZW49IiArIHJlcXVl
c3RfdG9rZW47CitpbWcuaWQgPSAiZmlyc3RpbWFnZSI7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlw
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFmMDc5ZWQ2
ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3Jp
cHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVybnMgc3Rh
bGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODc5
M2U1MDA1NmJjNjA1M2VhNDEwZDY1OGFlZDM3M2QxOWY5YTQxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9D
VFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdo
aWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIHNjcmlwdHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24v
dXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgordmFyIGxhc3RfbW9kaWZpZWQ7
Cit2YXIgbGFzdF9tb2RpZmllZF9jb3VudCA9IDA7Cit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2Vu
KCk7CisKKy8vIFRoZSBzY3JpcHQgd2lsbCBjYWxsIHJlcG9ydCB2aWEgYSB1bmlxdWVseSBnZW5l
cmF0ZWQgSUQgb24gdGhlIHN1YnJlc291cmNlLgorLy8gSWYgaXQgaXMgYSBjYWNoZSBoaXQgdGhl
IElEIHdpbGwgYmUgdGhlIHNhbWUgYW5kIHRoZSB0ZXN0IHdpbGwgcGFzcy4KK2Z1bmN0aW9uIHJl
cG9ydChtb2QpIHsKKyAgaWYgKCFsYXN0X21vZGlmaWVkKSB7CisgICAgbGFzdF9tb2RpZmllZCA9
IG1vZDsKKyAgICBsYXN0X21vZGlmaWVkX2NvdW50ID0gMTsKKyAgfSBlbHNlIGlmIChsYXN0X21v
ZGlmaWVkID09IG1vZCkgeworICAgIGxhc3RfbW9kaWZpZWRfY291bnQrKzsKKyAgfQorfQorCith
c3luY190ZXN0KHQgPT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4gewor
ICAgIHN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgICBzY3JpcHQuc3JjID0gInJlc291cmNlcy9zdGFs
ZS1zY3JpcHQucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHNjcmlwdCk7CisgICAgICBzY3JpcHQub25sb2FkID0gdC5zdGVwX2Z1bmMo
KCkgPT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMobGFzdF9tb2RpZmllZF9jb3VudCwgMiwg
Imxhc3QgbW9kaWZpZWQiKTsKKyAgICAgICAgICB2YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7Cisg
ICAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZh
bGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICAgIGZldGNoKCJyZXNvdXJjZXMvc3RhbGUt
c2NyaXB0LnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0X3Rva2VuKS50aGVuKHQuc3RlcF9mdW5j
KChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICB2YXIgY291bnQgPSByZXNwb25zZS5oZWFk
ZXJzLmdldCgiQ291bnQiKTsKKyAgICAgICAgICAgICAgaWYgKGNvdW50ID09ICcyJykgeworICAg
ICAgICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSkpOworICAgICAgICAgIH07CisgICAgICAgICAgdC5zdGVwX3RpbWVv
dXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgIH0pOworICAgIH0sIDApOworICB9KTsKK30sICdD
YWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlJyk7CisKK3ZhciBzY3JpcHQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3NjcmlwdC5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLXNj
cmlwdC5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoc2NyaXB0KTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N3LWludGVyY2VwdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZGNhN2RlNTFiMGI4YzU1MTgyNzZlNzBhZTIxOWI3YmM4Zjg2OWE5NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQuanMKQEAgLTAsMCArMSwx
NCBAQAorYXN5bmMgZnVuY3Rpb24gYnJvYWRjYXN0KG1zZykgeworICBmb3IgKGNvbnN0IGNsaWVu
dCBvZiBhd2FpdCBjbGllbnRzLm1hdGNoQWxsKCkpIHsKKyAgICBjbGllbnQucG9zdE1lc3NhZ2Uo
bXNnKTsKKyAgfQorfQorCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgZXZlbnQgPT4g
eworICBldmVudC53YWl0VW50aWwoYnJvYWRjYXN0KGV2ZW50LnJlcXVlc3QudXJsKSk7CisgIGV2
ZW50LnJlc3BvbmRXaXRoKGZldGNoKGV2ZW50LnJlcXVlc3QpKTsKK30pOworCitzZWxmLmFkZEV2
ZW50TGlzdGVuZXIoJ2FjdGl2YXRlJywgZXZlbnQgPT4geworICBzZWxmLmNsaWVudHMuY2xhaW0o
KTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiOWRkMDZmODQ2YTcwNjhm
ZWEyYjgyODc4MWFkNzVjYzE5OGU3YTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMiBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBs
YXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNj
LXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0
aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFn
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N3LWludGVyY2VwdC5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDhhNTZmODc0NGE3NTc2MWExMTZmOGVkNWY4NjU3ODg0Mzk0NmJk
NjguLjc0N2QyMWE0ZDAzYWE1MjQ0ZGFiYTRjZmIwOTAxNjJmN2VkOTAwNTYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIwMDUsNCArMjAw
NSw3IEBAIGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLWh0bWwtMmQuaHRtbAogd2Via2l0Lm9y
Zy9iLzE1OTcyNCBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
c2VuZC1yZWRpcmVjdC1wb3N0LXVwbG9hZC5odG0gWyBTa2lwIF0KIAogIyBTa2lwIElzTG9nZ2Vk
SW4KLWh0dHAvdGVzdHMvaXMtbG9nZ2VkLWluLyBbIFNraXAgXQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKK2h0dHAvdGVzdHMvaXMtbG9nZ2VkLWluLyBbIFNraXAgXQorCisjIFN0YWxlLXdo
aWxlLXJldmFsaWRhdGUgaXMgbm90IHN1cHBvcnRlZCBvbiBXSzEKK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBbIFNraXAgXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGJhMWFh
NDA5ZjlmY2M5ZmNlZDI5OTE1ZDhmMTM1YmExODEwZTBhMTguLjRjYjVhZDIwYWQzYzAzMzFkOTAw
ZDY4OTU5NDk1NGNhZjg3ZDNiNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTgwMSwzICs4MDEsNiBAQCB3ZWJraXQub3JnL2IvMjAwMDAy
IFsgTW9qYXZlKyBEZWJ1ZyBdIGltcG9ydGVkL2JsaW5rL3N0b3JhZ2UvaW5kZXhlZGRiL2Jsb2It
YmFzaQogCiAjIFNraXAgSXNMb2dnZWRJbgogaHR0cC90ZXN0cy9pcy1sb2dnZWQtaW4vIFsgU2tp
cCBdCisKKyMgU3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBpcyBub3Qgc3VwcG9ydGVkIG9uIFdLMQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNDhm
MzgzNzg0OWNlNzNjZTdhMjBmOTliNzE4MDk3ZDBjMDhlOGNiYS4uMmYxZWNkMWM3OGJiMGE1Nzk0
ZWM3MGRiNjllMjlhZTQzYTdjYzE3OCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTEwLTExICBSb2IgQnVpcyAgPHJidWlzQGlnYWxp
YS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0
cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFIGJ1aWxkIGZsYWcuCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0ZUVy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21h
a2UvT3B0aW9uc0dUSy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2U6CisKIDIwMTktMTAtMDggIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpA
aWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUgT3B0aW9uc1dQRS5jbWFr
ZSBhbmQgTkVXUyBmb3IgdGhlIDIuMjcuMSByZWxlYXNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380745</attachid>
            <date>2019-10-11 05:03:09 -0700</date>
            <delta_ts>2019-10-24 07:30:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191011140306.patch</filename>
            <type>text/plain</type>
            <size>113576</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwOTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
OWUyNDM2NjY3ODNiODdhZWMwNDBkZGIyMjI3MzVhNjVhZmRjMzZlLi5iMmE4Mjg5NzFlOTE4ODJk
MmNiNTRhYTg2NzgyZTRmMGYxZjU3MDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEhUVFBfQ0FD
SEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSBidWlsZCBmbGFnLgorCisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMTAtMDkgIFNhYW0gQmFy
YXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVHJ5IHRvIGZp
eCBidWlsZCBmb3IgV2luZG93cyBDX0xPT1AKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYThlOGIzN2ZhNWJiMzli
OGExMmFlYWM3OTNjYWU4ZjM3NmQ3YTUyLi42NjA3N2QzODU0ZDRlMGM0MTczOWQ2YjM5NjZmYzgw
MTlhYThlMjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMTAtMTEgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJl
dmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFN0YXJ0IHBhcnNpbmcgdGhlIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUg
Q2FjaGUtQ29udHJvbCBkaXJlY3RpdmUKKyAgICAgICAgYW5kIGV4cG9zZSBpdCBvbiBSZXNvdXJj
ZVJlc3BvbnNlLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3Mu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbAorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlk
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVz
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZh
bGlkYXRlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmg6CisKIDIwMTktMTAtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBET01DYWNoZVN0b3JhZ2Ugc2hvdWxkIG5vdCBwcmV2ZW50IHBhZ2VzIGZyb20g
ZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYmI2
ZjUxNjBkYzRjNGI3YmViYzljNWY3MmRhMDhiM2Y0ODI5OWRhMC4uMGNhMDFmNjE5Y2Y4OGMxMTI1
NjM2Mzc4MTNmNTlmNTUwNDU3MTYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTktMTAtMTEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBT
dXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBIVFRQX0NBQ0hFX1NUQUxF
X1dISUxFX1JFVkFMSURBVEUgYnVpbGQgZmxhZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTEwLTA3ICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZhaWx1cmUgaW4gV2ViSFRNTFZp
ZXcubW0gd2l0aCB0aGUgcHVibGljIFNESyAoWGNvZGUgMTEgYW5kIE1vamF2ZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZTg1OTJjZTllZmNlN2ZhYzYyYWE1ZTBmZjBhYzY3OTAwMTM5NmNlYi4uNzM5OTUwNDhlODY0
MmQ1ZTdmZmM5ODJmYmUxNjQwZjQyM2UwYTgwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAor
MjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBv
cnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IFVzZURlY2lzaW9uIHZh
bHVlIEFzeW5jUmV2YWxpZGF0ZSBmb3IgYXN5bmMgcmV2YWxpZGF0aW9uLiBUaGlzIGlzIHVzZWQK
KyAgICAgICAgd2hlbiB0aGUgcmV0cmlldmVkIGNhY2hlIGVudHJ5IGlzIGEgc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZSByZXNwb25zZSBbMV0uCisgICAgICAgIEluIGNhc2Ugb2YgQXN5bmNSZXZhbGlk
YXRlLCBhIGNoZWNrIGlzIG1hZGUgdG8gc2VlIGlmIHRoZXJlIGlzIGEKKyAgICAgICAgY3VycmVu
dCBhc3luYyByZXZhbGlkYXRpb24gb25nb2luZyBmb3IgdGhlIGVudHJ5LCBpZiBub3Qgb25lIGlz
CisgICAgICAgIHN0YXJ0ZWQuIFJlZ2FyZGxlc3MsIHRoZSBzdGFsZSBlbnRyeSBpcyByZXR1cm5l
ZCwgdW50aWwgZWl0aGVyIHRoZQorICAgICAgICBhc3luYyByZXZhbGlkYXRpb24gZW5kcyBzdWNj
ZXNzZnVsbHkgb3IgYXQgdGhlIG1vbWVudCB3aGVuIHRoZQorICAgICAgICByZXNwb25zZSBleHBp
cmVzIGZvciByZWFsLgorCisgICAgICAgIFsxXSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9y
Zy8jY29uY2VwdC1zdGFsZS13aGlsZS1yZXZhbGlkYXRlLXJlc3BvbnNlCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ2FjaGU6OmNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3QpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9uOjpBc3luY1JldmFsaWRh
dGlvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24u
aDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRp
b246OmxvYWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2
YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZyk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a0NhY2hlOjpyZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjptYWtlVXNlRGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6Om1ha2VTdG9yZURlY2lzaW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpj
YW5Vc2VQZW5kaW5nUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpDYWNoZTo6c3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpDYWNoZTo6cmV0cmlldmUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrQ2FjaGU6OnJlc3BvbnNlSGFzRXhwaXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0NhY2hlOjpkdW1wSFRUUEhlYWRlcnNEaWZmKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpyZXF1ZXN0c0hlYWRlcnNNYXRjaCk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6ZHVtcEhUVFBIZWFkZXJzRGlmZik6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVxdWVzdHNIZWFkZXJzTWF0Y2gp
OiBEZWxldGVkLgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTEwLTEwICB5b3Vlbm4gZmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBBbGxvdyBTWVNfX19wdGhyZWFkX21hcmtj
YW5jZWwgY2FsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDRiYTcxZmI4MDE3Njkx
NDhlODczNGI5ZmEwNDQ1NGNmNmI4MTc2NDUuLjliMDk0ZmQ2NjRjYzBiNjg4MjUzZDJhMDZjZjYx
ODMwNmYyNDhkZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1
cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEhUVFBfQ0FDSEVfU1RBTEVf
V0hJTEVfUkVWQUxJREFURSBidWlsZCBmbGFnLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMTAtMDkgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NsaXBib2FyZCBBUEldIFJlZmFjdG9y
IFBhc3RlYm9hcmQgaXRlbSByZWFkaW5nIGZ1bmN0aW9ucyB0byB3b3JrIG9uIGJvdGggaU9TIGFu
ZCBtYWNPUwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGQ4MDhlZTAzZmEyNDc5MjA4NmRk
OWM3ZWQ1YTRlMDZmNTljMDUyMzguLjdkYTM0ZTYzY2Q3MjRiMjA3NGY4ZWZiYzNmNGIzMTMxYTU3
ZDUyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5MCw2ICsxOTAsOCBAQCBFTkFC
TEVfR0VPTE9DQVRJT05faXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5B
QkxFX0dFT0xPQ0FUSU9OX21hY2NhdGFseXN0ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxF
X0dFT0xPQ0FUSU9OX21hY29zeCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIAorRU5BQkxFX0hUVFBf
Q0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSA9IEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dI
SUxFX1JFVkFMSURBVEU7CisKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gRU5BQkxFX0lOREVY
RURfREFUQUJBU0U7CiAKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgPSBFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTOwpAQCAtNDQzLDQgKzQ0NSw0IEBAIEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5H
X0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVS
QUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9S
VCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
UykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJE
X0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BS
T1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19W
SURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElW
RV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9X
X1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChF
TkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9T
QU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVB
QkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNF
U19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9X
RUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
R0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFU
RURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
MykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01B
TklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1J
U1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxU
RVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5B
QkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkg
JChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JL
X0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVF
U1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZF
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNP
Tk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VS
KSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVT
U0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1C
TFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZF
Ul9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFD
VElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFC
TEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZDgwOGVlMDNmYTI0Nzky
MDg2ZGQ5YzdlZDVhNGUwNmY1OWMwNTIzOC4uN2RhMzRlNjNjZDcyNGIyMDc0ZjhlZmJjM2Y0YjMx
MzFhNTdkNTIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5MCw2ICsxOTAsOCBAQCBFTkFCTEVfR0VPTE9D
QVRJT05faXBob25lc2ltdWxhdG9yID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xP
Q0FUSU9OX21hY2NhdGFseXN0ID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0dFT0xPQ0FU
SU9OX21hY29zeCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIAorRU5BQkxFX0hUVFBfQ0FDSEVfU1RB
TEVfV0hJTEVfUkVWQUxJREFURSA9IEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFM
SURBVEU7CisKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gRU5BQkxFX0lOREVYRURfREFUQUJB
U0U7CiAKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgPSBFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTOwpAQCAtNDQzLDQgKzQ0NSw0IEBAIEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5B
QkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5B
QkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFC
TEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRS
SUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01B
TkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09M
Qk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJF
QU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElE
QVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElO
R19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VY
VEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09V
UkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZB
UklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5U
X0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVO
QUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJf
VE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9EQVJLX01P
REVfQ1NTKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJ
U1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVf
S0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9D
VVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRXT1JLX0NBQ0hFX1NQ
RUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BSRUNPTk5FQ1QpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJM
RV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5E
TEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5B
QkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRSSVZFUl9NT1VTRV9J
TlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRFUkFDVElPTlMpICQo
RU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX0NS
WVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBkODA4ZWUwM2ZhMjQ3OTIw
ODZkZDljN2VkNWE0ZTA2ZjU5YzA1MjM4Li43ZGEzNGU2M2NkNzI0YjIwNzRmOGVmYmMzZjRiMzEz
MWE1N2Q1MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xOTAsNiArMTkwLDggQEAgRU5BQkxF
X0dFT0xPQ0FUSU9OX2lwaG9uZXNpbXVsYXRvciA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJM
RV9HRU9MT0NBVElPTl9tYWNjYXRhbHlzdCA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9H
RU9MT0NBVElPTl9tYWNvc3ggPSBFTkFCTEVfR0VPTE9DQVRJT047CiAKK0VOQUJMRV9IVFRQX0NB
Q0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUgPSBFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElM
RV9SRVZBTElEQVRFOworCiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFOwogCiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTID0gRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUzsKQEAgLTQ0Myw0ICs0NDUsNCBAQCBFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9L
RVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9U
T0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklE
RU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVf
UkVWQUxJREFUSU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19T
Q1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FO
REJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJM
RV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVO
QUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNf
RUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNT
RU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9O
UykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VC
RFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVO
QUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVE
X1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
REFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNT
SU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVS
TkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJM
RV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19D
QUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIp
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURf
U1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lPTlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05O
RUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikg
JChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZ
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJf
TU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJ
T05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RB
VElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxF
X1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKaW5kZXggNDk1OTA1MDY3OWNlMDUwNDg0MjQ0
N2ViMWY1YTBiZjhhNjc2ODNjZS4uMmQzNTA3ZGYyMzdkYjI5NWQ1OTMxYTRjMGRmNzYwMjc3N2Rl
N2I4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZh
bGlkYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVW
YWxpZGF0aW9uLmNwcApAQCAtMzEzLDggKzMxMywxOCBAQCBDYWNoZUNvbnRyb2xEaXJlY3RpdmVz
IHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcyhjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJz
KQogICAgICAgICAgICAgICAgIGRvdWJsZSBtYXhTdGFsZSA9IGRpcmVjdGl2ZXNbaV0uc2Vjb25k
LnRvRG91YmxlKCZvayk7CiAgICAgICAgICAgICAgICAgaWYgKG9rKQogICAgICAgICAgICAgICAg
ICAgICByZXN1bHQubWF4U3RhbGUgPSBTZWNvbmRzIHsgbWF4U3RhbGUgfTsKLSAgICAgICAgICAg
IH0gZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5m
aXJzdCwgImltbXV0YWJsZSIpKQorICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAiaW1tdXRhYmxlIikpIHsKICAg
ICAgICAgICAgICAgICByZXN1bHQuaW1tdXRhYmxlID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxz
ZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5maXJzdCwg
InN0YWxlLXdoaWxlLXJldmFsaWRhdGUiKSkgeworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQu
c3RhbGVXaGlsZVJldmFsaWRhdGUpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRmlyc3Qgc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZSBkaXJlY3RpdmUgd2lucyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUg
b25lcy4KKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIGJvb2wgb2s7CisgICAgICAgICAgICAgICAgZG91YmxlIHN0YWxlV2hp
bGVSZXZhbGlkYXRlID0gZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9Eb3VibGUoJm9rKTsKKyAgICAg
ICAgICAgICAgICBpZiAob2spCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5zdGFsZVdoaWxl
UmV2YWxpZGF0ZSA9IFNlY29uZHMgeyBzdGFsZVdoaWxlUmV2YWxpZGF0ZSB9OworICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9DYWNoZVZhbGlkYXRpb24uaAppbmRleCA1NmVmZWE2MjE1NDQ3OTUwNmExNjY0ZmZk
MDhlMDhhYjJjNTU2YmNkLi4wNDBhOTY5N2U1ZmE4MmUxYWY1MGZmYTlhZDE5MjcyN2YzYjc4NDEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0
aW9uLmgKQEAgLTY5LDYgKzY5LDcgQEAgc3RydWN0IENhY2hlQ29udHJvbERpcmVjdGl2ZXMgewog
CiAgICAgTWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IG1heEFnZTsK
ICAgICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNvbmRzOjpNYXJrYWJsZVRyYWl0cz4gbWF4U3RhbGU7
CisgICAgTWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IHN0YWxlV2hp
bGVSZXZhbGlkYXRlOwogICAgIGJvb2wgbm9DYWNoZSA6IDE7CiAgICAgYm9vbCBub1N0b3JlIDog
MTsKICAgICBib29sIG11c3RSZXZhbGlkYXRlIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKaW5kZXggMjBh
YzY0ZDU3MDM0YzY5ZWE5MmJjN2E0MzUzNmYxNmQ3OTVmZmEyOS4uMzI3MmUwYzQ4ZTZiNjQ3YTAz
ZDAyMzgzNjlhYzNiODEwZTVlY2NmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKQEAgLTY1NSw2ICs2NTUs
MTMgQEAgT3B0aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJv
bE1heEFnZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5tYXhB
Z2U7CiB9CiAKK09wdGlvbmFsPFNlY29uZHM+IFJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNv
bnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2hhdmVQYXJz
ZWRDYWNoZUNvbnRyb2xIZWFkZXIpCisgICAgICAgIHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZl
cygpOworICAgIHJldHVybiBtX2NhY2hlQ29udHJvbERpcmVjdGl2ZXMuc3RhbGVXaGlsZVJldmFs
aWRhdGU7Cit9CisKIHN0YXRpYyBPcHRpb25hbDxXYWxsVGltZT4gcGFyc2VEYXRlVmFsdWVJbkhl
YWRlcihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzLCBIVFRQSGVhZGVyTmFtZSBoZWFkZXJO
YW1lKQogewogICAgIFN0cmluZyBoZWFkZXJWYWx1ZSA9IGhlYWRlcnMuZ2V0KGhlYWRlck5hbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oCmluZGV4IGNiMTdiNTk1NDg3ZDEwYjc3M2M0ZTQ4NTM1NDMwMjRhNTBmMWE5
N2YuLjQwNjgxZjA3N2FiOWVlZDA5YzkzNWJiMGJhYWM5ZTBiNDA5YzM4ZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKQEAgLTEzNiw2ICsxMzYsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBj
YWNoZUNvbnRyb2xDb250YWluc0ltbXV0YWJsZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JU
IGJvb2wgaGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9S
VCBPcHRpb25hbDxTZWNvbmRzPiBjYWNoZUNvbnRyb2xNYXhBZ2UoKSBjb25zdDsKKyAgICBXRUJD
T1JFX0VYUE9SVCBPcHRpb25hbDxTZWNvbmRzPiBjYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxp
ZGF0ZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFdhbGxUaW1lPiBkYXRl
KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gYWdlKCkgY29u
c3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8V2FsbFRpbWU+IGV4cGlyZXMoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCmluZGV4IGQ4MDhlZTAzZmEyNDc5MjA4NmRkOWM3ZWQ1YTRlMDZmNTljMDUyMzgu
LjdkYTM0ZTYzY2Q3MjRiMjA3NGY4ZWZiYzNmNGIzMTMxYTU3ZDUyMTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
MTkwLDYgKzE5MCw4IEBAIEVOQUJMRV9HRU9MT0NBVElPTl9pcGhvbmVzaW11bGF0b3IgPSBFTkFC
TEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjY2F0YWx5c3QgPSBFTkFCTEVf
R0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjb3N4ID0gRU5BQkxFX0dFT0xPQ0FU
SU9OOwogCitFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFID0gRU5BQkxF
X0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURTsKKwogRU5BQkxFX0lOREVYRURfREFU
QUJBU0UgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRTsKIAogRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUyA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlM7CkBAIC00
NDMsNCArNDQ1LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAk
KEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9E
RV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1Jf
QUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZX1NBTVBMRVIp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9ORVRX
T1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNF
UlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0Vf
TE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVfU0VSVkVSX1BS
RUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09S
S0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1VTRVJf
TUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCQVNT
RU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkRS
SVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlCT0FSRF9JTlRF
UkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCX0FQ
SV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChF
TkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04p
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChF
TkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEUpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VD
VElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxP
TkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQo
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAk
KEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9O
VFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVO
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQ
SSkgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJ
VkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVS
QUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BV
KSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9u
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40OTQ0Y2RjODdkYTk4NGUzOTI1Y2VkMmRjZWM0OGYxNmMyOTc4MTQ2
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9B
c3luY1JldmFsaWRhdGlvbi5jcHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKQorI2luY2x1ZGUgIkFz
eW5jUmV2YWxpZGF0aW9uLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlVmFsaWRhdGlvbi5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgeworCitzdGF0
aWMgaW5saW5lIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjb25zdHJ1Y3RSZXZhbGlkYXRpb25S
ZXF1ZXN0KGNvbnN0IEtleSYga2V5LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IEVudHJ5KiBlbnRyeSkKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QgcmV2YWxpZGF0aW9uUmVxdWVzdCA9IHJlcXVlc3Q7CisgICAgaWYgKCFrZXkucGFydGl0aW9u
KCkuaXNFbXB0eSgpKQorICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldENhY2hlUGFydGl0
aW9uKGtleS5wYXJ0aXRpb24oKSk7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShrZXkucmFuZ2Uo
KS5pc0VtcHR5KCksICJyYW5nZSBpcyBub3Qgc3VwcG9ydGVkIik7CisKKyAgICByZXZhbGlkYXRp
b25SZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7CisgICAgaWYgKGVudHJ5KSB7CisgICAgICAg
IFN0cmluZyBlVGFnID0gZW50cnktPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKFdlYkNvcmU6
OkhUVFBIZWFkZXJOYW1lOjpFVGFnKTsKKyAgICAgICAgaWYgKCFlVGFnLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKFdlYkNvcmU6
OkhUVFBIZWFkZXJOYW1lOjpJZk5vbmVNYXRjaCwgZVRhZyk7CisKKyAgICAgICAgU3RyaW5nIGxh
c3RNb2RpZmllZCA9IGVudHJ5LT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChXZWJDb3JlOjpI
VFRQSGVhZGVyTmFtZTo6TGFzdE1vZGlmaWVkKTsKKyAgICAgICAgaWYgKCFsYXN0TW9kaWZpZWQu
aXNFbXB0eSgpKQorICAgICAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRIVFRQSGVhZGVy
RmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OklmTW9kaWZpZWRTaW5jZSwgbGFzdE1vZGlm
aWVkKTsKKyAgICB9CisKKyAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldFByaW9yaXR5KFdlYkNv
cmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpMb3cpOworCisgICAgcmV0dXJuIHJldmFsaWRhdGlv
blJlcXVlc3Q7Cit9CisKK3ZvaWQgQXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlk
YXRlRW5kaW5nKCkKK3sKKyAgICBpZiAobV9jb21wbGV0aW9uSGFuZGxlcikgeworICAgICAgICBt
X2NvbXBsZXRpb25IYW5kbGVyKHRydWUpOworICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyID0g
bnVsbHB0cjsKKyAgICB9Cit9CisKK0FzeW5jUmV2YWxpZGF0aW9uOjpBc3luY1JldmFsaWRhdGlv
bihDYWNoZSYgY2FjaGUsIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNo
ZTo6RW50cnk+IGVudHJ5LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGhhbmRsZXIp
CisgICAgOiBtX3RpbWVyKCp0aGlzLCAmQXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZh
bGlkYXRlRW5kaW5nKQorICAgICwgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIp
KQoreworICAgIGF1dG8ga2V5ID0gZW50cnktPmtleSgpOworICAgIGF1dG8gcmV2YWxpZGF0aW9u
UmVxdWVzdCA9IGNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3Qoa2V5LCByZXF1ZXN0LCBlbnRy
eS5nZXQoKSk7CisgICAgYXV0byBhZ2UgPSBXZWJDb3JlOjpjb21wdXRlQ3VycmVudEFnZShlbnRy
eS0+cmVzcG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICBhdXRvIGxpZmV0aW1lID0g
V2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShlbnRyeS0+cmVz
cG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICBhdXRvIHJlc3BvbnNlTWF4U3RhbGVu
ZXNzID0gZW50cnktPnJlc3BvbnNlKCkuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUo
KTsKKyAgICBBU1NFUlQocmVzcG9uc2VNYXhTdGFsZW5lc3MpOworICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KCpyZXNwb25zZU1heFN0YWxlbmVzcyAtIChhZ2UgLSBsaWZldGltZSkpOworICAgIG1f
bG9hZCA9IG1ha2VVbmlxdWU8U3BlY3VsYXRpdmVMb2FkPihjYWNoZSwgZnJhbWVJRCwgcmV2YWxp
ZGF0aW9uUmVxdWVzdCwgV1RGTW92ZShlbnRyeSksIFt0aGlzLCBrZXksIHJldmFsaWRhdGlvblJl
cXVlc3RdKHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gcmV2YWxpZGF0ZWRFbnRyeSkgeworICAgICAg
ICBBU1NFUlQoIXJldmFsaWRhdGVkRW50cnkgfHwgIXJldmFsaWRhdGVkRW50cnktPm5lZWRzVmFs
aWRhdGlvbigpKTsKKyAgICAgICAgQVNTRVJUKCFyZXZhbGlkYXRlZEVudHJ5IHx8IHJldmFsaWRh
dGVkRW50cnktPmtleSgpID09IGtleSk7CisgICAgICAgIGlmIChtX2NvbXBsZXRpb25IYW5kbGVy
KSB7CisgICAgICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyKHJldmFsaWRhdGVkRW50cnkuZ2V0
KCkpOworICAgICAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlciA9IG51bGxwdHI7CisgICAgICAg
IH0KKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0FzeW5jUmV2YWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0FzeW5jUmV2YWxpZGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODU4NDkxNzRkMGY4YTRhMmU4ODU3YTBi
NDlhMWY1Njg3N2M4MjdiYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uaApAQCAtMCwwICsxLDYwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKKworI2lu
Y2x1ZGUgIk5ldHdvcmtDYWNoZS5oIgorI2luY2x1ZGUgIk5ldHdvcmtDYWNoZUVudHJ5LmgiCisj
aW5jbHVkZSAiTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFNwZWN1bGF0aXZlTG9hZDsKKworbmFtZXNw
YWNlIE5ldHdvcmtDYWNoZSB7CisKK2NsYXNzIEFzeW5jUmV2YWxpZGF0aW9uIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBBc3luY1JldmFsaWRhdGlvbihDYWNo
ZSYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
LCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya0NhY2hlOjpFbnRyeT4sIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYpOworCisgICAgY29uc3QgU3BlY3VsYXRpdmVMb2FkJiBsb2FkKCkgY29u
c3QgeyByZXR1cm4gKm1fbG9hZDsgfQorCisgICAgdm9pZCBzdGFsZVdoaWxlUmV2YWxpZGF0ZUVu
ZGluZygpOworCitwcml2YXRlOgorICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWQ+
IG1fbG9hZDsKKyAgICBXZWJDb3JlOjpUaW1lciBtX3RpbWVyOworICAgIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCk+IG1fY29tcGxldGlvbkhhbmRsZXI7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBOZXR3b3JrQ2FjaGUKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxF
KEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAppbmRleCBmMzQ0ZDFhYmE2
NGZlOTNjOWNiZWJkNDdmNDNlODE2M2JhY2Q3YzE3Li5lZGZjZjU5ODE3NDEwYzk0N2YxNWJkNDY0
MDZmYzNlNDZjYjgwNTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlLmgiCiAKKyNpbmNsdWRlICJBc3luY1JldmFs
aWRhdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3RvcmFnZS5o
IgpAQCAtMTUyLDM1ICsxNTMsNDYgQEAgc3RhdGljIGJvb2wgY2FjaGVQb2xpY3lBbGxvd3NFeHBp
cmVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IHBvbGljeSkKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhwaXJlZChjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgV2FsbFRpbWUgdGltZXN0YW1wLCBPcHRp
b25hbDxTZWNvbmRzPiBtYXhTdGFsZSkKK3N0YXRpYyBVc2VEZWNpc2lvbiByZXNwb25zZU5lZWRz
UmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBX
YWxsVGltZSB0aW1lc3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxlKQogewogICAgIGlm
IChyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkKLSAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAKICAgICBhdXRv
IGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdlKHJlc3BvbnNlLCB0aW1lc3RhbXApOwog
ICAgIGF1dG8gbGlmZXRpbWUgPSBXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JI
VFRQRmFtaWx5KHJlc3BvbnNlLCB0aW1lc3RhbXApOwogCiAgICAgYXV0byBtYXhpbXVtU3RhbGVu
ZXNzID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMF9tczsKICAgICBib29sIGhhc0V4
cGlyZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1heGltdW1TdGFsZW5lc3M7CisjaWYgRU5BQkxFKEhU
VFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKKyAgICBpZiAoaGFzRXhwaXJlZCAmJiAh
bWF4U3RhbGUpIHsKKyAgICAgICAgYXV0byByZXNwb25zZU1heFN0YWxlbmVzcyA9IHJlc3BvbnNl
LmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAgICAgIG1heGltdW1TdGFs
ZW5lc3MgKz0gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPyByZXNwb25zZU1heFN0YWxlbmVzcy52YWx1
ZSgpIDogMF9tczsKKyAgICAgICAgYm9vbCBpblJlc3BvbnNlU3RhbGVuZXNzID0gYWdlIC0gbGlm
ZXRpbWUgPCBtYXhpbXVtU3RhbGVuZXNzOworICAgICAgICBpZiAoaW5SZXNwb25zZVN0YWxlbmVz
cykKKyAgICAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRlOworICAg
IH0KKyNlbmRpZgogCisgICAgaWYgKGhhc0V4cGlyZWQpIHsKICNpZm5kZWYgTE9HX0RJU0FCTEVE
Ci0gICAgaWYgKGhhc0V4cGlyZWQpCi0gICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29y
a1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4cGlyZWQgYWdlPSVmIGxpZmV0aW1lPSVm
IG1heC1zdGFsZT0lZyIsIGFnZSwgbGlmZXRpbWUsIG1heFN0YWxlKTsKKyAgICAgICAgTE9HKE5l
dHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgbmVlZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJl
ZCBhZ2U9JWYgbGlmZXRpbWU9JWYgbWF4LXN0YWxlbmVzcz0lZiIsIGFnZSwgbGlmZXRpbWUsIG1h
eGltdW1TdGFsZW5lc3MpOwogI2VuZGlmCisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFs
aWRhdGU7CisgICAgfQogCi0gICAgcmV0dXJuIGhhc0V4cGlyZWQ7CisgICAgcmV0dXJuIFVzZURl
Y2lzaW9uOjpVc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUgdGltZXN0YW1wKQorc3RhdGljIFVz
ZURlY2lzaW9uIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgV2FsbFRpbWUgdGltZXN0YW1wKQogewogICAgIGF1dG8gcmVxdWVzdERpcmVjdGl2ZXMg
PSBXZWJDb3JlOjpwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMocmVxdWVzdC5odHRwSGVhZGVy
RmllbGRzKCkpOwogICAgIGlmIChyZXF1ZXN0RGlyZWN0aXZlcy5ub0NhY2hlKQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpWYWxpZGF0ZTsKICAgICAv
LyBGb3IgcmVxdWVzdHMgd2UgaWdub3JlIG1heC1hZ2UgdmFsdWVzIG90aGVyIHRoYW4gemVyby4K
ICAgICBpZiAocmVxdWVzdERpcmVjdGl2ZXMubWF4QWdlICYmIHJlcXVlc3REaXJlY3RpdmVzLm1h
eEFnZS52YWx1ZSgpID09IDBfbXMpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1
cm4gVXNlRGVjaXNpb246OlZhbGlkYXRlOwogCi0gICAgcmV0dXJuIHJlc3BvbnNlSGFzRXhwaXJl
ZChyZXNwb25zZSwgdGltZXN0YW1wLCByZXF1ZXN0RGlyZWN0aXZlcy5tYXhTdGFsZSk7CisgICAg
cmV0dXJuIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24ocmVzcG9uc2UsIHRpbWVzdGFtcCwgcmVx
dWVzdERpcmVjdGl2ZXMubWF4U3RhbGUpOwogfQogCiBzdGF0aWMgVXNlRGVjaXNpb24gbWFrZVVz
ZURlY2lzaW9uKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgUEFMOjpTZXNz
aW9uSUQmIHNlc3Npb25JRCwgY29uc3QgRW50cnkmIGVudHJ5LCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QpCkBAIC0xOTcsOCArMjA5LDkgQEAgc3RhdGljIFVzZURlY2lz
aW9uIG1ha2VVc2VEZWNpc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0
IFBBTDo6U2UKICAgICBpZiAoY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVkKHJlcXVlc3QuY2FjaGVQ
b2xpY3koKSkpCiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogCi0gICAgaWYgKCFy
ZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGVudHJ5LnJlc3BvbnNlKCksIHJlcXVlc3QsIGVudHJ5
LnRpbWVTdGFtcCgpKSkKLSAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CisgICAgYXV0
byBkZWNpc2lvbiA9IHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oZW50cnkucmVzcG9uc2UoKSwg
cmVxdWVzdCwgZW50cnkudGltZVN0YW1wKCkpOworICAgIGlmIChkZWNpc2lvbiAhPSBVc2VEZWNp
c2lvbjo6VmFsaWRhdGUpCisgICAgICAgIHJldHVybiBkZWNpc2lvbjsKIAogICAgIGlmICghZW50
cnkucmVzcG9uc2UoKS5oYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpKQogICAgICAgICByZXR1cm4g
VXNlRGVjaXNpb246Ok5vRHVlVG9NaXNzaW5nVmFsaWRhdG9yRmllbGRzOwpAQCAtMjUxLDggKzI2
NCwxMiBAQCBzdGF0aWMgU3RvcmVEZWNpc2lvbiBtYWtlU3RvcmVEZWNpc2lvbihjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUgogICAgIGJvb2wgc3RvcmVVbmNvbmRpdGlv
bmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbiA9IGlzTWFpblJlc291cmNlIHx8IG9yaWdpbmFsUmVx
dWVzdC5wcmlvcml0eSgpID09IFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpWZXJ5SGln
aDsKICAgICBpZiAoIXN0b3JlVW5jb25kaXRpb25hbGx5Rm9ySGlzdG9yeU5hdmlnYXRpb24pIHsK
ICAgICAgICAgYXV0byBub3cgPSBXYWxsVGltZTo6bm93KCk7Ci0gICAgICAgIGJvb2wgaGFzTm9u
WmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpICYm
IFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkocmVzcG9uc2Us
IG5vdykgPiAwX21zOwotCisgICAgICAgIFNlY29uZHMgYWxsb3dlZFN0YWxlOworI2lmIEVOQUJM
RShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCisgICAgICAgIGlmIChhdXRvIHZh
bHVlID0gcmVzcG9uc2UuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKSkKKyAgICAg
ICAgICAgIGFsbG93ZWRTdGFsZSA9IHZhbHVlLnZhbHVlKCk7CisjZW5kaWYKKyAgICAgICAgYm9v
bCBoYXNOb25aZXJvTGlmZXRpbWUgPSAhcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNOb0Nh
Y2hlKCkgJiYgKFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHko
cmVzcG9uc2UsIG5vdykgPiAwX21zIHx8IGFsbG93ZWRTdGFsZSA+IDBfbXMpOwogICAgICAgICBi
b29sIHBvc3NpYmx5UmV1c2FibGUgPSByZXNwb25zZS5oYXNDYWNoZVZhbGlkYXRvckZpZWxkcygp
IHx8IGhhc05vblplcm9MaWZldGltZTsKICAgICAgICAgaWYgKCFwb3NzaWJseVJldXNhYmxlKQog
ICAgICAgICAgICAgcmV0dXJuIFN0b3JlRGVjaXNpb246Ok5vRHVlVG9Vbmxpa2VseVRvUmV1c2U7
CkBAIC0yOTYsNiArMzEzLDI4IEBAIHN0YXRpYyBib29sIGlubGluZSBjYW5SZXF1ZXN0VXNlU3Bl
Y3VsYXRpdmVSZXZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSCiB9CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUpCitzdGF0aWMg
aW5saW5lIGJvb2wgY2FuVXNlUGVuZGluZ1JldmFsaWRhdGlvbihjb25zdCBTcGVjdWxhdGl2ZUxv
YWQmIGxvYWQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkK
K3sKKyAgICByZXR1cm4gcmVxdWVzdHNIZWFkZXJzTWF0Y2gobG9hZC5vcmlnaW5hbFJlcXVlc3Qo
KSwgYWN0dWFsUmVxdWVzdCk7Cit9CisKK3ZvaWQgQ2FjaGU6OnN0YXJ0QXN5bmNSZXZhbGlkYXRp
b25JZk5lZWRlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0
IE5ldHdvcmtDYWNoZTo6S2V5JiBrZXksIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gZW50cnksIGNv
bnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQpCit7CisgICAgYXV0byogcGVuZGluZ0FzeW5jUmV2
YWxpZGF0aW9uID0gbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLmdldChrZXkpOworICAgIGlm
IChwZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24gJiYgY2FuVXNlUGVuZGluZ1JldmFsaWRhdGlvbihw
ZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24tPmxvYWQoKSwgcmVxdWVzdCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGF1dG8gcmV2YWxpZGF0b3IgPSBtYWtlVW5pcXVlPEFzeW5jUmV2YWxpZGF0aW9u
PigqdGhpcywgZnJhbWVJRCwgcmVxdWVzdCwgV1RGTW92ZShlbnRyeSksIFt0aGlzLCBrZXldKGJv
b2wgZW5kaW5nKSB7CisgICAgICAgIGlmIChlbmRpbmcpIHsKKyAgICAgICAgICAgIG1fcGVuZGlu
Z0FzeW5jUmV2YWxpZGF0aW9ucy50YWtlKGtleSk7CisgICAgICAgICAgICBMT0coTmV0d29ya0Nh
Y2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBBc3luYyByZXZhbGlkYXRpb24gY29tcGxldGVkIGZvciAn
JXMnOiIsIGtleS5pZGVudGlmaWVyKCkudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIH0KKyAgICB9
KTsKKyAgICBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMuYWRkKGtleSwgV1RGTW92ZShyZXZh
bGlkYXRvcikpOworfQorI2VuZGlmCisKIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJ
RCwgUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAg
IEFTU0VSVChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSk7CkBAIC0zMzQs
MTIgKzM3MywxMSBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogICAgIH0KICNlbmRpZgogCi0g
ICAgbV9zdG9yYWdlLT5yZXRyaWV2ZShzdG9yYWdlS2V5LCBwcmlvcml0eSwgW3JlcXVlc3QsIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGluZm8gPSBXVEZN
b3ZlKGluZm8pLCBzdG9yYWdlS2V5LCBuZXR3b3JrUHJvY2VzcyA9IG1ha2VSZWYobmV0d29ya1By
b2Nlc3MoKSksIHNlc3Npb25JRCA9IG1fc2Vzc2lvbklEXShhdXRvIHJlY29yZCwgYXV0byB0aW1p
bmdzKSBtdXRhYmxlIHsKKyAgICBtX3N0b3JhZ2UtPnJldHJpZXZlKHN0b3JhZ2VLZXksIHByaW9y
aXR5LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCByZXF1ZXN0LCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBpbmZvID0gV1RGTW92
ZShpbmZvKSwgc3RvcmFnZUtleSwgbmV0d29ya1Byb2Nlc3MgPSBtYWtlUmVmKG5ldHdvcmtQcm9j
ZXNzKCkpLCBzZXNzaW9uSUQgPSBtX3Nlc3Npb25JRCwgZnJhbWVJRF0oYXV0byByZWNvcmQsIGF1
dG8gdGltaW5ncykgbXV0YWJsZSB7CiAgICAgICAgIGluZm8uc3RvcmFnZVRpbWluZ3MgPSB0aW1p
bmdzOwogCiAgICAgICAgIGlmICghcmVjb3JkKSB7CiAgICAgICAgICAgICBMT0coTmV0d29ya0Nh
Y2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBub3QgZm91bmQgaW4gc3RvcmFnZSIpOwotCiAgICAgICAg
ICAgICBjb21wbGV0ZVJldHJpZXZlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBudWxscHRy
LCBpbmZvKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQpAQCAtMzUwLDYg
KzM4OCwxMyBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogCiAgICAgICAgIGF1dG8gdXNlRGVj
aXNpb24gPSBlbnRyeSA/IG1ha2VVc2VEZWNpc2lvbihuZXR3b3JrUHJvY2Vzcywgc2Vzc2lvbklE
LCAqZW50cnksIHJlcXVlc3QpIDogVXNlRGVjaXNpb246Ok5vRHVlVG9EZWNvZGVGYWlsdXJlOwog
ICAgICAgICBzd2l0Y2ggKHVzZURlY2lzaW9uKSB7CisgICAgICAgIGNhc2UgVXNlRGVjaXNpb246
OkFzeW5jUmV2YWxpZGF0ZTogeworI2lmIEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JF
VkFMSURBVEUpCisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5Q29weSA9
IG1ha2VVbmlxdWU8RW50cnk+KCplbnRyeSk7CisgICAgICAgICAgICBzdGFydEFzeW5jUmV2YWxp
ZGF0aW9uSWZOZWVkZWQocmVxdWVzdCwgc3RvcmFnZUtleSwgV1RGTW92ZShlbnRyeUNvcHkpLCBm
cmFtZUlEKTsKKyNlbmRpZgorICAgICAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgICAgIH0KICAg
ICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6VXNlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgVXNlRGVjaXNpb246OlZhbGlkYXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKaW5kZXggMGRlZTdmODhkZmY2MTYyY2MzZmQ3
ODUxYjgzODBmYzVhODNiZDVhZS4uYTQ0NzgxZDk2Y2JhNWM4OTZjMDRlNGZhNzkwYmYwYzMzMzY5
OThhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZS5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIE5ldHdvcmtQcm9jZXNzOwogCiBuYW1l
c3BhY2UgTmV0d29ya0NhY2hlIHsKIAorY2xhc3MgQXN5bmNSZXZhbGlkYXRpb247CiBjbGFzcyBD
YWNoZTsKIGNsYXNzIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI7CiAKQEAgLTgyLDYgKzgzLDcgQEAg
ZW51bSBjbGFzcyBTdG9yZURlY2lzaW9uIHsKIGVudW0gY2xhc3MgVXNlRGVjaXNpb24gewogICAg
IFVzZSwKICAgICBWYWxpZGF0ZSwKKyAgICBBc3luY1JldmFsaWRhdGUsCiAgICAgTm9EdWVUb1Zh
cnlpbmdIZWFkZXJNaXNtYXRjaCwKICAgICBOb0R1ZVRvTWlzc2luZ1ZhbGlkYXRvckZpZWxkcywK
ICAgICBOb0R1ZVRvRGVjb2RlRmFpbHVyZSwKQEAgLTE2OSw2ICsxNzEsMTAgQEAgcHVibGljOgog
ICAgIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXIqIHNwZWN1bGF0aXZlTG9hZE1hbmFnZXIoKSB7IHJl
dHVybiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXIuZ2V0KCk7IH0KICNlbmRpZgogCisjaWYgRU5B
QkxFKEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkKKyAgICB2b2lkIHN0YXJ0QXN5
bmNSZXZhbGlkYXRpb25JZk5lZWRlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBOZXR3b3JrQ2FjaGU6OktleSYsIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4sIGNvbnN0IEds
b2JhbEZyYW1lSUQmKTsKKyNlbmRpZgorCiAgICAgTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9j
ZXNzKCkgeyByZXR1cm4gbV9uZXR3b3JrUHJvY2Vzcy5nZXQoKTsgfQogICAgIGNvbnN0IFBBTDo6
U2Vzc2lvbklEJiBzZXNzaW9uSUQoKSBjb25zdCB7IHJldHVybiBtX3Nlc3Npb25JRDsgfQogICAg
IGNvbnN0IFN0cmluZyYgc3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RvcmFn
ZURpcmVjdG9yeTsgfQpAQCAtMTk1LDYgKzIwMSwxMCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5p
cXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyPiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXI7
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUp
CisgICAgSGFzaE1hcDxLZXksIHN0ZDo6dW5pcXVlX3B0cjxBc3luY1JldmFsaWRhdGlvbj4+IG1f
cGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uczsKKyNlbmRpZgorCiAgICAgdW5zaWduZWQgbV90cmF2
ZXJzZUNvdW50IHsgMCB9OwogICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogICAgIFN0
cmluZyBtX3N0b3JhZ2VEaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5j
cHAKaW5kZXggNmM3MmZhYmU3MmUzNTk0NDhhN2MxYjI5MWNkOTBlOTUwZTViYmU1NC4uMDFiYzg3
ZmZlYzc5N2Y5ZDc3M2FkNThmZDliYjMyYzQxMWRlNDM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Bl
Y3VsYXRpdmVMb2FkLmNwcApAQCAtMTU1LDYgKzE1NSw0MyBAQCB2b2lkIFNwZWN1bGF0aXZlTG9h
ZDo6ZGlkQ29tcGxldGUoKQogICAgIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShtX2NhY2hl
RW50cnkpKTsKIH0KIAorI2lmICFMT0dfRElTQUJMRUQKKworc3RhdGljIHZvaWQgZHVtcEhUVFBI
ZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRl
ck1hcCYgaGVhZGVyc0IpCit7CisgICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7CisgICAg
Zm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgeworICAg
ICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOworICAgICAgICBpZiAo
dmFsdWVCLmlzTnVsbCgpKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZl
UHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVlc3Qg
KHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0
YSgpKTsKKyAgICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKKyAgICAgICAgICAg
IExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFk
ZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgpLmRh
dGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsKKyAg
ICB9CisgICAgYXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7CisgICAgZm9yIChhdXRvIGl0ID0g
aGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgeworICAgICAgICBpZiAoIWhlYWRl
cnNBLmNvbnRhaW5zKGl0LT5rZXkpKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29uZCBy
ZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRm
OCgpLmRhdGEoKSk7CisgICAgfQorfQorCisjZW5kaWYKKworYm9vbCByZXF1ZXN0c0hlYWRlcnNN
YXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3Qs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkKK3sKKyAgICBBU1NFUlQoIWFj
dHVhbFJlcXVlc3QuaXNDb25kaXRpb25hbCgpKTsKKyAgICBSZXNvdXJjZVJlcXVlc3Qgc3BlY3Vs
YXRpdmVSZXF1ZXN0ID0gc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdDsKKyAgICBzcGVjdWxh
dGl2ZVJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKworICAgIGlmIChzcGVjdWxhdGl2ZVJl
cXVlc3QuaHR0cEhlYWRlckZpZWxkcygpICE9IGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxk
cygpKSB7CisgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICJD
YW5ub3QgcmV1c2Ugc3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQgZW50cnkgYmVjYXVzZSBIVFRQIGhl
YWRlcnMgdXNlZCBmb3IgdmFsaWRhdGlvbiBkbyBub3QgbWF0Y2giKTsKKyNpZiAhTE9HX0RJU0FC
TEVECisgICAgICAgIGR1bXBIVFRQSGVhZGVyc0RpZmYoc3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBI
ZWFkZXJGaWVsZHMoKSwgYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOworI2VuZGlm
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Bl
Y3VsYXRpdmVMb2FkLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCmluZGV4IDZjZTc3Zjk5ZWEwMDM0NzNjNjk4MDdmZjg1
OTBiMjIxYzJlMmQ0MGMuLjk1NjJkOWM4ZTBhY2E1MzAyYmU5OTQ4ODdkYjhiMjJjZTlhZWMzODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaApAQCAtNzcsNiArNzcsOCBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9kaWRDb21wbGV0ZSB7IGZhbHNlIH07CiB9OwogCitib29sIHJlcXVl
c3RzSGVhZGVyc01hdGNoKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgc3BlY3VsYXRp
dmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBhY3R1
YWxSZXF1ZXN0KTsKKwogfSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5j
cHAKaW5kZXggNjc5NDAzOWI3ZTE5MTdhNGFhYmFkNGQyZDUwOGY3Mzk1Mzc4NjU2Ny4uOTgwNmY2
MmVhN2JiMDVjMGMzZWQ3MmFhZmRlNzQzZGQ1ZWRhYjgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC0yNTYsNDMgKzI1Niw2IEBAIFNwZWN1
bGF0aXZlTG9hZE1hbmFnZXI6On5TcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyKCkKIHsKIH0KIAotI2lm
ICFMT0dfRElTQUJMRUQKLQotc3RhdGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlmZihjb25zdCBI
VFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyc0IpCi17
Ci0gICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gaGVh
ZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgewotICAgICAgICBTdHJpbmcgdmFsdWVC
ID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOwotICAgICAgICBpZiAodmFsdWVCLmlzTnVsbCgpKQot
ICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVz
JyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+
a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAgZWxz
ZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKLSAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIgZGlmZmVycyBpbiBib3Ro
IHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0
ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsKLSAgICB9Ci0gICAgYXV0byBiRW5k
ID0gaGVhZGVyc0IuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0IuYmVnaW4oKTsg
aXQgIT0gYkVuZDsgKytpdCkgewotICAgICAgICBpZiAoIWhlYWRlcnNBLmNvbnRhaW5zKGl0LT5r
ZXkpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywg
IiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29uZCByZXF1ZXN0ICh2YWx1ZTogJXMp
IiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSk7Ci0gICAg
fQotfQotCi0jZW5kaWYKLQotc3RhdGljIGJvb2wgcmVxdWVzdHNIZWFkZXJzTWF0Y2goY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1ZXN0LCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCi17Ci0gICAgQVNTRVJUKCFhY3R1YWxSZXF1ZXN0
LmlzQ29uZGl0aW9uYWwoKSk7Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IHNwZWN1bGF0aXZlUmVxdWVz
dCA9IHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3Q7Ci0gICAgc3BlY3VsYXRpdmVSZXF1ZXN0
Lm1ha2VVbmNvbmRpdGlvbmFsKCk7Ci0KLSAgICBpZiAoc3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBI
ZWFkZXJGaWVsZHMoKSAhPSBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSkgewotICAg
ICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiQ2Fubm90IHJldXNl
IHNwZWN1bGF0aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJlY2F1c2UgSFRUUCBoZWFkZXJzIHVzZWQg
Zm9yIHZhbGlkYXRpb24gZG8gbm90IG1hdGNoIik7Ci0jaWYgIUxPR19ESVNBQkxFRAotICAgICAg
ICBkdW1wSFRUUEhlYWRlcnNEaWZmKHNwZWN1bGF0aXZlUmVxdWVzdC5odHRwSGVhZGVyRmllbGRz
KCksIGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKTsKLSNlbmRpZgotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwotfQotCiBib29sIFNwZWN1bGF0
aXZlTG9hZE1hbmFnZXI6OmNhblVzZVByZWxvYWRlZEVudHJ5KGNvbnN0IFByZWxvYWRlZEVudHJ5
JiBlbnRyeSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KQogewogICAgIGlm
ICghZW50cnkud2FzUmV2YWxpZGF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291
cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDkzNmMwY2Y1NWFkMDNm
YmJiM2FkYzg0MzkyMDEzYTkwZTM0OGI1ZWQuLjE2Nzc3NDlmMDNkNDYzZDM3YTI1NDU2YzU2OGRi
NGJjNTExM2VmODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNzcsNiArNzcsNyBAQCBOZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNo
ZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFn
ZUVuZ2luZUNhY2hlcy5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2lu
ZUNvbm5lY3Rpb24uY3BwCitOZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5j
cHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcAogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlQ29kZXJzLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjM4ZWJlZDU4NTNmZDdhZDQ3NDk5MzUxM2U2YWZhMDFi
MDg3MGI3Yi4uOTViNTRiYzM5M2YxZTVkYTRlZTU1NmZiNTEwZGY2ZDk5Yjc2Y2UwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzg2
LDYgKzEzODYsNyBAQAogCQlBNzhDQ0REQzE5M0FDOUZCMDA1RUNDMjUgLyogY29tLmFwcGxlLldl
YktpdC5XZWJDb250ZW50LnNiIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNzhDQ0REOTE5M0FDOUUzMDA1RUNDMjUgLyogY29tLmFwcGxlLldlYktpdC5X
ZWJDb250ZW50LnNiICovOyB9OwogCQlBN0Q3OTJEODE3NjdDQ0EzMDA4ODFDQkUgLyogQWN0aXZp
dHlBc3NlcnRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3RDc5MkQ0MTc2N0NCMDkwMDg4MUNCRSAvKiBBY3Rpdml0eUFzc2VydGlvbi5oICovOyB9
OwogCQlBQUIxNDVFNjIyM0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFCMTQ1RTQyMjNGOTMxMjAw
RTQ4OUQ4IC8qIFByZWZldGNoQ2FjaGUuaCAqLzsgfTsKKwkJQUFGQTYzNEYyMzRGN0M2NDAwRkZB
ODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBQUZBNjM0RTIzNEY3QzYzMDBGRkE4NjQgLyogQXN5bmNSZXZhbGlk
YXRpb24uaCAqLzsgfTsKIAkJQjYyRTczMTIxNDMwNDdCMDAwNjlFQzM1IC8qIFdLSGl0VGVzdFJl
c3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjYy
RTczMTExNDMwNDdCMDAwNjlFQzM1IC8qIFdLSGl0VGVzdFJlc3VsdC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUI4NzhCNjE1MTMzNDI4REMwMDY4
ODhFOSAvKiBDb3JyZWN0aW9uUGFuZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEI4NzhCNjEzMTMzNDI4REMwMDY4ODhFOSAvKiBDb3JyZWN0aW9uUGFu
ZWwuaCAqLzsgfTsKIAkJQkMwMTdEMDcxNjI2MEZGNDAwNzA1NEY1IC8qIFdLRE9NRG9jdW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDE3Q0ZG
MTYyNjBGRjQwMDcwNTRGNSAvKiBXS0RPTURvY3VtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQxNDgsNiArNDE0OSw4IEBACiAJCUE3RTkz
Q0VCMTkyNTMxQUEwMEExREM0OCAvKiBBdXhpbGlhcnlQcm9jZXNzSU9TLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbTsgcGF0
aCA9IGlvcy9BdXhpbGlhcnlQcm9jZXNzSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBQUIxNDVFNDIyM0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcmVmZXRjaENhY2hlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFBQjE0NUU1MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVmZXRjaENhY2hl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByZWZldGNoQ2FjaGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUZBNjM0RTIzNEY3QzYzMDBGRkE4
NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQXN5bmNSZXZhbGlkYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFG
QTYzNTAyMzRGN0M3MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEFzeW5jUmV2YWxpZGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjM5NkVBNTUxMkUwRUQyRDAwRjRGRUI3IC8qIGNvbmZpZy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBjb25maWcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQjYyRTczMEYxNDMwNDdBNjAwNjlFQzM1IC8qIFdLSGl0VGVzdFJlc3VsdC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0hpdFRlc3RSZXN1bHQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNjJFNzMxMTE0MzA0N0IwMDA2OUVDMzUgLyogV0tI
aXRUZXN0UmVzdWx0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLSGl0VGVz
dFJlc3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTE3NSw2ICs5MTc4LDgg
QEAKIAkJRTQ4OUQyODIxQTBBMkJFODAwNzhDMDZBIC8qIGNhY2hlICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBQUZBNjM1MDIzNEY3QzczMDBGRkE4NjQg
LyogQXN5bmNSZXZhbGlkYXRpb24uY3BwICovLAorCQkJCUFBRkE2MzRFMjM0RjdDNjMwMEZGQTg2
NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oICovLAogCQkJCTQxODk3RUQ2MUY0MTVEODYwMDE2RkE0
MiAvKiBDYWNoZVN0b3JhZ2VFbmdpbmUuY3BwICovLAogCQkJCTQxODk3RUQyMUY0MTVEODUwMDE2
RkE0MiAvKiBDYWNoZVN0b3JhZ2VFbmdpbmUuaCAqLywKIAkJCQk0MUM4NTgxOTFGNTEwREVFMDA2
NUUwODUgLyogQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuY3BwICovLApAQCAtOTQxNiw2ICs5NDIx
LDcgQEAKIAkJCQlBMTc1QzQ0QTIxQUEzMTcxMDAwMDM3RDAgLyogQXJndW1lbnRDb2RlcnNDb2Nv
YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxQTBCRDIxQTQ4RTZDNjAwNTRFRjc0IC8qIEFzc2Vy
dGlvblNlcnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVFNzcyODE4M0RENkY2MDAw
NzIwM0YgLyogQXN5bmNSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlBQUZBNjM0RjIzNEY3
QzY0MDBGRkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
RUU5NjZEMTEyRkFGNTcwMDZCQ0MyNCAvKiBBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMUEzMTczMjEzNENFQTZDMDA3QzlBNEYgLyogQXR0cmlidXRlZFN0cmluZy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTEyRjU4OTcxMkE4ODM4ODAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlUHJveHkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCBkODA4ZWUwM2ZhMjQ3OTIwODZkZDljN2VkNWE0ZTA2ZjU5YzA1MjM4Li43ZGEzNGU2M2Nk
NzI0YjIwNzRmOGVmYmMzZjRiMzEzMWE1N2Q1MjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtMTkwLDYgKzE5MCw4IEBAIEVOQUJMRV9HRU9MT0NBVElPTl9pcGhvbmVzaW11bGF0
b3IgPSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjY2F0YWx5c3Qg
PSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVfR0VPTE9DQVRJT05fbWFjb3N4ID0gRU5BQkxF
X0dFT0xPQ0FUSU9OOwogCitFTkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRF
ID0gRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURTsKKwogRU5BQkxFX0lO
REVYRURfREFUQUJBU0UgPSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRTsKIAogRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUyA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlM7CkBAIC00NDMsNCArNDQ1LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9
IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxF
X1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRF
RF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Yz
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFO
SUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxF
X0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JT
RVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RF
X0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVNT1JZ
X1NBTVBMRVIpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVO
QUJMRV9ORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
RVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NBTkRCT1hfRVhURU5TSU9OUykgJChFTkFCTEVf
U0VSVkVSX1BSRUNPTk5FQ1QpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TSEFSRUFCTEVfUkVTT1VSQ0UpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5B
QkxFX1dFQkRSSVZFUl9NT1VTRV9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9LRVlC
T0FSRF9JTlRFUkFDVElPTlMpICQoRU5BQkxFX1dFQkRSSVZFUl9UT1VDSF9JTlRFUkFDVElPTlMp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
TkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJ
TkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09N
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfSU5U
RVJBQ1RJT04pICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQ
T1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFU
VVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxF
X1dISUxFX1JFVkFMSURBVEUpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRU1PUllfU0FNUExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFU
SU9OKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdf
VE9VQ0gpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRF
TlNJT05TKSAkKEVOQUJMRV9TRVJWRVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJD
RSkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJ
QVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05f
TU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9G
VUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RS
RUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFC
TEVfV0VCRFJJVkVSX0tFWUJPQVJEX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RP
VUNIX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNGVFcuY21ha2UgYi9Tb3VyY2UvY21ha2Uv
T3B0aW9uc0ZUVy5jbWFrZQppbmRleCA2Y2YzODlhOWRiNTg5NzllZWFkODE2MGVmMDY0NDQ4MTgw
YmFhODhkLi41OTY3MWNjZmE2Yzg2NjI1OGMzMGRlNzJmOWE0OTQxNzdmZWRiYzdjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0ZUVy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0
aW9uc0ZUVy5jbWFrZQpAQCAtMTU5LDYgKzE1OSw3IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OIFBSSVZBVEUgT0ZGKQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTiBQUklWQVRF
IE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ET1dOTE9BRF9B
VFRSSUJVVEUgUFJJVkFURSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfRU5DUllQVEVEX01FRElBIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSBQUklW
QVRFIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlRMIFBS
SVZBVEUgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xBWU9V
VF9GT1JNQVRUSU5HX0NPTlRFWFQgUFJJVkFURSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfTEVUVEVSUFJFU1MgUFJJVkFURSBPRkYpCmRpZmYgLS1naXQgYS9T
b3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNt
YWtlCmluZGV4IDVjOGJjYzc1YzllNWE4MjBlYWIzOTAwNzI5ZmQzZjFjZWRiNTQ3Y2UuLjRkNmVl
NjM3MzNjOWUxYTU4Y2MyZTIxNzllODAwMzEyODUyYzlmYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9j
bWFrZS9PcHRpb25zR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtl
CkBAIC0xNTQsNiArMTU0LDcgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUgUFJJVkFURSBPTikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUEgUFJJVkFURSAk
e0VOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVN9KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX0ZUUERJUiBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUgUFJJ
VkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfTUVESUFfU1RSRUFNIFBSSVZBVEUgJHtFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
fSkKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NSFRNTCBQUklWQVRF
IE9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IGUzMDFhYmQ2ZGU4Nzg5MTI1MjM5
YmQxZWFjODZkOTIxY2MzMTZlNzQuLmJlZTk0Nzk0ZTZiMmNhNjY1ODc3NzU5ZDI3OTkzMzRkOGQ0
MzllOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysg
Yi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTEzNyw2ICsxMzcsNyBAQCBt
YWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSAiVG9nZ2xlIEZ1bGxzY3JlZW4gQVBJIHN1cHBvcnQiIFBSSVZBVEUg
T04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0dBTUVQQUQgIlRvZ2dsZSBHYW1l
cGFkIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9HRU9MT0NBVElPTiAiVG9nZ2xlIEdlb2xvY2F0aW9uIHN1cHBvcnQiIFBSSVZBVEUgT04pCisg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVW
QUxJREFURSAiVG9nZ2xlIEhUVFAgY2FjaGUgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBzdXBwb3J0
IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSAiVG9nZ2xlIEluZGV4ZWQgRGF0YWJhc2Ugc3VwcG9ydCIgUFJJVkFURSBPTikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
ICJUb2dnbGUgc3VwcG9ydCBmb3IgSW5kZXhlZCBEYXRhYmFzZSBpbiB3b3JrZXJzIiBQUklWQVRF
IE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SICJU
b2dnbGUgSW5wdXQgVHlwZSBDb2xvciBzdXBwb3J0IiBQUklWQVRFIE9GRikKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNWIzMTNmYWVlZGYzMmRk
ZmIyZGIyODAwOTBhMzA5YTk3Nzk3ODRjLi45YjhlMmRiNWZmZWQ5NzNmNzFkOTQ4MzNmN2ViYzdj
Mzg4N2EyMGQ5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMTAtMTEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlh
LmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3Ry
YXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBIVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUgYnVpbGQgZmxhZy4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisKIDIwMTktMTAtMDkgIFJ1c3NlbGwgRXBzdGVpbiAgPHJlcHN0ZWluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjUwOTMwLgpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKaW5kZXggZDgwOGVlMDNmYTI0NzkyMDg2ZGQ5YzdlZDVhNGUwNmY1OWMwNTIzOC4uN2RhMzRl
NjNjZDcyNGIyMDc0ZjhlZmJjM2Y0YjMxMzFhNTdkNTIxMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CkBAIC0xOTAsNiArMTkwLDggQEAgRU5BQkxFX0dFT0xPQ0FUSU9OX2lwaG9uZXNpbXVsYXRvciA9
IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9HRU9MT0NBVElPTl9tYWNjYXRhbHlzdCA9IEVO
QUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9HRU9MT0NBVElPTl9tYWNvc3ggPSBFTkFCTEVfR0VP
TE9DQVRJT047CiAKK0VOQUJMRV9IVFRQX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURBVEUgPSBF
TkFCTEVfSFRUUF9DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFOworCiBFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSA9IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFOwogCiBFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTID0gRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUzsK
QEAgLTQ0Myw0ICs0NDUsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNM
VDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RS
RUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVT
VCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFS
S19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BF
Q1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZF
UikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRU
UklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRf
Rk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRU1PUllfU0FN
UExFUikgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxF
X05FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkdfVE9VQ0gpICQoRU5BQkxFX1BBWU1F
TlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVO
VFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTSVpF
X09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0FOREJPWF9FWFRFTlNJT05TKSAkKEVOQUJMRV9TRVJW
RVJfUFJFQ09OTkVDVCkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSkgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCRFJJVkVSX01PVVNFX0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX0tFWUJPQVJE
X0lOVEVSQUNUSU9OUykgJChFTkFCTEVfV0VCRFJJVkVSX1RPVUNIX0lOVEVSQUNUSU9OUykgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9X
RUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhO
KSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19B
UEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hUVFBfQ0FDSEVfU1RBTEVfV0hJ
TEVfUkVWQUxJREFURSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykgJChFTkFCTEVfSU5U
RVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
S0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FTU9SWV9TQU1QTEVSKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RB
TkRBTE9ORSkgJChFTkFCTEVfTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04p
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VD
SCkgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0Vf
VVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TQU5EQk9YX0VYVEVOU0lP
TlMpICQoRU5BQkxFX1NFUlZFUl9QUkVDT05ORUNUKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU0hBUkVBQkxFX1JFU09VUkNFKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1ZBUklBVElP
Tl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExT
Q1JFRU4pICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1J
TkdfQVBJKSAkKEVOQUJMRV9XRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9X
RUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJEUklWRVJfVE9VQ0hf
SU5URVJBQ1RJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
RUJHUFUpICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1dFQl9SVEMp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMmFhOGIzYjEzOWE2ODhhODM4ODEzNzBkMzE2MzA2ZGIwOTNlYjlkZi4uMThkN2FkYjQ3Mjgw
OWMwNWUyZjU0ZGRkNmM2MTQzZTc2YzRlODc1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5
LTEwLTExICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBz
dGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTa2lwIG5ld2x5IGltcG9ydGVkIHRlc3RzIGZv
ciBXSzEuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE5LTEwLTEw
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRE9NQ2FjaGVTdG9y
YWdlIHNob3VsZCBub3QgcHJldmVudCBwYWdlcyBmcm9tIGVudGVyaW5nIHRoZSBiYWNrL2Zvcndh
cmQgY2FjaGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDFhZmFhZTY1ODg3NzUz
MGEyNTM5ODM3NzAyMTlmOWVmNjcwMzhmZGEuLmE3MmM1ZjkyMTdlYjEwNjMyNDRhNGE0NmUyZmNi
NmViZjZmYTA1NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDE5LTEwLTExICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAg
U3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnQgc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZSBXUFQgdGVzdHMuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9m
ZXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5OiBBZGRlZC4KKyAgICAg
ICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weTogQWRkZWQuCisgICAgICAgICht
YWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5OiBBZGRlZC4KKyAgICAgICAgKGlkX3Rv
a2VuKToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtc2NyaXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qczogQWRkZWQuCisgICAgICAgIChhc3luYy5i
cm9hZGNhc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAxOS0xMC0wOSAgQWxpY2lh
IEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW01TRV1bR1N0cmVh
bWVyXSBGaXggdmlkZW8gc29tZXRpbWVzIG5vdCBhcHBlYXJpbmcKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24KaW5kZXggYTgyMWRlYmRmY2JkYWE5NDEyZDc2NDk2MTA4NDY3ZjhhOGE0N2Y3Yy4uMDFlMmEx
MGM5NjJlOTBjMTQ1NTlhZmUxODJlYjVjZWQ5N2YwMGVhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24KQEAgLTE2MSw2ICsxNjEsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
IjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMiOiAi
aW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9yYW5nZSI6ICJpbXBvcnQi
LCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUi
OiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mdWxsc2NyZWVuIjogInNraXAi
LCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2dhbWVwYWQiOiAic2tpcCIsIAogICAgICJ3ZWIt
cGxhdGZvcm0tdGVzdHMvZ2VuZXJpYy1zZW5zb3IiOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZiZjI2ZjRhYjExYzc3N2FkZjI0OGFhMzdhYzBjNzcy
ODIzNzA3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSBy
ZXNwb25zZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDZiZjI2ZjRhYjExYzc3N2FkZjI0OGFhMzdhYzBjNzcyODIzNzA3MgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNw
b25zZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZmNlYmMy
NGE2M2Y0MGRlNTRhNGMzOTkxYzkwNTBlYjc0NDg2YTI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0
aXRsZT5TdGFsZSBSZXZhbGlkYXRpb24gUmVxdWVzdHMgZG9uJ3QgZ2V0IHNlbnQgdG8gc2Vydmlj
ZSB3b3JrZXI8L3RpdGxlPgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+CisgIDxz
Y3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KKworICAvLyBEdXBsaWNhdGluZyB0aGlzIHJlc291cmNlIHRvIG1ha2Ugc2Vydmlj
ZSB3b3JrZXIgc2NvcGluZyBzaW1wbGVyLgorICBhc3luYyBmdW5jdGlvbiBzZXR1cFJlZ2lzdHJh
dGlvbkFuZFdhaXRUb0JlQ29udHJvbGxlZCh0LCBzY29wZSkgeworICAgIGNvbnN0IGNvbnRyb2xs
ZWQgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgbmF2aWdhdG9yLnNlcnZpY2VX
b3JrZXIub25jb250cm9sbGVyY2hhbmdlID0gKCkgPT4geyByZXNvbHZlKCk7IH07CisgICAgfSk7
CisgICAgY29uc3QgcmVnID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIo
J3N3LWludGVyY2VwdC5qcycpOworICAgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0
YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisgICAgYXdhaXQgY29udHJvbGxlZDsKKyAgICBhZGRfY29t
cGxldGlvbl9jYWxsYmFjayhfID0+IHJlZy51bnJlZ2lzdGVyKCkpOworICAgIHJldHVybiByZWc7
CisgIH0KKworICAvLyBVc2luZyAyNTBtcyBwb2xsaW5nIGludGVydmFsIHRvIHByb3ZpZGUgZW5v
dWdoICduZXR3b3JrIGNhbG1uZXNzJyB0byBnaXZlCisgIC8vIHRoZSBiYWNrZ3JvdW5kIGxvdyBw
cmlvcml0eSByZXZhbGlkYXRpb24gcmVxdWVzdCBhIGNoYW5jZSB0byBraWNrIGluLgorICBmdW5j
dGlvbiB3YWl0MjUwbXModGVzdCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKKyAgICAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgICAgcmVzb2x2ZSgpOwor
ICAgICAgfSwgMjUwKTsKKyAgICB9KTsKKyAgfQorCisgIHByb21pc2VfdGVzdChhc3luYyAodGVz
dCkgPT4geworICAgIHZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKyAgICBjb25zdCB1cmkg
PSAncmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0nICsgcmVxdWVzdF90b2tlbjsKKwor
ICAgIGF3YWl0IHNldHVwUmVnaXN0cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVkKHRlc3QsICdy
ZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5Jyk7CisKKyAgICB2YXIgc2VydmljZV93b3JrZXJfY291
bnQgPSAwOworICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21l
c3NhZ2UnLCBmdW5jdGlvbiBvbmNlKGV2ZW50KSB7CisgICAgICBpZiAoZXZlbnQuZGF0YS5lbmRz
V2l0aCh1cmkpKSB7CisgICAgICAgIHNlcnZpY2Vfd29ya2VyX2NvdW50Kys7CisgICAgICB9Cisg
ICAgfSk7CisKKyAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVyaSk7CisgICAgY29u
c3QgcmVzcG9uc2UyID0gYXdhaXQgZmV0Y2godXJpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3Bv
bnNlLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSwgcmVzcG9uc2UyLmhlYWRlcnMuZ2V0KCdVbmlx
dWUtSWQnKSk7CisgICAgd2hpbGUodHJ1ZSkgeworICAgICAgY29uc3QgcmV2YWxpZGF0aW9uX2No
ZWNrID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49
YCArIHJlcXVlc3RfdG9rZW4pOworICAgICAgaWYgKHJldmFsaWRhdGlvbl9jaGVjay5oZWFkZXJz
LmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAgICAgICAgLy8gVGhlIHNlcnZpY2Ugd29ya2VyIHNo
b3VsZCBub3Qgc2VlIHRoZSByZXZhbGlkYXRpb24gcmVxdWVzdC4KKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhzZXJ2aWNlX3dvcmtlcl9jb3VudCwgMik7CisgICAgICAgIGJyZWFrOworICAgICAgfQor
ICAgICAgYXdhaXQgd2FpdDI1MG1zKHRlc3QpOworICAgIH0KKyAgfSwgJ1NlY29uZCBmZXRjaCBy
ZXR1cm5zIHNhbWUgcmVzcG9uc2UnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9m
ZXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczMzkwYzdhZDU5NDhjNjgyYjJmYmRjYjNjOTVhNGMzNzRk
YmJhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbApAQCAt
MCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIGlzIG5vdCBleGVjdXRlZCBmb3IgZmV0
Y2ggQVBJPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiB3YWl0MjVtcyh0ZXN0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKKyAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICByZXNvbHZlKCk7
CisgICAgfSwgMjUpOworICB9KTsKK30KKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7
CisgIHZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKworICBjb25zdCByZXNwb25zZSA9IGF3
YWl0IGZldGNoKGByZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPWAgKyByZXF1ZXN0X3Rv
a2VuKTsKKyAgY29uc3QgcmVzcG9uc2UyID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1z
Y3JpcHQucHk/dG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworCisgIGFzc2VydF9lcXVhbHMocmVz
cG9uc2UuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpLCByZXNwb25zZTIuaGVhZGVycy5nZXQoJ1Vu
aXF1ZS1JZCcpKTsKKworICB3aGlsZSh0cnVlKSB7CisgICAgY29uc3QgcmV2YWxpZGF0aW9uX2No
ZWNrID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49
YCArIHJlcXVlc3RfdG9rZW4pOworICAgIGlmIChyZXZhbGlkYXRpb25fY2hlY2suaGVhZGVycy5n
ZXQoJ0NvdW50JykgPT0gJzInKSB7CisgICAgICBicmVhazsKKyAgICB9CisgICAgYXdhaXQgd2Fp
dDI1bXModGVzdCk7CisgIH0KK30sICdTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNl
Jyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3Rh
bGUtY3NzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTZhZTU0NmQwNjUxZjk3ZjMwMjA4Mjk0NTJkYjYyMjU0ODZkYzQ1MQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5CkBAIC0wLDAg
KzEsMjggQEAKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKworICAgIHRva2VuID0gcmVx
dWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBpc19xdWVyeSA9IHJlcXVlc3QuR0VU
LmZpcnN0KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUKKyAgICB3aXRoIHJlcXVlc3Quc2VydmVyLnN0
YXNoLmxvY2s6CisgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRha2UodG9rZW4p
CisgICAgICBjb3VudCA9IDAKKyAgICAgIGlmIHZhbHVlICE9IE5vbmU6CisgICAgICAgIGNvdW50
ID0gaW50KHZhbHVlKQorICAgICAgaWYgaXNfcXVlcnk6CisgICAgICAgIGlmIGNvdW50IDwgMjoK
KyAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAgICAg
ZWxzZToKKyAgICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAgcmVxdWVzdC5zZXJ2ZXIu
c3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMg
PSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIw
MCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6CisgICAgICBjb250ZW50ID0gImJvZHkgeyBi
YWNrZ3JvdW5kOiByZ2IoMCwgMTI4LCAwKTsgfSIKKyAgICAgIGlmIGNvdW50ID4gMToKKyAgICAg
ICAgY29udGVudCA9ICJib2R5IHsgYmFja2dyb3VuZDogcmdiKDI1NSwgMCwgMCk7IH0iCisKKyAg
ICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9jc3MiKSwKKyAgICAgICAgICAg
ICAgICgiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdlPTAsIHN0YWxlLXdoaWxlLXJl
dmFsaWRhdGU9NjAiKV0KKworICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM5ZWI4NGJi
MzRiYmQxNWUyY2E3MDYxZWU0ZmE1NzI0ZDJjNjRmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkKQEAgLTAsMCArMSwzOCBAQAoraW1w
b3J0IG9zLnBhdGgKKworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorCisgICAgdG9rZW4g
PSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVz
dC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2
ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0
b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAg
Y291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBpc19xdWVyeToKKyAgICAgICAgaWYgY291bnQg
PCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisg
ICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAgICByZXF1ZXN0LnNl
cnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorCisgICAgaWYgaXNfcXVlcnk6CisgICAgICBo
ZWFkZXJzID0gWygiQ291bnQiLCBjb3VudCldCisgICAgICBjb250ZW50ID0gIiIKKyAgICAgIHJl
dHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKKyAgICBlbHNlOgorICAgICAgZmlsZW5hbWUgPSAi
Z3JlZW4tMTZ4MTYucG5nIgorICAgICAgaWYgY291bnQgPiAxOgorICAgICAgICBmaWxlbmFtZSA9
ICJncmVlbi0yNTZ4MjU2LnBuZyIKKworICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihvcy5wYXRo
LmRpcm5hbWUoX19maWxlX18pLCAiLi4vLi4vLi4vaW1hZ2VzIiwgZmlsZW5hbWUpCisgICAgICBi
b2R5ID0gb3BlbihwYXRoLCAicmIiKS5yZWFkKCkKKworICAgICAgcmVzcG9uc2UuYWRkX3JlcXVp
cmVkX2hlYWRlcnMgPSBGYWxzZQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX3N0YXR1cygy
MDApCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVyKCJjb250ZW50LWxlbmd0aCIs
IGxlbihib2R5KSkKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIoIkNhY2hlLUNv
bnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwIikK
KyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIoImNvbnRlbnQtdHlwZSIsICJpbWFn
ZS9wbmciKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLmVuZF9oZWFkZXJzKCkKKworICAgICAgcmVz
cG9uc2Uud3JpdGVyLndyaXRlKGJvZHkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVz
b3VyY2VzL3N0YWxlLXNjcmlwdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUt
c2NyaXB0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhZDU0NjcxZjQyMTE3MzVmNTZkZjUwYTU1ZGVlYTZlZDI4
MWQ1YTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxl
LXNjcmlwdC5weQpAQCAtMCwwICsxLDMyIEBACitpbXBvcnQgcmFuZG9tLCBzdHJpbmcsIGRhdGV0
aW1lCisKK2RlZiBpZF90b2tlbigpOgorICAgbGV0dGVycyA9IHN0cmluZy5hc2NpaV9sb3dlcmNh
c2UKKyAgIHJldHVybiAnJy5qb2luKHJhbmRvbS5jaG9pY2UobGV0dGVycykgZm9yIGkgaW4gcmFu
Z2UoMjApKQorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgdG9rZW4gPSByZXF1
ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQu
Zmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rh
c2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikK
KyAgICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAgY291bnQg
PSBpbnQodmFsdWUpCisgICAgICBpZiBpc19xdWVyeToKKyAgICAgICAgaWYgY291bnQgPCAyOgor
ICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgICBl
bHNlOgorICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAgICByZXF1ZXN0LnNlcnZlci5z
dGFzaC5wdXQodG9rZW4sIGNvdW50KQorCisgICAgaWYgaXNfcXVlcnk6CisgICAgICBoZWFkZXJz
ID0gWygiQ291bnQiLCBjb3VudCldCisgICAgICBjb250ZW50ID0gIiIKKyAgICAgIHJldHVybiAy
MDAsIGhlYWRlcnMsIGNvbnRlbnQKKyAgICBlbHNlOgorICAgICAgdW5pcXVlX2lkID0gaWRfdG9r
ZW4oKQorICAgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2phdmFzY3JpcHQi
KSwKKyAgICAgICAgICAgICAgICAgKCJDYWNoZS1Db250cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9
MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIpLAorICAgICAgICAgICAgICAgICAoIlVuaXF1
ZS1JZCIsIHVuaXF1ZV9pZCldCisgICAgICBjb250ZW50ID0gInJlcG9ydCgne30nKSIuZm9ybWF0
KHVuaXF1ZV9pZCkKKyAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1YTc3MzJhNTY2ZDRh
NmY1NzNjYzk3ZmQzZDE0NTQ2NTdkNDc2ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTkgQEAKK1RoZSB0ZXN0
cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5
LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlm
eSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3Rh
bGUtc2NyaXB0LnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhhYzk5NDA1YTdiODljMTNlNTc4N2VhZjA3OWVkNmYxNDg4ZThjMTAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUt
Y3NzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU2MjYwZmRiNDVjMGMyYzYwYjRkNzZmNjNhNzYzODlkZjgx
OGIxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApA
QCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIHdvcmtzIGZvciBjc3M8L3RpdGxl
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0Pgor
Cit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7Cithc3luY190ZXN0KHQgPT4geworICB3aW5k
b3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHQuc3RlcF90aW1lb3V0KCgpID0+
IHsKKyAgICAgIGFzc2VydF9lcXVhbHMod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Ym9keSkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpLCAicmdiKDAsIDEyOCwg
MCkiKTsKKyAgICAgIHZhciBsaW5rMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsK
KyAgICAgIGxpbmsyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0
eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyksICJyZ2IoMCwgMTI4LCAwKSIpOworICAgICAgICB2
YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdl
IGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAg
ZmV0Y2goInJlc291cmNlcy9zdGFsZS1jc3MucHk/cXVlcnkmdG9rZW49IiArIHJlcXVlc3RfdG9r
ZW4pLnRoZW4odC5zdGVwX2Z1bmMoKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICB2YXIgY291
bnQgPSByZXNwb25zZS5oZWFkZXJzLmdldCgiQ291bnQiKTsKKyAgICAgICAgICAgIGlmIChjb3Vu
dCA9PSAnMicpIHsKKyAgICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAg
ICAgICAgfQorICAgICAgICAgIH0pKTsKKyAgICAgICAgfTsKKyAgICAgICAgdC5zdGVwX3RpbWVv
dXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgIH0pOworICAgICAgbGluazIucmVsID0gInN0eWxl
c2hlZXQiOworICAgICAgbGluazIudHlwZSA9ICJ0ZXh0L2NzcyI7CisgICAgICBsaW5rMi5ocmVm
ID0gInJlc291cmNlcy9zdGFsZS1jc3MucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmsyKTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9
LCAnQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZScpOworCit2YXIgbGluayA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsKK2xpbmsucmVsID0gInN0eWxlc2hlZXQiOworbGluay50
eXBlID0gInRleHQvY3NzIjsKK2xpbmsuaHJlZiA9ICJyZXNvdXJjZXMvc3RhbGUtY3NzLnB5P3Rv
a2VuPSIgKyByZXF1ZXN0X3Rva2VuOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWlt
YWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWU0MjAxNGRlZmQ3MTkxMDk2YzMzY2NlNTgzMGVmN2NhYTFhNTdhNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACisgCisKK1BBU1MgQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJj
ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTA4ZjgxNzI5ZGU0OTk4
NWM2NTc1ZTFhN2E1ZmNiNzdkM2EwZWUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLWltYWdlLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0
ZSB3b3JrcyBmb3IgaW1hZ2VzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzxib2R5PgorPCEtLQorVXNlIGEgY2hpbGQgZG9jdW1lbnQgdG8gbG9hZCB0aGUgc2Vj
b25kIHN0YWxlIGltYWdlIGludG8gYmVjYXVzZQorYW4gaW1hZ2UgbG9hZGVkIGludG8gdGhlIHNh
bWUgZG9jdW1lbnQgd2lsbCBza2lwIGNhY2hlLWNvbnRyb2wgaGVhZGVycy4KK1NlZTogaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWxpc3Qtb2YtYXZhaWxhYmxlLWltYWdlcworLS0+
Cis8aWZyYW1lIGlkPSJjaGlsZCIgc3JjZG9jPSIiPjwvaWZyYW1lPgorPHNjcmlwdD4KKwordmFy
IHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworYXN5bmNfdGVzdCh0ID0+IHsKKyAgd2luZG93Lm9u
bG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Cisg
ICAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaXJzdGltYWdlIiku
d2lkdGgsIDE2LCAiV2lkdGggaXMgMTYiKTsKKyAgICAgIHZhciBjaGlsZERvY3VtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoaWxkJykuY29udGVudERvY3VtZW50OworICAgICAgdmFy
IGltZzIgPSBjaGlsZERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOworICAgICAgaW1nMi5v
bmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaW1nMi53
aWR0aCwgMTYsICJpbWFnZSBkaW1lbnNpb24iKTsKKyAgICAgICAgdmFyIGNoZWNrUmVzdWx0ID0g
KCkgPT4geworICAgICAgICAgIC8vIFdlIHBvbGwgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoZW4g
dGhlIHJldmFsaWRhdGlvbiB3aWxsIG9jY3VyLgorICAgICAgICAgIGZldGNoKCJyZXNvdXJjZXMv
c3RhbGUtaW1hZ2UucHk/cXVlcnkmdG9rZW49IiArIHJlcXVlc3RfdG9rZW4pLnRoZW4odC5zdGVw
X2Z1bmMoKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICB2YXIgY291bnQgPSByZXNwb25zZS5o
ZWFkZXJzLmdldCgiQ291bnQiKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA9PSAnMicpIHsKKyAg
ICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAgfQorICAgICAg
ICAgIH0pKTsKKyAgICAgICAgfTsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQs
IDI1KTsKKyAgICAgIH0pOworICAgICAgaW1nMi5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLWltYWdl
LnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOworICAgICAgY2hpbGREb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGltZzIpOworICAgIH0sIDApOworICB9KTsKK30sICdDYWNoZSByZXR1cm5zIHN0
YWxlIHJlc291cmNlJyk7CisKK3ZhciBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWci
KTsKK2ltZy5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5P3Rva2VuPSIgKyByZXF1ZXN0
X3Rva2VuOworaW1nLmlkID0gImZpcnN0aW1hZ2UiOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpbWcpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
c3RhbGUtc2NyaXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhYzk5NDA1YTdiODljMTNlNTc4N2VhZjA3OWVkNmYx
NDg4ZThjMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDYWNoZSByZXR1cm5zIHN0YWxl
IHJlc291cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg3OTNl
NTAwNTZiYzYwNTNlYTQxMGQ2NThhZWQzNzNkMTlmOWE0MQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGls
ZSBSZXZhbGlkYXRlIHdvcmtzIGZvciBzY3JpcHRzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3ZhciBsYXN0X21vZGlmaWVkOwor
dmFyIGxhc3RfbW9kaWZpZWRfY291bnQgPSAwOwordmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigp
OworCisvLyBUaGUgc2NyaXB0IHdpbGwgY2FsbCByZXBvcnQgdmlhIGEgdW5pcXVlbHkgZ2VuZXJh
dGVkIElEIG9uIHRoZSBzdWJyZXNvdXJjZS4KKy8vIElmIGl0IGlzIGEgY2FjaGUgaGl0IHRoZSBJ
RCB3aWxsIGJlIHRoZSBzYW1lIGFuZCB0aGUgdGVzdCB3aWxsIHBhc3MuCitmdW5jdGlvbiByZXBv
cnQobW9kKSB7CisgIGlmICghbGFzdF9tb2RpZmllZCkgeworICAgIGxhc3RfbW9kaWZpZWQgPSBt
b2Q7CisgICAgbGFzdF9tb2RpZmllZF9jb3VudCA9IDE7CisgIH0gZWxzZSBpZiAobGFzdF9tb2Rp
ZmllZCA9PSBtb2QpIHsKKyAgICBsYXN0X21vZGlmaWVkX2NvdW50Kys7CisgIH0KK30KKworYXN5
bmNfdGVzdCh0ID0+IHsKKyAgd2luZG93Lm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAg
ICBzdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNjcmlwdCIpOworICAgICAgc2NyaXB0LnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUt
c2NyaXB0LnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOworICAgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChzY3JpcHQpOworICAgICAgc2NyaXB0Lm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgp
ID0+IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGxhc3RfbW9kaWZpZWRfY291bnQsIDIsICJs
YXN0IG1vZGlmaWVkIik7CisgICAgICAgICAgdmFyIGNoZWNrUmVzdWx0ID0gKCkgPT4geworICAg
ICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxp
ZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAgICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLXNj
cmlwdC5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygo
cmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgICAgdmFyIGNvdW50ID0gcmVzcG9uc2UuaGVhZGVy
cy5nZXQoIkNvdW50Iik7CisgICAgICAgICAgICAgIGlmIChjb3VudCA9PSAnMicpIHsKKyAgICAg
ICAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0pKTsKKyAgICAgICAgICB9OworICAgICAgICAgIHQuc3RlcF90aW1lb3V0
KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICB9KTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9LCAnQ2Fj
aGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZScpOworCit2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic2NyaXB0Iik7CitzY3JpcHQuc3JjID0gInJlc291cmNlcy9zdGFsZS1zY3Jp
cHQucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHNjcmlwdCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdy1pbnRlcmNlcHQuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRjYTdkZTUxYjBiOGM1NTE4Mjc2ZTcwYWUyMTliN2JjOGY4NjlhOTUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzCkBAIC0wLDAgKzEsMTQg
QEAKK2FzeW5jIGZ1bmN0aW9uIGJyb2FkY2FzdChtc2cpIHsKKyAgZm9yIChjb25zdCBjbGllbnQg
b2YgYXdhaXQgY2xpZW50cy5tYXRjaEFsbCgpKSB7CisgICAgY2xpZW50LnBvc3RNZXNzYWdlKG1z
Zyk7CisgIH0KK30KKworc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRjaCcsIGV2ZW50ID0+IHsK
KyAgZXZlbnQud2FpdFVudGlsKGJyb2FkY2FzdChldmVudC5yZXF1ZXN0LnVybCkpOworICBldmVu
dC5yZXNwb25kV2l0aChmZXRjaChldmVudC5yZXF1ZXN0KSk7Cit9KTsKKworc2VsZi5hZGRFdmVu
dExpc3RlbmVyKCdhY3RpdmF0ZScsIGV2ZW50ID0+IHsKKyAgc2VsZi5jbGllbnRzLmNsYWltKCk7
Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjlkZDA2Zjg0NmE3MDY4ZmVh
MmI4Mjg3ODFhZDc1Y2MxOThlN2EzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9mZXRjaC1zdy5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2Uu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdy1pbnRlcmNlcHQuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA4YTU2Zjg3NDRhNzU3NjFhMTE2ZjhlZDVmODY1Nzg4NDM5NDZiZDY4
Li43NDdkMjFhNGQwM2FhNTI0NGRhYmE0Y2ZiMDkwMTYyZjdlZDkwMDU2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMDA1LDQgKzIwMDUs
NyBAQCBpbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy1odG1sLTJkLmh0bWwKIHdlYmtpdC5vcmcv
Yi8xNTk3MjQgWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtcmVkaXJlY3QtcG9zdC11cGxvYWQuaHRtIFsgU2tpcCBdCiAKICMgU2tpcCBJc0xvZ2dlZElu
Ci1odHRwL3Rlc3RzL2lzLWxvZ2dlZC1pbi8gWyBTa2lwIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCitodHRwL3Rlc3RzL2lzLWxvZ2dlZC1pbi8gWyBTa2lwIF0KKworIyBTdGFsZS13aGls
ZS1yZXZhbGlkYXRlIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0sxCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUgWyBTa2lwIF0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiYTFhYTQw
OWY5ZmNjOWZjZWQyOTkxNWQ4ZjEzNWJhMTgxMGUwYTE4Li40Y2I1YWQyMGFkM2MwMzMxZDkwMGQ2
ODk1OTQ5NTRjYWY4N2QzYjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCkBAIC04MDEsMyArODAxLDYgQEAgd2Via2l0Lm9yZy9iLzIwMDAwMiBb
IE1vamF2ZSsgRGVidWcgXSBpbXBvcnRlZC9ibGluay9zdG9yYWdlL2luZGV4ZWRkYi9ibG9iLWJh
c2kKIAogIyBTa2lwIElzTG9nZ2VkSW4KIGh0dHAvdGVzdHMvaXMtbG9nZ2VkLWluLyBbIFNraXAg
XQorCisjIFN0YWxlLXdoaWxlLXJldmFsaWRhdGUgaXMgbm90IHN1cHBvcnRlZCBvbiBXSzEKK2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZSBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDQ4ZjM4
Mzc4NDljZTczY2U3YTIwZjk5YjcxODA5N2QwYzA4ZThjYmEuLjJmMWVjZDFjNzhiYjBhNTc5NGVj
NzBkYjY5ZTI5YWU0M2E3Y2MxNzggMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOS0xMC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJh
dGVneQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAx
NDYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IEhUVFBfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSBidWlsZCBmbGFnLgorCisgICAgICAg
ICogU291cmNlL2NtYWtlL09wdGlvbnNGVFcuY21ha2U6CisgICAgICAgICogU291cmNlL2NtYWtl
L09wdGlvbnNHVEsuY21ha2U6CisgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlOgorCiAyMDE5LTEwLTA4ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGln
YWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIE9wdGlvbnNXUEUuY21ha2Ug
YW5kIE5FV1MgZm9yIHRoZSAyLjI3LjEgcmVsZWFzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381807</attachid>
            <date>2019-10-24 07:31:03 -0700</date>
            <delta_ts>2019-10-24 07:48:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191024163101.patch</filename>
            <type>text/plain</type>
            <size>70655</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQ4Y2JlZTYzNDI3MGEx
OTY5YzBmMmFmNzRmNjA2YWYzMjkwM2RiMi4uMTc3NGIzNDdjNTYzZGEwNWI1NmMzNTQzNmQzNWFl
NDM0ZTlmYTlkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTEwLTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBwYXJzaW5nIHRoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlCisgICAgICAgIGFuZCBleHBvc2UgaXQgb24gUmVzb3Vy
Y2VSZXNwb25zZS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3Nz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxp
ZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZl
cyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2
YWxpZGF0ZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3Bv
bnNlQmFzZS5oOgorCiAyMDE5LTEwLTIzICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CiAKICAgICAgICAgW1BpY3R1cmUtaW4tUGljdHVyZSBXZWIgQVBJXSBJbXBsZW1lbnQgRW50ZXJQ
aWN0dXJlSW5QaWN0dXJlRXZlbnQgc3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkNWQ5Y2Q1ZmM2N2ViODM4
NTY5YzhiZmI2MTdmYTkyOGVhODVlYWVlLi41NTZlMDI0ZmRlYmQ4MzQxN2VlNDY4NzkwYTliMWRh
OGVlZjRiNmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE5LTEwLTI0ICBSb2IgQnVp
cyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZh
bGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgYSBuZXcgVXNlRGVjaXNpb24gdmFsdWUgQXN5bmNSZXZhbGlkYXRl
IGZvciBhc3luYyByZXZhbGlkYXRpb24uIFRoaXMgaXMgdXNlZAorICAgICAgICB3aGVuIHRoZSBy
ZXRyaWV2ZWQgY2FjaGUgZW50cnkgaXMgYSBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIHJlc3BvbnNl
IFsxXS4KKyAgICAgICAgSW4gY2FzZSBvZiBBc3luY1JldmFsaWRhdGUsIGEgY2hlY2sgaXMgbWFk
ZSB0byBzZWUgaWYgdGhlcmUgaXMgYQorICAgICAgICBjdXJyZW50IGFzeW5jIHJldmFsaWRhdGlv
biBvbmdvaW5nIGZvciB0aGUgZW50cnksIGlmIG5vdCBvbmUgaXMKKyAgICAgICAgc3RhcnRlZC4g
UmVnYXJkbGVzcywgdGhlIHN0YWxlIGVudHJ5IGlzIHJldHVybmVkLCB1bnRpbCBlaXRoZXIgdGhl
CisgICAgICAgIGFzeW5jIHJldmFsaWRhdGlvbiBlbmRzIHN1Y2Nlc3NmdWxseSBvciBhdCB0aGUg
bW9tZW50IHdoZW4gdGhlCisgICAgICAgIHJlc3BvbnNlIGV4cGlyZXMgZm9yIHJlYWwuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNjb25jZXB0LXN0YWxlLXdo
aWxlLXJldmFsaWRhdGUtcmVzcG9uc2UKKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpzZXRTdGFsZVdo
aWxlUmV2YWxpZGF0ZUVuYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6
aXNTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgY29uc3QpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZTo6Y29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdCk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlk
YXRlRW5kaW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpBc3luY1JldmFsaWRh
dGlvbjo6QXN5bmNSZXZhbGlkYXRpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hl
L0FzeW5jUmV2YWxpZGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6OkFzeW5jUmV2YWxpZGF0aW9uOjpsb2FkIGNvbnN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6OnJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
Q2FjaGU6Om1ha2VVc2VEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
bWFrZVN0b3JlRGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmNhblVz
ZVBlbmRpbmdSZXZhbGlkYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNh
Y2hlOjpzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQpOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrQ2FjaGU6OkNhY2hlOjpyZXRyaWV2ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
YWNoZTo6cmVzcG9uc2VIYXNFeHBpcmVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrQ2FjaGU6OmR1bXBIVFRQSGVhZGVyc0RpZmYpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
Q2FjaGU6OnJlcXVlc3RzSGVhZGVyc01hdGNoKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpkdW1wSFRUUEhlYWRlcnNEaWZmKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXF1ZXN0c0hlYWRlcnNNYXRjaCk6IERl
bGV0ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLQ29udGV4dC5jcHA6CisgICAgICAgIChXS0NvbnRleHRTZXRTdGFsZVdoaWxlUmV2YWxpZGF0
ZUVuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6c2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKwogMjAxOS0xMC0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYkJhY2tGb3J3YXJkQ2FjaGU6OnJlbW92ZUVudHJpZXNNYXRjaGlu
ZygpIG1heSByZS1lbnRlciBhbmQgY3Jhc2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcAppbmRleCA0OTU5MDUwNjc5Y2UwNTA0ODQy
NDQ3ZWIxZjVhMGJmOGE2NzY4M2NlLi4yZDM1MDdkZjIzN2RiMjk1ZDU5MzFhNGMwZGY3NjAyNzc3
ZGU3YjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hl
VmFsaWRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNo
ZVZhbGlkYXRpb24uY3BwCkBAIC0zMTMsOCArMzEzLDE4IEBAIENhY2hlQ29udHJvbERpcmVjdGl2
ZXMgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRl
cnMpCiAgICAgICAgICAgICAgICAgZG91YmxlIG1heFN0YWxlID0gZGlyZWN0aXZlc1tpXS5zZWNv
bmQudG9Eb3VibGUoJm9rKTsKICAgICAgICAgICAgICAgICBpZiAob2spCiAgICAgICAgICAgICAg
ICAgICAgIHJlc3VsdC5tYXhTdGFsZSA9IFNlY29uZHMgeyBtYXhTdGFsZSB9OwotICAgICAgICAg
ICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ld
LmZpcnN0LCAiaW1tdXRhYmxlIikpCisgICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGl2ZXNbaV0uZmlyc3QsICJpbW11dGFibGUiKSkgewog
ICAgICAgICAgICAgICAgIHJlc3VsdC5pbW11dGFibGUgPSB0cnVlOworICAgICAgICAgICAgfSBl
bHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0
LCAic3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKHJlc3Vs
dC5zdGFsZVdoaWxlUmV2YWxpZGF0ZSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGaXJzdCBz
dGFsZS13aGlsZS1yZXZhbGlkYXRlIGRpcmVjdGl2ZSB3aW5zIGlmIHRoZXJlIGFyZSBtdWx0aXBs
ZSBvbmVzLgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgYm9vbCBvazsKKyAgICAgICAgICAgICAgICBkb3VibGUgc3RhbGVX
aGlsZVJldmFsaWRhdGUgPSBkaXJlY3RpdmVzW2ldLnNlY29uZC50b0RvdWJsZSgmb2spOworICAg
ICAgICAgICAgICAgIGlmIChvaykKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnN0YWxlV2hp
bGVSZXZhbGlkYXRlID0gU2Vjb25kcyB7IHN0YWxlV2hpbGVSZXZhbGlkYXRlIH07CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oCmluZGV4IDU2ZWZlYTYyMTU0NDc5NTA2YTE2NjRm
ZmQwOGUwOGFiMmM1NTZiY2QuLjA0MGE5Njk3ZTVmYTgyZTFhZjUwZmZhOWFkMTkyNzI3ZjNiNzg0
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxp
ZGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlk
YXRpb24uaApAQCAtNjksNiArNjksNyBAQCBzdHJ1Y3QgQ2FjaGVDb250cm9sRGlyZWN0aXZlcyB7
CiAKICAgICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNvbmRzOjpNYXJrYWJsZVRyYWl0cz4gbWF4QWdl
OwogICAgIE1hcmthYmxlPFNlY29uZHMsIFNlY29uZHM6Ok1hcmthYmxlVHJhaXRzPiBtYXhTdGFs
ZTsKKyAgICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNvbmRzOjpNYXJrYWJsZVRyYWl0cz4gc3RhbGVX
aGlsZVJldmFsaWRhdGU7CiAgICAgYm9vbCBub0NhY2hlIDogMTsKICAgICBib29sIG5vU3RvcmUg
OiAxOwogICAgIGJvb2wgbXVzdFJldmFsaWRhdGUgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAppbmRleCAy
MGFjNjRkNTcwMzRjNjllYTkyYmM3YTQzNTM2ZjE2ZDc5NWZmYTI5Li4zMjcyZTBjNDhlNmI2NDdh
MDNkMDIzODM2OWFjM2I4MTBlNWVjY2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcApAQCAtNjU1LDYgKzY1
NSwxMyBAQCBPcHRpb25hbDxTZWNvbmRzPiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250
cm9sTWF4QWdlKCkgY29uc3QKICAgICByZXR1cm4gbV9jYWNoZUNvbnRyb2xEaXJlY3RpdmVzLm1h
eEFnZTsKIH0KIAorT3B0aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hl
Q29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1faGF2ZVBh
cnNlZENhY2hlQ29udHJvbEhlYWRlcikKKyAgICAgICAgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3Rp
dmVzKCk7CisgICAgcmV0dXJuIG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5zdGFsZVdoaWxlUmV2
YWxpZGF0ZTsKK30KKwogc3RhdGljIE9wdGlvbmFsPFdhbGxUaW1lPiBwYXJzZURhdGVWYWx1ZUlu
SGVhZGVyKGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMsIEhUVFBIZWFkZXJOYW1lIGhlYWRl
ck5hbWUpCiB7CiAgICAgU3RyaW5nIGhlYWRlclZhbHVlID0gaGVhZGVycy5nZXQoaGVhZGVyTmFt
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmgKaW5kZXggY2IxN2I1OTU0ODdkMTBiNzczYzRlNDg1MzU0MzAyNGE1MGYx
YTk3Zi4uNDA2ODFmMDc3YWI5ZWVkMDljOTM1YmIwYmFhYzllMGI0MDljMzhkZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuaApAQCAtMTM2LDYgKzEzNiw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29s
IGNhY2hlQ29udHJvbENvbnRhaW5zSW1tdXRhYmxlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBP
UlQgYm9vbCBoYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQ
T1JUIE9wdGlvbmFsPFNlY29uZHM+IGNhY2hlQ29udHJvbE1heEFnZSgpIGNvbnN0OworICAgIFdF
QkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZh
bGlkYXRlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8V2FsbFRpbWU+IGRh
dGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxTZWNvbmRzPiBhZ2UoKSBj
b25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxXYWxsVGltZT4gZXhwaXJlcygpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmlu
ZGV4IDM4N2VlZTI0MjBlZDU5NDJiMmFkMjdlODgzMzM1OWEwY2E2YTFkZWUuLmUyZWUzMDMyZTU5
ODBiYmYyYjQ0MTU5ZTk4NmE3YWUxZThjM2Y5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTI2NSw2ICsyNjUsMTEgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0U2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llc0ZvclRlc3RpbmcoUEFMOjpT
ZXNzaW9uSUQsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAjZW5kaWYKIAor
I2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgc2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFi
bGVkKGJvb2wgZW5hYmxlZCkgeyBtX3N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCA9IGVuYWJs
ZWQ7IH0KKyAgICBib29sIGlzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQ7IH0KKyNlbmRpZgorCiAgICAgdXNp
bmcgQ2FjaGVTdG9yYWdlUm9vdFBhdGhDYWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
U3RyaW5nJiYpPjsKICAgICB2b2lkIGNhY2hlU3RvcmFnZVJvb3RQYXRoKFBBTDo6U2Vzc2lvbklE
LCBDYWNoZVN0b3JhZ2VSb290UGF0aENhbGxiYWNrJiYpOwogCkBAIC01MzcsNyArNTQyLDExIEBA
IHByaXZhdGU6CiAjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKICAgICBib29s
IG1faXNJVFBEYXRhYmFzZUVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCi0gICAgCisKKyNpZiBQ
TEFURk9STShDT0NPQSkKKyAgICBib29sIG1fc3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkIHsg
ZmFsc2UgfTsKKyNlbmRpZgorCiAgICAgY2xhc3MgU3RvcmFnZVF1b3RhTWFuYWdlcnMgewogICAg
IHB1YmxpYzoKICAgICAgICAgdWludDY0X3QgZGVmYXVsdFF1b3RhKGNvbnN0IFdlYkNvcmU6OkNs
aWVudE9yaWdpbiYgb3JpZ2luKSBjb25zdCB7IHJldHVybiBvcmlnaW4udG9wT3JpZ2luID09IG9y
aWdpbi5jbGllbnRPcmlnaW4gPyBtX2RlZmF1bHRRdW90YSA6IG1fZGVmYXVsdFRoaXJkUGFydHlR
dW90YTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNDFmZWEwZGY1ODk0ZjNjNGMxYTJjMmMzMzVlYWIy
ZTgzYWQwNGIzYy4uNDllZjE0N2FiMWJjOWZiNzA1YWJjZTRkMTVjZmRiZjMwYzk0MTMyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Lm1lc3NhZ2VzLmluCkBAIC02MSw2ICs2MSw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNz
IExlZ2FjeVJlY2VpdmVyIHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTZXRRT1MoaW50IGxh
dGVuY3lRT1MsIGludCB0aHJvdWdocHV0UU9TKQogICAgIFNldFN0b3JhZ2VBY2Nlc3NBUElFbmFi
bGVkKGJvb2wgZW5hYmxlZCkKKyAgICBTZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoYm9v
bCBlbmFibGVkKQogI2VuZGlmCiAgICAgU2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGVGb3JXZWJT
b2NrZXQoYm9vbCBlbmFibGVkKSAtPiAoKSBTeW5jaHJvbm91cwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVjOGI5NGNmMTBiNmZjNzM0ZmM5Mzc0ODVlMDVjYTdmYjk4NTZiZDAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2
YWxpZGF0aW9uLmNwcApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5
IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJB
c3luY1JldmFsaWRhdGlvbi5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVZhbGlkYXRpb24u
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKKworc3Rh
dGljIGlubGluZSBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY29uc3RydWN0UmV2YWxpZGF0aW9u
UmVxdWVzdChjb25zdCBLZXkmIGtleSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBFbnRyeSogZW50cnkpCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0IHJldmFsaWRhdGlvblJlcXVlc3QgPSByZXF1ZXN0OworICAgIGlmICgha2V5LnBhcnRpdGlv
bigpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRDYWNoZVBhcnRp
dGlvbihrZXkucGFydGl0aW9uKCkpOworICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uoa2V5LnJhbmdl
KCkuaXNFbXB0eSgpLCAicmFuZ2UgaXMgbm90IHN1cHBvcnRlZCIpOworCisgICAgcmV2YWxpZGF0
aW9uUmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOworICAgIGlmIChlbnRyeSkgeworICAgICAg
ICBTdHJpbmcgZVRhZyA9IGVudHJ5LT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChXZWJDb3Jl
OjpIVFRQSGVhZGVyTmFtZTo6RVRhZyk7CisgICAgICAgIGlmICghZVRhZy5pc0VtcHR5KCkpCisg
ICAgICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZChXZWJDb3Jl
OjpIVFRQSGVhZGVyTmFtZTo6SWZOb25lTWF0Y2gsIGVUYWcpOworCisgICAgICAgIFN0cmluZyBs
YXN0TW9kaWZpZWQgPSBlbnRyeS0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6
SFRUUEhlYWRlck5hbWU6Okxhc3RNb2RpZmllZCk7CisgICAgICAgIGlmICghbGFzdE1vZGlmaWVk
LmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0SFRUUEhlYWRl
ckZpZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpJZk1vZGlmaWVkU2luY2UsIGxhc3RNb2Rp
ZmllZCk7CisgICAgfQorCisgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRQcmlvcml0eShXZWJD
b3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eTo6TG93KTsKKworICAgIHJldHVybiByZXZhbGlkYXRp
b25SZXF1ZXN0OworfQorCit2b2lkIEFzeW5jUmV2YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxp
ZGF0ZUVuZGluZygpCit7CisgICAgaWYgKG1fY29tcGxldGlvbkhhbmRsZXIpIHsKKyAgICAgICAg
bV9jb21wbGV0aW9uSGFuZGxlcih0cnVlKTsKKyAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlciA9
IG51bGxwdHI7CisgICAgfQorfQorCitBc3luY1JldmFsaWRhdGlvbjo6QXN5bmNSZXZhbGlkYXRp
b24oQ2FjaGUmIGNhY2hlLCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2Fj
aGU6OkVudHJ5PiBlbnRyeSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBoYW5kbGVy
KQorICAgIDogbV90aW1lcigqdGhpcywgJkFzeW5jUmV2YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2
YWxpZGF0ZUVuZGluZykKKyAgICAsIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVy
KSkKK3sKKyAgICBhdXRvIGtleSA9IGVudHJ5LT5rZXkoKTsKKyAgICBhdXRvIHJldmFsaWRhdGlv
blJlcXVlc3QgPSBjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KGtleSwgcmVxdWVzdCwgZW50
cnkuZ2V0KCkpOworICAgIGF1dG8gYWdlID0gV2ViQ29yZTo6Y29tcHV0ZUN1cnJlbnRBZ2UoZW50
cnktPnJlc3BvbnNlKCksIGVudHJ5LT50aW1lU3RhbXAoKSk7CisgICAgYXV0byBsaWZldGltZSA9
IFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkoZW50cnktPnJl
c3BvbnNlKCksIGVudHJ5LT50aW1lU3RhbXAoKSk7CisgICAgYXV0byByZXNwb25zZU1heFN0YWxl
bmVzcyA9IGVudHJ5LT5yZXNwb25zZSgpLmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRl
KCk7CisgICAgQVNTRVJUKHJlc3BvbnNlTWF4U3RhbGVuZXNzKTsKKyAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgqcmVzcG9uc2VNYXhTdGFsZW5lc3MgLSAoYWdlIC0gbGlmZXRpbWUpKTsKKyAgICBt
X2xvYWQgPSBtYWtlVW5pcXVlPFNwZWN1bGF0aXZlTG9hZD4oY2FjaGUsIGZyYW1lSUQsIHJldmFs
aWRhdGlvblJlcXVlc3QsIFdURk1vdmUoZW50cnkpLCBbdGhpcywga2V5LCByZXZhbGlkYXRpb25S
ZXF1ZXN0XShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IHJldmFsaWRhdGVkRW50cnkpIHsKKyAgICAg
ICAgQVNTRVJUKCFyZXZhbGlkYXRlZEVudHJ5IHx8ICFyZXZhbGlkYXRlZEVudHJ5LT5uZWVkc1Zh
bGlkYXRpb24oKSk7CisgICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8fCByZXZhbGlk
YXRlZEVudHJ5LT5rZXkoKSA9PSBrZXkpOworICAgICAgICBpZiAobV9jb21wbGV0aW9uSGFuZGxl
cikgeworICAgICAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlcihyZXZhbGlkYXRlZEVudHJ5Lmdl
dCgpKTsKKyAgICAgICAgICAgIG1fY29tcGxldGlvbkhhbmRsZXIgPSBudWxscHRyOworICAgICAg
ICB9CisgICAgfSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQorfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0FzeW5jUmV2YWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0FzeW5jUmV2YWxpZGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYzNDczYWMzYzBjODczYTdhN2Fl
YmZmNjA5MTk3ZjQ5ZGVjNWY3NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uaApAQCAtMCwwICsxLDU2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiTmV0d29ya0NhY2hlLmgiCisjaW5jbHVkZSAiTmV0d29ya0NhY2hl
RW50cnkuaCIKKyNpbmNsdWRlICJOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaCIKKyNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9u
SGFuZGxlci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgU3BlY3VsYXRpdmVMb2Fk
OworCituYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKKworY2xhc3MgQXN5bmNSZXZhbGlkYXRpb24g
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEFzeW5jUmV2YWxp
ZGF0aW9uKENhY2hlJiwgY29uc3QgR2xvYmFsRnJhbWVJRCYsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OkVudHJ5PiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CisKKyAgICBjb25zdCBTcGVjdWxhdGl2ZUxvYWQm
IGxvYWQoKSBjb25zdCB7IHJldHVybiAqbV9sb2FkOyB9CisKKyAgICB2b2lkIHN0YWxlV2hpbGVS
ZXZhbGlkYXRlRW5kaW5nKCk7CisKK3ByaXZhdGU6CisgICAgc3RkOjp1bmlxdWVfcHRyPFNwZWN1
bGF0aXZlTG9hZD4gbV9sb2FkOworICAgIFdlYkNvcmU6OlRpbWVyIG1fdGltZXI7CisgICAgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4gbV9jb21wbGV0aW9uSGFuZGxlcjsKK307CisKK30g
Ly8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQorfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5k
ZXggZjM0NGQxYWJhNjRmZTkzYzljYmViZDQ3ZjQzZTgxNjNiYWNkN2MxNy4uMDVlMWM5ZTcwMjgz
OGE5N2NiMGJhMWY4ZWZlNDBhYzI2NzBhOGNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcApAQCAtMjYsNiArMjYsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZS5oIgogCisjaW5jbHVk
ZSAiQXN5bmNSZXZhbGlkYXRpb24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAi
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtD
YWNoZVN0b3JhZ2UuaCIKQEAgLTE1MiwzNSArMTUzLDQ0IEBAIHN0YXRpYyBib29sIGNhY2hlUG9s
aWN5QWxsb3dzRXhwaXJlZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBwb2xp
Y3kpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgYm9vbCByZXNwb25zZUhhc0V4cGly
ZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFdhbGxUaW1lIHRp
bWVzdGFtcCwgT3B0aW9uYWw8U2Vjb25kcz4gbWF4U3RhbGUpCitzdGF0aWMgVXNlRGVjaXNpb24g
cmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3Ms
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBXYWxsVGltZSB0aW1l
c3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxlKQogewogICAgIGlmIChyZXNwb25zZS5j
YWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
ICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAKICAgICBhdXRvIGFnZSA9IFdlYkNv
cmU6OmNvbXB1dGVDdXJyZW50QWdlKHJlc3BvbnNlLCB0aW1lc3RhbXApOwogICAgIGF1dG8gbGlm
ZXRpbWUgPSBXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJl
c3BvbnNlLCB0aW1lc3RhbXApOwogCiAgICAgYXV0byBtYXhpbXVtU3RhbGVuZXNzID0gbWF4U3Rh
bGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMF9tczsKICAgICBib29sIGhhc0V4cGlyZWQgPSBhZ2Ug
LSBsaWZldGltZSA+IG1heGltdW1TdGFsZW5lc3M7CisgICAgaWYgKGhhc0V4cGlyZWQgJiYgIW1h
eFN0YWxlICYmIG5ldHdvcmtQcm9jZXNzLmlzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKCkp
IHsKKyAgICAgICAgYXV0byByZXNwb25zZU1heFN0YWxlbmVzcyA9IHJlc3BvbnNlLmNhY2hlQ29u
dHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAgICAgIG1heGltdW1TdGFsZW5lc3MgKz0g
cmVzcG9uc2VNYXhTdGFsZW5lc3MgPyByZXNwb25zZU1heFN0YWxlbmVzcy52YWx1ZSgpIDogMF9t
czsKKyAgICAgICAgYm9vbCBpblJlc3BvbnNlU3RhbGVuZXNzID0gYWdlIC0gbGlmZXRpbWUgPCBt
YXhpbXVtU3RhbGVuZXNzOworICAgICAgICBpZiAoaW5SZXNwb25zZVN0YWxlbmVzcykKKyAgICAg
ICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRlOworICAgIH0KIAorICAg
IGlmIChoYXNFeHBpcmVkKSB7CiAjaWZuZGVmIExPR19ESVNBQkxFRAotICAgIGlmIChoYXNFeHBp
cmVkKQotICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBuZWVkc1Jl
dmFsaWRhdGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBsaWZldGltZT0lZiBtYXgtc3RhbGU9JWciLCBh
Z2UsIGxpZmV0aW1lLCBtYXhTdGFsZSk7CisgICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0
d29ya1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4cGlyZWQgYWdlPSVmIGxpZmV0aW1l
PSVmIG1heC1zdGFsZW5lc3M9JWYiLCBhZ2UsIGxpZmV0aW1lLCBtYXhpbXVtU3RhbGVuZXNzKTsK
ICNlbmRpZgorICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlZhbGlkYXRlOworICAgIH0KIAot
ICAgIHJldHVybiBoYXNFeHBpcmVkOworICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogfQog
Ci1zdGF0aWMgYm9vbCByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIFdhbGxUaW1lIHRpbWVzdGFtcCkKK3N0YXRpYyBVc2VEZWNpc2lvbiByZXNwb25z
ZU5lZWRzUmV2YWxpZGF0aW9uKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUgdGltZXN0YW1wKQogewogICAgIGF1dG8gcmVx
dWVzdERpcmVjdGl2ZXMgPSBXZWJDb3JlOjpwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMocmVx
dWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOwogICAgIGlmIChyZXF1ZXN0RGlyZWN0aXZlcy5ub0Nh
Y2hlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpW
YWxpZGF0ZTsKICAgICAvLyBGb3IgcmVxdWVzdHMgd2UgaWdub3JlIG1heC1hZ2UgdmFsdWVzIG90
aGVyIHRoYW4gemVyby4KICAgICBpZiAocmVxdWVzdERpcmVjdGl2ZXMubWF4QWdlICYmIHJlcXVl
c3REaXJlY3RpdmVzLm1heEFnZS52YWx1ZSgpID09IDBfbXMpCi0gICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlZhbGlkYXRlOwogCi0gICAgcmV0dXJuIHJl
c3BvbnNlSGFzRXhwaXJlZChyZXNwb25zZSwgdGltZXN0YW1wLCByZXF1ZXN0RGlyZWN0aXZlcy5t
YXhTdGFsZSk7CisgICAgcmV0dXJuIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24obmV0d29ya1By
b2Nlc3MsIHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJlcXVlc3REaXJlY3RpdmVzLm1heFN0YWxlKTsK
IH0KIAogc3RhdGljIFVzZURlY2lzaW9uIG1ha2VVc2VEZWNpc2lvbihOZXR3b3JrUHJvY2VzcyYg
bmV0d29ya1Byb2Nlc3MsIGNvbnN0IFBBTDo6U2Vzc2lvbklEJiBzZXNzaW9uSUQsIGNvbnN0IEVu
dHJ5JiBlbnRyeSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQpAQCAt
MTk3LDggKzIwNyw5IEBAIHN0YXRpYyBVc2VEZWNpc2lvbiBtYWtlVXNlRGVjaXNpb24oTmV0d29y
a1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25zdCBQQUw6OlNlCiAgICAgaWYgKGNhY2hlUG9s
aWN5QWxsb3dzRXhwaXJlZChyZXF1ZXN0LmNhY2hlUG9saWN5KCkpKQogICAgICAgICByZXR1cm4g
VXNlRGVjaXNpb246OlVzZTsKIAotICAgIGlmICghcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihl
bnRyeS5yZXNwb25zZSgpLCByZXF1ZXN0LCBlbnRyeS50aW1lU3RhbXAoKSkpCi0gICAgICAgIHJl
dHVybiBVc2VEZWNpc2lvbjo6VXNlOworICAgIGF1dG8gZGVjaXNpb24gPSByZXNwb25zZU5lZWRz
UmV2YWxpZGF0aW9uKG5ldHdvcmtQcm9jZXNzLCBlbnRyeS5yZXNwb25zZSgpLCByZXF1ZXN0LCBl
bnRyeS50aW1lU3RhbXAoKSk7CisgICAgaWYgKGRlY2lzaW9uICE9IFVzZURlY2lzaW9uOjpWYWxp
ZGF0ZSkKKyAgICAgICAgcmV0dXJuIGRlY2lzaW9uOwogCiAgICAgaWYgKCFlbnRyeS5yZXNwb25z
ZSgpLmhhc0NhY2hlVmFsaWRhdG9yRmllbGRzKCkpCiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lv
bjo6Tm9EdWVUb01pc3NpbmdWYWxpZGF0b3JGaWVsZHM7CkBAIC0yNTEsOCArMjYyLDEwIEBAIHN0
YXRpYyBTdG9yZURlY2lzaW9uIG1ha2VTdG9yZURlY2lzaW9uKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYgb3JpZ2luYWxSCiAgICAgYm9vbCBzdG9yZVVuY29uZGl0aW9uYWxseUZvckhp
c3RvcnlOYXZpZ2F0aW9uID0gaXNNYWluUmVzb3VyY2UgfHwgb3JpZ2luYWxSZXF1ZXN0LnByaW9y
aXR5KCkgPT0gV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6OlZlcnlIaWdoOwogICAgIGlm
ICghc3RvcmVVbmNvbmRpdGlvbmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbikgewogICAgICAgICBh
dXRvIG5vdyA9IFdhbGxUaW1lOjpub3coKTsKLSAgICAgICAgYm9vbCBoYXNOb25aZXJvTGlmZXRp
bWUgPSAhcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNOb0NhY2hlKCkgJiYgV2ViQ29yZTo6
Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShyZXNwb25zZSwgbm93KSA+IDBf
bXM7Ci0KKyAgICAgICAgU2Vjb25kcyBhbGxvd2VkU3RhbGU7CisgICAgICAgIGlmIChhdXRvIHZh
bHVlID0gcmVzcG9uc2UuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKSkKKyAgICAg
ICAgICAgIGFsbG93ZWRTdGFsZSA9IHZhbHVlLnZhbHVlKCk7CisgICAgICAgIGJvb2wgaGFzTm9u
WmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpICYm
IChXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNl
LCBub3cpID4gMF9tcyB8fCBhbGxvd2VkU3RhbGUgPiAwX21zKTsKICAgICAgICAgYm9vbCBwb3Nz
aWJseVJldXNhYmxlID0gcmVzcG9uc2UuaGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSB8fCBoYXNO
b25aZXJvTGlmZXRpbWU7CiAgICAgICAgIGlmICghcG9zc2libHlSZXVzYWJsZSkKICAgICAgICAg
ICAgIHJldHVybiBTdG9yZURlY2lzaW9uOjpOb0R1ZVRvVW5saWtlbHlUb1JldXNlOwpAQCAtMjk2
LDYgKzMwOSwyNiBAQCBzdGF0aWMgYm9vbCBpbmxpbmUgY2FuUmVxdWVzdFVzZVNwZWN1bGF0aXZl
UmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUgogfQogI2VuZGlmCiAKK3N0YXRp
YyBpbmxpbmUgYm9vbCBjYW5Vc2VQZW5kaW5nUmV2YWxpZGF0aW9uKGNvbnN0IFNwZWN1bGF0aXZl
TG9hZCYgbG9hZCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0
KQoreworICAgIHJldHVybiByZXF1ZXN0c0hlYWRlcnNNYXRjaChsb2FkLm9yaWdpbmFsUmVxdWVz
dCgpLCBhY3R1YWxSZXF1ZXN0KTsKK30KKwordm9pZCBDYWNoZTo6c3RhcnRBc3luY1JldmFsaWRh
dGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgTmV0d29ya0NhY2hlOjpLZXkmIGtleSwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBlbnRyeSwg
Y29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCkKK3sKKyAgICBhdXRvKiBwZW5kaW5nQXN5bmNS
ZXZhbGlkYXRpb24gPSBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMuZ2V0KGtleSk7CisgICAg
aWYgKHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbiAmJiBjYW5Vc2VQZW5kaW5nUmV2YWxpZGF0aW9u
KHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbi0+bG9hZCgpLCByZXF1ZXN0KSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgYXV0byByZXZhbGlkYXRvciA9IG1ha2VVbmlxdWU8QXN5bmNSZXZhbGlkYXRp
b24+KCp0aGlzLCBmcmFtZUlELCByZXF1ZXN0LCBXVEZNb3ZlKGVudHJ5KSwgW3RoaXMsIGtleV0o
Ym9vbCBlbmRpbmcpIHsKKyAgICAgICAgaWYgKGVuZGluZykgeworICAgICAgICAgICAgbV9wZW5k
aW5nQXN5bmNSZXZhbGlkYXRpb25zLnRha2Uoa2V5KTsKKyAgICAgICAgICAgIExPRyhOZXR3b3Jr
Q2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIEFzeW5jIHJldmFsaWRhdGlvbiBjb21wbGV0ZWQgZm9y
ICclcyc6Iiwga2V5LmlkZW50aWZpZXIoKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgfQorICAg
IH0pOworICAgIG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9ucy5hZGQoa2V5LCBXVEZNb3ZlKHJl
dmFsaWRhdG9yKSk7Cit9CisKIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgUmV0
cmlldmVDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VS
VChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSk7CkBAIC0zMzQsMTIgKzM2
NywxMSBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogICAgIH0KICNlbmRpZgogCi0gICAgbV9z
dG9yYWdlLT5yZXRyaWV2ZShzdG9yYWdlS2V5LCBwcmlvcml0eSwgW3JlcXVlc3QsIGNvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGluZm8gPSBXVEZNb3ZlKGlu
Zm8pLCBzdG9yYWdlS2V5LCBuZXR3b3JrUHJvY2VzcyA9IG1ha2VSZWYobmV0d29ya1Byb2Nlc3Mo
KSksIHNlc3Npb25JRCA9IG1fc2Vzc2lvbklEXShhdXRvIHJlY29yZCwgYXV0byB0aW1pbmdzKSBt
dXRhYmxlIHsKKyAgICBtX3N0b3JhZ2UtPnJldHJpZXZlKHN0b3JhZ2VLZXksIHByaW9yaXR5LCBb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCByZXF1ZXN0LCBjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBpbmZvID0gV1RGTW92ZShpbmZv
KSwgc3RvcmFnZUtleSwgbmV0d29ya1Byb2Nlc3MgPSBtYWtlUmVmKG5ldHdvcmtQcm9jZXNzKCkp
LCBzZXNzaW9uSUQgPSBtX3Nlc3Npb25JRCwgZnJhbWVJRF0oYXV0byByZWNvcmQsIGF1dG8gdGlt
aW5ncykgbXV0YWJsZSB7CiAgICAgICAgIGluZm8uc3RvcmFnZVRpbWluZ3MgPSB0aW1pbmdzOwog
CiAgICAgICAgIGlmICghcmVjb3JkKSB7CiAgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAi
KE5ldHdvcmtQcm9jZXNzKSBub3QgZm91bmQgaW4gc3RvcmFnZSIpOwotCiAgICAgICAgICAgICBj
b21wbGV0ZVJldHJpZXZlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBudWxscHRyLCBpbmZv
KTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQpAQCAtMzUwLDYgKzM4Miwx
MiBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogCiAgICAgICAgIGF1dG8gdXNlRGVjaXNpb24g
PSBlbnRyeSA/IG1ha2VVc2VEZWNpc2lvbihuZXR3b3JrUHJvY2Vzcywgc2Vzc2lvbklELCAqZW50
cnksIHJlcXVlc3QpIDogVXNlRGVjaXNpb246Ok5vRHVlVG9EZWNvZGVGYWlsdXJlOwogICAgICAg
ICBzd2l0Y2ggKHVzZURlY2lzaW9uKSB7CisgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OkFzeW5j
UmV2YWxpZGF0ZTogeworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBlbnRyeUNv
cHkgPSBtYWtlVW5pcXVlPEVudHJ5PigqZW50cnkpOworICAgICAgICAgICAgZW50cnlDb3B5LT5z
ZXROZWVkc1ZhbGlkYXRpb24odHJ1ZSk7CisgICAgICAgICAgICBzdGFydEFzeW5jUmV2YWxpZGF0
aW9uSWZOZWVkZWQocmVxdWVzdCwgc3RvcmFnZUtleSwgV1RGTW92ZShlbnRyeUNvcHkpLCBmcmFt
ZUlEKTsKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOworICAgICAgICB9CiAgICAgICAgIGNhc2Ug
VXNlRGVjaXNpb246OlVzZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFVzZURl
Y2lzaW9uOjpWYWxpZGF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZS5oCmluZGV4IDBkZWU3Zjg4ZGZmNjE2MmNjM2ZkNzg1MWI4MzgwZmM1
YTgzYmQ1YWUuLjgwZTcwNDliMGFjZGQ0OTBkMmUyNDQ0YjkwZjExYTAyMzA4MDFlNWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaApA
QCAtNTAsNiArNTAsNyBAQCBjbGFzcyBOZXR3b3JrUHJvY2VzczsKIAogbmFtZXNwYWNlIE5ldHdv
cmtDYWNoZSB7CiAKK2NsYXNzIEFzeW5jUmV2YWxpZGF0aW9uOwogY2xhc3MgQ2FjaGU7CiBjbGFz
cyBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOwogCkBAIC04Miw2ICs4Myw3IEBAIGVudW0gY2xhc3Mg
U3RvcmVEZWNpc2lvbiB7CiBlbnVtIGNsYXNzIFVzZURlY2lzaW9uIHsKICAgICBVc2UsCiAgICAg
VmFsaWRhdGUsCisgICAgQXN5bmNSZXZhbGlkYXRlLAogICAgIE5vRHVlVG9WYXJ5aW5nSGVhZGVy
TWlzbWF0Y2gsCiAgICAgTm9EdWVUb01pc3NpbmdWYWxpZGF0b3JGaWVsZHMsCiAgICAgTm9EdWVU
b0RlY29kZUZhaWx1cmUsCkBAIC0xNjksNiArMTcxLDggQEAgcHVibGljOgogICAgIFNwZWN1bGF0
aXZlTG9hZE1hbmFnZXIqIHNwZWN1bGF0aXZlTG9hZE1hbmFnZXIoKSB7IHJldHVybiBtX3NwZWN1
bGF0aXZlTG9hZE1hbmFnZXIuZ2V0KCk7IH0KICNlbmRpZgogCisgICAgdm9pZCBzdGFydEFzeW5j
UmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgTmV0d29ya0NhY2hlOjpLZXkmLCBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+LCBjb25zdCBHbG9i
YWxGcmFtZUlEJik7CisKICAgICBOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MoKSB7IHJl
dHVybiBtX25ldHdvcmtQcm9jZXNzLmdldCgpOyB9CiAgICAgY29uc3QgUEFMOjpTZXNzaW9uSUQm
IHNlc3Npb25JRCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbklEOyB9CiAgICAgY29uc3QgU3Ry
aW5nJiBzdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9zdG9yYWdlRGlyZWN0b3J5
OyB9CkBAIC0xOTUsNiArMTk5LDggQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3Bl
Y3VsYXRpdmVMb2FkTWFuYWdlcj4gbV9zcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOwogI2VuZGlmCiAK
KyAgICBIYXNoTWFwPEtleSwgc3RkOjp1bmlxdWVfcHRyPEFzeW5jUmV2YWxpZGF0aW9uPj4gbV9w
ZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zOworCiAgICAgdW5zaWduZWQgbV90cmF2ZXJzZUNvdW50
IHsgMCB9OwogICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogICAgIFN0cmluZyBtX3N0
b3JhZ2VEaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXgg
NmM3MmZhYmU3MmUzNTk0NDhhN2MxYjI5MWNkOTBlOTUwZTViYmU1NC4uMDFiYzg3ZmZlYzc5N2Y5
ZDc3M2FkNThmZDliYjMyYzQxMWRlNDM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVM
b2FkLmNwcApAQCAtMTU1LDYgKzE1NSw0MyBAQCB2b2lkIFNwZWN1bGF0aXZlTG9hZDo6ZGlkQ29t
cGxldGUoKQogICAgIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShtX2NhY2hlRW50cnkpKTsK
IH0KIAorI2lmICFMT0dfRElTQUJMRUQKKworc3RhdGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlm
Zihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVh
ZGVyc0IpCit7CisgICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7CisgICAgZm9yIChhdXRv
IGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgeworICAgICAgICBTdHJp
bmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOworICAgICAgICBpZiAodmFsdWVCLmlz
TnVsbCgpKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGlu
ZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVlc3QgKHZhbHVlOiAl
cykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKKyAg
ICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKKyAgICAgICAgICAgIExPRyhOZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIgZGlmZmVy
cyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQt
PnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsKKyAgICB9CisgICAg
YXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7CisgICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0Iu
YmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgeworICAgICAgICBpZiAoIWhlYWRlcnNBLmNvbnRh
aW5zKGl0LT5rZXkpKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJl
bG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29uZCByZXF1ZXN0ICh2
YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEo
KSk7CisgICAgfQorfQorCisjZW5kaWYKKworYm9vbCByZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3QsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkKK3sKKyAgICBBU1NFUlQoIWFjdHVhbFJlcXVl
c3QuaXNDb25kaXRpb25hbCgpKTsKKyAgICBSZXNvdXJjZVJlcXVlc3Qgc3BlY3VsYXRpdmVSZXF1
ZXN0ID0gc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdDsKKyAgICBzcGVjdWxhdGl2ZVJlcXVl
c3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKworICAgIGlmIChzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0
cEhlYWRlckZpZWxkcygpICE9IGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKSB7Cisg
ICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICJDYW5ub3QgcmV1
c2Ugc3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQgZW50cnkgYmVjYXVzZSBIVFRQIGhlYWRlcnMgdXNl
ZCBmb3IgdmFsaWRhdGlvbiBkbyBub3QgbWF0Y2giKTsKKyNpZiAhTE9HX0RJU0FCTEVECisgICAg
ICAgIGR1bXBIVFRQSGVhZGVyc0RpZmYoc3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVs
ZHMoKSwgYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOworI2VuZGlmCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIE5ldHdvcmtDYWNoZQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVM
b2FkLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZC5oCmluZGV4IDU0MDZkOWY4MjE4YjM4MDViNDY4YjY4OWM5YmUyY2Y4ZjYz
ODAwNGYuLmVmMjE4ZjM4NWFhNmU5ZDBlNzczNTYyZDhkMGU3ZjU3Zjg0NzRlMGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaApAQCAtNzgsNiArNzgsOCBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9kaWRDb21wbGV0ZSB7IGZhbHNlIH07CiB9OwogCitib29sIHJlcXVlc3RzSGVhZGVy
c01hdGNoKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgc3BlY3VsYXRpdmVWYWxpZGF0
aW9uUmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0
KTsKKwogfSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKaW5kZXgg
Njc5NDAzOWI3ZTE5MTdhNGFhYmFkNGQyZDUwOGY3Mzk1Mzc4NjU2Ny4uOTgwNmY2MmVhN2JiMDVj
MGMzZWQ3MmFhZmRlNzQzZGQ1ZWRhYjgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC0yNTYsNDMgKzI1Niw2IEBAIFNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXI6On5TcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyKCkKIHsKIH0KIAotI2lmICFMT0dfRElT
QUJMRUQKLQotc3RhdGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVy
TWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyc0IpCi17Ci0gICAgYXV0
byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVn
aW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgewotICAgICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVy
c0IuZ2V0KGl0LT5rZXkpOwotICAgICAgICBpZiAodmFsdWVCLmlzTnVsbCgpKQotICAgICAgICAg
ICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhl
YWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0Zjgo
KS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAgZWxzZSBpZiAoaXQt
PnZhbHVlICE9IHZhbHVlQikKLSAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2
ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3Rz
OiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRh
KCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsKLSAgICB9Ci0gICAgYXV0byBiRW5kID0gaGVhZGVy
c0IuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVu
ZDsgKytpdCkgewotICAgICAgICBpZiAoIWhlYWRlcnNBLmNvbnRhaW5zKGl0LT5rZXkpKQotICAg
ICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBI
VFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29uZCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtl
eS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSk7Ci0gICAgfQotfQotCi0j
ZW5kaWYKLQotc3RhdGljIGJvb2wgcmVxdWVzdHNIZWFkZXJzTWF0Y2goY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIGFjdHVhbFJlcXVlc3QpCi17Ci0gICAgQVNTRVJUKCFhY3R1YWxSZXF1ZXN0LmlzQ29uZGl0
aW9uYWwoKSk7Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IHNwZWN1bGF0aXZlUmVxdWVzdCA9IHNwZWN1
bGF0aXZlVmFsaWRhdGlvblJlcXVlc3Q7Ci0gICAgc3BlY3VsYXRpdmVSZXF1ZXN0Lm1ha2VVbmNv
bmRpdGlvbmFsKCk7Ci0KLSAgICBpZiAoc3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVs
ZHMoKSAhPSBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSkgewotICAgICAgICBMT0co
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiQ2Fubm90IHJldXNlIHNwZWN1bGF0
aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJlY2F1c2UgSFRUUCBoZWFkZXJzIHVzZWQgZm9yIHZhbGlk
YXRpb24gZG8gbm90IG1hdGNoIik7Ci0jaWYgIUxPR19ESVNBQkxFRAotICAgICAgICBkdW1wSFRU
UEhlYWRlcnNEaWZmKHNwZWN1bGF0aXZlUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCksIGFjdHVh
bFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKTsKLSNlbmRpZgotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwotfQotCiBib29sIFNwZWN1bGF0aXZlTG9hZE1h
bmFnZXI6OmNhblVzZVByZWxvYWRlZEVudHJ5KGNvbnN0IFByZWxvYWRlZEVudHJ5JiBlbnRyeSwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KQogewogICAgIGlmICghZW50cnku
d2FzUmV2YWxpZGF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IGQyYTMxY2MwZTRlMjdiM2M4NTJiOWU0
ZTU5ZjNiMGNiZTYxMTliYzMuLjdkMmJhZmViMzUwYjQ1NjU4NzcxOWEzY2I2NzcxMjU3MDdiMmE4
ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dApAQCAtNzcsNiArNzcsNyBAQCBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmUuY3BwCiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmVDYWNoZS5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlcy5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rp
b24uY3BwCitOZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5jcHAKIE5ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcAogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlQ29kZXJzLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5j
cHAKaW5kZXggZmFmOGE1MjhlYTIzMDlhYmZhZTE3N2JkZWVhYjI3YzVkNWYwNzMyOS4uNjVkYmNm
MmVkNWI0YjFmN2VhODk1OTNlNDE4YWI0M2NiYjU0NTIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCkBAIC02NzIsMyArNjcyLDkgQEAgdm9pZCBXS0Nv
bnRleHRTZXRVc2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKFdLQ29udGV4dFJlZiBjb250
ZXh0UmVmLCBib29sIHUKIHsKICAgICBXZWJLaXQ6OnRvSW1wbChjb250ZXh0UmVmKS0+c2V0VXNl
U2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzcyh1c2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9j
ZXNzKTsKIH0KKwordm9pZCBXS0NvbnRleHRTZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQo
V0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICBXZWJLaXQ6OnRv
SW1wbChjb250ZXh0UmVmKS0+c2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKGVuYWJsZWQp
OworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRl
eHQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCmluZGV4IDcy
ODczNTU4NWI2ZDhkNDMxOGQ2Y2QyNmJlNTNiYzI2MWRlYTdkZTkuLmNkOWU4MTU0NzE4ZTE0ZjE2
YzZhZjczZjlhMTg5MTNkZjczMzc1NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLQ29udGV4dC5oCkBAIC0xMzksNiArMTM5LDggQEAgV0tfRVhQT1JUIGJvb2wgV0tDb250ZXh0
R2V0VXNlc1NpbmdsZVdlYlByb2Nlc3MoV0tDb250ZXh0UmVmKTsKIAogV0tfRVhQT1JUIHZvaWQg
V0tDb250ZXh0U2V0U3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoV0tDb250ZXh0UmVmLCBib29sIGVu
YWJsZWQpOwogCitXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRTZXRTdGFsZVdoaWxlUmV2YWxpZGF0
ZUVuYWJsZWQoV0tDb250ZXh0UmVmLCBib29sIGVuYWJsZWQpOworCiBXS19FWFBPUlQgdm9pZCBX
S0NvbnRleHRTdGFydE1lbW9yeVNhbXBsZXIoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLRG91Ymxl
UmVmIGludGVydmFsKTsKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFN0b3BNZW1vcnlTYW1wbGVy
KFdLQ29udGV4dFJlZiBjb250ZXh0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwCmluZGV4IGQ1NWFjNDhlNjM2YWY4YzY3YWZjN2Y0ZjFjYjNhZDdhMzM1MGRi
YTUuLjcyOGJiMzEzYTkzZGNiMDNhNzAwMzI0ODM0YmQ3NWY4MTJkNjZjMTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTM5NCw2ICszOTQsMTQgQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0U3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoYm9vbCBlbmFi
bGVkKQogI2VuZGlmCiB9CiAKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldFN0YWxlV2hpbGVSZXZh
bGlkYXRlRW5hYmxlZChib29sIGVuYWJsZWQpCit7CisgICAgbV9zdGFsZVdoaWxlUmV2YWxpZGF0
ZUVuYWJsZWQgPSBlbmFibGVkOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHNlbmRUb05ldHdv
cmtpbmdQcm9jZXNzKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0U3RhbGVXaGlsZVJldmFs
aWRhdGVFbmFibGVkKGVuYWJsZWQpKTsKKyNlbmRpZgorfQorCiB2b2lkIFdlYlByb2Nlc3NQb29s
OjpzZXRDdXN0b21XZWJDb250ZW50U2VydmljZUJ1bmRsZUlkZW50aWZpZXIoY29uc3QgU3RyaW5n
JiBjdXN0b21XZWJDb250ZW50U2VydmljZUJ1bmRsZUlkZW50aWZpZXIpCiB7CiAgICAgLy8gR3Vh
cmQgYWdhaW5zdCBBUEkgbWlzdXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmgKaW5kZXggMDRjY2M5NmI5Y2ViNTg4YzQ0ODBlNGNmNGNiNzc1Y2U0NzNiM2VjMy4uNDQz
MWM2Mjk2MzhhNDBmYjc2OWJiZDIzNDVlMDdlODMwNWU0YzYzYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC00NjgsNiArNDY4LDkgQEAgcHVibGljOgogICAg
IGJvb2wgc3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3N0b3JhZ2VB
Y2Nlc3NBUElFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZChi
b29sKTsKIAorICAgIGJvb2wgc3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQ7IH0KKyAgICB2b2lkIHNldFN0YWxl
V2hpbGVSZXZhbGlkYXRlRW5hYmxlZChib29sKTsKKwogICAgIHN0YXRpYyB1aW50NjRfdCByZWdp
c3RlclByb2Nlc3NQb29sQ3JlYXRpb25MaXN0ZW5lcihGdW5jdGlvbjx2b2lkKFdlYlByb2Nlc3NQ
b29sJik+JiYpOwogICAgIHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJQcm9jZXNzUG9vbENyZWF0aW9u
TGlzdGVuZXIodWludDY0X3QgaWRlbnRpZmllcik7CiAKQEAgLTczOSw2ICs3NDIsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9jb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZCB7IGZhbHNl
IH07CiAjZW5kaWYKICAgICBib29sIG1fc3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQgeyBmYWxzZSB9
OworICAgIGJvb2wgbV9zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgeyBmYWxzZSB9OwogCiAg
ICAgc3RydWN0IFBhdGhzIHsKICAgICAgICAgU3RyaW5nIGluamVjdGVkQnVuZGxlUGF0aDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJi
YmRlOWMyMGNkYmQ3NzZlNjRlNzY1Mjk4MmQ1MjUwN2UxYjEwMzEuLjI2MTFlZDFlMWFiZjYyZjZh
MTQ4ZTAzNjQxYTEwYTFhZDYzMzc5YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM4NSw2ICsxMzg1LDcgQEAKIAkJQTc4Q0NEREMx
OTNBQzlGQjAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYiBpbiBDb3B5
RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4Q0NERDkxOTNBQzlF
MzAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYiAqLzsgfTsKIAkJQTdE
NzkyRDgxNzY3Q0NBMzAwODgxQ0JFIC8qIEFjdGl2aXR5QXNzZXJ0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q3OTJENDE3NjdDQjA5MDA4ODFD
QkUgLyogQWN0aXZpdHlBc3NlcnRpb24uaCAqLzsgfTsKIAkJQUFCMTQ1RTYyMjNGOTMxMjAwRTQ4
OUQ4IC8qIFByZWZldGNoQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEFBQjE0NUU0MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVmZXRjaENhY2hlLmgg
Ki87IH07CisJCUFBRkE2MzRGMjM0RjdDNjQwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFGQTYzNEUy
MzRGN0M2MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggKi87IH07CiAJCUI2MkU3MzEy
MTQzMDQ3QjAwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2MkU3MzExMTQzMDQ3QjAwMDY5RUMzNSAvKiBX
S0hpdFRlc3RSZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlCODc4QjYxNTEzMzQyOERDMDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCODc4QjYxMzEz
MzQyOERDMDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmggKi87IH07CiAJCUJDMDE3RDA3MTYy
NjBGRjQwMDcwNTRGNSAvKiBXS0RPTURvY3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0NGRjE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01E
b2N1bWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC00MTUwLDYgKzQxNTEsOCBAQAogCQlBN0U5M0NFQjE5MjUzMUFBMDBBMURDNDggLyogQXV4
aWxpYXJ5UHJvY2Vzc0lPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFt
ZSA9IEF1eGlsaWFyeVByb2Nlc3NJT1MubW07IHBhdGggPSBpb3MvQXV4aWxpYXJ5UHJvY2Vzc0lP
Uy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFCMTQ1RTQyMjNGOTMxMjAwRTQ4
OUQ4IC8qIFByZWZldGNoQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UHJlZmV0Y2hDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUIxNDVFNTIy
M0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBQcmVmZXRjaENhY2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQUFGQTYzNEUyMzRGN0M2MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jUmV2YWxpZGF0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRkE2MzUwMjM0RjdDNzMwMEZGQTg2NCAvKiBB
c3luY1JldmFsaWRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBc3luY1JldmFsaWRhdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIzOTZFQTU1MTJFMEVEMkQwMEY0
RkVCNyAvKiBjb25maWcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gY29uZmln
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2MkU3MzBGMTQzMDQ3QTYwMDY5RUMz
NSAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV0tIaXRUZXN0UmVzdWx0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QjYyRTczMTExNDMwNDdCMDAwNjlFQzM1IC8qIFdLSGl0VGVzdFJlc3VsdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS0hpdFRlc3RSZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTkxNzcsNiArOTE4MCw4IEBACiAJCUU0ODlEMjgyMUEwQTJCRTgwMDc4
QzA2QSAvKiBjYWNoZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CisJCQkJQUFGQTYzNTAyMzRGN0M3MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmNwcCAq
LywKKwkJCQlBQUZBNjM0RTIzNEY3QzYzMDBGRkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCAq
LywKIAkJCQk0MTg5N0VENjFGNDE1RDg2MDAxNkZBNDIgLyogQ2FjaGVTdG9yYWdlRW5naW5lLmNw
cCAqLywKIAkJCQk0MTg5N0VEMjFGNDE1RDg1MDAxNkZBNDIgLyogQ2FjaGVTdG9yYWdlRW5naW5l
LmggKi8sCiAJCQkJNDFDODU4MTkxRjUxMERFRTAwNjVFMDg1IC8qIENhY2hlU3RvcmFnZUVuZ2lu
ZUNhY2hlLmNwcCAqLywKQEAgLTk0MTksNiArOTQyNCw3IEBACiAJCQkJQTE3NUM0NEEyMUFBMzE3
MTAwMDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUNF
MUEwQkQyMUE0OEU2QzYwMDU0RUY3NCAvKiBBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTE1RTc3MjgxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQUFGQTYzNEYyMzRGN0M2NDAwRkZBODY0IC8qIEFzeW5jUmV2YWxp
ZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFOTY2RDExMkZBRjU3MDA2QkNDMjQgLyog
QXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBMzE3MzIxMzRDRUE2QzAwN0M5QTRG
IC8qIEF0dHJpYnV0ZWRTdHJpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1ODk3MTJBODgz
ODgwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmggaW4gSGVhZGVycyAq
LywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBl
OGZiOGY1MDkyOTZkMjYwNDMzMGEzZDJlNTE3ODU4ZDg2NmRkZjJlLi5kYjNiODUzYmMxNDY4Mjcz
MWI4MGY4YzgwYzdhYWQyMWQyOTlhMThiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMTAtMjQgIFJvYiBCdWlz
ICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFs
aWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIHRlc3RSdW5uZXIgbWV0aG9kIHRvIGVuYWJsZSBzdGFsZS13aGls
ZS1yZXZhbGlkYXRlCisgICAgICAgIGluIHRoZSBOZXR3b3JrIHByb2Nlc3MuCisKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRs
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5j
cHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5h
YmxlZCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6Cisg
ICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdl
RnJvbUluamVjdGVkQnVuZGxlKToKKwogMjAxOS0xMC0yMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TIDEzXSBpbXBvcnRlZC9tb3ppbGxhL3N2
Zy90ZXh0L3RleHRwYXRoLXNlbGVjdGlvbi5zdmcgaXMgZmxha3kKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5u
ZXIuaWRsCmluZGV4IGZhZWYwYTAzZmM0YjA1ODllNzQzYzY5M2U0NDI3Mzg0MzY3MDQ2NzAuLmM1
MGY0MjU4ODhhMjUzNDZmM2ZlM2IyYzgwZjE4OWJlYzUwMzBjZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbApAQCAtMzUyLDYgKzM1Miw4IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAg
ICB2b2lkIHNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAg
dm9pZCBnZXRBbGxTdG9yYWdlQWNjZXNzRW50cmllcyhvYmplY3QgY2FsbGJhY2spOwogCisgICAg
dm9pZCBzZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKwog
ICAgIC8vIE9wZW4gcGFuZWwKICAgICB2b2lkIHNldE9wZW5QYW5lbEZpbGVzKG9iamVjdCBmaWxl
c0FycmF5KTsKICAgICB2b2lkIHNldE9wZW5QYW5lbEZpbGVzTWVkaWFJY29uKG9iamVjdCBtZWRp
YUljb24pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5jcHAKaW5kZXggY2UzMjEzNzU2YzlmMDUwYzk2YTY4M2JjNTE5YTRmOTRhNDMy
ZmM0ZS4uMWJlMGE4YWNiOWQ5NGU4Y2VmYWUwZGM3NDJmMjYyOGMzNzA3MmEwZSAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3Bw
CkBAIC0yMjkxLDYgKzIyOTEsMTUgQEAgdm9pZCBUZXN0UnVubmVyOjpnZXRBbGxTdG9yYWdlQWNj
ZXNzRW50cmllcyhKU1ZhbHVlUmVmIGNhbGxiYWNrKQogICAgIFdLQnVuZGxlUG9zdFN5bmNocm9u
b3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VO
YW1lLmdldCgpLCBudWxscHRyLCBudWxscHRyKTsKIH0KIAordm9pZCBUZXN0UnVubmVyOjpzZXRT
dGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIFdLUmV0YWlu
UHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoIlNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCIpKTsKKworICAgIFdL
UmV0YWluUHRyPFdLQm9vbGVhblJlZj4gbWVzc2FnZUJvZHkgPSBhZG9wdFdLKFdLQm9vbGVhbkNy
ZWF0ZShlbmFibGVkKSk7CisKKyAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5q
ZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVz
c2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOworfQorCiB2b2lkIFRlc3RSdW5uZXI6OmNhbGxEaWRS
ZWNlaXZlQWxsU3RvcmFnZUFjY2Vzc0VudHJpZXNDYWxsYmFjayhWZWN0b3I8U3RyaW5nPiYgZG9t
YWlucykKIHsKICAgICBXS0J1bmRsZUZyYW1lUmVmIG1haW5GcmFtZSA9IFdLQnVuZGxlUGFnZUdl
dE1haW5GcmFtZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCkpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
aAppbmRleCBlMDM5NGU2NTg4ZTM5ZmQzNWY4N2I1YjczMmM1NzZhYzEyZmZkNWJlLi4yMjA1ZjZi
YzViNmVkZmM0NzAzZGIyNjg0MDhlMmY5MWQxYWZhNjYzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtNDU4LDYgKzQ1OCw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIGdldEFsbFN0b3JhZ2VBY2Nlc3NFbnRyaWVzKEpTVmFsdWVS
ZWYgY2FsbGJhY2spOwogICAgIHZvaWQgY2FsbERpZFJlY2VpdmVBbGxTdG9yYWdlQWNjZXNzRW50
cmllc0NhbGxiYWNrKFZlY3RvcjxTdHJpbmc+JiBkb21haW5zKTsKIAorICAgIHZvaWQgc2V0U3Rh
bGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKGJvb2wpOworCiAgICAgLy8gT3BlbiBwYW5lbAogICAg
IHZvaWQgc2V0T3BlblBhbmVsRmlsZXMoSlNWYWx1ZVJlZik7CiAgICAgdm9pZCBzZXRPcGVuUGFu
ZWxGaWxlc01lZGlhSWNvbihKU1ZhbHVlUmVmKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5jcHAKaW5kZXggM2M2MjY5YzQ5MDY0ZGEzZDg5Zjc1OWFkMzZlOGUxYzQ1MWRi
MjQ1Mi4uZWNmNDc1N2E1MDU0ZmFjZGI5MDA5OWM2N2I4YzY4NWRiNDdlMjFjOSAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTkyMSw2ICs5MjEsMTIgQEAg
V0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9u
b3VzTWVzc2FnZUZyb21JbmplY3RlZEIKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQog
CisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRT
dGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQiKSkgeworICAgICAgICBXS0Jvb2xlYW5SZWYgYWNj
ZXB0ID0gc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihtZXNzYWdlQm9keSk7CisgICAgICAgIFdL
Q29udGV4dFNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZChUZXN0Q29udHJvbGxlcjo6c2lu
Z2xldG9uKCkuY29udGV4dCgpLCBXS0Jvb2xlYW5HZXRWYWx1ZShhY2NlcHQpKTsKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENT
dHJpbmcobWVzc2FnZU5hbWUsICJTZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZSIpKSB7CiAgICAg
ICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0
ZShXS0Jvb2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KG1lc3NhZ2VCb2R5
KSkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxY2QxZmQzZDljNWFmZWExMTM3
N2UzYmNjOWExNWJmYWRjYWNkZTlhLi4yMzgwNTQzNTZlNTVmYzUwNzRkZGFjOTg3NTRiZTNhZWNh
ZDI4NWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMTAtMjQgIFJvYiBCdWlzICA8cmJ1
aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUg
Y2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNraXAgbmV3bHkgaW1wb3J0ZWQgdGVzdHMgZm9yIFdLMS4KKworICAgICAgICAqIHBs
YXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
d2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTktMTAtMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBOb3RpZmljYXRpb24gc2hvdWxkIG5vdCBwcmV2ZW50IGVu
dGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IDA4MjZkNTI2NzcyNjlkZmQ1MjkwNzhkODQ1MjEzYzY0MTExNTRmYTEuLmU5NGUzYTgy
NzBhOWRlZjYzNjdhNDk3YmRkNzMwMjM0ZmM4ZmY3MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTEwLTI0ICBSb2IgQnVpcyAgPHJidWlzQGln
YWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hl
IHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbXBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBXUFQgdGVzdHMuCisKKyAgICAgICAgKiBy
ZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5o
dHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUt
Y3NzLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5w
eTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5OiBB
ZGRlZC4KKyAgICAgICAgKGlkX3Rva2VuKToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
c3RhbGUtY3NzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvc3RhbGUtaW1hZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qczogQWRk
ZWQuCisgICAgICAgIChhc3luYy5icm9hZGNhc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nOiBBZGRlZC4K
KwogMjAxOS0xMC0yMyAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29t
PgogCiAgICAgICAgIFtTVkcyXSBGaXggU1ZHU1ZHRWxlbWVudCB0byBjb25mb3JtIHdpdGggU1ZH
MgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQt
ZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2lt
cG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCA2ZDViZjAwZjE0ODQ0NTY0NDg5ZWRjYmJiZjVh
NmQzMDEyOWNhNzhjLi42N2E1ZjcwNGU5MWRmMmYxZjc4MmUyNTU5OWU4YjA2OTU5ZGNlOTgyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBl
Y3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2lt
cG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMTY0LDYgKzE2NCw3IEBACiAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9hcGkiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvY29ycyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3JhbmdlIjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L2Z1bGxzY3JlZW4iOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZ2FtZXBhZCI6
ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9nZW5lcmljLXNlbnNvciI6ICJza2lw
IiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFj
Nzc3YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBTZWNvbmQg
ZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3
Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFjNzc3YWRmMjQ4YWEz
N2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNo
LXN3Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBTZWNvbmQgZmV0
Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
ZmV0Y2gtc3cuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjYxZWFiMDc2M2ZjNjVhZTA1MGEzYmM5OTBiOTBjZjVjMzJmOWE1OWYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbApAQCAt
MCwwICsxLDY3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPlN0YWxlIFJldmFsaWRhdGlvbiBSZXF1ZXN0cyBkb24n
dCBnZXQgc2VudCB0byBzZXJ2aWNlIHdvcmtlcjwvdGl0bGU+CisgIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4v
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3Vi
LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICBpZiAoInRlc3RSdW5uZXIiIGluIHdpbmRv
dykKKyAgICB0ZXN0UnVubmVyLnNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCh0cnVlKTsK
KworICAvLyBEdXBsaWNhdGluZyB0aGlzIHJlc291cmNlIHRvIG1ha2Ugc2VydmljZSB3b3JrZXIg
c2NvcGluZyBzaW1wbGVyLgorICBhc3luYyBmdW5jdGlvbiBzZXR1cFJlZ2lzdHJhdGlvbkFuZFdh
aXRUb0JlQ29udHJvbGxlZCh0LCBzY29wZSkgeworICAgIGNvbnN0IGNvbnRyb2xsZWQgPSBuZXcg
UHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25j
b250cm9sbGVyY2hhbmdlID0gKCkgPT4geyByZXNvbHZlKCk7IH07CisgICAgfSk7CisgICAgY29u
c3QgcmVnID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoJ3N3LWludGVy
Y2VwdC5qcycpOworICAgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAn
YWN0aXZhdGVkJyk7CisgICAgYXdhaXQgY29udHJvbGxlZDsKKyAgICBhZGRfY29tcGxldGlvbl9j
YWxsYmFjayhfID0+IHJlZy51bnJlZ2lzdGVyKCkpOworICAgIHJldHVybiByZWc7CisgIH0KKwor
ICAvLyBVc2luZyAyNTBtcyBwb2xsaW5nIGludGVydmFsIHRvIHByb3ZpZGUgZW5vdWdoICduZXR3
b3JrIGNhbG1uZXNzJyB0byBnaXZlCisgIC8vIHRoZSBiYWNrZ3JvdW5kIGxvdyBwcmlvcml0eSBy
ZXZhbGlkYXRpb24gcmVxdWVzdCBhIGNoYW5jZSB0byBraWNrIGluLgorICBmdW5jdGlvbiB3YWl0
MjUwbXModGVzdCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAg
IHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgfSwg
MjUwKTsKKyAgICB9KTsKKyAgfQorCisgIHByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewor
ICAgIHZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKyAgICBjb25zdCB1cmkgPSAncmVzb3Vy
Y2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0nICsgcmVxdWVzdF90b2tlbjsKKworICAgIGF3YWl0
IHNldHVwUmVnaXN0cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVkKHRlc3QsICdyZXNvdXJjZXMv
c3RhbGUtc2NyaXB0LnB5Jyk7CisKKyAgICB2YXIgc2VydmljZV93b3JrZXJfY291bnQgPSAwOwor
ICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBm
dW5jdGlvbiBvbmNlKGV2ZW50KSB7CisgICAgICBpZiAoZXZlbnQuZGF0YS5lbmRzV2l0aCh1cmkp
KSB7CisgICAgICAgIHNlcnZpY2Vfd29ya2VyX2NvdW50Kys7CisgICAgICB9CisgICAgfSk7CisK
KyAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVyaSk7CisgICAgY29uc3QgcmVzcG9u
c2UyID0gYXdhaXQgZmV0Y2godXJpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlLmhlYWRl
cnMuZ2V0KCdVbmlxdWUtSWQnKSwgcmVzcG9uc2UyLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSk7
CisgICAgd2hpbGUodHJ1ZSkgeworICAgICAgY29uc3QgcmV2YWxpZGF0aW9uX2NoZWNrID0gYXdh
aXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49YCArIHJlcXVl
c3RfdG9rZW4pOworICAgICAgaWYgKHJldmFsaWRhdGlvbl9jaGVjay5oZWFkZXJzLmdldCgnQ291
bnQnKSA9PSAnMicpIHsKKyAgICAgICAgLy8gVGhlIHNlcnZpY2Ugd29ya2VyIHNob3VsZCBub3Qg
c2VlIHRoZSByZXZhbGlkYXRpb24gcmVxdWVzdC4KKyAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXJ2
aWNlX3dvcmtlcl9jb3VudCwgMik7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgYXdh
aXQgd2FpdDI1MG1zKHRlc3QpOworICAgIH0KKyAgfSwgJ1NlY29uZCBmZXRjaCByZXR1cm5zIHNh
bWUgcmVzcG9uc2UnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJmZTlhNjQ1YmM1OWVmNzBmZmE4MWMyZGRlYzMwYjNhMDQ2MzA2YzAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbApAQCAtMCwwICsxLDM1
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0
cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIGlzIG5vdCBleGVjdXRlZCBmb3IgZmV0Y2ggQVBJPC90
aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitpZiAo
InRlc3RSdW5uZXIiIGluIHdpbmRvdykKKyAgdGVzdFJ1bm5lci5zZXRTdGFsZVdoaWxlUmV2YWxp
ZGF0ZUVuYWJsZWQodHJ1ZSk7CisKK2Z1bmN0aW9uIHdhaXQyNW1zKHRlc3QpIHsKKyAgcmV0dXJu
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsK
KyAgICAgIHJlc29sdmUoKTsKKyAgICB9LCAyNSk7CisgIH0pOworfQorCitwcm9taXNlX3Rlc3Qo
YXN5bmMgKHRlc3QpID0+IHsKKyAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworCisgIGNv
bnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9r
ZW49YCArIHJlcXVlc3RfdG9rZW4pOworICBjb25zdCByZXNwb25zZTIgPSBhd2FpdCBmZXRjaChg
cmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisKKyAg
YXNzZXJ0X2VxdWFscyhyZXNwb25zZS5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJyksIHJlc3BvbnNl
Mi5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJykpOworCisgIHdoaWxlKHRydWUpIHsKKyAgICBjb25z
dCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlw
dC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAgaWYgKHJldmFsaWRhdGlv
bl9jaGVjay5oZWFkZXJzLmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAgICAgIGJyZWFrOworICAg
IH0KKyAgICBhd2FpdCB3YWl0MjVtcyh0ZXN0KTsKKyAgfQorfSwgJ1NlY29uZCBmZXRjaCByZXR1
cm5zIHNhbWUgcmVzcG9uc2UnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0
YWxlLWNzcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmFlNTQ2ZDA2NTFmOTdmMzAyMDgyOTQ1MmRiNjIyNTQ4
NmRjNDUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFs
ZS1jc3MucHkKQEAgLTAsMCArMSwyOCBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgor
CisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIGlzX3F1
ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAgIHdpdGgg
cmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2ZXIu
c3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFsdWUgIT0gTm9u
ZToKKyAgICAgICAgY291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBpc19xdWVyeToKKyAgICAg
ICAgaWYgY291bnQgPCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tl
biwgY291bnQpCisgICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAg
ICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAgIGlmIGlzX3F1ZXJ5
OgorICAgICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIi
CisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIGNv
bnRlbnQgPSAiYm9keSB7IGJhY2tncm91bmQ6IHJnYigwLCAxMjgsIDApOyB9IgorICAgICAgaWYg
Y291bnQgPiAxOgorICAgICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNrZ3JvdW5kOiByZ2IoMjU1
LCAwLCAwKTsgfSIKKworICAgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2Nz
cyIpLAorICAgICAgICAgICAgICAgKCJDYWNoZS1Db250cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9
MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIpXQorCisgICAgICByZXR1cm4gMjAwLCBoZWFk
ZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxl
LWltYWdlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MzllYjg0YmIzNGJiZDE1ZTJjYTcwNjFlZTRmYTU3MjRkMmM2NGY4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQpAQCAt
MCwwICsxLDM4IEBACitpbXBvcnQgb3MucGF0aAorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25z
ZSk6CisKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAg
aXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAg
d2l0aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNl
cnZlci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAh
PSBOb25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5Ogor
ICAgICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0
KHRva2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisg
ICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisKKyAgICBpZiBp
c19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRl
bnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6Cisg
ICAgICBmaWxlbmFtZSA9ICJncmVlbi0xNngxNi5wbmciCisgICAgICBpZiBjb3VudCA+IDE6Cisg
ICAgICAgIGZpbGVuYW1lID0gImdyZWVuLTI1NngyNTYucG5nIgorCisgICAgICBwYXRoID0gb3Mu
cGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLi8uLi8uLi9pbWFnZXMiLCBm
aWxlbmFtZSkKKyAgICAgIGJvZHkgPSBvcGVuKHBhdGgsICJyYiIpLnJlYWQoKQorCisgICAgICBy
ZXNwb25zZS5hZGRfcmVxdWlyZWRfaGVhZGVycyA9IEZhbHNlCisgICAgICByZXNwb25zZS53cml0
ZXIud3JpdGVfc3RhdHVzKDIwMCkKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIo
ImNvbnRlbnQtbGVuZ3RoIiwgbGVuKGJvZHkpKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRl
X2hlYWRlcigiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdlPTAsIHN0YWxlLXdoaWxl
LXJldmFsaWRhdGU9NjAiKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiY29u
dGVudC10eXBlIiwgImltYWdlL3BuZyIpCisgICAgICByZXNwb25zZS53cml0ZXIuZW5kX2hlYWRl
cnMoKQorCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoYm9keSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFkNTQ2NzFmNDIxMTczNWY1
NmRmNTBhNTVkZWVhNmVkMjgxZDVhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5CkBAIC0wLDAgKzEsMzIgQEAKK2ltcG9ydCByYW5k
b20sIHN0cmluZywgZGF0ZXRpbWUKKworZGVmIGlkX3Rva2VuKCk6CisgICBsZXR0ZXJzID0gc3Ry
aW5nLmFzY2lpX2xvd2VyY2FzZQorICAgcmV0dXJuICcnLmpvaW4ocmFuZG9tLmNob2ljZShsZXR0
ZXJzKSBmb3IgaSBpbiByYW5nZSgyMCkpCisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToK
KyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgaXNfcXVl
cnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAgd2l0aCBy
ZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNlcnZlci5z
dGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAhPSBOb25l
OgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5OgorICAgICAg
ICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2Vu
LCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAg
IHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisKKyAgICBpZiBpc19xdWVy
eToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRlbnQgPSAi
IgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6CisgICAgICB1
bmlxdWVfaWQgPSBpZF90b2tlbigpCisgICAgICBoZWFkZXJzID0gWygiQ29udGVudC1UeXBlIiwg
InRleHQvamF2YXNjcmlwdCIpLAorICAgICAgICAgICAgICAgICAoIkNhY2hlLUNvbnRyb2wiLCAi
cHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwIiksCisgICAgICAg
ICAgICAgICAgICgiVW5pcXVlLUlkIiwgdW5pcXVlX2lkKV0KKyAgICAgIGNvbnRlbnQgPSAicmVw
b3J0KCd7fScpIi5mb3JtYXQodW5pcXVlX2lkKQorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywg
Y29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzVhNzczMmE1NjZkNGE2ZjU3M2NjOTdmZDNkMTQ1NDY1N2Q0NzY4MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCAr
MSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFmMDc5ZWQ2ZjE0ODhl
OGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVybnMgc3RhbGUgcmVzb3Vy
Y2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTFmNDhlYWFkNDk1MDQwNmY5
YTNhZDQyODY4N2Q1NTE2OTdiYzhjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3N0YWxlLWNzcy5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgd29y
a3MgZm9yIGNzczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CitpZiAoInRlc3RSdW5uZXIiIGluIHdpbmRvdykKKyAgdGVzdFJ1bm5l
ci5zZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQodHJ1ZSk7CisKK3ZhciByZXF1ZXN0X3Rv
a2VuID0gdG9rZW4oKTsKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0
ZXBfZnVuYygoKSA9PiB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgYXNzZXJ0
X2VxdWFscyh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0
eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyksICJyZ2IoMCwgMTI4LCAwKSIpOworICAgICAgdmFy
IGxpbmsyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOworICAgICAgbGluazIub25s
b2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91
bmQtY29sb3InKSwgInJnYigwLCAxMjgsIDApIik7CisgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9
ICgpID0+IHsKKyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVu
IHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICBmZXRjaCgicmVzb3VyY2Vz
L3N0YWxlLWNzcy5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90b2tlbikudGhlbih0LnN0ZXBf
ZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhl
YWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNvdW50ID09ICcyJykgeworICAg
ICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
IHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwg
MjUpOworICAgICAgfSk7CisgICAgICBsaW5rMi5yZWwgPSAic3R5bGVzaGVldCI7CisgICAgICBs
aW5rMi50eXBlID0gInRleHQvY3NzIjsKKyAgICAgIGxpbmsyLmhyZWYgPSAicmVzb3VyY2VzL3N0
YWxlLWNzcy5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQobGluazIpOworICAgIH0sIDApOworICB9KTsKK30sICdDYWNoZSByZXR1cm5z
IHN0YWxlIHJlc291cmNlJyk7CisKK3ZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
bGluayIpOworbGluay5yZWwgPSAic3R5bGVzaGVldCI7CitsaW5rLnR5cGUgPSAidGV4dC9jc3Mi
OworbGluay5ocmVmID0gInJlc291cmNlcy9zdGFsZS1jc3MucHk/dG9rZW49IiArIHJlcXVlc3Rf
dG9rZW47Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
ZTQyMDE0ZGVmZDcxOTEwOTZjMzNjY2U1ODMwZWY3Y2FhMWE1N2E2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQg
QEAKKyAKKworUEFTUyBDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0NmY2ZGQ0MTMxM2MwMDViNDQ0NWZlNzBmZjQ3ZmUz
MmJmNDBiYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2Uu
aHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIHdvcmtzIGZvciBpbWFn
ZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8
IS0tCitVc2UgYSBjaGlsZCBkb2N1bWVudCB0byBsb2FkIHRoZSBzZWNvbmQgc3RhbGUgaW1hZ2Ug
aW50byBiZWNhdXNlCithbiBpbWFnZSBsb2FkZWQgaW50byB0aGUgc2FtZSBkb2N1bWVudCB3aWxs
IHNraXAgY2FjaGUtY29udHJvbCBoZWFkZXJzLgorU2VlOiBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnLyN0aGUtbGlzdC1vZi1hdmFpbGFibGUtaW1hZ2VzCistLT4KKzxpZnJhbWUgaWQ9ImNo
aWxkIiBzcmNkb2M9IiI+PC9pZnJhbWU+Cis8c2NyaXB0PgoraWYgKCJ0ZXN0UnVubmVyIiBpbiB3
aW5kb3cpCisgIHRlc3RSdW5uZXIuc2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKHRydWUp
OworCit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7Cithc3luY190ZXN0KHQgPT4geworICB3
aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHQuc3RlcF90aW1lb3V0KCgp
ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpcnN0
aW1hZ2UiKS53aWR0aCwgMTYsICJXaWR0aCBpcyAxNiIpOworICAgICAgdmFyIGNoaWxkRG9jdW1l
bnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hpbGQnKS5jb250ZW50RG9jdW1lbnQ7Cisg
ICAgICB2YXIgaW1nMiA9IGNoaWxkRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CisgICAg
ICBpbWcyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhpbWcyLndpZHRoLCAxNiwgImltYWdlIGRpbWVuc2lvbiIpOworICAgICAgICB2YXIgY2hlY2tS
ZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdlIGRvbid0IGtu
b3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAgZmV0Y2goInJl
c291cmNlcy9zdGFsZS1pbWFnZS5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90b2tlbikudGhl
bih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBjb3VudCA9IHJl
c3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNvdW50ID09ICcy
JykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVj
a1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBpbWcyLnNyYyA9ICJyZXNvdXJjZXMvc3Rh
bGUtaW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBjaGlsZERvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoaW1nMik7CisgICAgfSwgMCk7CisgIH0pOworfSwgJ0NhY2hlIHJl
dHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImltZyIpOworaW1nLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk/dG9rZW49IiAr
IHJlcXVlc3RfdG9rZW47CitpbWcuaWQgPSAiZmlyc3RpbWFnZSI7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxl
LXNjcmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFm
MDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVy
bnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1z
Y3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zNGMwNjQ4OTIwZDRmN2I3MThjYTI2OTI3MzI3ODdhYjgzZTVlMjRmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCkBAIC0wLDAgKzEsNTYgQEAK
KzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0
YWxlIFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIHNjcmlwdHM8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9j
b21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgoraWYgKCJ0ZXN0UnVu
bmVyIiBpbiB3aW5kb3cpCisgIHRlc3RSdW5uZXIuc2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFi
bGVkKHRydWUpOworCit2YXIgbGFzdF9tb2RpZmllZDsKK3ZhciBsYXN0X21vZGlmaWVkX2NvdW50
ID0gMDsKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKworLy8gVGhlIHNjcmlwdCB3aWxs
IGNhbGwgcmVwb3J0IHZpYSBhIHVuaXF1ZWx5IGdlbmVyYXRlZCBJRCBvbiB0aGUgc3VicmVzb3Vy
Y2UuCisvLyBJZiBpdCBpcyBhIGNhY2hlIGhpdCB0aGUgSUQgd2lsbCBiZSB0aGUgc2FtZSBhbmQg
dGhlIHRlc3Qgd2lsbCBwYXNzLgorZnVuY3Rpb24gcmVwb3J0KG1vZCkgeworICBpZiAoIWxhc3Rf
bW9kaWZpZWQpIHsKKyAgICBsYXN0X21vZGlmaWVkID0gbW9kOworICAgIGxhc3RfbW9kaWZpZWRf
Y291bnQgPSAxOworICB9IGVsc2UgaWYgKGxhc3RfbW9kaWZpZWQgPT0gbW9kKSB7CisgICAgbGFz
dF9tb2RpZmllZF9jb3VudCsrOworICB9Cit9CisKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRv
dy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgc3RlcF90aW1lb3V0KCgpID0+IHsK
KyAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAg
ICAgIHNjcmlwdC5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0iICsgcmVx
dWVzdF90b2tlbjsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKKyAg
ICAgIHNjcmlwdC5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhsYXN0X21vZGlmaWVkX2NvdW50LCAyLCAibGFzdCBtb2RpZmllZCIpOworICAgICAg
ICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAgIC8vIFdlIHBvbGwgYmVj
YXVzZSB3ZSBkb24ndCBrbm93IHdoZW4gdGhlIHJldmFsaWRhdGlvbiB3aWxsIG9jY3VyLgorICAg
ICAgICAgICAgZmV0Y2goInJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49IiAr
IHJlcXVlc3RfdG9rZW4pLnRoZW4odC5zdGVwX2Z1bmMoKHJlc3BvbnNlKSA9PiB7CisgICAgICAg
ICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAg
ICAgICAgICBpZiAoY291bnQgPT0gJzInKSB7CisgICAgICAgICAgICAgICAgICB0LmRvbmUoKTsK
KyAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0LnN0ZXBfdGltZW91dChj
aGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KSk7CisgICAg
ICAgICAgfTsKKyAgICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAg
ICAgfSk7CisgICAgfSwgMCk7CisgIH0pOworfSwgJ0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3Vy
Y2UnKTsKKwordmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwor
c2NyaXB0LnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPSIgKyByZXF1ZXN0
X3Rva2VuOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpOworPC9zY3JpcHQ+Cis8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kY2E3ZGU1MWIwYjhjNTUx
ODI3NmU3MGFlMjE5YjdiYzhmODY5YTk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N3LWludGVyY2VwdC5qcwpAQCAtMCwwICsxLDE0IEBACithc3luYyBmdW5jdGlvbiBicm9h
ZGNhc3QobXNnKSB7CisgIGZvciAoY29uc3QgY2xpZW50IG9mIGF3YWl0IGNsaWVudHMubWF0Y2hB
bGwoKSkgeworICAgIGNsaWVudC5wb3N0TWVzc2FnZShtc2cpOworICB9Cit9CisKK3NlbGYuYWRk
RXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBldmVudCA9PiB7CisgIGV2ZW50LndhaXRVbnRpbChicm9h
ZGNhc3QoZXZlbnQucmVxdWVzdC51cmwpKTsKKyAgZXZlbnQucmVzcG9uZFdpdGgoZmV0Y2goZXZl
bnQucmVxdWVzdCkpOworfSk7CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignYWN0aXZhdGUnLCBl
dmVudCA9PiB7CisgIHNlbGYuY2xpZW50cy5jbGFpbSgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5s
b2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWI5ZGQwNmY4NDZhNzA2OGZlYTJiODI4NzgxYWQ3NWNjMTk4ZTdhMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS93M2MtaW1wb3J0LmxvZwpAQCAtMCww
ICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0
eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
c3RhbGUtc2NyaXB0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYzMwOTcz
NDEzYjdhZTFjYTdhYjIxOGJjMzdmMGI1ZWNkZWJhYzM4NS4uZjFmZDdhMGI3ZTc3NGI1ZWQyOTMx
OTFlNjcwZmE0MGE2MDkzOGUzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMjAwNSw0ICsyMDA1LDcgQEAgaW5zcGVjdG9yL2NhbnZhcy9y
ZWNvcmRpbmctaHRtbC0yZC5odG1sCiB3ZWJraXQub3JnL2IvMTU5NzI0IFsgRGVidWcgXSBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXBvc3QtdXBsb2Fk
Lmh0bSBbIFNraXAgXQogCiAjIFNraXAgSXNMb2dnZWRJbgotaHR0cC90ZXN0cy9pcy1sb2dnZWQt
aW4vIFsgU2tpcCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoraHR0cC90ZXN0cy9pcy1s
b2dnZWQtaW4vIFsgU2tpcCBdCisKKyMgU3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBpcyBub3Qgc3Vw
cG9ydGVkIG9uIFdLMQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjA1MzQzMWRmNjljZThlMmU3NDFlMGZmZTM4M2M2
YjcyN2MzYjE2YS4uNzE2ODA0OGUxYmM4ZmU5NTYwOTM3NGUwNzUzMTZiNDljYTE1NDIzNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODA1
LDMgKzgwNSw1IEBAIHdlYmtpdC5vcmcvYi8yMDMxNzMgaW5zcGVjdG9yL2NvbnNvbGUvd2ViY29y
ZS1sb2dnaW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjAzMTc2IFsg
RGVidWcgXSBmYXN0L3Njcm9sbGluZy9sYXRjaGluZy9zY3JvbGwtc2VsZWN0LWJvdHRvbS10ZXN0
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCisjIFN0YWxlLXdoaWxlLXJldmFsaWRhdGUgaXMgbm90
IHN1cHBvcnRlZCBvbiBXSzEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381809</attachid>
            <date>2019-10-24 07:48:40 -0700</date>
            <delta_ts>2019-10-24 09:17:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191024164837.patch</filename>
            <type>text/plain</type>
            <size>71517</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY1MGM0NjgyOGQyMTgy
NTA4YjE4N2U3MjYzZWM2YWFiZTkzOWY5Ny4uMTI0YzU3MDQ5NjY3NDhjNzk3ZTUxMTk0MTQ4NjU0
ZmU3YzU5NzhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTEwLTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBwYXJzaW5nIHRoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlCisgICAgICAgIGFuZCBleHBvc2UgaXQgb24gUmVzb3Vy
Y2VSZXNwb25zZS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3Nz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2Fj
aGVWYWxpZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGly
ZWN0aXZlcyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xTdGFsZVdo
aWxlUmV2YWxpZGF0ZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlc3BvbnNlQmFzZS5oOgorCiAyMDE5LTEwLTI0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgQXVkaW9Db250ZXh0IHNob3VsZCBub3QgcHJldmVudCBlbnRlcmlu
ZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY0OTNjZGYxZWZlZTAxNDJiYTZh
MmMyOTNiODgzMDVjNTQxMzUwZGQuLmI2ZTc3NWExMmEyYWQyNWIwZGFlMGQ4NmM1NDg5OGVmMjRk
MTY3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAKKzIwMTktMTAtMjQgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRh
dGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBhIG5ldyBVc2VEZWNpc2lvbiB2YWx1ZSBBc3luY1JldmFsaWRhdGUgZm9y
IGFzeW5jIHJldmFsaWRhdGlvbi4gVGhpcyBpcyB1c2VkCisgICAgICAgIHdoZW4gdGhlIHJldHJp
ZXZlZCBjYWNoZSBlbnRyeSBpcyBhIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgcmVzcG9uc2UgWzFd
LgorICAgICAgICBJbiBjYXNlIG9mIEFzeW5jUmV2YWxpZGF0ZSwgYSBjaGVjayBpcyBtYWRlIHRv
IHNlZSBpZiB0aGVyZSBpcyBhCisgICAgICAgIGN1cnJlbnQgYXN5bmMgcmV2YWxpZGF0aW9uIG9u
Z29pbmcgZm9yIHRoZSBlbnRyeSwgaWYgbm90IG9uZSBpcworICAgICAgICBzdGFydGVkLiBSZWdh
cmRsZXNzLCB0aGUgc3RhbGUgZW50cnkgaXMgcmV0dXJuZWQsIHVudGlsIGVpdGhlciB0aGUKKyAg
ICAgICAgYXN5bmMgcmV2YWxpZGF0aW9uIGVuZHMgc3VjY2Vzc2Z1bGx5IG9yIGF0IHRoZSBtb21l
bnQgd2hlbiB0aGUKKyAgICAgICAgcmVzcG9uc2UgZXhwaXJlcyBmb3IgcmVhbC4KKworICAgICAg
ICBbMV0gaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS1yZXNwb25zZQorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNldFN0YWxlV2hpbGVS
ZXZhbGlkYXRlRW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppc1N0
YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCBjb25zdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpBc3luY1JldmFsaWRhdGlvbjo6c3RhbGVXaGlsZVJldmFsaWRhdGVF
bmRpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9u
OjpBc3luY1JldmFsaWRhdGlvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5
bmNSZXZhbGlkYXRpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
QXN5bmNSZXZhbGlkYXRpb246OmxvYWQgY29uc3QpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
cmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6bWFrZVVzZURlY2lzaW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjptYWtl
U3RvcmVEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Y2FuVXNlUGVu
ZGluZ1JldmFsaWRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6
OnN0YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDYWNoZTo6Q2FjaGU6OnJldHJpZXZlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpyZXNwb25zZUhhc0V4cGlyZWQpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
YWNoZTo6ZHVtcEhUVFBIZWFkZXJzRGlmZik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6cmVxdWVzdHNIZWFkZXJzTWF0Y2gpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmR1bXBIVFRQSGVhZGVyc0RpZmYpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlcXVlc3RzSGVhZGVyc01hdGNoKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tD
b250ZXh0LmNwcDoKKyAgICAgICAgKFdLQ29udGV4dFNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5h
YmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpzZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorCiAyMDE5LTEwLTI0ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNs
b3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gRW5hYmxlIHJ1bnRpbWUgc2V0
dGluZyB3aXRoIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyBmb3IgU2VydmVyIFRpbWluZyBBUEkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNw
cAppbmRleCA0OTU5MDUwNjc5Y2UwNTA0ODQyNDQ3ZWIxZjVhMGJmOGE2NzY4M2NlLi4yZDM1MDdk
ZjIzN2RiMjk1ZDU5MzFhNGMwZGY3NjAyNzc3ZGU3YjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uY3BwCkBAIC0zMTMsOCArMzEz
LDE4IEBAIENhY2hlQ29udHJvbERpcmVjdGl2ZXMgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVz
KGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMpCiAgICAgICAgICAgICAgICAgZG91YmxlIG1h
eFN0YWxlID0gZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9Eb3VibGUoJm9rKTsKICAgICAgICAgICAg
ICAgICBpZiAob2spCiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5tYXhTdGFsZSA9IFNlY29u
ZHMgeyBtYXhTdGFsZSB9OwotICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAiaW1tdXRhYmxlIikpCisgICAgICAg
ICAgICB9IGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGl2ZXNb
aV0uZmlyc3QsICJpbW11dGFibGUiKSkgewogICAgICAgICAgICAgICAgIHJlc3VsdC5pbW11dGFi
bGUgPSB0cnVlOworICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAic3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSIpKSB7
CisgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGFsZVdoaWxlUmV2YWxpZGF0ZSkgeworICAg
ICAgICAgICAgICAgICAgICAvLyBGaXJzdCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGRpcmVjdGl2
ZSB3aW5zIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBvbmVzLgorICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYm9vbCBvazsKKyAg
ICAgICAgICAgICAgICBkb3VibGUgc3RhbGVXaGlsZVJldmFsaWRhdGUgPSBkaXJlY3RpdmVzW2ld
LnNlY29uZC50b0RvdWJsZSgmb2spOworICAgICAgICAgICAgICAgIGlmIChvaykKKyAgICAgICAg
ICAgICAgICAgICAgcmVzdWx0LnN0YWxlV2hpbGVSZXZhbGlkYXRlID0gU2Vjb25kcyB7IHN0YWxl
V2hpbGVSZXZhbGlkYXRlIH07CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oCmlu
ZGV4IDU2ZWZlYTYyMTU0NDc5NTA2YTE2NjRmZmQwOGUwOGFiMmM1NTZiY2QuLjA0MGE5Njk3ZTVm
YTgyZTFhZjUwZmZhOWFkMTkyNzI3ZjNiNzg0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaApAQCAtNjksNiArNjksNyBAQCBzdHJ1
Y3QgQ2FjaGVDb250cm9sRGlyZWN0aXZlcyB7CiAKICAgICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNv
bmRzOjpNYXJrYWJsZVRyYWl0cz4gbWF4QWdlOwogICAgIE1hcmthYmxlPFNlY29uZHMsIFNlY29u
ZHM6Ok1hcmthYmxlVHJhaXRzPiBtYXhTdGFsZTsKKyAgICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNv
bmRzOjpNYXJrYWJsZVRyYWl0cz4gc3RhbGVXaGlsZVJldmFsaWRhdGU7CiAgICAgYm9vbCBub0Nh
Y2hlIDogMTsKICAgICBib29sIG5vU3RvcmUgOiAxOwogICAgIGJvb2wgbXVzdFJldmFsaWRhdGUg
OiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlc3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVzcG9uc2VCYXNlLmNwcAppbmRleCAyMGFjNjRkNTcwMzRjNjllYTkyYmM3YTQzNTM2ZjE2
ZDc5NWZmYTI5Li4zMjcyZTBjNDhlNmI2NDdhMDNkMDIzODM2OWFjM2I4MTBlNWVjY2ZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VC
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmNwcApAQCAtNjU1LDYgKzY1NSwxMyBAQCBPcHRpb25hbDxTZWNvbmRzPiBSZXNv
dXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250cm9sTWF4QWdlKCkgY29uc3QKICAgICByZXR1cm4g
bV9jYWNoZUNvbnRyb2xEaXJlY3RpdmVzLm1heEFnZTsKIH0KIAorT3B0aW9uYWw8U2Vjb25kcz4g
UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkg
Y29uc3QKK3sKKyAgICBpZiAoIW1faGF2ZVBhcnNlZENhY2hlQ29udHJvbEhlYWRlcikKKyAgICAg
ICAgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKCk7CisgICAgcmV0dXJuIG1fY2FjaGVDb250
cm9sRGlyZWN0aXZlcy5zdGFsZVdoaWxlUmV2YWxpZGF0ZTsKK30KKwogc3RhdGljIE9wdGlvbmFs
PFdhbGxUaW1lPiBwYXJzZURhdGVWYWx1ZUluSGVhZGVyKGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhl
YWRlcnMsIEhUVFBIZWFkZXJOYW1lIGhlYWRlck5hbWUpCiB7CiAgICAgU3RyaW5nIGhlYWRlclZh
bHVlID0gaGVhZGVycy5nZXQoaGVhZGVyTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggY2IxN2I1OTU0
ODdkMTBiNzczYzRlNDg1MzU0MzAyNGE1MGYxYTk3Zi4uNDA2ODFmMDc3YWI5ZWVkMDljOTM1YmIw
YmFhYzllMGI0MDljMzhkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtMTM2LDYgKzEzNiw3IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGNhY2hlQ29udHJvbENvbnRhaW5zSW1tdXRhYmxl
KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNDYWNoZVZhbGlkYXRvckZpZWxk
cygpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGNhY2hlQ29u
dHJvbE1heEFnZSgpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+
IGNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9F
WFBPUlQgT3B0aW9uYWw8V2FsbFRpbWU+IGRhdGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9S
VCBPcHRpb25hbDxTZWNvbmRzPiBhZ2UoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRp
b25hbDxXYWxsVGltZT4gZXhwaXJlcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDM4N2VlZTI0MjBlZDU5NDJiMmFkMjdlODgz
MzM1OWEwY2E2YTFkZWUuLmUyZWUzMDMyZTU5ODBiYmYyYjQ0MTU5ZTk4NmE3YWUxZThjM2Y5ODgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAg
LTI2NSw2ICsyNjUsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2hvdWxkQmxvY2tUaGlyZFBh
cnR5Q29va2llc0ZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIGJvb2wsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQg
c2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX3N0YWxlV2hp
bGVSZXZhbGlkYXRlRW5hYmxlZCA9IGVuYWJsZWQ7IH0KKyAgICBib29sIGlzU3RhbGVXaGlsZVJl
dmFsaWRhdGVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdGFsZVdoaWxlUmV2YWxpZGF0ZUVu
YWJsZWQ7IH0KKyNlbmRpZgorCiAgICAgdXNpbmcgQ2FjaGVTdG9yYWdlUm9vdFBhdGhDYWxsYmFj
ayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nJiYpPjsKICAgICB2b2lkIGNhY2hlU3Rv
cmFnZVJvb3RQYXRoKFBBTDo6U2Vzc2lvbklELCBDYWNoZVN0b3JhZ2VSb290UGF0aENhbGxiYWNr
JiYpOwogCkBAIC01MzcsNyArNTQyLDExIEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFJFU09VUkNF
X0xPQURfU1RBVElTVElDUykKICAgICBib29sIG1faXNJVFBEYXRhYmFzZUVuYWJsZWQgeyBmYWxz
ZSB9OwogI2VuZGlmCi0gICAgCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBib29sIG1fc3Rh
bGVXaGlsZVJldmFsaWRhdGVFbmFibGVkIHsgZmFsc2UgfTsKKyNlbmRpZgorCiAgICAgY2xhc3Mg
U3RvcmFnZVF1b3RhTWFuYWdlcnMgewogICAgIHB1YmxpYzoKICAgICAgICAgdWludDY0X3QgZGVm
YXVsdFF1b3RhKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3JpZ2luKSBjb25zdCB7IHJl
dHVybiBvcmlnaW4udG9wT3JpZ2luID09IG9yaWdpbi5jbGllbnRPcmlnaW4gPyBtX2RlZmF1bHRR
dW90YSA6IG1fZGVmYXVsdFRoaXJkUGFydHlRdW90YTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNDFm
ZWEwZGY1ODk0ZjNjNGMxYTJjMmMzMzVlYWIyZTgzYWQwNGIzYy4uNDllZjE0N2FiMWJjOWZiNzA1
YWJjZTRkMTVjZmRiZjMwYzk0MTMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC02MSw2ICs2MSw3IEBA
IG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICBTZXRRT1MoaW50IGxhdGVuY3lRT1MsIGludCB0aHJvdWdocHV0UU9TKQog
ICAgIFNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkKGJvb2wgZW5hYmxlZCkKKyAgICBTZXRTdGFs
ZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoYm9vbCBlbmFibGVkKQogI2VuZGlmCiAgICAgU2V0QWxs
b3dzQW55U1NMQ2VydGlmaWNhdGVGb3JXZWJTb2NrZXQoYm9vbCBlbmFibGVkKSAtPiAoKSBTeW5j
aHJvbm91cwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0FzeW5jUmV2YWxpZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvQXN5bmNSZXZhbGlkYXRpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjOGI5NGNmMTBiNmZjNzM0ZmM5
Mzc0ODVlMDVjYTdmYjk4NTZiZDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcApAQCAtMCwwICsxLDg3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBc3luY1JldmFsaWRhdGlvbi5oIgorCisjaW5jbHVk
ZSA8V2ViQ29yZS9DYWNoZVZhbGlkYXRpb24uaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CituYW1l
c3BhY2UgTmV0d29ya0NhY2hlIHsKKworc3RhdGljIGlubGluZSBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QgY29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdChjb25zdCBLZXkmIGtleSwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBFbnRyeSogZW50cnkpCit7
CisgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJldmFsaWRhdGlvblJlcXVlc3QgPSByZXF1
ZXN0OworICAgIGlmICgha2V5LnBhcnRpdGlvbigpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV2YWxp
ZGF0aW9uUmVxdWVzdC5zZXRDYWNoZVBhcnRpdGlvbihrZXkucGFydGl0aW9uKCkpOworICAgIEFT
U0VSVF9XSVRIX01FU1NBR0Uoa2V5LnJhbmdlKCkuaXNFbXB0eSgpLCAicmFuZ2UgaXMgbm90IHN1
cHBvcnRlZCIpOworCisgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgp
OworICAgIGlmIChlbnRyeSkgeworICAgICAgICBTdHJpbmcgZVRhZyA9IGVudHJ5LT5yZXNwb25z
ZSgpLmh0dHBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6RVRhZyk7CisgICAg
ICAgIGlmICghZVRhZy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0
LnNldEhUVFBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6SWZOb25lTWF0Y2gs
IGVUYWcpOworCisgICAgICAgIFN0cmluZyBsYXN0TW9kaWZpZWQgPSBlbnRyeS0+cmVzcG9uc2Uo
KS5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6Okxhc3RNb2RpZmllZCk7
CisgICAgICAgIGlmICghbGFzdE1vZGlmaWVkLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldmFs
aWRhdGlvblJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1l
OjpJZk1vZGlmaWVkU2luY2UsIGxhc3RNb2RpZmllZCk7CisgICAgfQorCisgICAgcmV2YWxpZGF0
aW9uUmVxdWVzdC5zZXRQcmlvcml0eShXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eTo6TG93
KTsKKworICAgIHJldHVybiByZXZhbGlkYXRpb25SZXF1ZXN0OworfQorCit2b2lkIEFzeW5jUmV2
YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZygpCit7CisgICAgaWYgKG1fY29t
cGxldGlvbkhhbmRsZXIpIHsKKyAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlcih0cnVlKTsKKyAg
ICAgICAgbV9jb21wbGV0aW9uSGFuZGxlciA9IG51bGxwdHI7CisgICAgfQorfQorCitBc3luY1Jl
dmFsaWRhdGlvbjo6QXN5bmNSZXZhbGlkYXRpb24oQ2FjaGUmIGNhY2hlLCBjb25zdCBHbG9iYWxG
cmFtZUlEJiBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OkVudHJ5PiBlbnRyeSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChib29sKT4mJiBoYW5kbGVyKQorICAgIDogbV90aW1lcigqdGhpcywgJkFzeW5j
UmV2YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZykKKyAgICAsIG1fY29tcGxl
dGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkKK3sKKyAgICBhdXRvIGtleSA9IGVudHJ5LT5r
ZXkoKTsKKyAgICBhdXRvIHJldmFsaWRhdGlvblJlcXVlc3QgPSBjb25zdHJ1Y3RSZXZhbGlkYXRp
b25SZXF1ZXN0KGtleSwgcmVxdWVzdCwgZW50cnkuZ2V0KCkpOworICAgIGF1dG8gYWdlID0gV2Vi
Q29yZTo6Y29tcHV0ZUN1cnJlbnRBZ2UoZW50cnktPnJlc3BvbnNlKCksIGVudHJ5LT50aW1lU3Rh
bXAoKSk7CisgICAgYXV0byBsaWZldGltZSA9IFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZl
dGltZUZvckhUVFBGYW1pbHkoZW50cnktPnJlc3BvbnNlKCksIGVudHJ5LT50aW1lU3RhbXAoKSk7
CisgICAgYXV0byByZXNwb25zZU1heFN0YWxlbmVzcyA9IGVudHJ5LT5yZXNwb25zZSgpLmNhY2hl
Q29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAgQVNTRVJUKHJlc3BvbnNlTWF4U3Rh
bGVuZXNzKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgqcmVzcG9uc2VNYXhTdGFsZW5lc3Mg
LSAoYWdlIC0gbGlmZXRpbWUpKTsKKyAgICBtX2xvYWQgPSBtYWtlVW5pcXVlPFNwZWN1bGF0aXZl
TG9hZD4oY2FjaGUsIGZyYW1lSUQsIHJldmFsaWRhdGlvblJlcXVlc3QsIFdURk1vdmUoZW50cnkp
LCBbdGhpcywga2V5LCByZXZhbGlkYXRpb25SZXF1ZXN0XShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+
IHJldmFsaWRhdGVkRW50cnkpIHsKKyAgICAgICAgQVNTRVJUKCFyZXZhbGlkYXRlZEVudHJ5IHx8
ICFyZXZhbGlkYXRlZEVudHJ5LT5uZWVkc1ZhbGlkYXRpb24oKSk7CisgICAgICAgIEFTU0VSVCgh
cmV2YWxpZGF0ZWRFbnRyeSB8fCByZXZhbGlkYXRlZEVudHJ5LT5rZXkoKSA9PSBrZXkpOworICAg
ICAgICBpZiAobV9jb21wbGV0aW9uSGFuZGxlcikgeworICAgICAgICAgICAgbV9jb21wbGV0aW9u
SGFuZGxlcihyZXZhbGlkYXRlZEVudHJ5LmdldCgpKTsKKyAgICAgICAgICAgIG1fY29tcGxldGlv
bkhhbmRsZXIgPSBudWxscHRyOworICAgICAgICB9CisgICAgfSk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIE5ldHdvcmtDYWNoZQorfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZWYzNDczYWMzYzBjODczYTdhN2FlYmZmNjA5MTk3ZjQ5ZGVjNWY3NAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlk
YXRpb24uaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IElnYWxp
YSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTmV0d29ya0NhY2hl
LmgiCisjaW5jbHVkZSAiTmV0d29ya0NhY2hlRW50cnkuaCIKKyNpbmNsdWRlICJOZXR3b3JrQ2Fj
aGVTcGVjdWxhdGl2ZUxvYWQuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5o
PgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKKworY2xhc3MgU3BlY3VsYXRpdmVMb2FkOworCituYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsK
KworY2xhc3MgQXN5bmNSZXZhbGlkYXRpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworcHVibGljOgorICAgIEFzeW5jUmV2YWxpZGF0aW9uKENhY2hlJiwgY29uc3QgR2xvYmFsRnJh
bWVJRCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIHN0ZDo6dW5pcXVlX3B0cjxO
ZXR3b3JrQ2FjaGU6OkVudHJ5PiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CisK
KyAgICBjb25zdCBTcGVjdWxhdGl2ZUxvYWQmIGxvYWQoKSBjb25zdCB7IHJldHVybiAqbV9sb2Fk
OyB9CisKKyAgICB2b2lkIHN0YWxlV2hpbGVSZXZhbGlkYXRlRW5kaW5nKCk7CisKK3ByaXZhdGU6
CisgICAgc3RkOjp1bmlxdWVfcHRyPFNwZWN1bGF0aXZlTG9hZD4gbV9sb2FkOworICAgIFdlYkNv
cmU6OlRpbWVyIG1fdGltZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4gbV9j
b21wbGV0aW9uSGFuZGxlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQorfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggZjM0NGQxYWJhNjRmZTkzYzljYmViZDQ3ZjQz
ZTgxNjNiYWNkN2MxNy4uMDVlMWM5ZTcwMjgzOGE5N2NiMGJhMWY4ZWZlNDBhYzI2NzBhOGNjZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
Ik5ldHdvcmtDYWNoZS5oIgogCisjaW5jbHVkZSAiQXN5bmNSZXZhbGlkYXRpb24uaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFu
YWdlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZVN0b3JhZ2UuaCIKQEAgLTE1MiwzNSArMTUz
LDQ0IEBAIHN0YXRpYyBib29sIGNhY2hlUG9saWN5QWxsb3dzRXhwaXJlZChXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3RDYWNoZVBvbGljeSBwb2xpY3kpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1z
dGF0aWMgYm9vbCByZXNwb25zZUhhc0V4cGlyZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UsIFdhbGxUaW1lIHRpbWVzdGFtcCwgT3B0aW9uYWw8U2Vjb25kcz4gbWF4
U3RhbGUpCitzdGF0aWMgVXNlRGVjaXNpb24gcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihOZXR3
b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlLCBXYWxsVGltZSB0aW1lc3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0
YWxlKQogewogICAgIGlmIChyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkK
LSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRh
dGU7CiAKICAgICBhdXRvIGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdlKHJlc3BvbnNl
LCB0aW1lc3RhbXApOwogICAgIGF1dG8gbGlmZXRpbWUgPSBXZWJDb3JlOjpjb21wdXRlRnJlc2hu
ZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCB0aW1lc3RhbXApOwogCiAgICAgYXV0
byBtYXhpbXVtU3RhbGVuZXNzID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMF9tczsK
ICAgICBib29sIGhhc0V4cGlyZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1heGltdW1TdGFsZW5lc3M7
CisgICAgaWYgKGhhc0V4cGlyZWQgJiYgIW1heFN0YWxlICYmIG5ldHdvcmtQcm9jZXNzLmlzU3Rh
bGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKCkpIHsKKyAgICAgICAgYXV0byByZXNwb25zZU1heFN0
YWxlbmVzcyA9IHJlc3BvbnNlLmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7Cisg
ICAgICAgIG1heGltdW1TdGFsZW5lc3MgKz0gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPyByZXNwb25z
ZU1heFN0YWxlbmVzcy52YWx1ZSgpIDogMF9tczsKKyAgICAgICAgYm9vbCBpblJlc3BvbnNlU3Rh
bGVuZXNzID0gYWdlIC0gbGlmZXRpbWUgPCBtYXhpbXVtU3RhbGVuZXNzOworICAgICAgICBpZiAo
aW5SZXNwb25zZVN0YWxlbmVzcykKKyAgICAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6QXN5
bmNSZXZhbGlkYXRlOworICAgIH0KIAorICAgIGlmIChoYXNFeHBpcmVkKSB7CiAjaWZuZGVmIExP
R19ESVNBQkxFRAotICAgIGlmIChoYXNFeHBpcmVkKQotICAgICAgICBMT0coTmV0d29ya0NhY2hl
LCAiKE5ldHdvcmtQcm9jZXNzKSBuZWVkc1JldmFsaWRhdGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBs
aWZldGltZT0lZiBtYXgtc3RhbGU9JWciLCBhZ2UsIGxpZmV0aW1lLCBtYXhTdGFsZSk7CisgICAg
ICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9u
IGhhc0V4cGlyZWQgYWdlPSVmIGxpZmV0aW1lPSVmIG1heC1zdGFsZW5lc3M9JWYiLCBhZ2UsIGxp
ZmV0aW1lLCBtYXhpbXVtU3RhbGVuZXNzKTsKICNlbmRpZgorICAgICAgICByZXR1cm4gVXNlRGVj
aXNpb246OlZhbGlkYXRlOworICAgIH0KIAotICAgIHJldHVybiBoYXNFeHBpcmVkOworICAgIHJl
dHVybiBVc2VEZWNpc2lvbjo6VXNlOwogfQogCi1zdGF0aWMgYm9vbCByZXNwb25zZU5lZWRzUmV2
YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdhbGxUaW1lIHRpbWVzdGFtcCkK
K3N0YXRpYyBVc2VEZWNpc2lvbiByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKE5ldHdvcmtQcm9j
ZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUg
dGltZXN0YW1wKQogewogICAgIGF1dG8gcmVxdWVzdERpcmVjdGl2ZXMgPSBXZWJDb3JlOjpwYXJz
ZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMocmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOwogICAg
IGlmIChyZXF1ZXN0RGlyZWN0aXZlcy5ub0NhY2hlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpWYWxpZGF0ZTsKICAgICAvLyBGb3IgcmVxdWVzdHMg
d2UgaWdub3JlIG1heC1hZ2UgdmFsdWVzIG90aGVyIHRoYW4gemVyby4KICAgICBpZiAocmVxdWVz
dERpcmVjdGl2ZXMubWF4QWdlICYmIHJlcXVlc3REaXJlY3RpdmVzLm1heEFnZS52YWx1ZSgpID09
IDBfbXMpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246
OlZhbGlkYXRlOwogCi0gICAgcmV0dXJuIHJlc3BvbnNlSGFzRXhwaXJlZChyZXNwb25zZSwgdGlt
ZXN0YW1wLCByZXF1ZXN0RGlyZWN0aXZlcy5tYXhTdGFsZSk7CisgICAgcmV0dXJuIHJlc3BvbnNl
TmVlZHNSZXZhbGlkYXRpb24obmV0d29ya1Byb2Nlc3MsIHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJl
cXVlc3REaXJlY3RpdmVzLm1heFN0YWxlKTsKIH0KIAogc3RhdGljIFVzZURlY2lzaW9uIG1ha2VV
c2VEZWNpc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0IFBBTDo6U2Vz
c2lvbklEJiBzZXNzaW9uSUQsIGNvbnN0IEVudHJ5JiBlbnRyeSwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQpAQCAtMTk3LDggKzIwNyw5IEBAIHN0YXRpYyBVc2VEZWNp
c2lvbiBtYWtlVXNlRGVjaXNpb24oTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25z
dCBQQUw6OlNlCiAgICAgaWYgKGNhY2hlUG9saWN5QWxsb3dzRXhwaXJlZChyZXF1ZXN0LmNhY2hl
UG9saWN5KCkpKQogICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlVzZTsKIAotICAgIGlmICgh
cmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihlbnRyeS5yZXNwb25zZSgpLCByZXF1ZXN0LCBlbnRy
eS50aW1lU3RhbXAoKSkpCi0gICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOworICAgIGF1
dG8gZGVjaXNpb24gPSByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKG5ldHdvcmtQcm9jZXNzLCBl
bnRyeS5yZXNwb25zZSgpLCByZXF1ZXN0LCBlbnRyeS50aW1lU3RhbXAoKSk7CisgICAgaWYgKGRl
Y2lzaW9uICE9IFVzZURlY2lzaW9uOjpWYWxpZGF0ZSkKKyAgICAgICAgcmV0dXJuIGRlY2lzaW9u
OwogCiAgICAgaWYgKCFlbnRyeS5yZXNwb25zZSgpLmhhc0NhY2hlVmFsaWRhdG9yRmllbGRzKCkp
CiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6Tm9EdWVUb01pc3NpbmdWYWxpZGF0b3JGaWVs
ZHM7CkBAIC0yNTEsOCArMjYyLDEwIEBAIHN0YXRpYyBTdG9yZURlY2lzaW9uIG1ha2VTdG9yZURl
Y2lzaW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSCiAgICAgYm9v
bCBzdG9yZVVuY29uZGl0aW9uYWxseUZvckhpc3RvcnlOYXZpZ2F0aW9uID0gaXNNYWluUmVzb3Vy
Y2UgfHwgb3JpZ2luYWxSZXF1ZXN0LnByaW9yaXR5KCkgPT0gV2ViQ29yZTo6UmVzb3VyY2VMb2Fk
UHJpb3JpdHk6OlZlcnlIaWdoOwogICAgIGlmICghc3RvcmVVbmNvbmRpdGlvbmFsbHlGb3JIaXN0
b3J5TmF2aWdhdGlvbikgewogICAgICAgICBhdXRvIG5vdyA9IFdhbGxUaW1lOjpub3coKTsKLSAg
ICAgICAgYm9vbCBoYXNOb25aZXJvTGlmZXRpbWUgPSAhcmVzcG9uc2UuY2FjaGVDb250cm9sQ29u
dGFpbnNOb0NhY2hlKCkgJiYgV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRU
UEZhbWlseShyZXNwb25zZSwgbm93KSA+IDBfbXM7Ci0KKyAgICAgICAgU2Vjb25kcyBhbGxvd2Vk
U3RhbGU7CisgICAgICAgIGlmIChhdXRvIHZhbHVlID0gcmVzcG9uc2UuY2FjaGVDb250cm9sU3Rh
bGVXaGlsZVJldmFsaWRhdGUoKSkKKyAgICAgICAgICAgIGFsbG93ZWRTdGFsZSA9IHZhbHVlLnZh
bHVlKCk7CisgICAgICAgIGJvb2wgaGFzTm9uWmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hl
Q29udHJvbENvbnRhaW5zTm9DYWNoZSgpICYmIChXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlm
ZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCBub3cpID4gMF9tcyB8fCBhbGxvd2VkU3RhbGUg
PiAwX21zKTsKICAgICAgICAgYm9vbCBwb3NzaWJseVJldXNhYmxlID0gcmVzcG9uc2UuaGFzQ2Fj
aGVWYWxpZGF0b3JGaWVsZHMoKSB8fCBoYXNOb25aZXJvTGlmZXRpbWU7CiAgICAgICAgIGlmICgh
cG9zc2libHlSZXVzYWJsZSkKICAgICAgICAgICAgIHJldHVybiBTdG9yZURlY2lzaW9uOjpOb0R1
ZVRvVW5saWtlbHlUb1JldXNlOwpAQCAtMjk2LDYgKzMwOSwyNiBAQCBzdGF0aWMgYm9vbCBpbmxp
bmUgY2FuUmVxdWVzdFVzZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUgogfQogI2VuZGlmCiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBjYW5Vc2VQZW5kaW5nUmV2
YWxpZGF0aW9uKGNvbnN0IFNwZWN1bGF0aXZlTG9hZCYgbG9hZCwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KQoreworICAgIHJldHVybiByZXF1ZXN0c0hlYWRl
cnNNYXRjaChsb2FkLm9yaWdpbmFsUmVxdWVzdCgpLCBhY3R1YWxSZXF1ZXN0KTsKK30KKwordm9p
ZCBDYWNoZTo6c3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmIGtleSwgc3Rk
Ojp1bmlxdWVfcHRyPEVudHJ5PiBlbnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCkK
K3sKKyAgICBhdXRvKiBwZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24gPSBtX3BlbmRpbmdBc3luY1Jl
dmFsaWRhdGlvbnMuZ2V0KGtleSk7CisgICAgaWYgKHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbiAm
JiBjYW5Vc2VQZW5kaW5nUmV2YWxpZGF0aW9uKHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbi0+bG9h
ZCgpLCByZXF1ZXN0KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byByZXZhbGlkYXRvciA9
IG1ha2VVbmlxdWU8QXN5bmNSZXZhbGlkYXRpb24+KCp0aGlzLCBmcmFtZUlELCByZXF1ZXN0LCBX
VEZNb3ZlKGVudHJ5KSwgW3RoaXMsIGtleV0oYm9vbCBlbmRpbmcpIHsKKyAgICAgICAgaWYgKGVu
ZGluZykgeworICAgICAgICAgICAgbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLnRha2Uoa2V5
KTsKKyAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIEFzeW5j
IHJldmFsaWRhdGlvbiBjb21wbGV0ZWQgZm9yICclcyc6Iiwga2V5LmlkZW50aWZpZXIoKS51dGY4
KCkuZGF0YSgpKTsKKyAgICAgICAgfQorICAgIH0pOworICAgIG1fcGVuZGluZ0FzeW5jUmV2YWxp
ZGF0aW9ucy5hZGQoa2V5LCBXVEZNb3ZlKHJldmFsaWRhdG9yKSk7Cit9CisKIHZvaWQgQ2FjaGU6
OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3Qg
R2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhU
VFBGYW1pbHkoKSk7CkBAIC0zMzQsMTIgKzM2NywxMSBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1l
SQogICAgIH0KICNlbmRpZgogCi0gICAgbV9zdG9yYWdlLT5yZXRyaWV2ZShzdG9yYWdlS2V5LCBw
cmlvcml0eSwgW3JlcXVlc3QsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlciksIGluZm8gPSBXVEZNb3ZlKGluZm8pLCBzdG9yYWdlS2V5LCBuZXR3b3JrUHJvY2Vz
cyA9IG1ha2VSZWYobmV0d29ya1Byb2Nlc3MoKSksIHNlc3Npb25JRCA9IG1fc2Vzc2lvbklEXShh
dXRvIHJlY29yZCwgYXV0byB0aW1pbmdzKSBtdXRhYmxlIHsKKyAgICBtX3N0b3JhZ2UtPnJldHJp
ZXZlKHN0b3JhZ2VLZXksIHByaW9yaXR5LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCByZXF1ZXN0LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpLCBpbmZvID0gV1RGTW92ZShpbmZvKSwgc3RvcmFnZUtleSwgbmV0d29ya1Byb2Nlc3Mg
PSBtYWtlUmVmKG5ldHdvcmtQcm9jZXNzKCkpLCBzZXNzaW9uSUQgPSBtX3Nlc3Npb25JRCwgZnJh
bWVJRF0oYXV0byByZWNvcmQsIGF1dG8gdGltaW5ncykgbXV0YWJsZSB7CiAgICAgICAgIGluZm8u
c3RvcmFnZVRpbWluZ3MgPSB0aW1pbmdzOwogCiAgICAgICAgIGlmICghcmVjb3JkKSB7CiAgICAg
ICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBub3QgZm91bmQgaW4g
c3RvcmFnZSIpOwotCiAgICAgICAgICAgICBjb21wbGV0ZVJldHJpZXZlKFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpLCBudWxscHRyLCBpbmZvKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgfQpAQCAtMzUwLDYgKzM4MiwxMiBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQog
CiAgICAgICAgIGF1dG8gdXNlRGVjaXNpb24gPSBlbnRyeSA/IG1ha2VVc2VEZWNpc2lvbihuZXR3
b3JrUHJvY2Vzcywgc2Vzc2lvbklELCAqZW50cnksIHJlcXVlc3QpIDogVXNlRGVjaXNpb246Ok5v
RHVlVG9EZWNvZGVGYWlsdXJlOwogICAgICAgICBzd2l0Y2ggKHVzZURlY2lzaW9uKSB7CisgICAg
ICAgIGNhc2UgVXNlRGVjaXNpb246OkFzeW5jUmV2YWxpZGF0ZTogeworICAgICAgICAgICAgc3Rk
Ojp1bmlxdWVfcHRyPEVudHJ5PiBlbnRyeUNvcHkgPSBtYWtlVW5pcXVlPEVudHJ5PigqZW50cnkp
OworICAgICAgICAgICAgZW50cnlDb3B5LT5zZXROZWVkc1ZhbGlkYXRpb24odHJ1ZSk7CisgICAg
ICAgICAgICBzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQocmVxdWVzdCwgc3RvcmFnZUtl
eSwgV1RGTW92ZShlbnRyeUNvcHkpLCBmcmFtZUlEKTsKKyAgICAgICAgICAgIEZBTExUSFJPVUdI
OworICAgICAgICB9CiAgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OlVzZToKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIFVzZURlY2lzaW9uOjpWYWxpZGF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmggYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCmluZGV4IDBkZWU3
Zjg4ZGZmNjE2MmNjM2ZkNzg1MWI4MzgwZmM1YTgzYmQ1YWUuLjgwZTcwNDliMGFjZGQ0OTBkMmUy
NDQ0YjkwZjExYTAyMzA4MDFlNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBOZXR3b3Jr
UHJvY2VzczsKIAogbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAKK2NsYXNzIEFzeW5jUmV2YWxp
ZGF0aW9uOwogY2xhc3MgQ2FjaGU7CiBjbGFzcyBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOwogCkBA
IC04Miw2ICs4Myw3IEBAIGVudW0gY2xhc3MgU3RvcmVEZWNpc2lvbiB7CiBlbnVtIGNsYXNzIFVz
ZURlY2lzaW9uIHsKICAgICBVc2UsCiAgICAgVmFsaWRhdGUsCisgICAgQXN5bmNSZXZhbGlkYXRl
LAogICAgIE5vRHVlVG9WYXJ5aW5nSGVhZGVyTWlzbWF0Y2gsCiAgICAgTm9EdWVUb01pc3NpbmdW
YWxpZGF0b3JGaWVsZHMsCiAgICAgTm9EdWVUb0RlY29kZUZhaWx1cmUsCkBAIC0xNjksNiArMTcx
LDggQEAgcHVibGljOgogICAgIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXIqIHNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXIoKSB7IHJldHVybiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXIuZ2V0KCk7IH0KICNl
bmRpZgogCisgICAgdm9pZCBzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmLCBzdGQ6OnVu
aXF1ZV9wdHI8RW50cnk+LCBjb25zdCBHbG9iYWxGcmFtZUlEJik7CisKICAgICBOZXR3b3JrUHJv
Y2VzcyYgbmV0d29ya1Byb2Nlc3MoKSB7IHJldHVybiBtX25ldHdvcmtQcm9jZXNzLmdldCgpOyB9
CiAgICAgY29uc3QgUEFMOjpTZXNzaW9uSUQmIHNlc3Npb25JRCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2Vzc2lvbklEOyB9CiAgICAgY29uc3QgU3RyaW5nJiBzdG9yYWdlRGlyZWN0b3J5KCkgY29uc3Qg
eyByZXR1cm4gbV9zdG9yYWdlRGlyZWN0b3J5OyB9CkBAIC0xOTUsNiArMTk5LDggQEAgcHJpdmF0
ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3BlY3VsYXRpdmVMb2FkTWFuYWdlcj4gbV9zcGVjdWxh
dGl2ZUxvYWRNYW5hZ2VyOwogI2VuZGlmCiAKKyAgICBIYXNoTWFwPEtleSwgc3RkOjp1bmlxdWVf
cHRyPEFzeW5jUmV2YWxpZGF0aW9uPj4gbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zOworCiAg
ICAgdW5zaWduZWQgbV90cmF2ZXJzZUNvdW50IHsgMCB9OwogICAgIFBBTDo6U2Vzc2lvbklEIG1f
c2Vzc2lvbklEOwogICAgIFN0cmluZyBtX3N0b3JhZ2VEaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZl
TG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXggNmM3MmZhYmU3MmUzNTk0NDhhN2MxYjI5MWNkOTBl
OTUwZTViYmU1NC4uMDFiYzg3ZmZlYzc5N2Y5ZDc3M2FkNThmZDliYjMyYzQxMWRlNDM0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcApAQCAtMTU1LDYgKzE1NSw0MyBAQCB2
b2lkIFNwZWN1bGF0aXZlTG9hZDo6ZGlkQ29tcGxldGUoKQogICAgIG1fY29tcGxldGlvbkhhbmRs
ZXIoV1RGTW92ZShtX2NhY2hlRW50cnkpKTsKIH0KIAorI2lmICFMT0dfRElTQUJMRUQKKworc3Rh
dGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJz
QSwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyc0IpCit7CisgICAgYXV0byBhRW5kID0gaGVh
ZGVyc0EuZW5kKCk7CisgICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0g
YUVuZDsgKytpdCkgeworICAgICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5r
ZXkpOworICAgICAgICBpZiAodmFsdWVCLmlzTnVsbCgpKQorICAgICAgICAgICAgTE9HKE5ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5
IGluIGZpcnN0IHJlcXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0
LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZh
bHVlQikKKyAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcs
ICIqICclcycgSFRUUCBoZWFkZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIs
IGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51
dGY4KCkuZGF0YSgpKTsKKyAgICB9CisgICAgYXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7Cisg
ICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgewor
ICAgICAgICBpZiAoIWhlYWRlcnNBLmNvbnRhaW5zKGl0LT5rZXkpKQorICAgICAgICAgICAgTE9H
KE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBp
cyBvbmx5IGluIHNlY29uZCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0
YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSk7CisgICAgfQorfQorCisjZW5kaWYKKworYm9v
bCByZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHNwZWN1bGF0aXZl
VmFsaWRhdGlvblJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkK
K3sKKyAgICBBU1NFUlQoIWFjdHVhbFJlcXVlc3QuaXNDb25kaXRpb25hbCgpKTsKKyAgICBSZXNv
dXJjZVJlcXVlc3Qgc3BlY3VsYXRpdmVSZXF1ZXN0ID0gc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVx
dWVzdDsKKyAgICBzcGVjdWxhdGl2ZVJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKworICAg
IGlmIChzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpICE9IGFjdHVhbFJlcXVl
c3QuaHR0cEhlYWRlckZpZWxkcygpKSB7CisgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZVByZWxvYWRpbmcsICJDYW5ub3QgcmV1c2Ugc3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQgZW50
cnkgYmVjYXVzZSBIVFRQIGhlYWRlcnMgdXNlZCBmb3IgdmFsaWRhdGlvbiBkbyBub3QgbWF0Y2gi
KTsKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgICAgIGR1bXBIVFRQSGVhZGVyc0RpZmYoc3BlY3Vs
YXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSwgYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVy
RmllbGRzKCkpOworI2VuZGlmCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0
dXJuIHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCmluZGV4IDU0MDZkOWY4
MjE4YjM4MDViNDY4YjY4OWM5YmUyY2Y4ZjYzODAwNGYuLmVmMjE4ZjM4NWFhNmU5ZDBlNzczNTYy
ZDhkMGU3ZjU3Zjg0NzRlMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaApAQCAt
NzgsNiArNzgsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaWRDb21wbGV0ZSB7IGZhbHNlIH07
CiB9OwogCitib29sIHJlcXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KTsKKwogfSAvLyBuYW1lc3BhY2UgTmV0d29ya0Nh
Y2hlCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVMb2FkTWFuYWdlci5jcHAKaW5kZXggNjc5NDAzOWI3ZTE5MTdhNGFhYmFkNGQyZDUwOGY3
Mzk1Mzc4NjU2Ny4uOTgwNmY2MmVhN2JiMDVjMGMzZWQ3MmFhZmRlNzQzZGQ1ZWRhYjgzMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC0yNTYs
NDMgKzI1Niw2IEBAIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6On5TcGVjdWxhdGl2ZUxvYWRNYW5h
Z2VyKCkKIHsKIH0KIAotI2lmICFMT0dfRElTQUJMRUQKLQotc3RhdGljIHZvaWQgZHVtcEhUVFBI
ZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRl
ck1hcCYgaGVhZGVyc0IpCi17Ci0gICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7Ci0gICAg
Zm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgewotICAg
ICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOwotICAgICAgICBpZiAo
dmFsdWVCLmlzTnVsbCgpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZl
UHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVlc3Qg
KHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0
YSgpKTsKLSAgICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKLSAgICAgICAgICAg
IExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFk
ZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgpLmRh
dGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsKLSAg
ICB9Ci0gICAgYXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0g
aGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgewotICAgICAgICBpZiAoIWhlYWRl
cnNBLmNvbnRhaW5zKGl0LT5rZXkpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29uZCBy
ZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRm
OCgpLmRhdGEoKSk7Ci0gICAgfQotfQotCi0jZW5kaWYKLQotc3RhdGljIGJvb2wgcmVxdWVzdHNI
ZWFkZXJzTWF0Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25S
ZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCi17Ci0gICAgQVNT
RVJUKCFhY3R1YWxSZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKSk7Ci0gICAgUmVzb3VyY2VSZXF1ZXN0
IHNwZWN1bGF0aXZlUmVxdWVzdCA9IHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3Q7Ci0gICAg
c3BlY3VsYXRpdmVSZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7Ci0KLSAgICBpZiAoc3BlY3Vs
YXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSAhPSBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFk
ZXJGaWVsZHMoKSkgewotICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2Fk
aW5nLCAiQ2Fubm90IHJldXNlIHNwZWN1bGF0aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJlY2F1c2Ug
SFRUUCBoZWFkZXJzIHVzZWQgZm9yIHZhbGlkYXRpb24gZG8gbm90IG1hdGNoIik7Ci0jaWYgIUxP
R19ESVNBQkxFRAotICAgICAgICBkdW1wSFRUUEhlYWRlcnNEaWZmKHNwZWN1bGF0aXZlUmVxdWVz
dC5odHRwSGVhZGVyRmllbGRzKCksIGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKTsK
LSNlbmRpZgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwot
fQotCiBib29sIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OmNhblVzZVByZWxvYWRlZEVudHJ5KGNv
bnN0IFByZWxvYWRlZEVudHJ5JiBlbnRyeSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxS
ZXF1ZXN0KQogewogICAgIGlmICghZW50cnkud2FzUmV2YWxpZGF0ZWQoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0Cmlu
ZGV4IGQyYTMxY2MwZTRlMjdiM2M4NTJiOWU0ZTU5ZjNiMGNiZTYxMTliYzMuLjdkMmJhZmViMzUw
YjQ1NjU4NzcxOWEzY2I2NzcxMjU3MDdiMmE4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNzcsNiArNzcs
NyBAQCBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwCitOZXR3b3JrUHJvY2Vzcy9jYWNoZS9B
c3luY1JldmFsaWRhdGlvbi5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5j
cHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcAogTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKaW5kZXggZmFmOGE1MjhlYTIzMDlhYmZhZTE3
N2JkZWVhYjI3YzVkNWYwNzMyOS4uNjVkYmNmMmVkNWI0YjFmN2VhODk1OTNlNDE4YWI0M2NiYjU0
NTIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCkBA
IC02NzIsMyArNjcyLDkgQEAgdm9pZCBXS0NvbnRleHRTZXRVc2VTZXBhcmF0ZVNlcnZpY2VXb3Jr
ZXJQcm9jZXNzKFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBib29sIHUKIHsKICAgICBXZWJLaXQ6
OnRvSW1wbChjb250ZXh0UmVmKS0+c2V0VXNlU2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzcyh1
c2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKTsKIH0KKwordm9pZCBXS0NvbnRleHRTZXRT
dGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIGJvb2wg
ZW5hYmxlZCkKK3sKKyAgICBXZWJLaXQ6OnRvSW1wbChjb250ZXh0UmVmKS0+c2V0U3RhbGVXaGls
ZVJldmFsaWRhdGVFbmFibGVkKGVuYWJsZWQpOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dC5oCmluZGV4IDcyODczNTU4NWI2ZDhkNDMxOGQ2Y2QyNmJlNTNiYzI2
MWRlYTdkZTkuLmNkOWU4MTU0NzE4ZTE0ZjE2YzZhZjczZjlhMTg5MTNkZjczMzc1NGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCkBAIC0xMzksNiArMTM5LDgg
QEAgV0tfRVhQT1JUIGJvb2wgV0tDb250ZXh0R2V0VXNlc1NpbmdsZVdlYlByb2Nlc3MoV0tDb250
ZXh0UmVmKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0U3RvcmFnZUFjY2Vzc0FQSUVu
YWJsZWQoV0tDb250ZXh0UmVmLCBib29sIGVuYWJsZWQpOwogCitXS19FWFBPUlQgdm9pZCBXS0Nv
bnRleHRTZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoV0tDb250ZXh0UmVmLCBib29sIGVu
YWJsZWQpOworCiBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRTdGFydE1lbW9yeVNhbXBsZXIoV0tD
b250ZXh0UmVmIGNvbnRleHQsIFdLRG91YmxlUmVmIGludGVydmFsKTsKIFdLX0VYUE9SVCB2b2lk
IFdLQ29udGV4dFN0b3BNZW1vcnlTYW1wbGVyKFdLQ29udGV4dFJlZiBjb250ZXh0KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGQ1NWFjNDhlNjM2
YWY4YzY3YWZjN2Y0ZjFjYjNhZDdhMzM1MGRiYTUuLjcyOGJiMzEzYTkzZGNiMDNhNzAwMzI0ODM0
YmQ3NWY4MTJkNjZjMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAKQEAgLTM5NCw2ICszOTQsMTQgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0U3RvcmFn
ZUFjY2Vzc0FQSUVuYWJsZWQoYm9vbCBlbmFibGVkKQogI2VuZGlmCiB9CiAKK3ZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZChib29sIGVuYWJsZWQpCit7
CisgICAgbV9zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgPSBlbmFibGVkOworI2lmIFBMQVRG
T1JNKENPQ09BKQorICAgIHNlbmRUb05ldHdvcmtpbmdQcm9jZXNzKE1lc3NhZ2VzOjpOZXR3b3Jr
UHJvY2Vzczo6U2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKGVuYWJsZWQpKTsKKyNlbmRp
ZgorfQorCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRDdXN0b21XZWJDb250ZW50U2VydmljZUJ1
bmRsZUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBjdXN0b21XZWJDb250ZW50U2VydmljZUJ1bmRs
ZUlkZW50aWZpZXIpCiB7CiAgICAgLy8gR3VhcmQgYWdhaW5zdCBBUEkgbWlzdXNlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggMDRjY2M5NmI5Y2ViNTg4YzQ0
ODBlNGNmNGNiNzc1Y2U0NzNiM2VjMy4uNDQzMWM2Mjk2MzhhNDBmYjc2OWJiZDIzNDVlMDdlODMw
NWU0YzYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC00
NjgsNiArNDY4LDkgQEAgcHVibGljOgogICAgIGJvb2wgc3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX3N0b3JhZ2VBY2Nlc3NBUElFbmFibGVkOyB9CiAgICAgdm9pZCBz
ZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZChib29sKTsKIAorICAgIGJvb2wgc3RhbGVXaGlsZVJl
dmFsaWRhdGVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdGFsZVdoaWxlUmV2YWxpZGF0ZUVu
YWJsZWQ7IH0KKyAgICB2b2lkIHNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZChib29sKTsK
KwogICAgIHN0YXRpYyB1aW50NjRfdCByZWdpc3RlclByb2Nlc3NQb29sQ3JlYXRpb25MaXN0ZW5l
cihGdW5jdGlvbjx2b2lkKFdlYlByb2Nlc3NQb29sJik+JiYpOwogICAgIHN0YXRpYyB2b2lkIHVu
cmVnaXN0ZXJQcm9jZXNzUG9vbENyZWF0aW9uTGlzdGVuZXIodWludDY0X3QgaWRlbnRpZmllcik7
CiAKQEAgLTczOSw2ICs3NDIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9jb29raWVTdG9yYWdl
UGFydGl0aW9uaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKICAgICBib29sIG1fc3RvcmFn
ZUFjY2Vzc0FQSUVuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9zdGFsZVdoaWxlUmV2YWxp
ZGF0ZUVuYWJsZWQgeyBmYWxzZSB9OwogCiAgICAgc3RydWN0IFBhdGhzIHsKICAgICAgICAgU3Ry
aW5nIGluamVjdGVkQnVuZGxlUGF0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJiYmRlOWMyMGNkYmQ3NzZlNjRlNzY1Mjk4MmQ1MjUw
N2UxYjEwMzEuLjI2MTFlZDFlMWFiZjYyZjZhMTQ4ZTAzNjQxYTEwYTFhZDYzMzc5YjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM4
NSw2ICsxMzg1LDcgQEAKIAkJQTc4Q0NEREMxOTNBQzlGQjAwNUVDQzI1IC8qIGNvbS5hcHBsZS5X
ZWJLaXQuV2ViQ29udGVudC5zYiBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTc4Q0NERDkxOTNBQzlFMzAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQu
V2ViQ29udGVudC5zYiAqLzsgfTsKIAkJQTdENzkyRDgxNzY3Q0NBMzAwODgxQ0JFIC8qIEFjdGl2
aXR5QXNzZXJ0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBN0Q3OTJENDE3NjdDQjA5MDA4ODFDQkUgLyogQWN0aXZpdHlBc3NlcnRpb24uaCAqLzsg
fTsKIAkJQUFCMTQ1RTYyMjNGOTMxMjAwRTQ4OUQ4IC8qIFByZWZldGNoQ2FjaGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQjE0NUU0MjIzRjkzMTIw
MEU0ODlEOCAvKiBQcmVmZXRjaENhY2hlLmggKi87IH07CisJCUFBRkE2MzRGMjM0RjdDNjQwMEZG
QTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQUFGQTYzNEUyMzRGN0M2MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxp
ZGF0aW9uLmggKi87IH07CiAJCUI2MkU3MzEyMTQzMDQ3QjAwMDY5RUMzNSAvKiBXS0hpdFRlc3RS
ZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2
MkU3MzExMTQzMDQ3QjAwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCODc4QjYxNTEzMzQyOERDMDA2
ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCODc4QjYxMzEzMzQyOERDMDA2ODg4RTkgLyogQ29ycmVjdGlvblBh
bmVsLmggKi87IH07CiAJCUJDMDE3RDA3MTYyNjBGRjQwMDcwNTRGNSAvKiBXS0RPTURvY3VtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0NG
RjE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01Eb2N1bWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC00MTUwLDYgKzQxNTEsOCBAQAogCQlBN0U5
M0NFQjE5MjUzMUFBMDBBMURDNDggLyogQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEF1eGlsaWFyeVByb2Nlc3NJT1MubW07IHBh
dGggPSBpb3MvQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQUFCMTQ1RTQyMjNGOTMxMjAwRTQ4OUQ4IC8qIFByZWZldGNoQ2FjaGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJlZmV0Y2hDYWNoZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBQUIxNDVFNTIyM0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNo
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmVmZXRjaENhY2hl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFGQTYzNEUyMzRGN0M2MzAwRkZB
ODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFzeW5jUmV2YWxpZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFB
RkE2MzUwMjM0RjdDNzMwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBBc3luY1JldmFsaWRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUIzOTZFQTU1MTJFMEVEMkQwMEY0RkVCNyAvKiBjb25maWcuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gY29uZmlnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUI2MkU3MzBGMTQzMDQ3QTYwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tIaXRUZXN0UmVzdWx0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjYyRTczMTExNDMwNDdCMDAwNjlFQzM1IC8qIFdL
SGl0VGVzdFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0hpdFRl
c3RSZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTkxNzcsNiArOTE4MCw4
IEBACiAJCUU0ODlEMjgyMUEwQTJCRTgwMDc4QzA2QSAvKiBjYWNoZSAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQUFGQTYzNTAyMzRGN0M3MzAwRkZBODY0
IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmNwcCAqLywKKwkJCQlBQUZBNjM0RTIzNEY3QzYzMDBGRkE4
NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCAqLywKIAkJCQk0MTg5N0VENjFGNDE1RDg2MDAxNkZB
NDIgLyogQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCAqLywKIAkJCQk0MTg5N0VEMjFGNDE1RDg1MDAx
NkZBNDIgLyogQ2FjaGVTdG9yYWdlRW5naW5lLmggKi8sCiAJCQkJNDFDODU4MTkxRjUxMERFRTAw
NjVFMDg1IC8qIENhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcCAqLywKQEAgLTk0MTksNiArOTQy
NCw3IEBACiAJCQkJQTE3NUM0NEEyMUFBMzE3MTAwMDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29j
b2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMUEwQkQyMUE0OEU2QzYwMDU0RUY3NCAvKiBBc3Nl
cnRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1RTc3MjgxODNERDZGNjAw
MDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQUFGQTYzNEYyMzRG
N0M2NDAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
Q0VFOTY2RDExMkZBRjU3MDA2QkNDMjQgLyogQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTFBMzE3MzIxMzRDRUE2QzAwN0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxMkY1ODk3MTJBODgzODgwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlOGZiOGY1MDkyOTZkMjYwNDMzMGEzZDJlNTE3ODU4
ZDg2NmRkZjJlLi5kYjNiODUzYmMxNDY4MjczMWI4MGY4YzgwYzdhYWQyMWQyOTlhMThiIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjAgQEAKKzIwMTktMTAtMjQgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAg
ICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3RSdW5uZXIg
bWV0aG9kIHRvIGVuYWJsZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRlCisgICAgICAgIGluIHRoZSBO
ZXR3b3JrIHByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6
OnNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpk
aWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKwogMjAxOS0x
MC0yMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TIDEzXSBpbXBvcnRlZC9tb3ppbGxhL3N2Zy90ZXh0L3RleHRwYXRoLXNlbGVjdGlvbi5zdmcg
aXMgZmxha3kKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCmluZGV4IGZhZWYwYTAzZmM0YjA1ODll
NzQzYzY5M2U0NDI3Mzg0MzY3MDQ2NzAuLmM1MGY0MjU4ODhhMjUzNDZmM2ZlM2IyYzgwZjE4OWJl
YzUwMzBjZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbApAQCAtMzUyLDYgKzM1Miw4IEBA
IGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICB2b2lkIHNldFN0b3JhZ2VBY2Nlc3NBUElFbmFi
bGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdm9pZCBnZXRBbGxTdG9yYWdlQWNjZXNzRW50cmll
cyhvYmplY3QgY2FsbGJhY2spOwogCisgICAgdm9pZCBzZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVu
YWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKwogICAgIC8vIE9wZW4gcGFuZWwKICAgICB2b2lkIHNl
dE9wZW5QYW5lbEZpbGVzKG9iamVjdCBmaWxlc0FycmF5KTsKICAgICB2b2lkIHNldE9wZW5QYW5l
bEZpbGVzTWVkaWFJY29uKG9iamVjdCBtZWRpYUljb24pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggY2UzMjEzNzU2
YzlmMDUwYzk2YTY4M2JjNTE5YTRmOTRhNDMyZmM0ZS4uMWJlMGE4YWNiOWQ5NGU4Y2VmYWUwZGM3
NDJmMjYyOGMzNzA3MmEwZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0yMjkxLDYgKzIyOTEsMTUgQEAgdm9pZCBU
ZXN0UnVubmVyOjpnZXRBbGxTdG9yYWdlQWNjZXNzRW50cmllcyhKU1ZhbHVlUmVmIGNhbGxiYWNr
KQogICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2lu
Z2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBudWxscHRyLCBudWxscHRyKTsK
IH0KIAordm9pZCBUZXN0UnVubmVyOjpzZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoYm9v
bCBlbmFibGVkKQoreworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9
IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YWxlV2hpbGVSZXZh
bGlkYXRlRW5hYmxlZCIpKTsKKworICAgIFdLUmV0YWluUHRyPFdLQm9vbGVhblJlZj4gbWVzc2Fn
ZUJvZHkgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShlbmFibGVkKSk7CisKKyAgICBXS0J1bmRs
ZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRs
ZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOworfQor
CiB2b2lkIFRlc3RSdW5uZXI6OmNhbGxEaWRSZWNlaXZlQWxsU3RvcmFnZUFjY2Vzc0VudHJpZXND
YWxsYmFjayhWZWN0b3I8U3RyaW5nPiYgZG9tYWlucykKIHsKICAgICBXS0J1bmRsZUZyYW1lUmVm
IG1haW5GcmFtZSA9IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShJbmplY3RlZEJ1bmRsZTo6c2lu
Z2xldG9uKCkucGFnZSgpLT5wYWdlKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRleCBlMDM5NGU2NTg4ZTM5ZmQzNWY4N2I1
YjczMmM1NzZhYzEyZmZkNWJlLi4yMjA1ZjZiYzViNmVkZmM0NzAzZGIyNjg0MDhlMmY5MWQxYWZh
NjYzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuaApAQCAtNDU4LDYgKzQ1OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGdldEFsbFN0
b3JhZ2VBY2Nlc3NFbnRyaWVzKEpTVmFsdWVSZWYgY2FsbGJhY2spOwogICAgIHZvaWQgY2FsbERp
ZFJlY2VpdmVBbGxTdG9yYWdlQWNjZXNzRW50cmllc0NhbGxiYWNrKFZlY3RvcjxTdHJpbmc+JiBk
b21haW5zKTsKIAorICAgIHZvaWQgc2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKGJvb2wp
OworCiAgICAgLy8gT3BlbiBwYW5lbAogICAgIHZvaWQgc2V0T3BlblBhbmVsRmlsZXMoSlNWYWx1
ZVJlZik7CiAgICAgdm9pZCBzZXRPcGVuUGFuZWxGaWxlc01lZGlhSWNvbihKU1ZhbHVlUmVmKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggM2M2MjY5YzQ5
MDY0ZGEzZDg5Zjc1OWFkMzZlOGUxYzQ1MWRiMjQ1Mi4uZWNmNDc1N2E1MDU0ZmFjZGI5MDA5OWM2
N2I4YzY4NWRiNDdlMjFjOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlv
bi5jcHAKQEAgLTkyMSw2ICs5MjEsMTIgQEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52
b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEIKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRG
OENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQiKSkg
eworICAgICAgICBXS0Jvb2xlYW5SZWYgYWNjZXB0ID0gc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVm
PihtZXNzYWdlQm9keSk7CisgICAgICAgIFdLQ29udGV4dFNldFN0YWxlV2hpbGVSZXZhbGlkYXRl
RW5hYmxlZChUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuY29udGV4dCgpLCBXS0Jvb2xlYW5H
ZXRWYWx1ZShhY2NlcHQpKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAg
aWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRBbGxvd3NB
bnlTU0xDZXJ0aWZpY2F0ZSIpKSB7CiAgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24o
KS5zZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShXS0Jvb2xlYW5HZXRWYWx1ZShzdGF0aWNfY2Fz
dDxXS0Jvb2xlYW5SZWY+KG1lc3NhZ2VCb2R5KSkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlYmRhNzRhMzVmOTg1YjM4NWZmNmNmYzM0YjI4NDNhMzY3MzljOTYwLi5lMmIyODI2
ZTE2YzU4MmEwOThmYjk4ZjRiMTgzZDUzYmFmNjY0M2NkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTktMTAtMjQgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBw
b3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNraXAgbmV3bHkgaW1wb3J0ZWQgdGVz
dHMgZm9yIFdLMS4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTkt
MTAtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBdWRpb0Nv
bnRleHQgc2hvdWxkIG5vdCBwcmV2ZW50IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDIyOWEyNDhlNjlhN2QzOTdjNGU4YzY4
NTgyMGU1ODlkN2FlNDZjNWIuLjYzYTc0OTM1MTA2ZjdkN2M4ZWNlODY4NDBkMzNiOWNjZWExYzM1
NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5
LTEwLTI0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBz
dGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZSBXUFQgdGVzdHMuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5q
c29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4p
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9y
ZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5OiBBZGRlZC4KKyAgICAgICAgKGlkX3Rva2VuKToKKyAg
ICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUt
Y3NzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxl
LWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
c3RhbGUtc2NyaXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3N3LWludGVyY2VwdC5qczogQWRkZWQuCisgICAgICAgIChhc3luYy5icm9hZGNhc3Qp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAxOS0xMC0yNCAgQW50b2luZSBRdWludCAg
PGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gVXBkYXRlIFdQ
VCB0ZXN0cyByZWxhdGVkIHRvIFdlYiBBbmltYXRpb25zIGFuZCByZW1vdmUgaW1wb3J0ZWQgTW96
aWxsYSB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNl
cy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVz
b3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCBmOTIxYjMzY2Q2ODY4ODA1OTk1
MDQxY2U1ZGM0OWQwNGZhOWNmMTdjLi40Y2IxNTMzN2MwOWIwODYxZGZjNWIyOTA4YWQ3ZGY0NDQ0
NjQ2ZjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2lt
cG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVz
b3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMTY2LDYgKzE2Niw3IEBACiAgICAg
IndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3JhbmdlIjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL2Z1bGxzY3JlZW4iOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
Z2FtZXBhZCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9nZW5lcmljLXNlbnNv
ciI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJm
MjZmNGFiMTFjNzc3YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFT
UyBTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZmNGFiMTFjNzc3
YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBT
ZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5o
dHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZWFiMDc2M2ZjNjVhZTA1MGEzYmM5OTBiOTBjZjVjMzJm
OWE1OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMu
aHRtbApAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPlN0YWxlIFJldmFsaWRhdGlvbiBSZXF1
ZXN0cyBkb24ndCBnZXQgc2VudCB0byBzZXJ2aWNlIHdvcmtlcjwvdGl0bGU+CisgIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNy
Yz0iLi4vLi4vc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhl
bHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICBpZiAoInRlc3RSdW5uZXIi
IGluIHdpbmRvdykKKyAgICB0ZXN0UnVubmVyLnNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxl
ZCh0cnVlKTsKKworICAvLyBEdXBsaWNhdGluZyB0aGlzIHJlc291cmNlIHRvIG1ha2Ugc2Vydmlj
ZSB3b3JrZXIgc2NvcGluZyBzaW1wbGVyLgorICBhc3luYyBmdW5jdGlvbiBzZXR1cFJlZ2lzdHJh
dGlvbkFuZFdhaXRUb0JlQ29udHJvbGxlZCh0LCBzY29wZSkgeworICAgIGNvbnN0IGNvbnRyb2xs
ZWQgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgbmF2aWdhdG9yLnNlcnZpY2VX
b3JrZXIub25jb250cm9sbGVyY2hhbmdlID0gKCkgPT4geyByZXNvbHZlKCk7IH07CisgICAgfSk7
CisgICAgY29uc3QgcmVnID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIo
J3N3LWludGVyY2VwdC5qcycpOworICAgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0
YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisgICAgYXdhaXQgY29udHJvbGxlZDsKKyAgICBhZGRfY29t
cGxldGlvbl9jYWxsYmFjayhfID0+IHJlZy51bnJlZ2lzdGVyKCkpOworICAgIHJldHVybiByZWc7
CisgIH0KKworICAvLyBVc2luZyAyNTBtcyBwb2xsaW5nIGludGVydmFsIHRvIHByb3ZpZGUgZW5v
dWdoICduZXR3b3JrIGNhbG1uZXNzJyB0byBnaXZlCisgIC8vIHRoZSBiYWNrZ3JvdW5kIGxvdyBw
cmlvcml0eSByZXZhbGlkYXRpb24gcmVxdWVzdCBhIGNoYW5jZSB0byBraWNrIGluLgorICBmdW5j
dGlvbiB3YWl0MjUwbXModGVzdCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKKyAgICAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgICAgcmVzb2x2ZSgpOwor
ICAgICAgfSwgMjUwKTsKKyAgICB9KTsKKyAgfQorCisgIHByb21pc2VfdGVzdChhc3luYyAodGVz
dCkgPT4geworICAgIHZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKyAgICBjb25zdCB1cmkg
PSAncmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0nICsgcmVxdWVzdF90b2tlbjsKKwor
ICAgIGF3YWl0IHNldHVwUmVnaXN0cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVkKHRlc3QsICdy
ZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5Jyk7CisKKyAgICB2YXIgc2VydmljZV93b3JrZXJfY291
bnQgPSAwOworICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21l
c3NhZ2UnLCBmdW5jdGlvbiBvbmNlKGV2ZW50KSB7CisgICAgICBpZiAoZXZlbnQuZGF0YS5lbmRz
V2l0aCh1cmkpKSB7CisgICAgICAgIHNlcnZpY2Vfd29ya2VyX2NvdW50Kys7CisgICAgICB9Cisg
ICAgfSk7CisKKyAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVyaSk7CisgICAgY29u
c3QgcmVzcG9uc2UyID0gYXdhaXQgZmV0Y2godXJpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3Bv
bnNlLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSwgcmVzcG9uc2UyLmhlYWRlcnMuZ2V0KCdVbmlx
dWUtSWQnKSk7CisgICAgd2hpbGUodHJ1ZSkgeworICAgICAgY29uc3QgcmV2YWxpZGF0aW9uX2No
ZWNrID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49
YCArIHJlcXVlc3RfdG9rZW4pOworICAgICAgaWYgKHJldmFsaWRhdGlvbl9jaGVjay5oZWFkZXJz
LmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAgICAgICAgLy8gVGhlIHNlcnZpY2Ugd29ya2VyIHNo
b3VsZCBub3Qgc2VlIHRoZSByZXZhbGlkYXRpb24gcmVxdWVzdC4KKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhzZXJ2aWNlX3dvcmtlcl9jb3VudCwgMik7CisgICAgICAgIGJyZWFrOworICAgICAgfQor
ICAgICAgYXdhaXQgd2FpdDI1MG1zKHRlc3QpOworICAgIH0KKyAgfSwgJ1NlY29uZCBmZXRjaCBy
ZXR1cm5zIHNhbWUgcmVzcG9uc2UnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9m
ZXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmZTlhNjQ1YmM1OWVmNzBmZmE4MWMyZGRlYzMwYjNhMDQ2
MzA2YzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbApAQCAt
MCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIGlzIG5vdCBleGVjdXRlZCBmb3IgZmV0
Y2ggQVBJPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitpZiAoInRlc3RSdW5uZXIiIGluIHdpbmRvdykKKyAgdGVzdFJ1bm5lci5zZXRTdGFsZVdo
aWxlUmV2YWxpZGF0ZUVuYWJsZWQodHJ1ZSk7CisKK2Z1bmN0aW9uIHdhaXQyNW1zKHRlc3QpIHsK
KyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHRlc3Quc3RlcF90aW1lb3V0
KCgpID0+IHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9LCAyNSk7CisgIH0pOworfQorCitwcm9t
aXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgdmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigp
OworCisgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3Jp
cHQucHk/dG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworICBjb25zdCByZXNwb25zZTIgPSBhd2Fp
dCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj1gICsgcmVxdWVzdF90b2tl
bik7CisKKyAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZS5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJyks
IHJlc3BvbnNlMi5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJykpOworCisgIHdoaWxlKHRydWUpIHsK
KyAgICBjb25zdCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0
YWxlLXNjcmlwdC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tlbik7CisgICAgaWYgKHJl
dmFsaWRhdGlvbl9jaGVjay5oZWFkZXJzLmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAgICAgIGJy
ZWFrOworICAgIH0KKyAgICBhd2FpdCB3YWl0MjVtcyh0ZXN0KTsKKyAgfQorfSwgJ1NlY29uZCBm
ZXRjaCByZXR1cm5zIHNhbWUgcmVzcG9uc2UnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVz
b3VyY2VzL3N0YWxlLWNzcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmFlNTQ2ZDA2NTFmOTdmMzAyMDgyOTQ1
MmRiNjIyNTQ4NmRjNDUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1jc3MucHkKQEAgLTAsMCArMSwyOCBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVz
cG9uc2UpOgorCisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQor
ICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQor
ICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVz
dC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFs
dWUgIT0gTm9uZToKKyAgICAgICAgY291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBpc19xdWVy
eToKKyAgICAgICAgaWYgY291bnQgPCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNo
LnB1dCh0b2tlbiwgY291bnQpCisgICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNvdW50ICsg
MQorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAgIGlm
IGlzX3F1ZXJ5OgorICAgICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29u
dGVudCA9ICIiCisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToK
KyAgICAgIGNvbnRlbnQgPSAiYm9keSB7IGJhY2tncm91bmQ6IHJnYigwLCAxMjgsIDApOyB9Igor
ICAgICAgaWYgY291bnQgPiAxOgorICAgICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNrZ3JvdW5k
OiByZ2IoMjU1LCAwLCAwKTsgfSIKKworICAgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIs
ICJ0ZXh0L2NzcyIpLAorICAgICAgICAgICAgICAgKCJDYWNoZS1Db250cm9sIiwgInByaXZhdGUs
IG1heC1hZ2U9MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIpXQorCisgICAgICByZXR1cm4g
MjAwLCBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3Vy
Y2VzL3N0YWxlLWltYWdlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFn
ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MzllYjg0YmIzNGJiZDE1ZTJjYTcwNjFlZTRmYTU3MjRkMmM2NGY4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFn
ZS5weQpAQCAtMCwwICsxLDM4IEBACitpbXBvcnQgb3MucGF0aAorCitkZWYgbWFpbihyZXF1ZXN0
LCByZXNwb25zZSk6CisKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5v
bmUpCisgICAgaXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBO
b25lCisgICAgd2l0aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSBy
ZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBp
ZiB2YWx1ZSAhPSBOb25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlz
X3F1ZXJ5OgorICAgICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIu
c3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291
bnQgKyAxCisgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisK
KyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAg
ICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAg
IGVsc2U6CisgICAgICBmaWxlbmFtZSA9ICJncmVlbi0xNngxNi5wbmciCisgICAgICBpZiBjb3Vu
dCA+IDE6CisgICAgICAgIGZpbGVuYW1lID0gImdyZWVuLTI1NngyNTYucG5nIgorCisgICAgICBw
YXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLi8uLi8uLi9p
bWFnZXMiLCBmaWxlbmFtZSkKKyAgICAgIGJvZHkgPSBvcGVuKHBhdGgsICJyYiIpLnJlYWQoKQor
CisgICAgICByZXNwb25zZS5hZGRfcmVxdWlyZWRfaGVhZGVycyA9IEZhbHNlCisgICAgICByZXNw
b25zZS53cml0ZXIud3JpdGVfc3RhdHVzKDIwMCkKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0
ZV9oZWFkZXIoImNvbnRlbnQtbGVuZ3RoIiwgbGVuKGJvZHkpKQorICAgICAgcmVzcG9uc2Uud3Jp
dGVyLndyaXRlX2hlYWRlcigiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdlPTAsIHN0
YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAiKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hl
YWRlcigiY29udGVudC10eXBlIiwgImltYWdlL3BuZyIpCisgICAgICByZXNwb25zZS53cml0ZXIu
ZW5kX2hlYWRlcnMoKQorCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoYm9keSkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFkNTQ2NzFm
NDIxMTczNWY1NmRmNTBhNTVkZWVhNmVkMjgxZDVhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5CkBAIC0wLDAgKzEsMzIgQEAKK2lt
cG9ydCByYW5kb20sIHN0cmluZywgZGF0ZXRpbWUKKworZGVmIGlkX3Rva2VuKCk6CisgICBsZXR0
ZXJzID0gc3RyaW5nLmFzY2lpX2xvd2VyY2FzZQorICAgcmV0dXJuICcnLmpvaW4ocmFuZG9tLmNo
b2ljZShsZXR0ZXJzKSBmb3IgaSBpbiByYW5nZSgyMCkpCisKK2RlZiBtYWluKHJlcXVlc3QsIHJl
c3BvbnNlKToKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisg
ICAgaXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisg
ICAgd2l0aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0
LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1
ZSAhPSBOb25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5
OgorICAgICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gu
cHV0KHRva2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAx
CisgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisKKyAgICBp
ZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNv
bnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6
CisgICAgICB1bmlxdWVfaWQgPSBpZF90b2tlbigpCisgICAgICBoZWFkZXJzID0gWygiQ29udGVu
dC1UeXBlIiwgInRleHQvamF2YXNjcmlwdCIpLAorICAgICAgICAgICAgICAgICAoIkNhY2hlLUNv
bnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwIiks
CisgICAgICAgICAgICAgICAgICgiVW5pcXVlLUlkIiwgdW5pcXVlX2lkKV0KKyAgICAgIGNvbnRl
bnQgPSAicmVwb3J0KCd7fScpIi5mb3JtYXQodW5pcXVlX2lkKQorICAgICAgcmV0dXJuIDIwMCwg
aGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzVhNzczMmE1NjZkNGE2ZjU3M2NjOTdmZDNkMTQ1NDY1N2Q0NzY4MAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cK
QEAgLTAsMCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAor
CitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFs
ZS1jc3MucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5CisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxl
LWNzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFmMDc5
ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1j
c3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVybnMgc3Rh
bGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTFmNDhlYWFk
NDk1MDQwNmY5YTNhZDQyODY4N2Q1NTE2OTdiYzhjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1s
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFs
aWRhdGUgd29ya3MgZm9yIGNzczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAoInRlc3RSdW5uZXIiIGluIHdpbmRvdykKKyAg
dGVzdFJ1bm5lci5zZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQodHJ1ZSk7CisKK3ZhciBy
ZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxv
YWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAg
ICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5n
ZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyksICJyZ2IoMCwgMTI4LCAwKSIpOwor
ICAgICAgdmFyIGxpbmsyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOworICAgICAg
bGluazIub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxz
KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUo
J2JhY2tncm91bmQtY29sb3InKSwgInJnYigwLCAxMjgsIDApIik7CisgICAgICAgIHZhciBjaGVj
a1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qg
a25vdyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICBmZXRjaCgi
cmVzb3VyY2VzL3N0YWxlLWNzcy5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90b2tlbikudGhl
bih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBjb3VudCA9IHJl
c3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNvdW50ID09ICcy
JykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVj
a1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBsaW5rMi5yZWwgPSAic3R5bGVzaGVldCI7
CisgICAgICBsaW5rMi50eXBlID0gInRleHQvY3NzIjsKKyAgICAgIGxpbmsyLmhyZWYgPSAicmVz
b3VyY2VzL3N0YWxlLWNzcy5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluazIpOworICAgIH0sIDApOworICB9KTsKK30sICdDYWNo
ZSByZXR1cm5zIHN0YWxlIHJlc291cmNlJyk7CisKK3ZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgibGluayIpOworbGluay5yZWwgPSAic3R5bGVzaGVldCI7CitsaW5rLnR5cGUgPSAi
dGV4dC9jc3MiOworbGluay5ocmVmID0gInJlc291cmNlcy9zdGFsZS1jc3MucHk/dG9rZW49IiAr
IHJlcXVlc3RfdG9rZW47Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspOworPC9zY3Jp
cHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xZTQyMDE0ZGVmZDcxOTEwOTZjMzNjY2U1ODMwZWY3Y2FhMWE1N2E2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQgQEAKKyAKKworUEFTUyBDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlIAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0NmY2ZGQ0MTMxM2MwMDViNDQ0NWZl
NzBmZjQ3ZmUzMmJmNDBiYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3Rh
bGUtaW1hZ2UuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIHdvcmtz
IGZvciBpbWFnZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0Pgor
PGJvZHk+Cis8IS0tCitVc2UgYSBjaGlsZCBkb2N1bWVudCB0byBsb2FkIHRoZSBzZWNvbmQgc3Rh
bGUgaW1hZ2UgaW50byBiZWNhdXNlCithbiBpbWFnZSBsb2FkZWQgaW50byB0aGUgc2FtZSBkb2N1
bWVudCB3aWxsIHNraXAgY2FjaGUtY29udHJvbCBoZWFkZXJzLgorU2VlOiBodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnLyN0aGUtbGlzdC1vZi1hdmFpbGFibGUtaW1hZ2VzCistLT4KKzxpZnJh
bWUgaWQ9ImNoaWxkIiBzcmNkb2M9IiI+PC9pZnJhbWU+Cis8c2NyaXB0PgoraWYgKCJ0ZXN0UnVu
bmVyIiBpbiB3aW5kb3cpCisgIHRlc3RSdW5uZXIuc2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFi
bGVkKHRydWUpOworCit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7Cithc3luY190ZXN0KHQg
PT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHQuc3RlcF90
aW1lb3V0KCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImZpcnN0aW1hZ2UiKS53aWR0aCwgMTYsICJXaWR0aCBpcyAxNiIpOworICAgICAgdmFyIGNo
aWxkRG9jdW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hpbGQnKS5jb250ZW50RG9j
dW1lbnQ7CisgICAgICB2YXIgaW1nMiA9IGNoaWxkRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1n
Iik7CisgICAgICBpbWcyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhpbWcyLndpZHRoLCAxNiwgImltYWdlIGRpbWVuc2lvbiIpOworICAgICAgICB2
YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdl
IGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAg
ZmV0Y2goInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90
b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBj
b3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNv
dW50ID09ICcyJykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGlt
ZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBpbWcyLnNyYyA9ICJyZXNv
dXJjZXMvc3RhbGUtaW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBjaGls
ZERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nMik7CisgICAgfSwgMCk7CisgIH0pOworfSwg
J0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGltZyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImltZyIpOworaW1nLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk/
dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CitpbWcuaWQgPSAiZmlyc3RpbWFnZSI7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMx
M2U1Nzg3ZWFmMDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENh
Y2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdGFsZS1zY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNGMwNjQ4OTIwZDRmN2I3MThjYTI2OTI3MzI3ODdhYjgzZTVlMjRmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCkBAIC0wLDAg
KzEsNTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIHNjcmlwdHM8L3RpdGxlPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgoraWYg
KCJ0ZXN0UnVubmVyIiBpbiB3aW5kb3cpCisgIHRlc3RSdW5uZXIuc2V0U3RhbGVXaGlsZVJldmFs
aWRhdGVFbmFibGVkKHRydWUpOworCit2YXIgbGFzdF9tb2RpZmllZDsKK3ZhciBsYXN0X21vZGlm
aWVkX2NvdW50ID0gMDsKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKworLy8gVGhlIHNj
cmlwdCB3aWxsIGNhbGwgcmVwb3J0IHZpYSBhIHVuaXF1ZWx5IGdlbmVyYXRlZCBJRCBvbiB0aGUg
c3VicmVzb3VyY2UuCisvLyBJZiBpdCBpcyBhIGNhY2hlIGhpdCB0aGUgSUQgd2lsbCBiZSB0aGUg
c2FtZSBhbmQgdGhlIHRlc3Qgd2lsbCBwYXNzLgorZnVuY3Rpb24gcmVwb3J0KG1vZCkgeworICBp
ZiAoIWxhc3RfbW9kaWZpZWQpIHsKKyAgICBsYXN0X21vZGlmaWVkID0gbW9kOworICAgIGxhc3Rf
bW9kaWZpZWRfY291bnQgPSAxOworICB9IGVsc2UgaWYgKGxhc3RfbW9kaWZpZWQgPT0gbW9kKSB7
CisgICAgbGFzdF9tb2RpZmllZF9jb3VudCsrOworICB9Cit9CisKK2FzeW5jX3Rlc3QodCA9PiB7
CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgc3RlcF90aW1lb3V0
KCgpID0+IHsKKyAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3Jp
cHQiKTsKKyAgICAgIHNjcmlwdC5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tl
bj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2Ny
aXB0KTsKKyAgICAgIHNjcmlwdC5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhsYXN0X21vZGlmaWVkX2NvdW50LCAyLCAibGFzdCBtb2RpZmllZCIp
OworICAgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAgIC8vIFdl
IHBvbGwgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoZW4gdGhlIHJldmFsaWRhdGlvbiB3aWxsIG9j
Y3VyLgorICAgICAgICAgICAgZmV0Y2goInJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkm
dG9rZW49IiArIHJlcXVlc3RfdG9rZW4pLnRoZW4odC5zdGVwX2Z1bmMoKHJlc3BvbnNlKSA9PiB7
CisgICAgICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIp
OworICAgICAgICAgICAgICBpZiAoY291bnQgPT0gJzInKSB7CisgICAgICAgICAgICAgICAgICB0
LmRvbmUoKTsKKyAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0LnN0ZXBf
dGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
KSk7CisgICAgICAgICAgfTsKKyAgICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwg
MjUpOworICAgICAgfSk7CisgICAgfSwgMCk7CisgIH0pOworfSwgJ0NhY2hlIHJldHVybnMgc3Rh
bGUgcmVzb3VyY2UnKTsKKwordmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNj
cmlwdCIpOworc2NyaXB0LnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPSIg
KyByZXF1ZXN0X3Rva2VuOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kY2E3ZGU1
MWIwYjhjNTUxODI3NmU3MGFlMjE5YjdiYzhmODY5YTk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpAQCAtMCwwICsxLDE0IEBACithc3luYyBmdW5j
dGlvbiBicm9hZGNhc3QobXNnKSB7CisgIGZvciAoY29uc3QgY2xpZW50IG9mIGF3YWl0IGNsaWVu
dHMubWF0Y2hBbGwoKSkgeworICAgIGNsaWVudC5wb3N0TWVzc2FnZShtc2cpOworICB9Cit9CisK
K3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBldmVudCA9PiB7CisgIGV2ZW50LndhaXRV
bnRpbChicm9hZGNhc3QoZXZlbnQucmVxdWVzdC51cmwpKTsKKyAgZXZlbnQucmVzcG9uZFdpdGgo
ZmV0Y2goZXZlbnQucmVxdWVzdCkpOworfSk7CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignYWN0
aXZhdGUnLCBldmVudCA9PiB7CisgIHNlbGYuY2xpZW50cy5jbGFpbSgpOworfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNj
LWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI5ZGQwNmY4NDZhNzA2OGZlYTJiODI4NzgxYWQ3NWNj
MTk4ZTdhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS93M2MtaW1wb3J0Lmxv
ZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25l
CitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0
cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0
YWxlLWNzcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0
LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggYzMwOTczNDEzYjdhZTFjYTdhYjIxOGJjMzdmMGI1ZWNkZWJhYzM4NS4uZjFmZDdhMGI3ZTc3
NGI1ZWQyOTMxOTFlNjcwZmE0MGE2MDkzOGUzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjAwNSw0ICsyMDA1LDcgQEAgaW5zcGVjdG9y
L2NhbnZhcy9yZWNvcmRpbmctaHRtbC0yZC5odG1sCiB3ZWJraXQub3JnL2IvMTU5NzI0IFsgRGVi
dWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXBv
c3QtdXBsb2FkLmh0bSBbIFNraXAgXQogCiAjIFNraXAgSXNMb2dnZWRJbgotaHR0cC90ZXN0cy9p
cy1sb2dnZWQtaW4vIFsgU2tpcCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoraHR0cC90
ZXN0cy9pcy1sb2dnZWQtaW4vIFsgU2tpcCBdCisKKyMgU3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBp
cyBub3Qgc3VwcG9ydGVkIG9uIFdLMQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggN2E2ZjI0OTFmMTU2MjBjODlkM2Y4
NmZkNjg5MjhiOTg1Zjc2OTg2Ny4uMDY2MzM5NDFmYzhlZjBjZTc5Y2U1ZWI0ODJmY2ViZjQ2ZTQ3
OGFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtODA1LDYgKzgwNSw3IEBAIHdlYmtpdC5vcmcvYi8yMDMxNzMgaW5zcGVjdG9yL2NvbnNv
bGUvd2ViY29yZS1sb2dnaW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2Iv
MjAzMTc2IFsgRGVidWcgXSBmYXN0L3Njcm9sbGluZy9sYXRjaGluZy9zY3JvbGwtc2VsZWN0LWJv
dHRvbS10ZXN0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCisKIHdlYmtpdC5vcmcvYi8yMDMzMDQg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0
aW9uLW9wYWNpdHktcGF1c2UtYW5kLXNldC10aW1lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IHdlYmtpdC5vcmcvYi8yMDMzMDQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLXRyYW5zZm9ybS1wYXVzZS1hbmQtc2V0LXRpbWUuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIwMzMwNSBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvcHJvcGVydGllcy12YWx1ZS0w
MDEuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCkBAIC04MTIsMyArODEzLDYgQEAgd2Via2l0Lm9yZy9i
LzIwMzMwNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlv
bnMvcHJvcGVydGkKIHdlYmtpdC5vcmcvYi8yMDMzMDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL3Byb3BlcnRpZXMtdmFsdWUtaW5oZXJpdC0wMDIu
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjAzMzU2IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9wcm9wZXJ0aWVzLXZhbHVlLTAw
My5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8yMDMzNTcgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL2V2ZW50LWRpc3BhdGNoLnRl
bnRhdGl2ZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KKworIyBTdGFsZS13aGlsZS1yZXZhbGlkYXRl
IGlzIG5vdCBzdXBwb3J0ZWQgb24gV0sxCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381813</attachid>
            <date>2019-10-24 09:19:27 -0700</date>
            <delta_ts>2019-10-24 11:26:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191024181926.patch</filename>
            <type>text/plain</type>
            <size>71159</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY1MGM0NjgyOGQyMTgy
NTA4YjE4N2U3MjYzZWM2YWFiZTkzOWY5Ny4uMTI0YzU3MDQ5NjY3NDhjNzk3ZTUxMTk0MTQ4NjU0
ZmU3YzU5NzhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTEwLTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBwYXJzaW5nIHRoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlCisgICAgICAgIGFuZCBleHBvc2UgaXQgb24gUmVzb3Vy
Y2VSZXNwb25zZS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3Nz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2Fj
aGVWYWxpZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGly
ZWN0aXZlcyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xTdGFsZVdo
aWxlUmV2YWxpZGF0ZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlc3BvbnNlQmFzZS5oOgorCiAyMDE5LTEwLTI0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgQXVkaW9Db250ZXh0IHNob3VsZCBub3QgcHJldmVudCBlbnRlcmlu
ZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY0OTNjZGYxZWZlZTAxNDJiYTZh
MmMyOTNiODgzMDVjNTQxMzUwZGQuLmI2ZTc3NWExMmEyYWQyNWIwZGFlMGQ4NmM1NDg5OGVmMjRk
MTY3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAKKzIwMTktMTAtMjQgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRh
dGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBhIG5ldyBVc2VEZWNpc2lvbiB2YWx1ZSBBc3luY1JldmFsaWRhdGUgZm9y
IGFzeW5jIHJldmFsaWRhdGlvbi4gVGhpcyBpcyB1c2VkCisgICAgICAgIHdoZW4gdGhlIHJldHJp
ZXZlZCBjYWNoZSBlbnRyeSBpcyBhIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgcmVzcG9uc2UgWzFd
LgorICAgICAgICBJbiBjYXNlIG9mIEFzeW5jUmV2YWxpZGF0ZSwgYSBjaGVjayBpcyBtYWRlIHRv
IHNlZSBpZiB0aGVyZSBpcyBhCisgICAgICAgIGN1cnJlbnQgYXN5bmMgcmV2YWxpZGF0aW9uIG9u
Z29pbmcgZm9yIHRoZSBlbnRyeSwgaWYgbm90IG9uZSBpcworICAgICAgICBzdGFydGVkLiBSZWdh
cmRsZXNzLCB0aGUgc3RhbGUgZW50cnkgaXMgcmV0dXJuZWQsIHVudGlsIGVpdGhlciB0aGUKKyAg
ICAgICAgYXN5bmMgcmV2YWxpZGF0aW9uIGVuZHMgc3VjY2Vzc2Z1bGx5IG9yIGF0IHRoZSBtb21l
bnQgd2hlbiB0aGUKKyAgICAgICAgcmVzcG9uc2UgZXhwaXJlcyBmb3IgcmVhbC4KKworICAgICAg
ICBbMV0gaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS1yZXNwb25zZQorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNldFN0YWxlV2hpbGVS
ZXZhbGlkYXRlRW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppc1N0
YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCBjb25zdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpBc3luY1JldmFsaWRhdGlvbjo6c3RhbGVXaGlsZVJldmFsaWRhdGVF
bmRpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9u
OjpBc3luY1JldmFsaWRhdGlvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5
bmNSZXZhbGlkYXRpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
QXN5bmNSZXZhbGlkYXRpb246OmxvYWQgY29uc3QpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
cmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6bWFrZVVzZURlY2lzaW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjptYWtl
U3RvcmVEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Y2FuVXNlUGVu
ZGluZ1JldmFsaWRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6
OnN0YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDYWNoZTo6Q2FjaGU6OnJldHJpZXZlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpyZXNwb25zZUhhc0V4cGlyZWQpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
YWNoZTo6ZHVtcEhUVFBIZWFkZXJzRGlmZik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6cmVxdWVzdHNIZWFkZXJzTWF0Y2gpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmR1bXBIVFRQSGVhZGVyc0RpZmYpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlcXVlc3RzSGVhZGVyc01hdGNoKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tD
b250ZXh0LmNwcDoKKyAgICAgICAgKFdLQ29udGV4dFNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5h
YmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpzZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorCiAyMDE5LTEwLTI0ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNs
b3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gRW5hYmxlIHJ1bnRpbWUgc2V0
dGluZyB3aXRoIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyBmb3IgU2VydmVyIFRpbWluZyBBUEkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNw
cAppbmRleCA0OTU5MDUwNjc5Y2UwNTA0ODQyNDQ3ZWIxZjVhMGJmOGE2NzY4M2NlLi4yZDM1MDdk
ZjIzN2RiMjk1ZDU5MzFhNGMwZGY3NjAyNzc3ZGU3YjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uY3BwCkBAIC0zMTMsOCArMzEz
LDE4IEBAIENhY2hlQ29udHJvbERpcmVjdGl2ZXMgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVz
KGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMpCiAgICAgICAgICAgICAgICAgZG91YmxlIG1h
eFN0YWxlID0gZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9Eb3VibGUoJm9rKTsKICAgICAgICAgICAg
ICAgICBpZiAob2spCiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5tYXhTdGFsZSA9IFNlY29u
ZHMgeyBtYXhTdGFsZSB9OwotICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAiaW1tdXRhYmxlIikpCisgICAgICAg
ICAgICB9IGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGl2ZXNb
aV0uZmlyc3QsICJpbW11dGFibGUiKSkgewogICAgICAgICAgICAgICAgIHJlc3VsdC5pbW11dGFi
bGUgPSB0cnVlOworICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAic3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSIpKSB7
CisgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGFsZVdoaWxlUmV2YWxpZGF0ZSkgeworICAg
ICAgICAgICAgICAgICAgICAvLyBGaXJzdCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGRpcmVjdGl2
ZSB3aW5zIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBvbmVzLgorICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYm9vbCBvazsKKyAg
ICAgICAgICAgICAgICBkb3VibGUgc3RhbGVXaGlsZVJldmFsaWRhdGUgPSBkaXJlY3RpdmVzW2ld
LnNlY29uZC50b0RvdWJsZSgmb2spOworICAgICAgICAgICAgICAgIGlmIChvaykKKyAgICAgICAg
ICAgICAgICAgICAgcmVzdWx0LnN0YWxlV2hpbGVSZXZhbGlkYXRlID0gU2Vjb25kcyB7IHN0YWxl
V2hpbGVSZXZhbGlkYXRlIH07CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oCmlu
ZGV4IDU2ZWZlYTYyMTU0NDc5NTA2YTE2NjRmZmQwOGUwOGFiMmM1NTZiY2QuLjA0MGE5Njk3ZTVm
YTgyZTFhZjUwZmZhOWFkMTkyNzI3ZjNiNzg0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaApAQCAtNjksNiArNjksNyBAQCBzdHJ1
Y3QgQ2FjaGVDb250cm9sRGlyZWN0aXZlcyB7CiAKICAgICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNv
bmRzOjpNYXJrYWJsZVRyYWl0cz4gbWF4QWdlOwogICAgIE1hcmthYmxlPFNlY29uZHMsIFNlY29u
ZHM6Ok1hcmthYmxlVHJhaXRzPiBtYXhTdGFsZTsKKyAgICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNv
bmRzOjpNYXJrYWJsZVRyYWl0cz4gc3RhbGVXaGlsZVJldmFsaWRhdGU7CiAgICAgYm9vbCBub0Nh
Y2hlIDogMTsKICAgICBib29sIG5vU3RvcmUgOiAxOwogICAgIGJvb2wgbXVzdFJldmFsaWRhdGUg
OiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlc3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVzcG9uc2VCYXNlLmNwcAppbmRleCAyMGFjNjRkNTcwMzRjNjllYTkyYmM3YTQzNTM2ZjE2
ZDc5NWZmYTI5Li4zMjcyZTBjNDhlNmI2NDdhMDNkMDIzODM2OWFjM2I4MTBlNWVjY2ZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VC
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmNwcApAQCAtNjU1LDYgKzY1NSwxMyBAQCBPcHRpb25hbDxTZWNvbmRzPiBSZXNv
dXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250cm9sTWF4QWdlKCkgY29uc3QKICAgICByZXR1cm4g
bV9jYWNoZUNvbnRyb2xEaXJlY3RpdmVzLm1heEFnZTsKIH0KIAorT3B0aW9uYWw8U2Vjb25kcz4g
UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkg
Y29uc3QKK3sKKyAgICBpZiAoIW1faGF2ZVBhcnNlZENhY2hlQ29udHJvbEhlYWRlcikKKyAgICAg
ICAgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKCk7CisgICAgcmV0dXJuIG1fY2FjaGVDb250
cm9sRGlyZWN0aXZlcy5zdGFsZVdoaWxlUmV2YWxpZGF0ZTsKK30KKwogc3RhdGljIE9wdGlvbmFs
PFdhbGxUaW1lPiBwYXJzZURhdGVWYWx1ZUluSGVhZGVyKGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhl
YWRlcnMsIEhUVFBIZWFkZXJOYW1lIGhlYWRlck5hbWUpCiB7CiAgICAgU3RyaW5nIGhlYWRlclZh
bHVlID0gaGVhZGVycy5nZXQoaGVhZGVyTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggY2IxN2I1OTU0
ODdkMTBiNzczYzRlNDg1MzU0MzAyNGE1MGYxYTk3Zi4uNDA2ODFmMDc3YWI5ZWVkMDljOTM1YmIw
YmFhYzllMGI0MDljMzhkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtMTM2LDYgKzEzNiw3IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGNhY2hlQ29udHJvbENvbnRhaW5zSW1tdXRhYmxl
KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNDYWNoZVZhbGlkYXRvckZpZWxk
cygpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGNhY2hlQ29u
dHJvbE1heEFnZSgpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+
IGNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9F
WFBPUlQgT3B0aW9uYWw8V2FsbFRpbWU+IGRhdGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9S
VCBPcHRpb25hbDxTZWNvbmRzPiBhZ2UoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRp
b25hbDxXYWxsVGltZT4gZXhwaXJlcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDM4N2VlZTI0MjBlZDU5NDJiMmFkMjdlODgz
MzM1OWEwY2E2YTFkZWUuLjIxMTY4Y2Q2Yzg1M2FjMjZkMjVmNzA3Njc5ZDVjOGQwYjYwNjI3N2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAg
LTI2NSw2ICsyNjUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTaG91bGRCbG9ja1RoaXJkUGFy
dHlDb29raWVzRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCwgYm9vbCwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmKTsKICNlbmRpZgogCisgICAgdm9pZCBzZXRTdGFsZVdoaWxlUmV2YWxpZGF0
ZUVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fc3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkID0g
ZW5hYmxlZDsgfQorICAgIGJvb2wgaXNTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX3N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZDsgfQorCiAgICAgdXNpbmcg
Q2FjaGVTdG9yYWdlUm9vdFBhdGhDYWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3Ry
aW5nJiYpPjsKICAgICB2b2lkIGNhY2hlU3RvcmFnZVJvb3RQYXRoKFBBTDo6U2Vzc2lvbklELCBD
YWNoZVN0b3JhZ2VSb290UGF0aENhbGxiYWNrJiYpOwogCkBAIC01MzcsNyArNTQwLDkgQEAgcHJp
dmF0ZToKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogICAgIGJvb2wgbV9p
c0lUUERhdGFiYXNlRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKLSAgICAKKworICAgIGJvb2wg
bV9zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgeyBmYWxzZSB9OworCiAgICAgY2xhc3MgU3Rv
cmFnZVF1b3RhTWFuYWdlcnMgewogICAgIHB1YmxpYzoKICAgICAgICAgdWludDY0X3QgZGVmYXVs
dFF1b3RhKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3JpZ2luKSBjb25zdCB7IHJldHVy
biBvcmlnaW4udG9wT3JpZ2luID09IG9yaWdpbi5jbGllbnRPcmlnaW4gPyBtX2RlZmF1bHRRdW90
YSA6IG1fZGVmYXVsdFRoaXJkUGFydHlRdW90YTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNDFmZWEw
ZGY1ODk0ZjNjNGMxYTJjMmMzMzVlYWIyZTgzYWQwNGIzYy4uMTdhYzA5ZWQ5ZmI2NDVmN2YzMjA4
ODNkNTVjNDU5OTkxYWNjOTYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC02Miw2ICs2Miw3IEBAIG1l
c3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRRT1MoaW50
IGxhdGVuY3lRT1MsIGludCB0aHJvdWdocHV0UU9TKQogICAgIFNldFN0b3JhZ2VBY2Nlc3NBUElF
bmFibGVkKGJvb2wgZW5hYmxlZCkKICNlbmRpZgorICAgIFNldFN0YWxlV2hpbGVSZXZhbGlkYXRl
RW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgU2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGVGb3JX
ZWJTb2NrZXQoYm9vbCBlbmFibGVkKSAtPiAoKSBTeW5jaHJvbm91cwogCiAgICAgU3luY0FsbENv
b2tpZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9B
c3luY1JldmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0FzeW5jUmV2YWxpZGF0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OGFkZTk3MGJiYThjYmFkNzA5MzAy
ODc2YjA5N2Q4MTQwMWE0MzczCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5jcHAKQEAgLTAsMCArMSw4OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXN5bmNSZXZhbGlkYXRpb24uaCIKKworI2luY2x1ZGUg
Ik5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVW
YWxpZGF0aW9uLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworbmFtZXNwYWNlIE5ldHdvcmtDYWNo
ZSB7CisKK3N0YXRpYyBpbmxpbmUgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNvbnN0cnVjdFJl
dmFsaWRhdGlvblJlcXVlc3QoY29uc3QgS2V5JiBrZXksIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgRW50cnkqIGVudHJ5KQoreworICAgIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCByZXZhbGlkYXRpb25SZXF1ZXN0ID0gcmVxdWVzdDsKKyAgICBpZiAoIWtl
eS5wYXJ0aXRpb24oKS5pc0VtcHR5KCkpCisgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0
Q2FjaGVQYXJ0aXRpb24oa2V5LnBhcnRpdGlvbigpKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdF
KGtleS5yYW5nZSgpLmlzRW1wdHkoKSwgInJhbmdlIGlzIG5vdCBzdXBwb3J0ZWQiKTsKKworICAg
IHJldmFsaWRhdGlvblJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKyAgICBpZiAoZW50cnkp
IHsKKyAgICAgICAgU3RyaW5nIGVUYWcgPSBlbnRyeS0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmll
bGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OkVUYWcpOworICAgICAgICBpZiAoIWVUYWcuaXNF
bXB0eSgpKQorICAgICAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmll
bGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OklmTm9uZU1hdGNoLCBlVGFnKTsKKworICAgICAg
ICBTdHJpbmcgbGFzdE1vZGlmaWVkID0gZW50cnktPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxk
KFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpMYXN0TW9kaWZpZWQpOworICAgICAgICBpZiAoIWxh
c3RNb2RpZmllZC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNl
dEhUVFBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6SWZNb2RpZmllZFNpbmNl
LCBsYXN0TW9kaWZpZWQpOworICAgIH0KKworICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0UHJp
b3JpdHkoV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6Okxvdyk7CisKKyAgICByZXR1cm4g
cmV2YWxpZGF0aW9uUmVxdWVzdDsKK30KKwordm9pZCBBc3luY1JldmFsaWRhdGlvbjo6c3RhbGVX
aGlsZVJldmFsaWRhdGVFbmRpbmcoKQoreworICAgIGlmIChtX2NvbXBsZXRpb25IYW5kbGVyKSB7
CisgICAgICAgIG1fY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CisgICAgICAgIG1fY29tcGxldGlv
bkhhbmRsZXIgPSBudWxscHRyOworICAgIH0KK30KKworQXN5bmNSZXZhbGlkYXRpb246OkFzeW5j
UmV2YWxpZGF0aW9uKENhY2hlJiBjYWNoZSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBzdGQ6OnVuaXF1ZV9wdHI8
TmV0d29ya0NhY2hlOjpFbnRyeT4gZW50cnksIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYgaGFuZGxlcikKKyAgICA6IG1fdGltZXIoKnRoaXMsICZBc3luY1JldmFsaWRhdGlvbjo6c3Rh
bGVXaGlsZVJldmFsaWRhdGVFbmRpbmcpCisgICAgLCBtX2NvbXBsZXRpb25IYW5kbGVyKFdURk1v
dmUoaGFuZGxlcikpCit7CisgICAgYXV0byBrZXkgPSBlbnRyeS0+a2V5KCk7CisgICAgYXV0byBy
ZXZhbGlkYXRpb25SZXF1ZXN0ID0gY29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdChrZXksIHJl
cXVlc3QsIGVudHJ5LmdldCgpKTsKKyAgICBhdXRvIGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJy
ZW50QWdlKGVudHJ5LT5yZXNwb25zZSgpLCBlbnRyeS0+dGltZVN0YW1wKCkpOworICAgIGF1dG8g
bGlmZXRpbWUgPSBXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5
KGVudHJ5LT5yZXNwb25zZSgpLCBlbnRyeS0+dGltZVN0YW1wKCkpOworICAgIGF1dG8gcmVzcG9u
c2VNYXhTdGFsZW5lc3MgPSBlbnRyeS0+cmVzcG9uc2UoKS5jYWNoZUNvbnRyb2xTdGFsZVdoaWxl
UmV2YWxpZGF0ZSgpOworICAgIEFTU0VSVChyZXNwb25zZU1heFN0YWxlbmVzcyk7CisgICAgbV90
aW1lci5zdGFydE9uZVNob3QoKnJlc3BvbnNlTWF4U3RhbGVuZXNzIC0gKGFnZSAtIGxpZmV0aW1l
KSk7CisgICAgbV9sb2FkID0gbWFrZVVuaXF1ZTxTcGVjdWxhdGl2ZUxvYWQ+KGNhY2hlLCBmcmFt
ZUlELCByZXZhbGlkYXRpb25SZXF1ZXN0LCBXVEZNb3ZlKGVudHJ5KSwgW3RoaXMsIGtleSwgcmV2
YWxpZGF0aW9uUmVxdWVzdF0oc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiByZXZhbGlkYXRlZEVudHJ5
KSB7CisgICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8fCAhcmV2YWxpZGF0ZWRFbnRy
eS0+bmVlZHNWYWxpZGF0aW9uKCkpOworICAgICAgICBBU1NFUlQoIXJldmFsaWRhdGVkRW50cnkg
fHwgcmV2YWxpZGF0ZWRFbnRyeS0+a2V5KCkgPT0ga2V5KTsKKyAgICAgICAgaWYgKG1fY29tcGxl
dGlvbkhhbmRsZXIpIHsKKyAgICAgICAgICAgIG1fY29tcGxldGlvbkhhbmRsZXIocmV2YWxpZGF0
ZWRFbnRyeS5nZXQoKSk7CisgICAgICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyID0gbnVsbHB0
cjsKKyAgICAgICAgfQorICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUK
K30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmMzQ3M2FjM2Mw
Yzg3M2E3YTdhZWJmZjYwOTE5N2Y0OWRlYzVmNzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmgKQEAgLTAsMCAr
MSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIk5ldHdvcmtDYWNoZS5oIgorI2luY2x1ZGUgIk5l
dHdvcmtDYWNoZUVudHJ5LmgiCisjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbmNsdWRlIDx3dGYv
Q29tcGxldGlvbkhhbmRsZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFNwZWN1
bGF0aXZlTG9hZDsKKworbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CisKK2NsYXNzIEFzeW5jUmV2
YWxpZGF0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBB
c3luY1JldmFsaWRhdGlvbihDYWNoZSYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya0NhY2hlOjpFbnRy
eT4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworCisgICAgY29uc3QgU3BlY3Vs
YXRpdmVMb2FkJiBsb2FkKCkgY29uc3QgeyByZXR1cm4gKm1fbG9hZDsgfQorCisgICAgdm9pZCBz
dGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZygpOworCitwcml2YXRlOgorICAgIHN0ZDo6dW5pcXVl
X3B0cjxTcGVjdWxhdGl2ZUxvYWQ+IG1fbG9hZDsKKyAgICBXZWJDb3JlOjpUaW1lciBtX3RpbWVy
OworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+IG1fY29tcGxldGlvbkhhbmRsZXI7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUKK30gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuY3BwCmluZGV4IGYzNDRkMWFiYTY0ZmU5M2M5Y2JlYmQ0N2Y0M2U4MTYzYmFjZDdjMTcuLjE2
MzcxMjA4YjI1YjM3N2M2ZmI0NDA4MzJjNzM3MGFlNTk2MDUyMGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKQEAgLTI2LDcg
KzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGUuaCIK
IAorI2luY2x1ZGUgIkFzeW5jUmV2YWxpZGF0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgor
I2luY2x1ZGUgIk5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oIgogI2luY2x1ZGUgIk5ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaCIKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVT
dG9yYWdlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKQEAgLTE1MiwzNSArMTU0LDQ0
IEBAIHN0YXRpYyBib29sIGNhY2hlUG9saWN5QWxsb3dzRXhwaXJlZChXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3RDYWNoZVBvbGljeSBwb2xpY3kpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0
aWMgYm9vbCByZXNwb25zZUhhc0V4cGlyZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIFdhbGxUaW1lIHRpbWVzdGFtcCwgT3B0aW9uYWw8U2Vjb25kcz4gbWF4U3Rh
bGUpCitzdGF0aWMgVXNlRGVjaXNpb24gcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihOZXR3b3Jr
UHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlLCBXYWxsVGltZSB0aW1lc3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxl
KQogewogICAgIGlmIChyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkKLSAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7
CiAKICAgICBhdXRvIGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdlKHJlc3BvbnNlLCB0
aW1lc3RhbXApOwogICAgIGF1dG8gbGlmZXRpbWUgPSBXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNz
TGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCB0aW1lc3RhbXApOwogCiAgICAgYXV0byBt
YXhpbXVtU3RhbGVuZXNzID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMF9tczsKICAg
ICBib29sIGhhc0V4cGlyZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1heGltdW1TdGFsZW5lc3M7Cisg
ICAgaWYgKGhhc0V4cGlyZWQgJiYgIW1heFN0YWxlICYmIG5ldHdvcmtQcm9jZXNzLmlzU3RhbGVX
aGlsZVJldmFsaWRhdGVFbmFibGVkKCkpIHsKKyAgICAgICAgYXV0byByZXNwb25zZU1heFN0YWxl
bmVzcyA9IHJlc3BvbnNlLmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAg
ICAgIG1heGltdW1TdGFsZW5lc3MgKz0gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPyByZXNwb25zZU1h
eFN0YWxlbmVzcy52YWx1ZSgpIDogMF9tczsKKyAgICAgICAgYm9vbCBpblJlc3BvbnNlU3RhbGVu
ZXNzID0gYWdlIC0gbGlmZXRpbWUgPCBtYXhpbXVtU3RhbGVuZXNzOworICAgICAgICBpZiAoaW5S
ZXNwb25zZVN0YWxlbmVzcykKKyAgICAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6QXN5bmNS
ZXZhbGlkYXRlOworICAgIH0KIAorICAgIGlmIChoYXNFeHBpcmVkKSB7CiAjaWZuZGVmIExPR19E
SVNBQkxFRAotICAgIGlmIChoYXNFeHBpcmVkKQotICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAi
KE5ldHdvcmtQcm9jZXNzKSBuZWVkc1JldmFsaWRhdGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBsaWZl
dGltZT0lZiBtYXgtc3RhbGU9JWciLCBhZ2UsIGxpZmV0aW1lLCBtYXhTdGFsZSk7CisgICAgICAg
IExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhh
c0V4cGlyZWQgYWdlPSVmIGxpZmV0aW1lPSVmIG1heC1zdGFsZW5lc3M9JWYiLCBhZ2UsIGxpZmV0
aW1lLCBtYXhpbXVtU3RhbGVuZXNzKTsKICNlbmRpZgorICAgICAgICByZXR1cm4gVXNlRGVjaXNp
b246OlZhbGlkYXRlOworICAgIH0KIAotICAgIHJldHVybiBoYXNFeHBpcmVkOworICAgIHJldHVy
biBVc2VEZWNpc2lvbjo6VXNlOwogfQogCi1zdGF0aWMgYm9vbCByZXNwb25zZU5lZWRzUmV2YWxp
ZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdhbGxUaW1lIHRpbWVzdGFtcCkKK3N0
YXRpYyBVc2VEZWNpc2lvbiByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKE5ldHdvcmtQcm9jZXNz
JiBuZXR3b3JrUHJvY2VzcywgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUgdGlt
ZXN0YW1wKQogewogICAgIGF1dG8gcmVxdWVzdERpcmVjdGl2ZXMgPSBXZWJDb3JlOjpwYXJzZUNh
Y2hlQ29udHJvbERpcmVjdGl2ZXMocmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOwogICAgIGlm
IChyZXF1ZXN0RGlyZWN0aXZlcy5ub0NhY2hlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgcmV0dXJuIFVzZURlY2lzaW9uOjpWYWxpZGF0ZTsKICAgICAvLyBGb3IgcmVxdWVzdHMgd2Ug
aWdub3JlIG1heC1hZ2UgdmFsdWVzIG90aGVyIHRoYW4gemVyby4KICAgICBpZiAocmVxdWVzdERp
cmVjdGl2ZXMubWF4QWdlICYmIHJlcXVlc3REaXJlY3RpdmVzLm1heEFnZS52YWx1ZSgpID09IDBf
bXMpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlZh
bGlkYXRlOwogCi0gICAgcmV0dXJuIHJlc3BvbnNlSGFzRXhwaXJlZChyZXNwb25zZSwgdGltZXN0
YW1wLCByZXF1ZXN0RGlyZWN0aXZlcy5tYXhTdGFsZSk7CisgICAgcmV0dXJuIHJlc3BvbnNlTmVl
ZHNSZXZhbGlkYXRpb24obmV0d29ya1Byb2Nlc3MsIHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJlcXVl
c3REaXJlY3RpdmVzLm1heFN0YWxlKTsKIH0KIAogc3RhdGljIFVzZURlY2lzaW9uIG1ha2VVc2VE
ZWNpc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0IFBBTDo6U2Vzc2lv
bklEJiBzZXNzaW9uSUQsIGNvbnN0IEVudHJ5JiBlbnRyeSwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0KQpAQCAtMTk3LDggKzIwOCw5IEBAIHN0YXRpYyBVc2VEZWNpc2lv
biBtYWtlVXNlRGVjaXNpb24oTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25zdCBQ
QUw6OlNlCiAgICAgaWYgKGNhY2hlUG9saWN5QWxsb3dzRXhwaXJlZChyZXF1ZXN0LmNhY2hlUG9s
aWN5KCkpKQogICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlVzZTsKIAotICAgIGlmICghcmVz
cG9uc2VOZWVkc1JldmFsaWRhdGlvbihlbnRyeS5yZXNwb25zZSgpLCByZXF1ZXN0LCBlbnRyeS50
aW1lU3RhbXAoKSkpCi0gICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOworICAgIGF1dG8g
ZGVjaXNpb24gPSByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKG5ldHdvcmtQcm9jZXNzLCBlbnRy
eS5yZXNwb25zZSgpLCByZXF1ZXN0LCBlbnRyeS50aW1lU3RhbXAoKSk7CisgICAgaWYgKGRlY2lz
aW9uICE9IFVzZURlY2lzaW9uOjpWYWxpZGF0ZSkKKyAgICAgICAgcmV0dXJuIGRlY2lzaW9uOwog
CiAgICAgaWYgKCFlbnRyeS5yZXNwb25zZSgpLmhhc0NhY2hlVmFsaWRhdG9yRmllbGRzKCkpCiAg
ICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6Tm9EdWVUb01pc3NpbmdWYWxpZGF0b3JGaWVsZHM7
CkBAIC0yNTEsOCArMjYzLDEwIEBAIHN0YXRpYyBTdG9yZURlY2lzaW9uIG1ha2VTdG9yZURlY2lz
aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSCiAgICAgYm9vbCBz
dG9yZVVuY29uZGl0aW9uYWxseUZvckhpc3RvcnlOYXZpZ2F0aW9uID0gaXNNYWluUmVzb3VyY2Ug
fHwgb3JpZ2luYWxSZXF1ZXN0LnByaW9yaXR5KCkgPT0gV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJp
b3JpdHk6OlZlcnlIaWdoOwogICAgIGlmICghc3RvcmVVbmNvbmRpdGlvbmFsbHlGb3JIaXN0b3J5
TmF2aWdhdGlvbikgewogICAgICAgICBhdXRvIG5vdyA9IFdhbGxUaW1lOjpub3coKTsKLSAgICAg
ICAgYm9vbCBoYXNOb25aZXJvTGlmZXRpbWUgPSAhcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFp
bnNOb0NhY2hlKCkgJiYgV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZh
bWlseShyZXNwb25zZSwgbm93KSA+IDBfbXM7Ci0KKyAgICAgICAgU2Vjb25kcyBhbGxvd2VkU3Rh
bGU7CisgICAgICAgIGlmIChhdXRvIHZhbHVlID0gcmVzcG9uc2UuY2FjaGVDb250cm9sU3RhbGVX
aGlsZVJldmFsaWRhdGUoKSkKKyAgICAgICAgICAgIGFsbG93ZWRTdGFsZSA9IHZhbHVlLnZhbHVl
KCk7CisgICAgICAgIGJvb2wgaGFzTm9uWmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29u
dHJvbENvbnRhaW5zTm9DYWNoZSgpICYmIChXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRp
bWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCBub3cpID4gMF9tcyB8fCBhbGxvd2VkU3RhbGUgPiAw
X21zKTsKICAgICAgICAgYm9vbCBwb3NzaWJseVJldXNhYmxlID0gcmVzcG9uc2UuaGFzQ2FjaGVW
YWxpZGF0b3JGaWVsZHMoKSB8fCBoYXNOb25aZXJvTGlmZXRpbWU7CiAgICAgICAgIGlmICghcG9z
c2libHlSZXVzYWJsZSkKICAgICAgICAgICAgIHJldHVybiBTdG9yZURlY2lzaW9uOjpOb0R1ZVRv
VW5saWtlbHlUb1JldXNlOwpAQCAtMjk2LDYgKzMxMCwyNiBAQCBzdGF0aWMgYm9vbCBpbmxpbmUg
Y2FuUmVxdWVzdFVzZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUgogfQogI2VuZGlmCiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBjYW5Vc2VQZW5kaW5nUmV2YWxp
ZGF0aW9uKGNvbnN0IFNwZWN1bGF0aXZlTG9hZCYgbG9hZCwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KQoreworICAgIHJldHVybiByZXF1ZXN0c0hlYWRlcnNN
YXRjaChsb2FkLm9yaWdpbmFsUmVxdWVzdCgpLCBhY3R1YWxSZXF1ZXN0KTsKK30KKwordm9pZCBD
YWNoZTo6c3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmIGtleSwgc3RkOjp1
bmlxdWVfcHRyPEVudHJ5PiBlbnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCkKK3sK
KyAgICBhdXRvKiBwZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24gPSBtX3BlbmRpbmdBc3luY1JldmFs
aWRhdGlvbnMuZ2V0KGtleSk7CisgICAgaWYgKHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbiAmJiBj
YW5Vc2VQZW5kaW5nUmV2YWxpZGF0aW9uKHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbi0+bG9hZCgp
LCByZXF1ZXN0KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byByZXZhbGlkYXRvciA9IG1h
a2VVbmlxdWU8QXN5bmNSZXZhbGlkYXRpb24+KCp0aGlzLCBmcmFtZUlELCByZXF1ZXN0LCBXVEZN
b3ZlKGVudHJ5KSwgW3RoaXMsIGtleV0oYm9vbCBlbmRpbmcpIHsKKyAgICAgICAgaWYgKGVuZGlu
ZykgeworICAgICAgICAgICAgbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLnRha2Uoa2V5KTsK
KyAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIEFzeW5jIHJl
dmFsaWRhdGlvbiBjb21wbGV0ZWQgZm9yICclcyc6Iiwga2V5LmlkZW50aWZpZXIoKS51dGY4KCku
ZGF0YSgpKTsKKyAgICAgICAgfQorICAgIH0pOworICAgIG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0
aW9ucy5hZGQoa2V5LCBXVEZNb3ZlKHJldmFsaWRhdG9yKSk7Cit9CisKIHZvaWQgQ2FjaGU6OnJl
dHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xv
YmFsRnJhbWVJRCYgZnJhbWVJRCwgUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRp
b25IYW5kbGVyKQogewogICAgIEFTU0VSVChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBG
YW1pbHkoKSk7CkBAIC0zMzQsMTIgKzM2OCwxMSBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQog
ICAgIH0KICNlbmRpZgogCi0gICAgbV9zdG9yYWdlLT5yZXRyaWV2ZShzdG9yYWdlS2V5LCBwcmlv
cml0eSwgW3JlcXVlc3QsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlciksIGluZm8gPSBXVEZNb3ZlKGluZm8pLCBzdG9yYWdlS2V5LCBuZXR3b3JrUHJvY2VzcyA9
IG1ha2VSZWYobmV0d29ya1Byb2Nlc3MoKSksIHNlc3Npb25JRCA9IG1fc2Vzc2lvbklEXShhdXRv
IHJlY29yZCwgYXV0byB0aW1pbmdzKSBtdXRhYmxlIHsKKyAgICBtX3N0b3JhZ2UtPnJldHJpZXZl
KHN0b3JhZ2VLZXksIHByaW9yaXR5LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCByZXF1ZXN0LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpLCBpbmZvID0gV1RGTW92ZShpbmZvKSwgc3RvcmFnZUtleSwgbmV0d29ya1Byb2Nlc3MgPSBt
YWtlUmVmKG5ldHdvcmtQcm9jZXNzKCkpLCBzZXNzaW9uSUQgPSBtX3Nlc3Npb25JRCwgZnJhbWVJ
RF0oYXV0byByZWNvcmQsIGF1dG8gdGltaW5ncykgbXV0YWJsZSB7CiAgICAgICAgIGluZm8uc3Rv
cmFnZVRpbWluZ3MgPSB0aW1pbmdzOwogCiAgICAgICAgIGlmICghcmVjb3JkKSB7CiAgICAgICAg
ICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBub3QgZm91bmQgaW4gc3Rv
cmFnZSIpOwotCiAgICAgICAgICAgICBjb21wbGV0ZVJldHJpZXZlKFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpLCBudWxscHRyLCBpbmZvKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgfQpAQCAtMzUwLDYgKzM4MywxMiBAQCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogCiAg
ICAgICAgIGF1dG8gdXNlRGVjaXNpb24gPSBlbnRyeSA/IG1ha2VVc2VEZWNpc2lvbihuZXR3b3Jr
UHJvY2Vzcywgc2Vzc2lvbklELCAqZW50cnksIHJlcXVlc3QpIDogVXNlRGVjaXNpb246Ok5vRHVl
VG9EZWNvZGVGYWlsdXJlOwogICAgICAgICBzd2l0Y2ggKHVzZURlY2lzaW9uKSB7CisgICAgICAg
IGNhc2UgVXNlRGVjaXNpb246OkFzeW5jUmV2YWxpZGF0ZTogeworICAgICAgICAgICAgc3RkOjp1
bmlxdWVfcHRyPEVudHJ5PiBlbnRyeUNvcHkgPSBtYWtlVW5pcXVlPEVudHJ5PigqZW50cnkpOwor
ICAgICAgICAgICAgZW50cnlDb3B5LT5zZXROZWVkc1ZhbGlkYXRpb24odHJ1ZSk7CisgICAgICAg
ICAgICBzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQocmVxdWVzdCwgc3RvcmFnZUtleSwg
V1RGTW92ZShlbnRyeUNvcHkpLCBmcmFtZUlEKTsKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOwor
ICAgICAgICB9CiAgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OlVzZToKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIFVzZURlY2lzaW9uOjpWYWxpZGF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCmluZGV4IDBkZWU3Zjg4
ZGZmNjE2MmNjM2ZkNzg1MWI4MzgwZmM1YTgzYmQ1YWUuLjgwZTcwNDliMGFjZGQ0OTBkMmUyNDQ0
YjkwZjExYTAyMzA4MDFlNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGUuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBOZXR3b3JrUHJv
Y2VzczsKIAogbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAKK2NsYXNzIEFzeW5jUmV2YWxpZGF0
aW9uOwogY2xhc3MgQ2FjaGU7CiBjbGFzcyBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOwogCkBAIC04
Miw2ICs4Myw3IEBAIGVudW0gY2xhc3MgU3RvcmVEZWNpc2lvbiB7CiBlbnVtIGNsYXNzIFVzZURl
Y2lzaW9uIHsKICAgICBVc2UsCiAgICAgVmFsaWRhdGUsCisgICAgQXN5bmNSZXZhbGlkYXRlLAog
ICAgIE5vRHVlVG9WYXJ5aW5nSGVhZGVyTWlzbWF0Y2gsCiAgICAgTm9EdWVUb01pc3NpbmdWYWxp
ZGF0b3JGaWVsZHMsCiAgICAgTm9EdWVUb0RlY29kZUZhaWx1cmUsCkBAIC0xNjksNiArMTcxLDgg
QEAgcHVibGljOgogICAgIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXIqIHNwZWN1bGF0aXZlTG9hZE1h
bmFnZXIoKSB7IHJldHVybiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXIuZ2V0KCk7IH0KICNlbmRp
ZgogCisgICAgdm9pZCBzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmLCBzdGQ6OnVuaXF1
ZV9wdHI8RW50cnk+LCBjb25zdCBHbG9iYWxGcmFtZUlEJik7CisKICAgICBOZXR3b3JrUHJvY2Vz
cyYgbmV0d29ya1Byb2Nlc3MoKSB7IHJldHVybiBtX25ldHdvcmtQcm9jZXNzLmdldCgpOyB9CiAg
ICAgY29uc3QgUEFMOjpTZXNzaW9uSUQmIHNlc3Npb25JRCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vz
c2lvbklEOyB9CiAgICAgY29uc3QgU3RyaW5nJiBzdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QgeyBy
ZXR1cm4gbV9zdG9yYWdlRGlyZWN0b3J5OyB9CkBAIC0xOTUsNiArMTk5LDggQEAgcHJpdmF0ZToK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3BlY3VsYXRpdmVMb2FkTWFuYWdlcj4gbV9zcGVjdWxhdGl2
ZUxvYWRNYW5hZ2VyOwogI2VuZGlmCiAKKyAgICBIYXNoTWFwPEtleSwgc3RkOjp1bmlxdWVfcHRy
PEFzeW5jUmV2YWxpZGF0aW9uPj4gbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zOworCiAgICAg
dW5zaWduZWQgbV90cmF2ZXJzZUNvdW50IHsgMCB9OwogICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vz
c2lvbklEOwogICAgIFN0cmluZyBtX3N0b3JhZ2VEaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9h
ZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXggNmM3MmZhYmU3MmUzNTk0NDhhN2MxYjI5MWNkOTBlOTUw
ZTViYmU1NC4uMDFiYzg3ZmZlYzc5N2Y5ZDc3M2FkNThmZDliYjMyYzQxMWRlNDM0NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZUxvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcApAQCAtMTU1LDYgKzE1NSw0MyBAQCB2b2lk
IFNwZWN1bGF0aXZlTG9hZDo6ZGlkQ29tcGxldGUoKQogICAgIG1fY29tcGxldGlvbkhhbmRsZXIo
V1RGTW92ZShtX2NhY2hlRW50cnkpKTsKIH0KIAorI2lmICFMT0dfRElTQUJMRUQKKworc3RhdGlj
IHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwg
Y29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyc0IpCit7CisgICAgYXV0byBhRW5kID0gaGVhZGVy
c0EuZW5kKCk7CisgICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVu
ZDsgKytpdCkgeworICAgICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkp
OworICAgICAgICBpZiAodmFsdWVCLmlzTnVsbCgpKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGlu
IGZpcnN0IHJlcXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52
YWx1ZS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVl
QikKKyAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIq
ICclcycgSFRUUCBoZWFkZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0
LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4
KCkuZGF0YSgpKTsKKyAgICB9CisgICAgYXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7CisgICAg
Zm9yIChhdXRvIGl0ID0gaGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgeworICAg
ICAgICBpZiAoIWhlYWRlcnNBLmNvbnRhaW5zKGl0LT5rZXkpKQorICAgICAgICAgICAgTE9HKE5l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBv
bmx5IGluIHNlY29uZCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgp
LCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSk7CisgICAgfQorfQorCisjZW5kaWYKKworYm9vbCBy
ZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHNwZWN1bGF0aXZlVmFs
aWRhdGlvblJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkKK3sK
KyAgICBBU1NFUlQoIWFjdHVhbFJlcXVlc3QuaXNDb25kaXRpb25hbCgpKTsKKyAgICBSZXNvdXJj
ZVJlcXVlc3Qgc3BlY3VsYXRpdmVSZXF1ZXN0ID0gc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVz
dDsKKyAgICBzcGVjdWxhdGl2ZVJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKworICAgIGlm
IChzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpICE9IGFjdHVhbFJlcXVlc3Qu
aHR0cEhlYWRlckZpZWxkcygpKSB7CisgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2
ZVByZWxvYWRpbmcsICJDYW5ub3QgcmV1c2Ugc3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQgZW50cnkg
YmVjYXVzZSBIVFRQIGhlYWRlcnMgdXNlZCBmb3IgdmFsaWRhdGlvbiBkbyBub3QgbWF0Y2giKTsK
KyNpZiAhTE9HX0RJU0FCTEVECisgICAgICAgIGR1bXBIVFRQSGVhZGVyc0RpZmYoc3BlY3VsYXRp
dmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSwgYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmll
bGRzKCkpOworI2VuZGlmCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJu
IHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCmluZGV4IDU0MDZkOWY4MjE4
YjM4MDViNDY4YjY4OWM5YmUyY2Y4ZjYzODAwNGYuLmVmMjE4ZjM4NWFhNmU5ZDBlNzczNTYyZDhk
MGU3ZjU3Zjg0NzRlMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaApAQCAtNzgs
NiArNzgsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaWRDb21wbGV0ZSB7IGZhbHNlIH07CiB9
OwogCitib29sIHJlcXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYgc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KTsKKwogfSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hl
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRp
dmVMb2FkTWFuYWdlci5jcHAKaW5kZXggNjc5NDAzOWI3ZTE5MTdhNGFhYmFkNGQyZDUwOGY3Mzk1
Mzc4NjU2Ny4uOTgwNmY2MmVhN2JiMDVjMGMzZWQ3MmFhZmRlNzQzZGQ1ZWRhYjgzMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC0yNTYsNDMg
KzI1Niw2IEBAIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6On5TcGVjdWxhdGl2ZUxvYWRNYW5hZ2Vy
KCkKIHsKIH0KIAotI2lmICFMT0dfRElTQUJMRUQKLQotc3RhdGljIHZvaWQgZHVtcEhUVFBIZWFk
ZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRlck1h
cCYgaGVhZGVyc0IpCi17Ci0gICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7Ci0gICAgZm9y
IChhdXRvIGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgewotICAgICAg
ICBTdHJpbmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOwotICAgICAgICBpZiAodmFs
dWVCLmlzTnVsbCgpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJl
bG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVlc3QgKHZh
bHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgp
KTsKLSAgICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKLSAgICAgICAgICAgIExP
RyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIg
ZGlmZmVycyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgpLmRhdGEo
KSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsKLSAgICB9
Ci0gICAgYXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gaGVh
ZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgewotICAgICAgICBpZiAoIWhlYWRlcnNB
LmNvbnRhaW5zKGl0LT5rZXkpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29uZCByZXF1
ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgp
LmRhdGEoKSk7Ci0gICAgfQotfQotCi0jZW5kaWYKLQotc3RhdGljIGJvb2wgcmVxdWVzdHNIZWFk
ZXJzTWF0Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1
ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCi17Ci0gICAgQVNTRVJU
KCFhY3R1YWxSZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKSk7Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IHNw
ZWN1bGF0aXZlUmVxdWVzdCA9IHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3Q7Ci0gICAgc3Bl
Y3VsYXRpdmVSZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7Ci0KLSAgICBpZiAoc3BlY3VsYXRp
dmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSAhPSBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFkZXJG
aWVsZHMoKSkgewotICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5n
LCAiQ2Fubm90IHJldXNlIHNwZWN1bGF0aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJlY2F1c2UgSFRU
UCBoZWFkZXJzIHVzZWQgZm9yIHZhbGlkYXRpb24gZG8gbm90IG1hdGNoIik7Ci0jaWYgIUxPR19E
SVNBQkxFRAotICAgICAgICBkdW1wSFRUUEhlYWRlcnNEaWZmKHNwZWN1bGF0aXZlUmVxdWVzdC5o
dHRwSGVhZGVyRmllbGRzKCksIGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKTsKLSNl
bmRpZgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwotfQot
CiBib29sIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OmNhblVzZVByZWxvYWRlZEVudHJ5KGNvbnN0
IFByZWxvYWRlZEVudHJ5JiBlbnRyeSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1
ZXN0KQogewogICAgIGlmICghZW50cnkud2FzUmV2YWxpZGF0ZWQoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4
IGQyYTMxY2MwZTRlMjdiM2M4NTJiOWU0ZTU5ZjNiMGNiZTYxMTliYzMuLjdkMmJhZmViMzUwYjQ1
NjU4NzcxOWEzY2I2NzcxMjU3MDdiMmE4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291
cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNzcsNiArNzcsNyBA
QCBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCiBOZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0Nh
Y2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwCitOZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3lu
Y1JldmFsaWRhdGlvbi5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAK
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcAogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKaW5kZXggZmFmOGE1MjhlYTIzMDlhYmZhZTE3N2Jk
ZWVhYjI3YzVkNWYwNzMyOS4uNjVkYmNmMmVkNWI0YjFmN2VhODk1OTNlNDE4YWI0M2NiYjU0NTIx
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCkBAIC02
NzIsMyArNjcyLDkgQEAgdm9pZCBXS0NvbnRleHRTZXRVc2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQ
cm9jZXNzKFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBib29sIHUKIHsKICAgICBXZWJLaXQ6OnRv
SW1wbChjb250ZXh0UmVmKS0+c2V0VXNlU2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzcyh1c2VT
ZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKTsKIH0KKwordm9pZCBXS0NvbnRleHRTZXRTdGFs
ZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIGJvb2wgZW5h
YmxlZCkKK3sKKyAgICBXZWJLaXQ6OnRvSW1wbChjb250ZXh0UmVmKS0+c2V0U3RhbGVXaGlsZVJl
dmFsaWRhdGVFbmFibGVkKGVuYWJsZWQpOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLQ29udGV4dC5oCmluZGV4IDcyODczNTU4NWI2ZDhkNDMxOGQ2Y2QyNmJlNTNiYzI2MWRl
YTdkZTkuLmNkOWU4MTU0NzE4ZTE0ZjE2YzZhZjczZjlhMTg5MTNkZjczMzc1NGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCkBAIC0xMzksNiArMTM5LDggQEAg
V0tfRVhQT1JUIGJvb2wgV0tDb250ZXh0R2V0VXNlc1NpbmdsZVdlYlByb2Nlc3MoV0tDb250ZXh0
UmVmKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0U3RvcmFnZUFjY2Vzc0FQSUVuYWJs
ZWQoV0tDb250ZXh0UmVmLCBib29sIGVuYWJsZWQpOwogCitXS19FWFBPUlQgdm9pZCBXS0NvbnRl
eHRTZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoV0tDb250ZXh0UmVmLCBib29sIGVuYWJs
ZWQpOworCiBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRTdGFydE1lbW9yeVNhbXBsZXIoV0tDb250
ZXh0UmVmIGNvbnRleHQsIFdLRG91YmxlUmVmIGludGVydmFsKTsKIFdLX0VYUE9SVCB2b2lkIFdL
Q29udGV4dFN0b3BNZW1vcnlTYW1wbGVyKFdLQ29udGV4dFJlZiBjb250ZXh0KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGQ1NWFjNDhlNjM2YWY4
YzY3YWZjN2Y0ZjFjYjNhZDdhMzM1MGRiYTUuLjkzNGE4NTUzNDAxZmI5YWY0ZWRiZjM5M2U4MWM4
ZmUzYTk2M2VhNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKQEAgLTM5NCw2ICszOTQsMTEgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0U3RvcmFnZUFj
Y2Vzc0FQSUVuYWJsZWQoYm9vbCBlbmFibGVkKQogI2VuZGlmCiB9CiAKK3ZvaWQgV2ViUHJvY2Vz
c1Bvb2w6OnNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZChib29sIGVuYWJsZWQpCit7Cisg
ICAgc2VuZFRvTmV0d29ya2luZ1Byb2Nlc3MoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRT
dGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoZW5hYmxlZCkpOworfQorCiB2b2lkIFdlYlByb2Nl
c3NQb29sOjpzZXRDdXN0b21XZWJDb250ZW50U2VydmljZUJ1bmRsZUlkZW50aWZpZXIoY29uc3Qg
U3RyaW5nJiBjdXN0b21XZWJDb250ZW50U2VydmljZUJ1bmRsZUlkZW50aWZpZXIpCiB7CiAgICAg
Ly8gR3VhcmQgYWdhaW5zdCBBUEkgbWlzdXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmgKaW5kZXggMDRjY2M5NmI5Y2ViNTg4YzQ0ODBlNGNmNGNiNzc1Y2U0NzNiM2Vj
My4uMTY0YWQwZWI4MTg5MzM5Y2MwMTUzNWJhNWRmYjMwNjEzZDdjYzk0ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC00NjgsNiArNDY4LDggQEAgcHVibGlj
OgogICAgIGJvb2wgc3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3N0
b3JhZ2VBY2Nlc3NBUElFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRTdG9yYWdlQWNjZXNzQVBJRW5h
YmxlZChib29sKTsKIAorICAgIHZvaWQgc2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKGJv
b2wpOworCiAgICAgc3RhdGljIHVpbnQ2NF90IHJlZ2lzdGVyUHJvY2Vzc1Bvb2xDcmVhdGlvbkxp
c3RlbmVyKEZ1bmN0aW9uPHZvaWQoV2ViUHJvY2Vzc1Bvb2wmKT4mJik7CiAgICAgc3RhdGljIHZv
aWQgdW5yZWdpc3RlclByb2Nlc3NQb29sQ3JlYXRpb25MaXN0ZW5lcih1aW50NjRfdCBpZGVudGlm
aWVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggMmJiZGU5YzIwY2RiZDc3NmU2NGU3NjUyOTgyZDUyNTA3ZTFiMTAzMS4uMjYxMWVk
MWUxYWJmNjJmNmExNDhlMDM2NDFhMTBhMWFkNjMzNzliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzg1LDYgKzEzODUsNyBAQAog
CQlBNzhDQ0REQzE5M0FDOUZCMDA1RUNDMjUgLyogY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50
LnNiIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzhD
Q0REOTE5M0FDOUUzMDA1RUNDMjUgLyogY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiICov
OyB9OwogCQlBN0Q3OTJEODE3NjdDQ0EzMDA4ODFDQkUgLyogQWN0aXZpdHlBc3NlcnRpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RDc5MkQ0MTc2
N0NCMDkwMDg4MUNCRSAvKiBBY3Rpdml0eUFzc2VydGlvbi5oICovOyB9OwogCQlBQUIxNDVFNjIy
M0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFCMTQ1RTQyMjNGOTMxMjAwRTQ4OUQ4IC8qIFByZWZl
dGNoQ2FjaGUuaCAqLzsgfTsKKwkJQUFGQTYzNEYyMzRGN0M2NDAwRkZBODY0IC8qIEFzeW5jUmV2
YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBQUZBNjM0RTIzNEY3QzYzMDBGRkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCAqLzsgfTsK
IAkJQjYyRTczMTIxNDMwNDdCMDAwNjlFQzM1IC8qIFdLSGl0VGVzdFJlc3VsdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjYyRTczMTExNDMwNDdCMDAw
NjlFQzM1IC8qIFdLSGl0VGVzdFJlc3VsdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUI4NzhCNjE1MTMzNDI4REMwMDY4ODhFOSAvKiBDb3JyZWN0
aW9uUGFuZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEI4NzhCNjEzMTMzNDI4REMwMDY4ODhFOSAvKiBDb3JyZWN0aW9uUGFuZWwuaCAqLzsgfTsKIAkJ
QkMwMTdEMDcxNjI2MEZGNDAwNzA1NEY1IC8qIFdLRE9NRG9jdW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDE3Q0ZGMTYyNjBGRjQwMDcwNTRG
NSAvKiBXS0RPTURvY3VtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTQxNTAsNiArNDE1MSw4IEBACiAJCUE3RTkzQ0VCMTkyNTMxQUEwMEEx
REM0OCAvKiBBdXhpbGlhcnlQcm9jZXNzSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbTsgcGF0aCA9IGlvcy9BdXhpbGlh
cnlQcm9jZXNzSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUIxNDVFNDIy
M0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQcmVmZXRjaENhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUFBQjE0NUU1MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVmZXRjaENhY2hlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByZWZldGNoQ2FjaGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBQUZBNjM0RTIzNEY3QzYzMDBGRkE4NjQgLyogQXN5bmNSZXZh
bGlkYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXN5bmNSZXZhbGlk
YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFGQTYzNTAyMzRGN0M3MzAw
RkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFzeW5j
UmV2YWxpZGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjM5NkVBNTUx
MkUwRUQyRDAwRjRGRUI3IC8qIGNvbmZpZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBjb25maWcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjYyRTczMEYxNDMw
NDdBNjAwNjlFQzM1IC8qIFdLSGl0VGVzdFJlc3VsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXS0hpdFRlc3RSZXN1bHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCNjJFNzMxMTE0MzA0N0IwMDA2OUVDMzUgLyogV0tIaXRUZXN0UmVzdWx0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLSGl0VGVzdFJlc3VsdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTE3Nyw2ICs5MTgwLDggQEAKIAkJRTQ4OUQyODIx
QTBBMkJFODAwNzhDMDZBIC8qIGNhY2hlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKKwkJCQlBQUZBNjM1MDIzNEY3QzczMDBGRkE4NjQgLyogQXN5bmNSZXZhbGlk
YXRpb24uY3BwICovLAorCQkJCUFBRkE2MzRFMjM0RjdDNjMwMEZGQTg2NCAvKiBBc3luY1JldmFs
aWRhdGlvbi5oICovLAogCQkJCTQxODk3RUQ2MUY0MTVEODYwMDE2RkE0MiAvKiBDYWNoZVN0b3Jh
Z2VFbmdpbmUuY3BwICovLAogCQkJCTQxODk3RUQyMUY0MTVEODUwMDE2RkE0MiAvKiBDYWNoZVN0
b3JhZ2VFbmdpbmUuaCAqLywKIAkJCQk0MUM4NTgxOTFGNTEwREVFMDA2NUUwODUgLyogQ2FjaGVT
dG9yYWdlRW5naW5lQ2FjaGUuY3BwICovLApAQCAtOTQxOSw2ICs5NDI0LDcgQEAKIAkJCQlBMTc1
QzQ0QTIxQUEzMTcxMDAwMDM3RDAgLyogQXJndW1lbnRDb2RlcnNDb2NvYS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQ0UxQTBCRDIxQTQ4RTZDNjAwNTRFRjc0IC8qIEFzc2VydGlvblNlcnZpY2VzU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVFNzcyODE4M0RENkY2MDAwNzIwM0YgLyogQXN5bmNS
ZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlBQUZBNjM0RjIzNEY3QzY0MDBGRkE4NjQgLyog
QXN5bmNSZXZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUU5NjZEMTEyRkFGNTcw
MDZCQ0MyNCAvKiBBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUEzMTczMjEzNENF
QTZDMDA3QzlBNEYgLyogQXR0cmlidXRlZFN0cmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEy
RjU4OTcxMkE4ODM4ODAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGU4ZmI4ZjUwOTI5NmQyNjA0MzMwYTNkMmU1MTc4NThkODY2ZGRmMmUuLmRiM2I4
NTNiYzE0NjgyNzMxYjgwZjhjODBjN2FhZDIxZDI5OWExOGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOS0xMC0y
NCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdFJ1bm5lciBtZXRob2QgdG8gZW5hYmxl
IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUKKyAgICAgICAgaW4gdGhlIE5ldHdvcmsgcHJvY2Vzcy4K
KworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVz
dFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3RhbGVXaGlsZVJl
dmFsaWRhdGVFbmFibGVkKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJv
bm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCiAyMDE5LTEwLTIzICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1MgMTNdIGltcG9ydGVk
L21vemlsbGEvc3ZnL3RleHQvdGV4dHBhdGgtc2VsZWN0aW9uLnN2ZyBpcyBmbGFreQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGlu
Z3MvVGVzdFJ1bm5lci5pZGwKaW5kZXggZmFlZjBhMDNmYzRiMDU4OWU3NDNjNjkzZTQ0MjczODQz
NjcwNDY3MC4uYzUwZjQyNTg4OGEyNTM0NmYzZmUzYjJjODBmMTg5YmVjNTAzMGNmYiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL1Rlc3RSdW5uZXIuaWRsCkBAIC0zNTIsNiArMzUyLDggQEAgaW50ZXJmYWNlIFRlc3RS
dW5uZXIgewogICAgIHZvaWQgc2V0U3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoYm9vbGVhbiBlbmFi
bGVkKTsKICAgICB2b2lkIGdldEFsbFN0b3JhZ2VBY2Nlc3NFbnRyaWVzKG9iamVjdCBjYWxsYmFj
ayk7CiAKKyAgICB2b2lkIHNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZChib29sZWFuIGVu
YWJsZWQpOworCiAgICAgLy8gT3BlbiBwYW5lbAogICAgIHZvaWQgc2V0T3BlblBhbmVsRmlsZXMo
b2JqZWN0IGZpbGVzQXJyYXkpOwogICAgIHZvaWQgc2V0T3BlblBhbmVsRmlsZXNNZWRpYUljb24o
b2JqZWN0IG1lZGlhSWNvbik7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBjZTMyMTM3NTZjOWYwNTBjOTZhNjgzYmM1
MTlhNGY5NGE0MzJmYzRlLi4xYmUwYThhY2I5ZDk0ZThjZWZhZTBkYzc0MmYyNjI4YzM3MDcyYTBl
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHAKQEAgLTIyOTEsNiArMjI5MSwxNSBAQCB2b2lkIFRlc3RSdW5uZXI6OmdldEFs
bFN0b3JhZ2VBY2Nlc3NFbnRyaWVzKEpTVmFsdWVSZWYgY2FsbGJhY2spCiAgICAgV0tCdW5kbGVQ
b3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUo
KSwgbWVzc2FnZU5hbWUuZ2V0KCksIG51bGxwdHIsIG51bGxwdHIpOwogfQogCit2b2lkIFRlc3RS
dW5uZXI6OnNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZChib29sIGVuYWJsZWQpCit7Cisg
ICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lID0gYWRvcHRXSyhXS1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkIikp
OworCisgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBtZXNzYWdlQm9keSA9IGFkb3B0V0so
V0tCb29sZWFuQ3JlYXRlKGVuYWJsZWQpKTsKKworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3Vz
TWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1l
LmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7Cit9CisKIHZvaWQgVGVzdFJ1bm5l
cjo6Y2FsbERpZFJlY2VpdmVBbGxTdG9yYWdlQWNjZXNzRW50cmllc0NhbGxiYWNrKFZlY3RvcjxT
dHJpbmc+JiBkb21haW5zKQogewogICAgIFdLQnVuZGxlRnJhbWVSZWYgbWFpbkZyYW1lID0gV0tC
dW5kbGVQYWdlR2V0TWFpbkZyYW1lKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCkt
PnBhZ2UoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oCmluZGV4IGUwMzk0ZTY1ODhlMzlmZDM1Zjg3YjViNzMyYzU3NmFjMTJmZmQ1
YmUuLjIyMDVmNmJjNWI2ZWRmYzQ3MDNkYjI2ODQwOGUyZjkxZDFhZmE2NjMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC00
NTgsNiArNDU4LDggQEAgcHVibGljOgogICAgIHZvaWQgZ2V0QWxsU3RvcmFnZUFjY2Vzc0VudHJp
ZXMoSlNWYWx1ZVJlZiBjYWxsYmFjayk7CiAgICAgdm9pZCBjYWxsRGlkUmVjZWl2ZUFsbFN0b3Jh
Z2VBY2Nlc3NFbnRyaWVzQ2FsbGJhY2soVmVjdG9yPFN0cmluZz4mIGRvbWFpbnMpOwogCisgICAg
dm9pZCBzZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoYm9vbCk7CisKICAgICAvLyBPcGVu
IHBhbmVsCiAgICAgdm9pZCBzZXRPcGVuUGFuZWxGaWxlcyhKU1ZhbHVlUmVmKTsKICAgICB2b2lk
IHNldE9wZW5QYW5lbEZpbGVzTWVkaWFJY29uKEpTVmFsdWVSZWYpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCAzYzYyNjljNDkwNjRkYTNkODlmNzU5YWQz
NmU4ZTFjNDUxZGIyNDUyLi5lY2Y0NzU3YTUwNTRmYWNkYjkwMDk5YzY3YjhjNjg1ZGI0N2UyMWM5
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtOTIxLDYg
KzkyMSwxMiBAQCBXS1JldGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNl
aXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQgogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICB9CiAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdl
TmFtZSwgIlNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCIpKSB7CisgICAgICAgIFdLQm9v
bGVhblJlZiBhY2NlcHQgPSBzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KG1lc3NhZ2VCb2R5KTsK
KyAgICAgICAgV0tDb250ZXh0U2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKFRlc3RDb250
cm9sbGVyOjpzaW5nbGV0b24oKS5jb250ZXh0KCksIFdLQm9vbGVhbkdldFZhbHVlKGFjY2VwdCkp
OworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKICAgICBpZiAoV0tTdHJpbmdJc0Vx
dWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldEFsbG93c0FueVNTTENlcnRpZmljYXRl
IikpIHsKICAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldEFsbG93c0FueVNT
TENlcnRpZmljYXRlKFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4o
bWVzc2FnZUJvZHkpKSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGViZGE3NGEz
NWY5ODViMzg1ZmY2Y2ZjMzRiMjg0M2EzNjczOWM5NjAuLmUyYjI4MjZlMTZjNTgyYTA5OGZiOThm
NGIxODNkNTNiYWY2NjQzY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0xMC0yNCAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgU2tpcCBuZXdseSBpbXBvcnRlZCB0ZXN0cyBmb3IgV0sxLgorCisg
ICAgICAgICogcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOS0xMC0yNCAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEF1ZGlvQ29udGV4dCBzaG91bGQgbm90
IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKaW5kZXggMjI5YTI0OGU2OWE3ZDM5N2M0ZThjNjg1ODIwZTU4OWQ3YWU0NmM1
Yi4uNjNhNzQ5MzUxMDZmN2Q3YzhlY2U4Njg0MGQzM2I5Y2NlYTFjMzU2YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMTAtMjQgIFJvYiBCdWlz
ICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFs
aWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIFdQVCB0ZXN0cy4KKwor
ICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L2ZldGNoLXN3Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1jc3MucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0
YWxlLWltYWdlLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1z
Y3JpcHQucHk6IEFkZGVkLgorICAgICAgICAoaWRfdG9rZW4pOgorICAgICAgICAobWFpbik6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
cmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJj
ZXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jLmJyb2FkY2FzdCk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5s
b2c6IEFkZGVkLgorCiAyMDE5LTEwLTI0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5j
b20+CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25zXSBVcGRhdGUgV1BUIHRlc3RzIHJlbGF0ZWQg
dG8gV2ViIEFuaW1hdGlvbnMgYW5kIHJlbW92ZSBpbXBvcnRlZCBNb3ppbGxhIHRlc3RzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3Rh
dGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4
cGVjdGF0aW9ucy5qc29uCmluZGV4IGY5MjFiMzNjZDY4Njg4MDU5OTUwNDFjZTVkYzQ5ZDA0ZmE5
Y2YxN2MuLjRjYjE1MzM3YzA5YjA4NjFkZmM1YjI5MDhhZDdkZjQ0NDQ2NDZmNDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9u
cy5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4
cGVjdGF0aW9ucy5qc29uCkBAIC0xNjYsNiArMTY2LDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaS9jb3JzIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvcmFu
Z2UiOiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZnVsbHNj
cmVlbiI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9nYW1lcGFkIjogInNraXAi
LCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2dlbmVyaWMtc2Vuc29yIjogInNraXAiLCAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvZmV0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2YmYyNmY0YWIxMWM3NzdhZGYy
NDhhYTM3YWMwYzc3MjgyMzcwNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
ZmV0Y2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFNlY29uZCBmZXRjaCBy
ZXR1cm5zIHNhbWUgcmVzcG9uc2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRj
aC1zdy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2YmYyNmY0YWIxMWM3NzdhZGYyNDhhYTM3YWMwYzc3
MjgyMzcwNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFNlY29uZCBmZXRjaCByZXR1
cm5zIHNhbWUgcmVzcG9uc2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1z
dy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjFlYWIwNzYzZmM2NWFlMDUwYTNiYzk5MGI5MGNmNWMzMmY5YTU5ZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sCkBAIC0wLDAgKzEs
NjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorICA8dGl0bGU+U3RhbGUgUmV2YWxpZGF0aW9uIFJlcXVlc3RzIGRvbid0IGdldCBz
ZW50IHRvIHNlcnZpY2Ugd29ya2VyPC90aXRsZT4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwv
c2NyaXB0PgorICA8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgIGlmICgidGVzdFJ1bm5lciIgaW4gd2luZG93KQorICAg
IHRlc3RSdW5uZXIuc2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKHRydWUpOworCisgIC8v
IER1cGxpY2F0aW5nIHRoaXMgcmVzb3VyY2UgdG8gbWFrZSBzZXJ2aWNlIHdvcmtlciBzY29waW5n
IHNpbXBsZXIuCisgIGFzeW5jIGZ1bmN0aW9uIHNldHVwUmVnaXN0cmF0aW9uQW5kV2FpdFRvQmVD
b250cm9sbGVkKHQsIHNjb3BlKSB7CisgICAgY29uc3QgY29udHJvbGxlZCA9IG5ldyBQcm9taXNl
KChyZXNvbHZlKSA9PiB7CisgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbmNvbnRyb2xs
ZXJjaGFuZ2UgPSAoKSA9PiB7IHJlc29sdmUoKTsgfTsKKyAgICB9KTsKKyAgICBjb25zdCByZWcg
PSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcignc3ctaW50ZXJjZXB0Lmpz
Jyk7CisgICAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0
ZWQnKTsKKyAgICBhd2FpdCBjb250cm9sbGVkOworICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNr
KF8gPT4gcmVnLnVucmVnaXN0ZXIoKSk7CisgICAgcmV0dXJuIHJlZzsKKyAgfQorCisgIC8vIFVz
aW5nIDI1MG1zIHBvbGxpbmcgaW50ZXJ2YWwgdG8gcHJvdmlkZSBlbm91Z2ggJ25ldHdvcmsgY2Fs
bW5lc3MnIHRvIGdpdmUKKyAgLy8gdGhlIGJhY2tncm91bmQgbG93IHByaW9yaXR5IHJldmFsaWRh
dGlvbiByZXF1ZXN0IGEgY2hhbmNlIHRvIGtpY2sgaW4uCisgIGZ1bmN0aW9uIHdhaXQyNTBtcyh0
ZXN0KSB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgdGVzdC5z
dGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9LCAyNTApOwor
ICAgIH0pOworICB9CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgdmFy
IHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworICAgIGNvbnN0IHVyaSA9ICdyZXNvdXJjZXMvc3Rh
bGUtc2NyaXB0LnB5P3Rva2VuPScgKyByZXF1ZXN0X3Rva2VuOworCisgICAgYXdhaXQgc2V0dXBS
ZWdpc3RyYXRpb25BbmRXYWl0VG9CZUNvbnRyb2xsZWQodGVzdCwgJ3Jlc291cmNlcy9zdGFsZS1z
Y3JpcHQucHknKTsKKworICAgIHZhciBzZXJ2aWNlX3dvcmtlcl9jb3VudCA9IDA7CisgICAgbmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9u
IG9uY2UoZXZlbnQpIHsKKyAgICAgIGlmIChldmVudC5kYXRhLmVuZHNXaXRoKHVyaSkpIHsKKyAg
ICAgICAgc2VydmljZV93b3JrZXJfY291bnQrKzsKKyAgICAgIH0KKyAgICB9KTsKKworICAgIGNv
bnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJpKTsKKyAgICBjb25zdCByZXNwb25zZTIgPSBh
d2FpdCBmZXRjaCh1cmkpOworICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2UuaGVhZGVycy5nZXQo
J1VuaXF1ZS1JZCcpLCByZXNwb25zZTIuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpKTsKKyAgICB3
aGlsZSh0cnVlKSB7CisgICAgICBjb25zdCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRj
aChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tl
bik7CisgICAgICBpZiAocmV2YWxpZGF0aW9uX2NoZWNrLmhlYWRlcnMuZ2V0KCdDb3VudCcpID09
ICcyJykgeworICAgICAgICAvLyBUaGUgc2VydmljZSB3b3JrZXIgc2hvdWxkIG5vdCBzZWUgdGhl
IHJldmFsaWRhdGlvbiByZXF1ZXN0LgorICAgICAgICBhc3NlcnRfZXF1YWxzKHNlcnZpY2Vfd29y
a2VyX2NvdW50LCAyKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBhd2FpdCB3YWl0
MjUwbXModGVzdCk7CisgICAgfQorICB9LCAnU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNw
b25zZScpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9mZXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmZlOWE2NDViYzU5ZWY3MGZmYTgxYzJkZGVjMzBiM2EwNDYzMDZjMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwh
RE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxl
IFdoaWxlIFJldmFsaWRhdGUgaXMgbm90IGV4ZWN1dGVkIGZvciBmZXRjaCBBUEk8L3RpdGxlPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2lmICgidGVzdFJ1
bm5lciIgaW4gd2luZG93KQorICB0ZXN0UnVubmVyLnNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5h
YmxlZCh0cnVlKTsKKworZnVuY3Rpb24gd2FpdDI1bXModGVzdCkgeworICByZXR1cm4gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgdGVzdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAg
cmVzb2x2ZSgpOworICAgIH0sIDI1KTsKKyAgfSk7Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyAo
dGVzdCkgPT4geworICB2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7CisKKyAgY29uc3QgcmVz
cG9uc2UgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj1gICsg
cmVxdWVzdF90b2tlbik7CisgIGNvbnN0IHJlc3BvbnNlMiA9IGF3YWl0IGZldGNoKGByZXNvdXJj
ZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKworICBhc3NlcnRf
ZXF1YWxzKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSwgcmVzcG9uc2UyLmhlYWRl
cnMuZ2V0KCdVbmlxdWUtSWQnKSk7CisKKyAgd2hpbGUodHJ1ZSkgeworICAgIGNvbnN0IHJldmFs
aWRhdGlvbl9jaGVjayA9IGF3YWl0IGZldGNoKGByZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3F1
ZXJ5JnRva2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKyAgICBpZiAocmV2YWxpZGF0aW9uX2NoZWNr
LmhlYWRlcnMuZ2V0KCdDb3VudCcpID09ICcyJykgeworICAgICAgYnJlYWs7CisgICAgfQorICAg
IGF3YWl0IHdhaXQyNW1zKHRlc3QpOworICB9Cit9LCAnU2Vjb25kIGZldGNoIHJldHVybnMgc2Ft
ZSByZXNwb25zZScpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVz
b3VyY2VzL3N0YWxlLWNzcy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3Nz
LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmE2YWU1NDZkMDY1MWY5N2YzMDIwODI5NDUyZGI2MjI1NDg2ZGM0NTEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5w
eQpAQCAtMCwwICsxLDI4IEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisKKyAgICB0
b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgaXNfcXVlcnkgPSBy
ZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAgd2l0aCByZXF1ZXN0
LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50
YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAhPSBOb25lOgorICAg
ICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgICBpZiBj
b3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3Vu
dCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAgIHJlcXVl
c3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgaWYgaXNfcXVlcnk6CisgICAg
ICBoZWFkZXJzID0gWygiQ291bnQiLCBjb3VudCldCisgICAgICBjb250ZW50ID0gIiIKKyAgICAg
IHJldHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKKyAgICBlbHNlOgorICAgICAgY29udGVudCA9
ICJib2R5IHsgYmFja2dyb3VuZDogcmdiKDAsIDEyOCwgMCk7IH0iCisgICAgICBpZiBjb3VudCA+
IDE6CisgICAgICAgIGNvbnRlbnQgPSAiYm9keSB7IGJhY2tncm91bmQ6IHJnYigyNTUsIDAsIDAp
OyB9IgorCisgICAgICBoZWFkZXJzID0gWygiQ29udGVudC1UeXBlIiwgInRleHQvY3NzIiksCisg
ICAgICAgICAgICAgICAoIkNhY2hlLUNvbnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFs
ZS13aGlsZS1yZXZhbGlkYXRlPTYwIildCisKKyAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsIGNv
bnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2Uu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgzOWViODRiYjM0YmJkMTVlMmNhNzA2MWVlNGZhNTcyNGQyYzY0ZjgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5CkBAIC0wLDAgKzEs
MzggQEAKK2ltcG9ydCBvcy5wYXRoCisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKwor
ICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBpc19xdWVy
eSA9IHJlcXVlc3QuR0VULmZpcnN0KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUKKyAgICB3aXRoIHJl
cXVlc3Quc2VydmVyLnN0YXNoLmxvY2s6CisgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0
YXNoLnRha2UodG9rZW4pCisgICAgICBjb3VudCA9IDAKKyAgICAgIGlmIHZhbHVlICE9IE5vbmU6
CisgICAgICAgIGNvdW50ID0gaW50KHZhbHVlKQorICAgICAgaWYgaXNfcXVlcnk6CisgICAgICAg
IGlmIGNvdW50IDwgMjoKKyAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4s
IGNvdW50KQorICAgICAgZWxzZToKKyAgICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAg
cmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKworICAgIGlmIGlzX3F1ZXJ5
OgorICAgICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIi
CisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIGZp
bGVuYW1lID0gImdyZWVuLTE2eDE2LnBuZyIKKyAgICAgIGlmIGNvdW50ID4gMToKKyAgICAgICAg
ZmlsZW5hbWUgPSAiZ3JlZW4tMjU2eDI1Ni5wbmciCisKKyAgICAgIHBhdGggPSBvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uLy4uLy4uL2ltYWdlcyIsIGZpbGVuYW1l
KQorICAgICAgYm9keSA9IG9wZW4ocGF0aCwgInJiIikucmVhZCgpCisKKyAgICAgIHJlc3BvbnNl
LmFkZF9yZXF1aXJlZF9oZWFkZXJzID0gRmFsc2UKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0
ZV9zdGF0dXMoMjAwKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiY29udGVu
dC1sZW5ndGgiLCBsZW4oYm9keSkpCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVy
KCJDYWNoZS1Db250cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZT02MCIpCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVyKCJjb250ZW50LXR5
cGUiLCAiaW1hZ2UvcG5nIikKKyAgICAgIHJlc3BvbnNlLndyaXRlci5lbmRfaGVhZGVycygpCisK
KyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZShib2R5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3Vy
Y2VzL3N0YWxlLXNjcmlwdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWQ1NDY3MWY0MjExNzM1ZjU2ZGY1MGE1
NWRlZWE2ZWQyODFkNWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1zY3JpcHQucHkKQEAgLTAsMCArMSwzMiBAQAoraW1wb3J0IHJhbmRvbSwgc3Ry
aW5nLCBkYXRldGltZQorCitkZWYgaWRfdG9rZW4oKToKKyAgIGxldHRlcnMgPSBzdHJpbmcuYXNj
aWlfbG93ZXJjYXNlCisgICByZXR1cm4gJycuam9pbihyYW5kb20uY2hvaWNlKGxldHRlcnMpIGZv
ciBpIGluIHJhbmdlKDIwKSkKKworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHRv
a2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBpc19xdWVyeSA9IHJl
cXVlc3QuR0VULmZpcnN0KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUKKyAgICB3aXRoIHJlcXVlc3Qu
c2VydmVyLnN0YXNoLmxvY2s6CisgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRh
a2UodG9rZW4pCisgICAgICBjb3VudCA9IDAKKyAgICAgIGlmIHZhbHVlICE9IE5vbmU6CisgICAg
ICAgIGNvdW50ID0gaW50KHZhbHVlKQorICAgICAgaWYgaXNfcXVlcnk6CisgICAgICAgIGlmIGNv
dW50IDwgMjoKKyAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50
KQorICAgICAgZWxzZToKKyAgICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAgcmVxdWVz
dC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKworICAgIGlmIGlzX3F1ZXJ5OgorICAg
ICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIiCisgICAg
ICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIHVuaXF1ZV9p
ZCA9IGlkX3Rva2VuKCkKKyAgICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9q
YXZhc2NyaXB0IiksCisgICAgICAgICAgICAgICAgICgiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRl
LCBtYXgtYWdlPTAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAiKSwKKyAgICAgICAgICAgICAg
ICAgKCJVbmlxdWUtSWQiLCB1bmlxdWVfaWQpXQorICAgICAgY29udGVudCA9ICJyZXBvcnQoJ3t9
JykiLmZvcm1hdCh1bmlxdWVfaWQpCisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWE3
NzMyYTU2NmQ0YTZmNTczY2M5N2ZkM2QxNDU0NjU3ZDQ3NjgwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE5IEBA
CitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0Rv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weQorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVz
b3VyY2VzL3N0YWxlLXNjcmlwdC5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxl
LWNzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YWM5OTQwNWE3Yjg5YzEzZTU3ODdlYWYwNzllZDZmMTQ4OGU4YzEwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZSAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLWNzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMWY0OGVhYWQ0OTUwNDA2ZjlhM2FkNDI4
Njg3ZDU1MTY5N2JjOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUt
Y3NzLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSB3b3JrcyBmb3Ig
Y3NzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5Pgor
PHNjcmlwdD4KK2lmICgidGVzdFJ1bm5lciIgaW4gd2luZG93KQorICB0ZXN0UnVubmVyLnNldFN0
YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCh0cnVlKTsKKwordmFyIHJlcXVlc3RfdG9rZW4gPSB0
b2tlbigpOworYXN5bmNfdGVzdCh0ID0+IHsKKyAgd2luZG93Lm9ubG9hZCA9IHQuc3RlcF9mdW5j
KCgpID0+IHsKKyAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxz
KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUo
J2JhY2tncm91bmQtY29sb3InKSwgInJnYigwLCAxMjgsIDApIik7CisgICAgICB2YXIgbGluazIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7CisgICAgICBsaW5rMi5vbmxvYWQgPSB0
LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMod2luZG93LmdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xv
cicpLCAicmdiKDAsIDEyOCwgMCkiKTsKKyAgICAgICAgdmFyIGNoZWNrUmVzdWx0ID0gKCkgPT4g
eworICAgICAgICAgIC8vIFdlIHBvbGwgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoZW4gdGhlIHJl
dmFsaWRhdGlvbiB3aWxsIG9jY3VyLgorICAgICAgICAgIGZldGNoKCJyZXNvdXJjZXMvc3RhbGUt
Y3NzLnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0X3Rva2VuKS50aGVuKHQuc3RlcF9mdW5jKChy
ZXNwb25zZSkgPT4geworICAgICAgICAgICAgdmFyIGNvdW50ID0gcmVzcG9uc2UuaGVhZGVycy5n
ZXQoIkNvdW50Iik7CisgICAgICAgICAgICBpZiAoY291bnQgPT0gJzInKSB7CisgICAgICAgICAg
ICAgIHQuZG9uZSgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgdC5zdGVw
X3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9KSk7
CisgICAgICAgIH07CisgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7Cisg
ICAgICB9KTsKKyAgICAgIGxpbmsyLnJlbCA9ICJzdHlsZXNoZWV0IjsKKyAgICAgIGxpbmsyLnR5
cGUgPSAidGV4dC9jc3MiOworICAgICAgbGluazIuaHJlZiA9ICJyZXNvdXJjZXMvc3RhbGUtY3Nz
LnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOworICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChsaW5rMik7CisgICAgfSwgMCk7CisgIH0pOworfSwgJ0NhY2hlIHJldHVybnMgc3RhbGUg
cmVzb3VyY2UnKTsKKwordmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7
CitsaW5rLnJlbCA9ICJzdHlsZXNoZWV0IjsKK2xpbmsudHlwZSA9ICJ0ZXh0L2NzcyI7CitsaW5r
LmhyZWYgPSAicmVzb3VyY2VzL3N0YWxlLWNzcy5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlNDIwMTRk
ZWZkNzE5MTA5NmMzM2NjZTU4MzBlZjdjYWExYTU3YTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorIAor
CitQQVNTIENhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzQ2ZjZkZDQxMzEzYzAwNWI0NDQ1ZmU3MGZmNDdmZTMyYmY0MGJh
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCkBA
IC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIGltYWdlczwvdGl0
bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzwhLS0KK1Vz
ZSBhIGNoaWxkIGRvY3VtZW50IHRvIGxvYWQgdGhlIHNlY29uZCBzdGFsZSBpbWFnZSBpbnRvIGJl
Y2F1c2UKK2FuIGltYWdlIGxvYWRlZCBpbnRvIHRoZSBzYW1lIGRvY3VtZW50IHdpbGwgc2tpcCBj
YWNoZS1jb250cm9sIGhlYWRlcnMuCitTZWU6IGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
I3RoZS1saXN0LW9mLWF2YWlsYWJsZS1pbWFnZXMKKy0tPgorPGlmcmFtZSBpZD0iY2hpbGQiIHNy
Y2RvYz0iIj48L2lmcmFtZT4KKzxzY3JpcHQ+CitpZiAoInRlc3RSdW5uZXIiIGluIHdpbmRvdykK
KyAgdGVzdFJ1bm5lci5zZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQodHJ1ZSk7CisKK3Zh
ciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRvdy5v
bmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4gewor
ICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlyc3RpbWFnZSIp
LndpZHRoLCAxNiwgIldpZHRoIGlzIDE2Iik7CisgICAgICB2YXIgY2hpbGREb2N1bWVudCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGlsZCcpLmNvbnRlbnREb2N1bWVudDsKKyAgICAgIHZh
ciBpbWcyID0gY2hpbGREb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICAgIGltZzIu
b25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGltZzIu
d2lkdGgsIDE2LCAiaW1hZ2UgZGltZW5zaW9uIik7CisgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9
ICgpID0+IHsKKyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVu
IHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICBmZXRjaCgicmVzb3VyY2Vz
L3N0YWxlLWltYWdlLnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0X3Rva2VuKS50aGVuKHQuc3Rl
cF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgdmFyIGNvdW50ID0gcmVzcG9uc2Uu
aGVhZGVycy5nZXQoIkNvdW50Iik7CisgICAgICAgICAgICBpZiAoY291bnQgPT0gJzInKSB7Cisg
ICAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICB9KSk7CisgICAgICAgIH07CisgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0
LCAyNSk7CisgICAgICB9KTsKKyAgICAgIGltZzIuc3JjID0gInJlc291cmNlcy9zdGFsZS1pbWFn
ZS5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGNoaWxkRG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChpbWcyKTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9LCAnQ2FjaGUgcmV0dXJucyBz
dGFsZSByZXNvdXJjZScpOworCit2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1n
Iik7CitpbWcuc3JjID0gInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT90b2tlbj0iICsgcmVxdWVz
dF90b2tlbjsKK2ltZy5pZCA9ICJmaXJzdGltYWdlIjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWM5OTQwNWE3Yjg5YzEzZTU3ODdlYWYwNzllZDZm
MTQ4OGU4YzEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlw
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FjaGUgcmV0dXJucyBzdGFs
ZSByZXNvdXJjZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0YzA2
NDg5MjBkNGY3YjcxOGNhMjY5MjczMjc4N2FiODNlNWUyNGYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hp
bGUgUmV2YWxpZGF0ZSB3b3JrcyBmb3Igc2NyaXB0czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91
dGlscy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAoInRlc3RSdW5uZXIiIGlu
IHdpbmRvdykKKyAgdGVzdFJ1bm5lci5zZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQodHJ1
ZSk7CisKK3ZhciBsYXN0X21vZGlmaWVkOwordmFyIGxhc3RfbW9kaWZpZWRfY291bnQgPSAwOwor
dmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworCisvLyBUaGUgc2NyaXB0IHdpbGwgY2FsbCBy
ZXBvcnQgdmlhIGEgdW5pcXVlbHkgZ2VuZXJhdGVkIElEIG9uIHRoZSBzdWJyZXNvdXJjZS4KKy8v
IElmIGl0IGlzIGEgY2FjaGUgaGl0IHRoZSBJRCB3aWxsIGJlIHRoZSBzYW1lIGFuZCB0aGUgdGVz
dCB3aWxsIHBhc3MuCitmdW5jdGlvbiByZXBvcnQobW9kKSB7CisgIGlmICghbGFzdF9tb2RpZmll
ZCkgeworICAgIGxhc3RfbW9kaWZpZWQgPSBtb2Q7CisgICAgbGFzdF9tb2RpZmllZF9jb3VudCA9
IDE7CisgIH0gZWxzZSBpZiAobGFzdF9tb2RpZmllZCA9PSBtb2QpIHsKKyAgICBsYXN0X21vZGlm
aWVkX2NvdW50Kys7CisgIH0KK30KKworYXN5bmNfdGVzdCh0ID0+IHsKKyAgd2luZG93Lm9ubG9h
ZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBzdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAg
dmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworICAgICAgc2Ny
aXB0LnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rv
a2VuOworICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpOworICAgICAgc2Ny
aXB0Lm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGxhc3RfbW9kaWZpZWRfY291bnQsIDIsICJsYXN0IG1vZGlmaWVkIik7CisgICAgICAgICAgdmFy
IGNoZWNrUmVzdWx0ID0gKCkgPT4geworICAgICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdl
IGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAg
ICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVz
dF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgICAg
dmFyIGNvdW50ID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoIkNvdW50Iik7CisgICAgICAgICAgICAg
IGlmIChjb3VudCA9PSAnMicpIHsKKyAgICAgICAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVz
dWx0LCAyNSk7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pKTsKKyAgICAgICAgICB9
OworICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICB9KTsK
KyAgICB9LCAwKTsKKyAgfSk7Cit9LCAnQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZScpOwor
Cit2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CitzY3JpcHQu
c3JjID0gInJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3ctaW50ZXJjZXB0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjYTdkZTUxYjBiOGM1NTE4Mjc2ZTcw
YWUyMTliN2JjOGY4NjlhOTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ct
aW50ZXJjZXB0LmpzCkBAIC0wLDAgKzEsMTQgQEAKK2FzeW5jIGZ1bmN0aW9uIGJyb2FkY2FzdCht
c2cpIHsKKyAgZm9yIChjb25zdCBjbGllbnQgb2YgYXdhaXQgY2xpZW50cy5tYXRjaEFsbCgpKSB7
CisgICAgY2xpZW50LnBvc3RNZXNzYWdlKG1zZyk7CisgIH0KK30KKworc2VsZi5hZGRFdmVudExp
c3RlbmVyKCdmZXRjaCcsIGV2ZW50ID0+IHsKKyAgZXZlbnQud2FpdFVudGlsKGJyb2FkY2FzdChl
dmVudC5yZXF1ZXN0LnVybCkpOworICBldmVudC5yZXNwb25kV2l0aChmZXRjaChldmVudC5yZXF1
ZXN0KSk7Cit9KTsKKworc2VsZi5hZGRFdmVudExpc3RlbmVyKCdhY3RpdmF0ZScsIGV2ZW50ID0+
IHsKKyAgc2VsZi5jbGllbnRzLmNsYWltKCk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS93M2MtaW1wb3J0LmxvZwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hYjlkZDA2Zjg0NmE3MDY4ZmVhMmI4Mjg3ODFhZDc1Y2MxOThlN2EzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIg
QEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJ
aHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKwor
RG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1By
b3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVl
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0
IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL2ZldGNoLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1z
Y3JpcHQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQuanMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjMzA5NzM0MTNiN2Fl
MWNhN2FiMjE4YmMzN2YwYjVlY2RlYmFjMzg1Li5mMWZkN2EwYjdlNzc0YjVlZDI5MzE5MWU2NzBm
YTQwYTYwOTM4ZTMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0yMDA1LDQgKzIwMDUsNyBAQCBpbnNwZWN0b3IvY2FudmFzL3JlY29yZGlu
Zy1odG1sLTJkLmh0bWwKIHdlYmtpdC5vcmcvYi8xNTk3MjQgWyBEZWJ1ZyBdIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtcG9zdC11cGxvYWQuaHRtIFsg
U2tpcCBdCiAKICMgU2tpcCBJc0xvZ2dlZEluCi1odHRwL3Rlc3RzL2lzLWxvZ2dlZC1pbi8gWyBT
a2lwIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitodHRwL3Rlc3RzL2lzLWxvZ2dlZC1p
bi8gWyBTa2lwIF0KKworIyBTdGFsZS13aGlsZS1yZXZhbGlkYXRlIGlzIG5vdCBzdXBwb3J0ZWQg
b24gV0sxCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCA3YTZmMjQ5MWYxNTYyMGM4OWQzZjg2ZmQ2ODkyOGI5ODVmNzY5
ODY3Li4wNjYzMzk0MWZjOGVmMGNlNzljZTVlYjQ4MmZjZWJmNDZlNDc4YWJiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC04MDUsNiArODA1
LDcgQEAgd2Via2l0Lm9yZy9iLzIwMzE3MyBpbnNwZWN0b3IvY29uc29sZS93ZWJjb3JlLWxvZ2dp
bmcuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMDMxNzYgWyBEZWJ1ZyBd
IGZhc3Qvc2Nyb2xsaW5nL2xhdGNoaW5nL3Njcm9sbC1zZWxlY3QtYm90dG9tLXRlc3QuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCiAKKwogd2Via2l0Lm9yZy9iLzIwMzMwNCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tb3BhY2l0eS1wYXVz
ZS1hbmQtc2V0LXRpbWUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIw
MzMwNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9h
bmltYXRpb24tdHJhbnNmb3JtLXBhdXNlLWFuZC1zZXQtdGltZS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiB3ZWJraXQub3JnL2IvMjAzMzA1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9wcm9wZXJ0aWVzLXZhbHVlLTAwMS5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KQEAgLTgxMiwzICs4MTMsNiBAQCB3ZWJraXQub3JnL2IvMjAzMzA1IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9wcm9wZXJ0aQogd2Vi
a2l0Lm9yZy9iLzIwMzMwNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
dHJhbnNpdGlvbnMvcHJvcGVydGllcy12YWx1ZS1pbmhlcml0LTAwMi5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8yMDMzNTYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXRyYW5zaXRpb25zL3Byb3BlcnRpZXMtdmFsdWUtMDAzLmh0bWwgWyBQYXNzIFRp
bWVvdXQgXQogd2Via2l0Lm9yZy9iLzIwMzM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvZXZlbnQtZGlzcGF0Y2gudGVudGF0aXZlLmh0bWwgWyBQ
YXNzIEZhaWx1cmUgXQorCisjIFN0YWxlLXdoaWxlLXJldmFsaWRhdGUgaXMgbm90IHN1cHBvcnRl
ZCBvbiBXSzEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZSBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381827</attachid>
            <date>2019-10-24 11:26:45 -0700</date>
            <delta_ts>2019-11-06 11:10:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191024202643.patch</filename>
            <type>text/plain</type>
            <size>71583</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTY2ZjNiZTUzNGNkZGI5
MGY1ZjgyNjViNzZmZTVhNTI3M2I2ZDQzMS4uMTZjMjZhYTlhNjQ1Y2EzYzllMmZkZmExMGM0ODU3
NWY4N2FmZmY2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTEwLTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBwYXJzaW5nIHRoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlCisgICAgICAgIGFuZCBleHBvc2UgaXQgb24gUmVzb3Vy
Y2VSZXNwb25zZS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3Nz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2Fj
aGVWYWxpZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGly
ZWN0aXZlcyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xTdGFsZVdo
aWxlUmV2YWxpZGF0ZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlc3BvbnNlQmFzZS5oOgorCiAyMDE5LTEwLTI0ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxl
LmNvbT4KIAogICAgICAgICBbQ29jb2FdIE1ha2UgaXQgcG9zc2libGUgdG8gY29udmVydCBTaGFy
ZWRCdWZmZXIgc2VnbWVudHMgYW5kIGRhdGEgdmlld3MgdG8gTlNEYXRhIHdpdGhvdXQgY29weWlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCA2NDkzY2RmMWVmZWUwMTQyYmE2YTJjMjkzYjg4MzA1YzU0MTM1MGRkLi5i
NmU3NzVhMTJhMmFkMjViMGRhZTBkODZjNTQ4OThlZjI0ZDE2N2EwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDU1IEBACisyMDE5LTEwLTI0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgVXNl
RGVjaXNpb24gdmFsdWUgQXN5bmNSZXZhbGlkYXRlIGZvciBhc3luYyByZXZhbGlkYXRpb24uIFRo
aXMgaXMgdXNlZAorICAgICAgICB3aGVuIHRoZSByZXRyaWV2ZWQgY2FjaGUgZW50cnkgaXMgYSBz
dGFsZS13aGlsZS1yZXZhbGlkYXRlIHJlc3BvbnNlIFsxXS4KKyAgICAgICAgSW4gY2FzZSBvZiBB
c3luY1JldmFsaWRhdGUsIGEgY2hlY2sgaXMgbWFkZSB0byBzZWUgaWYgdGhlcmUgaXMgYQorICAg
ICAgICBjdXJyZW50IGFzeW5jIHJldmFsaWRhdGlvbiBvbmdvaW5nIGZvciB0aGUgZW50cnksIGlm
IG5vdCBvbmUgaXMKKyAgICAgICAgc3RhcnRlZC4gUmVnYXJkbGVzcywgdGhlIHN0YWxlIGVudHJ5
IGlzIHJldHVybmVkLCB1bnRpbCBlaXRoZXIgdGhlCisgICAgICAgIGFzeW5jIHJldmFsaWRhdGlv
biBlbmRzIHN1Y2Nlc3NmdWxseSBvciBhdCB0aGUgbW9tZW50IHdoZW4gdGhlCisgICAgICAgIHJl
c3BvbnNlIGV4cGlyZXMgZm9yIHJlYWwuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZmV0Y2guc3Bl
Yy53aGF0d2cub3JnLyNjb25jZXB0LXN0YWxlLXdoaWxlLXJldmFsaWRhdGUtcmVzcG9uc2UKKwor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpzZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6aXNTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJs
ZWQgY29uc3QpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9u
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Y29uc3RydWN0UmV2
YWxpZGF0aW9uUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNS
ZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5kaW5nKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpBc3luY1JldmFsaWRhdGlvbjo6QXN5bmNSZXZhbGlkYXRpb24pOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmg6IEFkZGVk
LgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9uOjpsb2Fk
IGNvbnN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlc3BvbnNlTmVlZHNSZXZhbGlkYXRp
b24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6Om1ha2VVc2VEZWNpc2lvbik6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6bWFrZVN0b3JlRGVjaXNpb24pOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmNhblVzZVBlbmRpbmdSZXZhbGlkYXRpb24pOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpzdGFydEFzeW5jUmV2YWxpZGF0aW9u
SWZOZWVkZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpyZXRyaWV2
ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVzcG9uc2VIYXNFeHBpcmVkKTog
RGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaDoK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxv
YWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmR1bXBIVFRQSGVhZGVyc0Rp
ZmYpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlcXVlc3RzSGVhZGVyc01hdGNo
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2
ZUxvYWQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpk
dW1wSFRUUEhlYWRlcnNEaWZmKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nh
Y2hlOjpyZXF1ZXN0c0hlYWRlcnNNYXRjaCk6IERlbGV0ZWQuCisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHA6CisgICAgICAgIChX
S0NvbnRleHRTZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS0NvbnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6c2V0U3RhbGVXaGlsZVJl
dmFsaWRhdGVFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoK
KyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOS0xMC0y
NCAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXVtXUEVdIEVuYWJsZSBydW50aW1lIHNldHRpbmcgd2l0aCBleHBlcmltZW50YWwg
ZmVhdHVyZXMgZm9yIFNlcnZlciBUaW1pbmcgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKaW5kZXggNDk1OTA1MDY3OWNlMDUw
NDg0MjQ0N2ViMWY1YTBiZjhhNjc2ODNjZS4uMmQzNTA3ZGYyMzdkYjI5NWQ1OTMxYTRjMGRmNzYw
Mjc3N2RlN2I4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9D
YWNoZVZhbGlkYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Q2FjaGVWYWxpZGF0aW9uLmNwcApAQCAtMzEzLDggKzMxMywxOCBAQCBDYWNoZUNvbnRyb2xEaXJl
Y3RpdmVzIHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcyhjb25zdCBIVFRQSGVhZGVyTWFwJiBo
ZWFkZXJzKQogICAgICAgICAgICAgICAgIGRvdWJsZSBtYXhTdGFsZSA9IGRpcmVjdGl2ZXNbaV0u
c2Vjb25kLnRvRG91YmxlKCZvayk7CiAgICAgICAgICAgICAgICAgaWYgKG9rKQogICAgICAgICAg
ICAgICAgICAgICByZXN1bHQubWF4U3RhbGUgPSBTZWNvbmRzIHsgbWF4U3RhbGUgfTsKLSAgICAg
ICAgICAgIH0gZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZl
c1tpXS5maXJzdCwgImltbXV0YWJsZSIpKQorICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAiaW1tdXRhYmxlIikp
IHsKICAgICAgICAgICAgICAgICByZXN1bHQuaW1tdXRhYmxlID0gdHJ1ZTsKKyAgICAgICAgICAg
IH0gZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5m
aXJzdCwgInN0YWxlLXdoaWxlLXJldmFsaWRhdGUiKSkgeworICAgICAgICAgICAgICAgIGlmIChy
ZXN1bHQuc3RhbGVXaGlsZVJldmFsaWRhdGUpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRmly
c3Qgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBkaXJlY3RpdmUgd2lucyBpZiB0aGVyZSBhcmUgbXVs
dGlwbGUgb25lcy4KKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGJvb2wgb2s7CisgICAgICAgICAgICAgICAgZG91YmxlIHN0
YWxlV2hpbGVSZXZhbGlkYXRlID0gZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9Eb3VibGUoJm9rKTsK
KyAgICAgICAgICAgICAgICBpZiAob2spCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5zdGFs
ZVdoaWxlUmV2YWxpZGF0ZSA9IFNlY29uZHMgeyBzdGFsZVdoaWxlUmV2YWxpZGF0ZSB9OworICAg
ICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaAppbmRleCA1NmVmZWE2MjE1NDQ3OTUwNmEx
NjY0ZmZkMDhlMDhhYjJjNTU2YmNkLi4wNDBhOTY5N2U1ZmE4MmUxYWY1MGZmYTlhZDE5MjcyN2Yz
Yjc4NDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hl
VmFsaWRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVW
YWxpZGF0aW9uLmgKQEAgLTY5LDYgKzY5LDcgQEAgc3RydWN0IENhY2hlQ29udHJvbERpcmVjdGl2
ZXMgewogCiAgICAgTWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IG1h
eEFnZTsKICAgICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNvbmRzOjpNYXJrYWJsZVRyYWl0cz4gbWF4
U3RhbGU7CisgICAgTWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IHN0
YWxlV2hpbGVSZXZhbGlkYXRlOwogICAgIGJvb2wgbm9DYWNoZSA6IDE7CiAgICAgYm9vbCBub1N0
b3JlIDogMTsKICAgICBib29sIG11c3RSZXZhbGlkYXRlIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKaW5k
ZXggMjBhYzY0ZDU3MDM0YzY5ZWE5MmJjN2E0MzUzNmYxNmQ3OTVmZmEyOS4uMzI3MmUwYzQ4ZTZi
NjQ3YTAzZDAyMzgzNjlhYzNiODEwZTVlY2NmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKQEAgLTY1NSw2
ICs2NTUsMTMgQEAgT3B0aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hl
Q29udHJvbE1heEFnZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVDb250cm9sRGlyZWN0aXZl
cy5tYXhBZ2U7CiB9CiAKK09wdGlvbmFsPFNlY29uZHM+IFJlc291cmNlUmVzcG9uc2VCYXNlOjpj
YWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2hh
dmVQYXJzZWRDYWNoZUNvbnRyb2xIZWFkZXIpCisgICAgICAgIHBhcnNlQ2FjaGVDb250cm9sRGly
ZWN0aXZlcygpOworICAgIHJldHVybiBtX2NhY2hlQ29udHJvbERpcmVjdGl2ZXMuc3RhbGVXaGls
ZVJldmFsaWRhdGU7Cit9CisKIHN0YXRpYyBPcHRpb25hbDxXYWxsVGltZT4gcGFyc2VEYXRlVmFs
dWVJbkhlYWRlcihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzLCBIVFRQSGVhZGVyTmFtZSBo
ZWFkZXJOYW1lKQogewogICAgIFN0cmluZyBoZWFkZXJWYWx1ZSA9IGhlYWRlcnMuZ2V0KGhlYWRl
ck5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4IGNiMTdiNTk1NDg3ZDEwYjc3M2M0ZTQ4NTM1NDMwMjRh
NTBmMWE5N2YuLjQwNjgxZjA3N2FiOWVlZDA5YzkzNWJiMGJhYWM5ZTBiNDA5YzM4ZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmgKQEAgLTEzNiw2ICsxMzYsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
Ym9vbCBjYWNoZUNvbnRyb2xDb250YWluc0ltbXV0YWJsZSgpIGNvbnN0OwogICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgaGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSBjb25zdDsKICAgICBXRUJDT1JF
X0VYUE9SVCBPcHRpb25hbDxTZWNvbmRzPiBjYWNoZUNvbnRyb2xNYXhBZ2UoKSBjb25zdDsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxTZWNvbmRzPiBjYWNoZUNvbnRyb2xTdGFsZVdoaWxl
UmV2YWxpZGF0ZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFdhbGxUaW1l
PiBkYXRlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gYWdl
KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8V2FsbFRpbWU+IGV4cGlyZXMo
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aAppbmRleCAzODdlZWUyNDIwZWQ1OTQyYjJhZDI3ZTg4MzMzNTlhMGNhNmExZGVlLi4yMTE2OGNk
NmM4NTNhYzI2ZDI1ZjcwNzY3OWQ1YzhkMGI2MDYyNzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0yNjUsNiArMjY1LDkgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0U2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llc0ZvclRlc3RpbmcoUEFM
OjpTZXNzaW9uSUQsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAjZW5kaWYK
IAorICAgIHZvaWQgc2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKGJvb2wgZW5hYmxlZCkg
eyBtX3N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCA9IGVuYWJsZWQ7IH0KKyAgICBib29sIGlz
U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdGFsZVdoaWxl
UmV2YWxpZGF0ZUVuYWJsZWQ7IH0KKwogICAgIHVzaW5nIENhY2hlU3RvcmFnZVJvb3RQYXRoQ2Fs
bGJhY2sgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyYmKT47CiAgICAgdm9pZCBjYWNo
ZVN0b3JhZ2VSb290UGF0aChQQUw6OlNlc3Npb25JRCwgQ2FjaGVTdG9yYWdlUm9vdFBhdGhDYWxs
YmFjayYmKTsKIApAQCAtNTM3LDcgKzU0MCw5IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFJFU09V
UkNFX0xPQURfU1RBVElTVElDUykKICAgICBib29sIG1faXNJVFBEYXRhYmFzZUVuYWJsZWQgeyBm
YWxzZSB9OwogI2VuZGlmCi0gICAgCisKKyAgICBib29sIG1fc3RhbGVXaGlsZVJldmFsaWRhdGVF
bmFibGVkIHsgZmFsc2UgfTsKKwogICAgIGNsYXNzIFN0b3JhZ2VRdW90YU1hbmFnZXJzIHsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHVpbnQ2NF90IGRlZmF1bHRRdW90YShjb25zdCBXZWJDb3JlOjpD
bGllbnRPcmlnaW4mIG9yaWdpbikgY29uc3QgeyByZXR1cm4gb3JpZ2luLnRvcE9yaWdpbiA9PSBv
cmlnaW4uY2xpZW50T3JpZ2luID8gbV9kZWZhdWx0UXVvdGEgOiBtX2RlZmF1bHRUaGlyZFBhcnR5
UXVvdGE7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDQxZmVhMGRmNTg5NGYzYzRjMWEyYzJjMzM1ZWFi
MmU4M2FkMDRiM2MuLjE3YWMwOWVkOWZiNjQ1ZjdmMzIwODgzZDU1YzQ1OTk5MWFjYzk2M2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5tZXNzYWdlcy5pbgpAQCAtNjIsNiArNjIsNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2Vz
cyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UU9TKGludCBsYXRlbmN5UU9TLCBpbnQgdGhyb3Vn
aHB1dFFPUykKICAgICBTZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZChib29sIGVuYWJsZWQpCiAj
ZW5kaWYKKyAgICBTZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoYm9vbCBlbmFibGVkKQog
ICAgIFNldEFsbG93c0FueVNTTENlcnRpZmljYXRlRm9yV2ViU29ja2V0KGJvb2wgZW5hYmxlZCkg
LT4gKCkgU3luY2hyb25vdXMKIAogICAgIFN5bmNBbGxDb29raWVzKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmI4ZmZkMTBmMTMxMjUyNDYxM2Q0M2M0MGVjNjc4MDQ4NmVkMDllNgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNS
ZXZhbGlkYXRpb24uY3BwCkBAIC0wLDAgKzEsOTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTkgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkFzeW5jUmV2YWxpZGF0aW9uLmgiCisKKyNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxB
VElWRV9SRVZBTElEQVRJT04pCisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVZhbGlkYXRpb24uaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKKworc3RhdGlj
IGlubGluZSBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY29uc3RydWN0UmV2YWxpZGF0aW9uUmVx
dWVzdChjb25zdCBLZXkmIGtleSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBjb25zdCBFbnRyeSogZW50cnkpCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
IHJldmFsaWRhdGlvblJlcXVlc3QgPSByZXF1ZXN0OworICAgIGlmICgha2V5LnBhcnRpdGlvbigp
LmlzRW1wdHkoKSkKKyAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRDYWNoZVBhcnRpdGlv
bihrZXkucGFydGl0aW9uKCkpOworICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uoa2V5LnJhbmdlKCku
aXNFbXB0eSgpLCAicmFuZ2UgaXMgbm90IHN1cHBvcnRlZCIpOworCisgICAgcmV2YWxpZGF0aW9u
UmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOworICAgIGlmIChlbnRyeSkgeworICAgICAgICBT
dHJpbmcgZVRhZyA9IGVudHJ5LT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChXZWJDb3JlOjpI
VFRQSGVhZGVyTmFtZTo6RVRhZyk7CisgICAgICAgIGlmICghZVRhZy5pc0VtcHR5KCkpCisgICAg
ICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZChXZWJDb3JlOjpI
VFRQSGVhZGVyTmFtZTo6SWZOb25lTWF0Y2gsIGVUYWcpOworCisgICAgICAgIFN0cmluZyBsYXN0
TW9kaWZpZWQgPSBlbnRyeS0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRU
UEhlYWRlck5hbWU6Okxhc3RNb2RpZmllZCk7CisgICAgICAgIGlmICghbGFzdE1vZGlmaWVkLmlz
RW1wdHkoKSkKKyAgICAgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0SFRUUEhlYWRlckZp
ZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpJZk1vZGlmaWVkU2luY2UsIGxhc3RNb2RpZmll
ZCk7CisgICAgfQorCisgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRQcmlvcml0eShXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRQcmlvcml0eTo6TG93KTsKKworICAgIHJldHVybiByZXZhbGlkYXRpb25S
ZXF1ZXN0OworfQorCit2b2lkIEFzeW5jUmV2YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0
ZUVuZGluZygpCit7CisgICAgaWYgKG1fY29tcGxldGlvbkhhbmRsZXIpIHsKKyAgICAgICAgbV9j
b21wbGV0aW9uSGFuZGxlcih0cnVlKTsKKyAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlciA9IG51
bGxwdHI7CisgICAgfQorfQorCitBc3luY1JldmFsaWRhdGlvbjo6QXN5bmNSZXZhbGlkYXRpb24o
Q2FjaGUmIGNhY2hlLCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6
OkVudHJ5PiBlbnRyeSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBoYW5kbGVyKQor
ICAgIDogbV90aW1lcigqdGhpcywgJkFzeW5jUmV2YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxp
ZGF0ZUVuZGluZykKKyAgICAsIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkK
K3sKKyAgICBhdXRvIGtleSA9IGVudHJ5LT5rZXkoKTsKKyAgICBhdXRvIHJldmFsaWRhdGlvblJl
cXVlc3QgPSBjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KGtleSwgcmVxdWVzdCwgZW50cnku
Z2V0KCkpOworICAgIGF1dG8gYWdlID0gV2ViQ29yZTo6Y29tcHV0ZUN1cnJlbnRBZ2UoZW50cnkt
PnJlc3BvbnNlKCksIGVudHJ5LT50aW1lU3RhbXAoKSk7CisgICAgYXV0byBsaWZldGltZSA9IFdl
YkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkoZW50cnktPnJlc3Bv
bnNlKCksIGVudHJ5LT50aW1lU3RhbXAoKSk7CisgICAgYXV0byByZXNwb25zZU1heFN0YWxlbmVz
cyA9IGVudHJ5LT5yZXNwb25zZSgpLmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7
CisgICAgQVNTRVJUKHJlc3BvbnNlTWF4U3RhbGVuZXNzKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgqcmVzcG9uc2VNYXhTdGFsZW5lc3MgLSAoYWdlIC0gbGlmZXRpbWUpKTsKKyAgICBtX2xv
YWQgPSBtYWtlVW5pcXVlPFNwZWN1bGF0aXZlTG9hZD4oY2FjaGUsIGZyYW1lSUQsIHJldmFsaWRh
dGlvblJlcXVlc3QsIFdURk1vdmUoZW50cnkpLCBbdGhpcywga2V5LCByZXZhbGlkYXRpb25SZXF1
ZXN0XShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IHJldmFsaWRhdGVkRW50cnkpIHsKKyAgICAgICAg
QVNTRVJUKCFyZXZhbGlkYXRlZEVudHJ5IHx8ICFyZXZhbGlkYXRlZEVudHJ5LT5uZWVkc1ZhbGlk
YXRpb24oKSk7CisgICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8fCByZXZhbGlkYXRl
ZEVudHJ5LT5rZXkoKSA9PSBrZXkpOworICAgICAgICBpZiAobV9jb21wbGV0aW9uSGFuZGxlcikg
eworICAgICAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlcihyZXZhbGlkYXRlZEVudHJ5LmdldCgp
KTsKKyAgICAgICAgICAgIG1fY29tcGxldGlvbkhhbmRsZXIgPSBudWxscHRyOworICAgICAgICB9
CisgICAgfSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQorfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9S
RVZBTElEQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0FzeW5jUmV2YWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0FzeW5jUmV2YWxpZGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDM3ZmM5MzUzMDFiYTk1ZjZlMjFk
OGQ0YWZkMDE2Mzc4MjliOWE2YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uaApAQCAtMCwwICsxLDYwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9O
KQorCisjaW5jbHVkZSAiTmV0d29ya0NhY2hlLmgiCisjaW5jbHVkZSAiTmV0d29ya0NhY2hlRW50
cnkuaCIKKyNpbmNsdWRlICJOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaCIKKyNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFu
ZGxlci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgU3BlY3VsYXRpdmVMb2FkOwor
CituYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKKworY2xhc3MgQXN5bmNSZXZhbGlkYXRpb24gewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEFzeW5jUmV2YWxpZGF0
aW9uKENhY2hlJiwgY29uc3QgR2xvYmFsRnJhbWVJRCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OkVudHJ5PiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJik7CisKKyAgICBjb25zdCBTcGVjdWxhdGl2ZUxvYWQmIGxv
YWQoKSBjb25zdCB7IHJldHVybiAqbV9sb2FkOyB9CisKKyAgICB2b2lkIHN0YWxlV2hpbGVSZXZh
bGlkYXRlRW5kaW5nKCk7CisKK3ByaXZhdGU6CisgICAgc3RkOjp1bmlxdWVfcHRyPFNwZWN1bGF0
aXZlTG9hZD4gbV9sb2FkOworICAgIFdlYkNvcmU6OlRpbWVyIG1fdGltZXI7CisgICAgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4gbV9jb21wbGV0aW9uSGFuZGxlcjsKK307CisKK30gLy8g
bmFtZXNwYWNlIE5ldHdvcmtDYWNoZQorfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5k
ZXggZjM0NGQxYWJhNjRmZTkzYzljYmViZDQ3ZjQzZTgxNjNiYWNkN2MxNy4uMWUwODY0NTRmYTg4
YzA3M2YzOWVlMzllZWExYTllNTM2N2ZhMTgwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcApAQCAtMjYsNyArMjYsOSBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZS5oIgogCisjaW5jbHVk
ZSAiQXN5bmNSZXZhbGlkYXRpb24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAi
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3Bl
Y3VsYXRpdmVMb2FkTWFuYWdlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZVN0b3JhZ2UuaCIK
ICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgpAQCAtMTUyLDM1ICsxNTQsNDYgQEAgc3RhdGlj
IGJvb2wgY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdENh
Y2hlUG9saWN5IHBvbGljeSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBib29sIHJl
c3BvbnNlSGFzRXhwaXJlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSwgV2FsbFRpbWUgdGltZXN0YW1wLCBPcHRpb25hbDxTZWNvbmRzPiBtYXhTdGFsZSkKK3N0YXRp
YyBVc2VEZWNpc2lvbiByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKE5ldHdvcmtQcm9jZXNzJiBu
ZXR3b3JrUHJvY2VzcywgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IFdhbGxUaW1lIHRpbWVzdGFtcCwgT3B0aW9uYWw8U2Vjb25kcz4gbWF4U3RhbGUpCiB7CiAgICAg
aWYgKHJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpKQotICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpWYWxpZGF0ZTsKIAogICAgIGF1
dG8gYWdlID0gV2ViQ29yZTo6Y29tcHV0ZUN1cnJlbnRBZ2UocmVzcG9uc2UsIHRpbWVzdGFtcCk7
CiAgICAgYXV0byBsaWZldGltZSA9IFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZv
ckhUVFBGYW1pbHkocmVzcG9uc2UsIHRpbWVzdGFtcCk7CiAKICAgICBhdXRvIG1heGltdW1TdGFs
ZW5lc3MgPSBtYXhTdGFsZSA/IG1heFN0YWxlLnZhbHVlKCkgOiAwX21zOwogICAgIGJvb2wgaGFz
RXhwaXJlZCA9IGFnZSAtIGxpZmV0aW1lID4gbWF4aW11bVN0YWxlbmVzczsKKyNpZiBFTkFCTEUo
TkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCisgICAgaWYgKGhhc0V4cGly
ZWQgJiYgIW1heFN0YWxlICYmIG5ldHdvcmtQcm9jZXNzLmlzU3RhbGVXaGlsZVJldmFsaWRhdGVF
bmFibGVkKCkpIHsKKyAgICAgICAgYXV0byByZXNwb25zZU1heFN0YWxlbmVzcyA9IHJlc3BvbnNl
LmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAgICAgIG1heGltdW1TdGFs
ZW5lc3MgKz0gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPyByZXNwb25zZU1heFN0YWxlbmVzcy52YWx1
ZSgpIDogMF9tczsKKyAgICAgICAgYm9vbCBpblJlc3BvbnNlU3RhbGVuZXNzID0gYWdlIC0gbGlm
ZXRpbWUgPCBtYXhpbXVtU3RhbGVuZXNzOworICAgICAgICBpZiAoaW5SZXNwb25zZVN0YWxlbmVz
cykKKyAgICAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRlOworICAg
IH0KKyNlbmRpZgogCisgICAgaWYgKGhhc0V4cGlyZWQpIHsKICNpZm5kZWYgTE9HX0RJU0FCTEVE
Ci0gICAgaWYgKGhhc0V4cGlyZWQpCi0gICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29y
a1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4cGlyZWQgYWdlPSVmIGxpZmV0aW1lPSVm
IG1heC1zdGFsZT0lZyIsIGFnZSwgbGlmZXRpbWUsIG1heFN0YWxlKTsKKyAgICAgICAgTE9HKE5l
dHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgbmVlZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJl
ZCBhZ2U9JWYgbGlmZXRpbWU9JWYgbWF4LXN0YWxlbmVzcz0lZiIsIGFnZSwgbGlmZXRpbWUsIG1h
eGltdW1TdGFsZW5lc3MpOwogI2VuZGlmCisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFs
aWRhdGU7CisgICAgfQogCi0gICAgcmV0dXJuIGhhc0V4cGlyZWQ7CisgICAgcmV0dXJuIFVzZURl
Y2lzaW9uOjpVc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUgdGltZXN0YW1wKQorc3RhdGljIFVz
ZURlY2lzaW9uIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oTmV0d29ya1Byb2Nlc3MmIG5ldHdv
cmtQcm9jZXNzLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBXYWxsVGltZSB0aW1lc3RhbXAp
CiB7CiAgICAgYXV0byByZXF1ZXN0RGlyZWN0aXZlcyA9IFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250
cm9sRGlyZWN0aXZlcyhyZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSk7CiAgICAgaWYgKHJlcXVl
c3REaXJlY3RpdmVzLm5vQ2FjaGUpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1
cm4gVXNlRGVjaXNpb246OlZhbGlkYXRlOwogICAgIC8vIEZvciByZXF1ZXN0cyB3ZSBpZ25vcmUg
bWF4LWFnZSB2YWx1ZXMgb3RoZXIgdGhhbiB6ZXJvLgogICAgIGlmIChyZXF1ZXN0RGlyZWN0aXZl
cy5tYXhBZ2UgJiYgcmVxdWVzdERpcmVjdGl2ZXMubWF4QWdlLnZhbHVlKCkgPT0gMF9tcykKLSAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7
CiAKLSAgICByZXR1cm4gcmVzcG9uc2VIYXNFeHBpcmVkKHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJl
cXVlc3REaXJlY3RpdmVzLm1heFN0YWxlKTsKKyAgICByZXR1cm4gcmVzcG9uc2VOZWVkc1JldmFs
aWRhdGlvbihuZXR3b3JrUHJvY2VzcywgcmVzcG9uc2UsIHRpbWVzdGFtcCwgcmVxdWVzdERpcmVj
dGl2ZXMubWF4U3RhbGUpOwogfQogCiBzdGF0aWMgVXNlRGVjaXNpb24gbWFrZVVzZURlY2lzaW9u
KE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgUEFMOjpTZXNzaW9uSUQmIHNl
c3Npb25JRCwgY29uc3QgRW50cnkmIGVudHJ5LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QpCkBAIC0xOTcsOCArMjEwLDkgQEAgc3RhdGljIFVzZURlY2lzaW9uIG1ha2VV
c2VEZWNpc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0IFBBTDo6U2UK
ICAgICBpZiAoY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVkKHJlcXVlc3QuY2FjaGVQb2xpY3koKSkp
CiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogCi0gICAgaWYgKCFyZXNwb25zZU5l
ZWRzUmV2YWxpZGF0aW9uKGVudHJ5LnJlc3BvbnNlKCksIHJlcXVlc3QsIGVudHJ5LnRpbWVTdGFt
cCgpKSkKLSAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CisgICAgYXV0byBkZWNpc2lv
biA9IHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24obmV0d29ya1Byb2Nlc3MsIGVudHJ5LnJlc3Bv
bnNlKCksIHJlcXVlc3QsIGVudHJ5LnRpbWVTdGFtcCgpKTsKKyAgICBpZiAoZGVjaXNpb24gIT0g
VXNlRGVjaXNpb246OlZhbGlkYXRlKQorICAgICAgICByZXR1cm4gZGVjaXNpb247CiAKICAgICBp
ZiAoIWVudHJ5LnJlc3BvbnNlKCkuaGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSkKICAgICAgICAg
cmV0dXJuIFVzZURlY2lzaW9uOjpOb0R1ZVRvTWlzc2luZ1ZhbGlkYXRvckZpZWxkczsKQEAgLTI1
MSw4ICsyNjUsMTIgQEAgc3RhdGljIFN0b3JlRGVjaXNpb24gbWFrZVN0b3JlRGVjaXNpb24oY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFIKICAgICBib29sIHN0b3JlVW5j
b25kaXRpb25hbGx5Rm9ySGlzdG9yeU5hdmlnYXRpb24gPSBpc01haW5SZXNvdXJjZSB8fCBvcmln
aW5hbFJlcXVlc3QucHJpb3JpdHkoKSA9PSBXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eTo6
VmVyeUhpZ2g7CiAgICAgaWYgKCFzdG9yZVVuY29uZGl0aW9uYWxseUZvckhpc3RvcnlOYXZpZ2F0
aW9uKSB7CiAgICAgICAgIGF1dG8gbm93ID0gV2FsbFRpbWU6Om5vdygpOwotICAgICAgICBib29s
IGhhc05vblplcm9MaWZldGltZSA9ICFyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2Fj
aGUoKSAmJiBXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJl
c3BvbnNlLCBub3cpID4gMF9tczsKLQorICAgICAgICBTZWNvbmRzIGFsbG93ZWRTdGFsZTsKKyNp
ZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCisgICAgICAg
IGlmIChhdXRvIHZhbHVlID0gcmVzcG9uc2UuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRh
dGUoKSkKKyAgICAgICAgICAgIGFsbG93ZWRTdGFsZSA9IHZhbHVlLnZhbHVlKCk7CisjZW5kaWYK
KyAgICAgICAgYm9vbCBoYXNOb25aZXJvTGlmZXRpbWUgPSAhcmVzcG9uc2UuY2FjaGVDb250cm9s
Q29udGFpbnNOb0NhY2hlKCkgJiYgKFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZv
ckhUVFBGYW1pbHkocmVzcG9uc2UsIG5vdykgPiAwX21zIHx8IGFsbG93ZWRTdGFsZSA+IDBfbXMp
OwogICAgICAgICBib29sIHBvc3NpYmx5UmV1c2FibGUgPSByZXNwb25zZS5oYXNDYWNoZVZhbGlk
YXRvckZpZWxkcygpIHx8IGhhc05vblplcm9MaWZldGltZTsKICAgICAgICAgaWYgKCFwb3NzaWJs
eVJldXNhYmxlKQogICAgICAgICAgICAgcmV0dXJuIFN0b3JlRGVjaXNpb246Ok5vRHVlVG9Vbmxp
a2VseVRvUmV1c2U7CkBAIC0yOTYsNiArMzE0LDI4IEBAIHN0YXRpYyBib29sIGlubGluZSBjYW5S
ZXF1ZXN0VXNlU3BlY3VsYXRpdmVSZXZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFM
SURBVElPTikKK3N0YXRpYyBpbmxpbmUgYm9vbCBjYW5Vc2VQZW5kaW5nUmV2YWxpZGF0aW9uKGNv
bnN0IFNwZWN1bGF0aXZlTG9hZCYgbG9hZCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiBhY3R1YWxSZXF1ZXN0KQoreworICAgIHJldHVybiByZXF1ZXN0c0hlYWRlcnNNYXRjaChsb2Fk
Lm9yaWdpbmFsUmVxdWVzdCgpLCBhY3R1YWxSZXF1ZXN0KTsKK30KKwordm9pZCBDYWNoZTo6c3Rh
cnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmIGtleSwgc3RkOjp1bmlxdWVfcHRy
PEVudHJ5PiBlbnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCkKK3sKKyAgICBhdXRv
KiBwZW5kaW5nQXN5bmNSZXZhbGlkYXRpb24gPSBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMu
Z2V0KGtleSk7CisgICAgaWYgKHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbiAmJiBjYW5Vc2VQZW5k
aW5nUmV2YWxpZGF0aW9uKHBlbmRpbmdBc3luY1JldmFsaWRhdGlvbi0+bG9hZCgpLCByZXF1ZXN0
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byByZXZhbGlkYXRvciA9IG1ha2VVbmlxdWU8
QXN5bmNSZXZhbGlkYXRpb24+KCp0aGlzLCBmcmFtZUlELCByZXF1ZXN0LCBXVEZNb3ZlKGVudHJ5
KSwgW3RoaXMsIGtleV0oYm9vbCBlbmRpbmcpIHsKKyAgICAgICAgaWYgKGVuZGluZykgeworICAg
ICAgICAgICAgbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLnRha2Uoa2V5KTsKKyAgICAgICAg
ICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIEFzeW5jIHJldmFsaWRhdGlv
biBjb21wbGV0ZWQgZm9yICclcyc6Iiwga2V5LmlkZW50aWZpZXIoKS51dGY4KCkuZGF0YSgpKTsK
KyAgICAgICAgfQorICAgIH0pOworICAgIG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9ucy5hZGQo
a2V5LCBXVEZNb3ZlKHJldmFsaWRhdG9yKSk7Cit9CisjZW5kaWYKKwogdm9pZCBDYWNoZTo6cmV0
cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9i
YWxGcmFtZUlEJiBmcmFtZUlELCBSZXRyaWV2ZUNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0luSFRUUEZh
bWlseSgpKTsKQEAgLTMzNCwxMiArMzc0LDExIEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJCiAg
ICAgfQogI2VuZGlmCiAKLSAgICBtX3N0b3JhZ2UtPnJldHJpZXZlKHN0b3JhZ2VLZXksIHByaW9y
aXR5LCBbcmVxdWVzdCwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSwgaW5mbyA9IFdURk1vdmUoaW5mbyksIHN0b3JhZ2VLZXksIG5ldHdvcmtQcm9jZXNzID0g
bWFrZVJlZihuZXR3b3JrUHJvY2VzcygpKSwgc2Vzc2lvbklEID0gbV9zZXNzaW9uSURdKGF1dG8g
cmVjb3JkLCBhdXRvIHRpbWluZ3MpIG11dGFibGUgeworICAgIG1fc3RvcmFnZS0+cmV0cmlldmUo
c3RvcmFnZUtleSwgcHJpb3JpdHksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhp
cyksIHJlcXVlc3QsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
ciksIGluZm8gPSBXVEZNb3ZlKGluZm8pLCBzdG9yYWdlS2V5LCBuZXR3b3JrUHJvY2VzcyA9IG1h
a2VSZWYobmV0d29ya1Byb2Nlc3MoKSksIHNlc3Npb25JRCA9IG1fc2Vzc2lvbklELCBmcmFtZUlE
XShhdXRvIHJlY29yZCwgYXV0byB0aW1pbmdzKSBtdXRhYmxlIHsKICAgICAgICAgaW5mby5zdG9y
YWdlVGltaW5ncyA9IHRpbWluZ3M7CiAKICAgICAgICAgaWYgKCFyZWNvcmQpIHsKICAgICAgICAg
ICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIG5vdCBmb3VuZCBpbiBzdG9y
YWdlIik7Ci0KICAgICAgICAgICAgIGNvbXBsZXRlUmV0cmlldmUoV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlciksIG51bGxwdHIsIGluZm8pOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICB9CkBAIC0zNTAsNiArMzg5LDE0IEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJCiAKICAg
ICAgICAgYXV0byB1c2VEZWNpc2lvbiA9IGVudHJ5ID8gbWFrZVVzZURlY2lzaW9uKG5ldHdvcmtQ
cm9jZXNzLCBzZXNzaW9uSUQsICplbnRyeSwgcmVxdWVzdCkgOiBVc2VEZWNpc2lvbjo6Tm9EdWVU
b0RlY29kZUZhaWx1cmU7CiAgICAgICAgIHN3aXRjaCAodXNlRGVjaXNpb24pIHsKKyAgICAgICAg
Y2FzZSBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRlOiB7CisjaWYgRU5BQkxFKE5FVFdPUktf
Q0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQorICAgICAgICAgICAgc3RkOjp1bmlxdWVf
cHRyPEVudHJ5PiBlbnRyeUNvcHkgPSBtYWtlVW5pcXVlPEVudHJ5PigqZW50cnkpOworICAgICAg
ICAgICAgZW50cnlDb3B5LT5zZXROZWVkc1ZhbGlkYXRpb24odHJ1ZSk7CisgICAgICAgICAgICBz
dGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQocmVxdWVzdCwgc3RvcmFnZUtleSwgV1RGTW92
ZShlbnRyeUNvcHkpLCBmcmFtZUlEKTsKKyNlbmRpZgorICAgICAgICAgICAgRkFMTFRIUk9VR0g7
CisgICAgICAgIH0KICAgICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6VXNlOgogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OlZhbGlkYXRlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKaW5kZXggMGRlZTdm
ODhkZmY2MTYyY2MzZmQ3ODUxYjgzODBmYzVhODNiZDVhZS4uN2UzNzdmMTQyYTJlNDY5ODJhZDdk
NzE2N2ViYWZhNjU4MjE5NDIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIE5ldHdvcmtQ
cm9jZXNzOwogCiBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAorY2xhc3MgQXN5bmNSZXZhbGlk
YXRpb247CiBjbGFzcyBDYWNoZTsKIGNsYXNzIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI7CiAKQEAg
LTgyLDYgKzgzLDcgQEAgZW51bSBjbGFzcyBTdG9yZURlY2lzaW9uIHsKIGVudW0gY2xhc3MgVXNl
RGVjaXNpb24gewogICAgIFVzZSwKICAgICBWYWxpZGF0ZSwKKyAgICBBc3luY1JldmFsaWRhdGUs
CiAgICAgTm9EdWVUb1ZhcnlpbmdIZWFkZXJNaXNtYXRjaCwKICAgICBOb0R1ZVRvTWlzc2luZ1Zh
bGlkYXRvckZpZWxkcywKICAgICBOb0R1ZVRvRGVjb2RlRmFpbHVyZSwKQEAgLTE2Nyw2ICsxNjks
OCBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZB
TElEQVRJT04pCiAgICAgU3BlY3VsYXRpdmVMb2FkTWFuYWdlciogc3BlY3VsYXRpdmVMb2FkTWFu
YWdlcigpIHsgcmV0dXJuIG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlci5nZXQoKTsgfQorCisgICAg
dm9pZCBzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmLCBzdGQ6OnVuaXF1ZV9wdHI8RW50
cnk+LCBjb25zdCBHbG9iYWxGcmFtZUlEJik7CiAjZW5kaWYKIAogICAgIE5ldHdvcmtQcm9jZXNz
JiBuZXR3b3JrUHJvY2VzcygpIHsgcmV0dXJuIG1fbmV0d29ya1Byb2Nlc3MuZ2V0KCk7IH0KQEAg
LTE5Myw2ICsxOTcsOCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNV
TEFUSVZFX1JFVkFMSURBVElPTikKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TG93UG93
ZXJNb2RlTm90aWZpZXI+IG1fbG93UG93ZXJNb2RlTm90aWZpZXI7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI+IG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlcjsKKwor
ICAgIEhhc2hNYXA8S2V5LCBzdGQ6OnVuaXF1ZV9wdHI8QXN5bmNSZXZhbGlkYXRpb24+PiBtX3Bl
bmRpbmdBc3luY1JldmFsaWRhdGlvbnM7CiAjZW5kaWYKIAogICAgIHVuc2lnbmVkIG1fdHJhdmVy
c2VDb3VudCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcAppbmRleCA2
YzcyZmFiZTcyZTM1OTQ0OGE3YzFiMjkxY2Q5MGU5NTBlNWJiZTU0Li4wMWJjODdmZmVjNzk3Zjlk
NzczYWQ1OGZkOWJiMzJjNDExZGU0MzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxv
YWQuY3BwCkBAIC0xNTUsNiArMTU1LDQzIEBAIHZvaWQgU3BlY3VsYXRpdmVMb2FkOjpkaWRDb21w
bGV0ZSgpCiAgICAgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKG1fY2FjaGVFbnRyeSkpOwog
fQogCisjaWYgIUxPR19ESVNBQkxFRAorCitzdGF0aWMgdm9pZCBkdW1wSFRUUEhlYWRlcnNEaWZm
KGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnNBLCBjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFk
ZXJzQikKK3sKKyAgICBhdXRvIGFFbmQgPSBoZWFkZXJzQS5lbmQoKTsKKyAgICBmb3IgKGF1dG8g
aXQgPSBoZWFkZXJzQS5iZWdpbigpOyBpdCAhPSBhRW5kOyArK2l0KSB7CisgICAgICAgIFN0cmlu
ZyB2YWx1ZUIgPSBoZWFkZXJzQi5nZXQoaXQtPmtleSk7CisgICAgICAgIGlmICh2YWx1ZUIuaXNO
dWxsKCkpCisgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5n
LCAiKiAnJXMnIEhUVFAgaGVhZGVyIGlzIG9ubHkgaW4gZmlyc3QgcmVxdWVzdCAodmFsdWU6ICVz
KSIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCkpOworICAg
ICAgICBlbHNlIGlmIChpdC0+dmFsdWUgIT0gdmFsdWVCKQorICAgICAgICAgICAgTE9HKE5ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBkaWZmZXJz
IGluIGJvdGggcmVxdWVzdHM6ICVzICE9ICVzIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+
dmFsdWUudXRmOCgpLmRhdGEoKSwgdmFsdWVCLnV0ZjgoKS5kYXRhKCkpOworICAgIH0KKyAgICBh
dXRvIGJFbmQgPSBoZWFkZXJzQi5lbmQoKTsKKyAgICBmb3IgKGF1dG8gaXQgPSBoZWFkZXJzQi5i
ZWdpbigpOyBpdCAhPSBiRW5kOyArK2l0KSB7CisgICAgICAgIGlmICghaGVhZGVyc0EuY29udGFp
bnMoaXQtPmtleSkpCisgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVs
b2FkaW5nLCAiKiAnJXMnIEhUVFAgaGVhZGVyIGlzIG9ubHkgaW4gc2Vjb25kIHJlcXVlc3QgKHZh
bHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgp
KTsKKyAgICB9Cit9CisKKyNlbmRpZgorCitib29sIHJlcXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KQoreworICAgIEFTU0VSVCghYWN0dWFsUmVxdWVz
dC5pc0NvbmRpdGlvbmFsKCkpOworICAgIFJlc291cmNlUmVxdWVzdCBzcGVjdWxhdGl2ZVJlcXVl
c3QgPSBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1ZXN0OworICAgIHNwZWN1bGF0aXZlUmVxdWVz
dC5tYWtlVW5jb25kaXRpb25hbCgpOworCisgICAgaWYgKHNwZWN1bGF0aXZlUmVxdWVzdC5odHRw
SGVhZGVyRmllbGRzKCkgIT0gYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpIHsKKyAg
ICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIkNhbm5vdCByZXVz
ZSBzcGVjdWxhdGl2ZWx5IHZhbGlkYXRlZCBlbnRyeSBiZWNhdXNlIEhUVFAgaGVhZGVycyB1c2Vk
IGZvciB2YWxpZGF0aW9uIGRvIG5vdCBtYXRjaCIpOworI2lmICFMT0dfRElTQUJMRUQKKyAgICAg
ICAgZHVtcEhUVFBIZWFkZXJzRGlmZihzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZpZWxk
cygpLCBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSk7CisjZW5kaWYKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgTmV0d29ya0NhY2hlCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxv
YWQuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Bl
Y3VsYXRpdmVMb2FkLmgKaW5kZXggNTQwNmQ5ZjgyMThiMzgwNWI0NjhiNjg5YzliZTJjZjhmNjM4
MDA0Zi4uZWYyMThmMzg1YWE2ZTlkMGU3NzM1NjJkOGQwZTdmNTdmODQ3NGUwZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZUxvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCkBAIC03OCw2ICs3OCw4IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2RpZENvbXBsZXRlIHsgZmFsc2UgfTsKIH07CiAKK2Jvb2wgcmVxdWVzdHNIZWFkZXJz
TWF0Y2goY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRp
b25SZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3Qp
OworCiB9IC8vIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCA2
Nzk0MDM5YjdlMTkxN2E0YWFiYWQ0ZDJkNTA4ZjczOTUzNzg2NTY3Li45ODA2ZjYyZWE3YmIwNWMw
YzNlZDcyYWFmZGU3NDNkZDVlZGFiODMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVMb2FkTWFuYWdlci5jcHAKQEAgLTI1Niw0MyArMjU2LDYgQEAgU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlcjo6flNwZWN1bGF0aXZlTG9hZE1hbmFnZXIoKQogewogfQogCi0jaWYgIUxPR19ESVNB
QkxFRAotCi1zdGF0aWMgdm9pZCBkdW1wSFRUUEhlYWRlcnNEaWZmKGNvbnN0IEhUVFBIZWFkZXJN
YXAmIGhlYWRlcnNBLCBjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQikKLXsKLSAgICBhdXRv
IGFFbmQgPSBoZWFkZXJzQS5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBoZWFkZXJzQS5iZWdp
bigpOyBpdCAhPSBhRW5kOyArK2l0KSB7Ci0gICAgICAgIFN0cmluZyB2YWx1ZUIgPSBoZWFkZXJz
Qi5nZXQoaXQtPmtleSk7Ci0gICAgICAgIGlmICh2YWx1ZUIuaXNOdWxsKCkpCi0gICAgICAgICAg
ICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKiAnJXMnIEhUVFAgaGVh
ZGVyIGlzIG9ubHkgaW4gZmlyc3QgcmVxdWVzdCAodmFsdWU6ICVzKSIsIGl0LT5rZXkudXRmOCgp
LmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICBlbHNlIGlmIChpdC0+
dmFsdWUgIT0gdmFsdWVCKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZl
UHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBkaWZmZXJzIGluIGJvdGggcmVxdWVzdHM6
ICVzICE9ICVzIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEo
KSwgdmFsdWVCLnV0ZjgoKS5kYXRhKCkpOwotICAgIH0KLSAgICBhdXRvIGJFbmQgPSBoZWFkZXJz
Qi5lbmQoKTsKLSAgICBmb3IgKGF1dG8gaXQgPSBoZWFkZXJzQi5iZWdpbigpOyBpdCAhPSBiRW5k
OyArK2l0KSB7Ci0gICAgICAgIGlmICghaGVhZGVyc0EuY29udGFpbnMoaXQtPmtleSkpCi0gICAg
ICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKiAnJXMnIEhU
VFAgaGVhZGVyIGlzIG9ubHkgaW4gc2Vjb25kIHJlcXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5
LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKLSAgICB9Ci19Ci0KLSNl
bmRpZgotCi1zdGF0aWMgYm9vbCByZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgYWN0dWFsUmVxdWVzdCkKLXsKLSAgICBBU1NFUlQoIWFjdHVhbFJlcXVlc3QuaXNDb25kaXRp
b25hbCgpKTsKLSAgICBSZXNvdXJjZVJlcXVlc3Qgc3BlY3VsYXRpdmVSZXF1ZXN0ID0gc3BlY3Vs
YXRpdmVWYWxpZGF0aW9uUmVxdWVzdDsKLSAgICBzcGVjdWxhdGl2ZVJlcXVlc3QubWFrZVVuY29u
ZGl0aW9uYWwoKTsKLQotICAgIGlmIChzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZpZWxk
cygpICE9IGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKSB7Ci0gICAgICAgIExPRyhO
ZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICJDYW5ub3QgcmV1c2Ugc3BlY3VsYXRp
dmVseSB2YWxpZGF0ZWQgZW50cnkgYmVjYXVzZSBIVFRQIGhlYWRlcnMgdXNlZCBmb3IgdmFsaWRh
dGlvbiBkbyBub3QgbWF0Y2giKTsKLSNpZiAhTE9HX0RJU0FCTEVECi0gICAgICAgIGR1bXBIVFRQ
SGVhZGVyc0RpZmYoc3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSwgYWN0dWFs
UmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOwotI2VuZGlmCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIGJvb2wgU3BlY3VsYXRpdmVMb2FkTWFu
YWdlcjo6Y2FuVXNlUHJlbG9hZGVkRW50cnkoY29uc3QgUHJlbG9hZGVkRW50cnkmIGVudHJ5LCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCiB7CiAgICAgaWYgKCFlbnRyeS53
YXNSZXZhbGlkYXRlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggZDJhMzFjYzBlNGUyN2IzYzg1MmI5ZTRl
NTlmM2IwY2JlNjExOWJjMy4uN2QyYmFmZWIzNTBiNDU2NTg3NzE5YTNjYjY3NzEyNTcwN2IyYThk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXMudHh0CkBAIC03Nyw2ICs3Nyw3IEBAIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0Nh
Y2hlU3RvcmFnZUVuZ2luZS5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVu
Z2luZUNhY2hlLmNwcAogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2Fj
aGVzLmNwcAogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlv
bi5jcHAKK05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcAogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlQmxvYlN0b3JhZ2UuY3BwCiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVDb2RlcnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S0NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNw
cAppbmRleCBmYWY4YTUyOGVhMjMwOWFiZmFlMTc3YmRlZWFiMjdjNWQ1ZjA3MzI5Li42NWRiY2Yy
ZWQ1YjRiMWY3ZWE4OTU5M2U0MThhYjQzY2JiNTQ1MjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKQEAgLTY3MiwzICs2NzIsOSBAQCB2b2lkIFdLQ29u
dGV4dFNldFVzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3MoV0tDb250ZXh0UmVmIGNvbnRl
eHRSZWYsIGJvb2wgdQogewogICAgIFdlYktpdDo6dG9JbXBsKGNvbnRleHRSZWYpLT5zZXRVc2VT
ZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKHVzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nl
c3MpOwogfQorCit2b2lkIFdLQ29udGV4dFNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZChX
S0NvbnRleHRSZWYgY29udGV4dFJlZiwgYm9vbCBlbmFibGVkKQoreworICAgIFdlYktpdDo6dG9J
bXBsKGNvbnRleHRSZWYpLT5zZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoZW5hYmxlZCk7
Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4
dC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmgKaW5kZXggNzI4
NzM1NTg1YjZkOGQ0MzE4ZDZjZDI2YmU1M2JjMjYxZGVhN2RlOS4uY2Q5ZTgxNTQ3MThlMTRmMTZj
NmFmNzNmOWExODkxM2RmNzMzNzU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0LmgKQEAgLTEzOSw2ICsxMzksOCBAQCBXS19FWFBPUlQgYm9vbCBXS0NvbnRleHRH
ZXRVc2VzU2luZ2xlV2ViUHJvY2VzcyhXS0NvbnRleHRSZWYpOwogCiBXS19FWFBPUlQgdm9pZCBX
S0NvbnRleHRTZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZChXS0NvbnRleHRSZWYsIGJvb2wgZW5h
YmxlZCk7CiAKK1dLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldFN0YWxlV2hpbGVSZXZhbGlkYXRl
RW5hYmxlZChXS0NvbnRleHRSZWYsIGJvb2wgZW5hYmxlZCk7CisKIFdLX0VYUE9SVCB2b2lkIFdL
Q29udGV4dFN0YXJ0TWVtb3J5U2FtcGxlcihXS0NvbnRleHRSZWYgY29udGV4dCwgV0tEb3VibGVS
ZWYgaW50ZXJ2YWwpOwogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U3RvcE1lbW9yeVNhbXBsZXIo
V0tDb250ZXh0UmVmIGNvbnRleHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAKaW5kZXggZDU1YWM0OGU2MzZhZjhjNjdhZmM3ZjRmMWNiM2FkN2EzMzUwZGJh
NS4uOTM0YTg1NTM0MDFmYjlhZjRlZGJmMzkzZTgxYzhmZTNhOTYzZWE1ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMzk0LDYgKzM5NCwxMSBAQCB2
b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZChib29sIGVuYWJs
ZWQpCiAjZW5kaWYKIH0KIAordm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0U3RhbGVXaGlsZVJldmFs
aWRhdGVFbmFibGVkKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBzZW5kVG9OZXR3b3JraW5nUHJvY2Vz
cyhNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxl
ZChlbmFibGVkKSk7Cit9CisKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldEN1c3RvbVdlYkNvbnRl
bnRTZXJ2aWNlQnVuZGxlSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGN1c3RvbVdlYkNvbnRlbnRT
ZXJ2aWNlQnVuZGxlSWRlbnRpZmllcikKIHsKICAgICAvLyBHdWFyZCBhZ2FpbnN0IEFQSSBtaXN1
c2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCAwNGNjYzk2
YjljZWI1ODhjNDQ4MGU0Y2Y0Y2I3NzVjZTQ3M2IzZWMzLi4xNjRhZDBlYjgxODkzMzljYzAxNTM1
YmE1ZGZiMzA2MTNkN2NjOTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmgKQEAgLTQ2OCw2ICs0NjgsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdG9yYWdlQWNjZXNz
QVBJRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQ7IH0K
ICAgICB2b2lkIHNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkKGJvb2wpOwogCisgICAgdm9pZCBz
ZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoYm9vbCk7CisKICAgICBzdGF0aWMgdWludDY0
X3QgcmVnaXN0ZXJQcm9jZXNzUG9vbENyZWF0aW9uTGlzdGVuZXIoRnVuY3Rpb248dm9pZChXZWJQ
cm9jZXNzUG9vbCYpPiYmKTsKICAgICBzdGF0aWMgdm9pZCB1bnJlZ2lzdGVyUHJvY2Vzc1Bvb2xD
cmVhdGlvbkxpc3RlbmVyKHVpbnQ2NF90IGlkZW50aWZpZXIpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyYmJkZTljMjBjZGJkNzc2
ZTY0ZTc2NTI5ODJkNTI1MDdlMWIxMDMxLi4yNjExZWQxZTFhYmY2MmY2YTE0OGUwMzY0MWExMGEx
YWQ2MzM3OWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTEzODUsNiArMTM4NSw3IEBACiAJCUE3OENDRERDMTkzQUM5RkIwMDVFQ0My
NSAvKiBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IgaW4gQ29weUZpbGVzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OENDREQ5MTkzQUM5RTMwMDVFQ0MyNSAvKiBj
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IgKi87IH07CiAJCUE3RDc5MkQ4MTc2N0NDQTMw
MDg4MUNCRSAvKiBBY3Rpdml0eUFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTdENzkyRDQxNzY3Q0IwOTAwODgxQ0JFIC8qIEFjdGl2aXR5
QXNzZXJ0aW9uLmggKi87IH07CiAJCUFBQjE0NUU2MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVmZXRj
aENhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
QUIxNDVFNDIyM0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5oICovOyB9OworCQlBQUZB
NjM0RjIzNEY3QzY0MDBGRkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBRkE2MzRFMjM0RjdDNjMwMEZGQTg2
NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oICovOyB9OwogCQlCNjJFNzMxMjE0MzA0N0IwMDA2OUVD
MzUgLyogV0tIaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCNjJFNzMxMTE0MzA0N0IwMDA2OUVDMzUgLyogV0tIaXRUZXN0UmVzdWx0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjg3
OEI2MTUxMzM0MjhEQzAwNjg4OEU5IC8qIENvcnJlY3Rpb25QYW5lbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjg3OEI2MTMxMzM0MjhEQzAwNjg4OEU5
IC8qIENvcnJlY3Rpb25QYW5lbC5oICovOyB9OwogCQlCQzAxN0QwNzE2MjYwRkY0MDA3MDU0RjUg
LyogV0tET01Eb2N1bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkMwMTdDRkYxNjI2MEZGNDAwNzA1NEY1IC8qIFdLRE9NRG9jdW1lbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNDE1MCw2ICs0
MTUxLDggQEAKIAkJQTdFOTNDRUIxOTI1MzFBQTAwQTFEQzQ4IC8qIEF1eGlsaWFyeVByb2Nlc3NJ
T1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBBdXhpbGlhcnlQ
cm9jZXNzSU9TLm1tOyBwYXRoID0gaW9zL0F1eGlsaWFyeVByb2Nlc3NJT1MubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBQjE0NUU0MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVmZXRj
aENhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByZWZldGNoQ2FjaGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFCMTQ1RTUyMjNGOTMxMjAwRTQ4OUQ4
IC8qIFByZWZldGNoQ2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUHJlZmV0Y2hDYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRkE2
MzRFMjM0RjdDNjMwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBc3luY1JldmFsaWRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBQUZBNjM1MDIzNEY3QzczMDBGRkE4NjQgLyogQXN5bmNSZXZhbGlkYXRp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXN5bmNSZXZhbGlkYXRpb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCMzk2RUE1NTEyRTBFRDJEMDBGNEZFQjcgLyogY29uZmln
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvbmZpZy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCNjJFNzMwRjE0MzA0N0E2MDA2OUVDMzUgLyogV0tIaXRUZXN0
UmVzdWx0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLSGl0VGVz
dFJlc3VsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2MkU3MzExMTQzMDQ3
QjAwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0tIaXRUZXN0UmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC05MTc3LDYgKzkxODAsOCBAQAogCQlFNDg5RDI4MjFBMEEyQkU4MDA3OEMwNkEgLyogY2FjaGUg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUFBRkE2MzUw
MjM0RjdDNzMwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5jcHAgKi8sCisJCQkJQUFGQTYz
NEUyMzRGN0M2MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggKi8sCiAJCQkJNDE4OTdF
RDYxRjQxNUQ4NjAwMTZGQTQyIC8qIENhY2hlU3RvcmFnZUVuZ2luZS5jcHAgKi8sCiAJCQkJNDE4
OTdFRDIxRjQxNUQ4NTAwMTZGQTQyIC8qIENhY2hlU3RvcmFnZUVuZ2luZS5oICovLAogCQkJCTQx
Qzg1ODE5MUY1MTBERUUwMDY1RTA4NSAvKiBDYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAgKi8s
CkBAIC05NDE5LDYgKzk0MjQsNyBAQAogCQkJCUExNzVDNDRBMjFBQTMxNzEwMDAwMzdEMCAvKiBB
cmd1bWVudENvZGVyc0NvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTFBMEJEMjFBNDhFNkM2
MDA1NEVGNzQgLyogQXNzZXJ0aW9uU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
NUU3NzI4MTgzREQ2RjYwMDA3MjAzRiAvKiBBc3luY1JlcXVlc3QuaCBpbiBIZWFkZXJzICovLAor
CQkJCUFBRkE2MzRGMjM0RjdDNjQwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkNFRTk2NkQxMTJGQUY1NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUUxQTMxNzMyMTM0Q0VBNkMwMDdDOUE0RiAvKiBBdHRyaWJ1dGVk
U3RyaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNTg5NzEyQTg4Mzg4MDA2Mjk1MzAgLyog
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTNmZWUyZWRiNzIwN2Rj
NjJjODZiMWIzNGU2YmJmNzU4ZjdjNjhkMy4uZGY3MWJiNmU4NzFmZDUxODI5ZTQyMzBiYTgwZmU5
YjdlZDZmYjNhYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTEwLTI0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxp
YS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0
cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYSB0ZXN0UnVubmVyIG1ldGhvZCB0byBlbmFibGUgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZQor
ICAgICAgICBpbiB0aGUgTmV0d29yayBwcm9jZXNzLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbDoKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAo
V1RSOjpUZXN0UnVubmVyOjpzZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQpOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpU
ZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1
bmRsZSk6CisKIDIwMTktMTAtMjQgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtDb2NvYV0gTWFrZSBpdCBwb3NzaWJsZSB0byBjb252ZXJ0IFNoYXJlZEJ1ZmZlciBz
ZWdtZW50cyBhbmQgZGF0YSB2aWV3cyB0byBOU0RhdGEgd2l0aG91dCBjb3B5aW5nCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RS
dW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9UZXN0UnVubmVyLmlkbAppbmRleCBmYWVmMGEwM2ZjNGIwNTg5ZTc0M2M2OTNlNDQyNzM4NDM2
NzA0NjcwLi5jNTBmNDI1ODg4YTI1MzQ2ZjNmZTNiMmM4MGYxODliZWM1MDMwY2ZiIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RS
dW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTM1Miw2ICszNTIsOCBAQCBpbnRlcmZhY2UgVGVzdFJ1
bm5lciB7CiAgICAgdm9pZCBzZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZChib29sZWFuIGVuYWJs
ZWQpOwogICAgIHZvaWQgZ2V0QWxsU3RvcmFnZUFjY2Vzc0VudHJpZXMob2JqZWN0IGNhbGxiYWNr
KTsKIAorICAgIHZvaWQgc2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKGJvb2xlYW4gZW5h
YmxlZCk7CisKICAgICAvLyBPcGVuIHBhbmVsCiAgICAgdm9pZCBzZXRPcGVuUGFuZWxGaWxlcyhv
YmplY3QgZmlsZXNBcnJheSk7CiAgICAgdm9pZCBzZXRPcGVuUGFuZWxGaWxlc01lZGlhSWNvbihv
YmplY3QgbWVkaWFJY29uKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGNlMzIxMzc1NmM5ZjA1MGM5NmE2ODNiYzUx
OWE0Zjk0YTQzMmZjNGUuLjFiZTBhOGFjYjlkOTRlOGNlZmFlMGRjNzQyZjI2MjhjMzcwNzJhMGUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmNwcApAQCAtMjI5MSw2ICsyMjkxLDE1IEBAIHZvaWQgVGVzdFJ1bm5lcjo6Z2V0QWxs
U3RvcmFnZUFjY2Vzc0VudHJpZXMoSlNWYWx1ZVJlZiBjYWxsYmFjaykKICAgICBXS0J1bmRsZVBv
c3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgp
LCBtZXNzYWdlTmFtZS5nZXQoKSwgbnVsbHB0ciwgbnVsbHB0cik7CiB9CiAKK3ZvaWQgVGVzdFJ1
bm5lcjo6c2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKGJvb2wgZW5hYmxlZCkKK3sKKyAg
ICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQiKSk7
CisKKyAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IG1lc3NhZ2VCb2R5ID0gYWRvcHRXSyhX
S0Jvb2xlYW5DcmVhdGUoZW5hYmxlZCkpOworCisgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNN
ZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUu
Z2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKK30KKwogdm9pZCBUZXN0UnVubmVy
OjpjYWxsRGlkUmVjZWl2ZUFsbFN0b3JhZ2VBY2Nlc3NFbnRyaWVzQ2FsbGJhY2soVmVjdG9yPFN0
cmluZz4mIGRvbWFpbnMpCiB7CiAgICAgV0tCdW5kbGVGcmFtZVJlZiBtYWluRnJhbWUgPSBXS0J1
bmRsZVBhZ2VHZXRNYWluRnJhbWUoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLnBhZ2UoKS0+
cGFnZSgpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmgKaW5kZXggZTAzOTRlNjU4OGUzOWZkMzVmODdiNWI3MzJjNTc2YWMxMmZmZDVi
ZS4uMjIwNWY2YmM1YjZlZGZjNDcwM2RiMjY4NDA4ZTJmOTFkMWFmYTY2MyAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAgLTQ1
OCw2ICs0NTgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXRBbGxTdG9yYWdlQWNjZXNzRW50cmll
cyhKU1ZhbHVlUmVmIGNhbGxiYWNrKTsKICAgICB2b2lkIGNhbGxEaWRSZWNlaXZlQWxsU3RvcmFn
ZUFjY2Vzc0VudHJpZXNDYWxsYmFjayhWZWN0b3I8U3RyaW5nPiYgZG9tYWlucyk7CiAKKyAgICB2
b2lkIHNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZChib29sKTsKKwogICAgIC8vIE9wZW4g
cGFuZWwKICAgICB2b2lkIHNldE9wZW5QYW5lbEZpbGVzKEpTVmFsdWVSZWYpOwogICAgIHZvaWQg
c2V0T3BlblBhbmVsRmlsZXNNZWRpYUljb24oSlNWYWx1ZVJlZik7CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uY3BwCmluZGV4IDNjNjI2OWM0OTA2NGRhM2Q4OWY3NTlhZDM2
ZThlMWM0NTFkYjI0NTIuLmVjZjQ3NTdhNTA1NGZhY2RiOTAwOTljNjdiOGM2ODVkYjQ3ZTIxYzkg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC05MjEsNiAr
OTIxLDEyIEBAIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4gVGVzdEludm9jYXRpb246OmRpZFJlY2Vp
dmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIH0KIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VO
YW1lLCAiU2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkIikpIHsKKyAgICAgICAgV0tCb29s
ZWFuUmVmIGFjY2VwdCA9IHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4obWVzc2FnZUJvZHkpOwor
ICAgICAgICBXS0NvbnRleHRTZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoVGVzdENvbnRy
b2xsZXI6OnNpbmdsZXRvbigpLmNvbnRleHQoKSwgV0tCb29sZWFuR2V0VmFsdWUoYWNjZXB0KSk7
CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwogICAgIGlmIChXS1N0cmluZ0lzRXF1
YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGUi
KSkgewogICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0QWxsb3dzQW55U1NM
Q2VydGlmaWNhdGUoV0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPiht
ZXNzYWdlQm9keSkpKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzgzNTBjMzk2
NGJhNzNmNGUxN2Y4NDE3Zjg2ZmQzNDM4YjAyYmIyNC4uNDlmZDVkYzY4MDhkMTY2Y2E5MDEzZjIw
YzBkM2U2MmYyOWMwODg0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTEwLTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTa2lwIG5ld2x5IGltcG9ydGVkIHRlc3RzIGZvciBXSzEuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE5LTEwLTI0ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRmV0Y2hSZXNwb25zZSBzaG91bGQgbm90
IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKaW5kZXggMzZiZWNmMTE3MDc0ZjE1MTE0NTMyMzcyZDMxZGYxOGYzMTM3ZDc4
YS4uZjdkNjMzYzBhNzAwOWYzMDRkZWZlMjRlYjQwNDBiYTAzMTNlZGJlNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMTAtMjQgIFJvYiBCdWlz
ICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFs
aWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIFdQVCB0ZXN0cy4KKwor
ICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L2ZldGNoLXN3Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1jc3MucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0
YWxlLWltYWdlLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1z
Y3JpcHQucHk6IEFkZGVkLgorICAgICAgICAoaWRfdG9rZW4pOgorICAgICAgICAobWFpbik6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
cmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJj
ZXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jLmJyb2FkY2FzdCk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5s
b2c6IEFkZGVkLgorCiAyMDE5LTEwLTI0ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVhNTCB1cmwgc2hvdWxkIGJlIHRo
ZSBIVFRQIHJlc3BvbnNlIFVSTApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCBmOTIxYjMzY2Q2
ODY4ODA1OTk1MDQxY2U1ZGM0OWQwNGZhOWNmMTdjLi40Y2IxNTMzN2MwOWIwODYxZGZjNWIyOTA4
YWQ3ZGY0NDQ0NjQ2ZjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVz
b3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMTY2LDYgKzE2Niw3
IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkiOiAiaW1wb3J0IiwgCiAgICAg
IndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycyI6ICJpbXBvcnQiLCAKICAgICAid2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3JhbmdlIjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSI6ICJpbXBvcnQiLCAKICAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL2Z1bGxzY3JlZW4iOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvZ2FtZXBhZCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9nZW5l
cmljLXNlbnNvciI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40NmJmMjZmNGFiMTFjNzc3YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmJmMjZm
NGFiMTFjNzc3YWRmMjQ4YWEzN2FjMGM3NzI4MjM3MDcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9m
ZXRjaC1zdy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZWFiMDc2M2ZjNjVhZTA1MGEzYmM5OTBi
OTBjZjVjMzJmOWE1OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gt
c3cuaHR0cHMuaHRtbApAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPlN0YWxlIFJldmFsaWRh
dGlvbiBSZXF1ZXN0cyBkb24ndCBnZXQgc2VudCB0byBzZXJ2aWNlIHdvcmtlcjwvdGl0bGU+Cisg
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICA8
c2NyaXB0IHNyYz0iLi4vLi4vc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9jb21tb24v
dXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICBpZiAoInRl
c3RSdW5uZXIiIGluIHdpbmRvdykKKyAgICB0ZXN0UnVubmVyLnNldFN0YWxlV2hpbGVSZXZhbGlk
YXRlRW5hYmxlZCh0cnVlKTsKKworICAvLyBEdXBsaWNhdGluZyB0aGlzIHJlc291cmNlIHRvIG1h
a2Ugc2VydmljZSB3b3JrZXIgc2NvcGluZyBzaW1wbGVyLgorICBhc3luYyBmdW5jdGlvbiBzZXR1
cFJlZ2lzdHJhdGlvbkFuZFdhaXRUb0JlQ29udHJvbGxlZCh0LCBzY29wZSkgeworICAgIGNvbnN0
IGNvbnRyb2xsZWQgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIub25jb250cm9sbGVyY2hhbmdlID0gKCkgPT4geyByZXNvbHZlKCk7IH07
CisgICAgfSk7CisgICAgY29uc3QgcmVnID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIu
cmVnaXN0ZXIoJ3N3LWludGVyY2VwdC5qcycpOworICAgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQs
IHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisgICAgYXdhaXQgY29udHJvbGxlZDsKKyAg
ICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhfID0+IHJlZy51bnJlZ2lzdGVyKCkpOworICAgIHJl
dHVybiByZWc7CisgIH0KKworICAvLyBVc2luZyAyNTBtcyBwb2xsaW5nIGludGVydmFsIHRvIHBy
b3ZpZGUgZW5vdWdoICduZXR3b3JrIGNhbG1uZXNzJyB0byBnaXZlCisgIC8vIHRoZSBiYWNrZ3Jv
dW5kIGxvdyBwcmlvcml0eSByZXZhbGlkYXRpb24gcmVxdWVzdCBhIGNoYW5jZSB0byBraWNrIGlu
LgorICBmdW5jdGlvbiB3YWl0MjUwbXModGVzdCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgICAgcmVz
b2x2ZSgpOworICAgICAgfSwgMjUwKTsKKyAgICB9KTsKKyAgfQorCisgIHByb21pc2VfdGVzdChh
c3luYyAodGVzdCkgPT4geworICAgIHZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKyAgICBj
b25zdCB1cmkgPSAncmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0nICsgcmVxdWVzdF90
b2tlbjsKKworICAgIGF3YWl0IHNldHVwUmVnaXN0cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVk
KHRlc3QsICdyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5Jyk7CisKKyAgICB2YXIgc2VydmljZV93
b3JrZXJfY291bnQgPSAwOworICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlz
dGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbiBvbmNlKGV2ZW50KSB7CisgICAgICBpZiAoZXZlbnQu
ZGF0YS5lbmRzV2l0aCh1cmkpKSB7CisgICAgICAgIHNlcnZpY2Vfd29ya2VyX2NvdW50Kys7Cisg
ICAgICB9CisgICAgfSk7CisKKyAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVyaSk7
CisgICAgY29uc3QgcmVzcG9uc2UyID0gYXdhaXQgZmV0Y2godXJpKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSwgcmVzcG9uc2UyLmhlYWRlcnMu
Z2V0KCdVbmlxdWUtSWQnKSk7CisgICAgd2hpbGUodHJ1ZSkgeworICAgICAgY29uc3QgcmV2YWxp
ZGF0aW9uX2NoZWNrID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVl
cnkmdG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworICAgICAgaWYgKHJldmFsaWRhdGlvbl9jaGVj
ay5oZWFkZXJzLmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAgICAgICAgLy8gVGhlIHNlcnZpY2Ug
d29ya2VyIHNob3VsZCBub3Qgc2VlIHRoZSByZXZhbGlkYXRpb24gcmVxdWVzdC4KKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhzZXJ2aWNlX3dvcmtlcl9jb3VudCwgMik7CisgICAgICAgIGJyZWFrOwor
ICAgICAgfQorICAgICAgYXdhaXQgd2FpdDI1MG1zKHRlc3QpOworICAgIH0KKyAgfSwgJ1NlY29u
ZCBmZXRjaCByZXR1cm5zIHNhbWUgcmVzcG9uc2UnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9mZXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmZTlhNjQ1YmM1OWVmNzBmZmE4MWMyZGRl
YzMwYjNhMDQ2MzA2YzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gu
aHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIGlzIG5vdCBleGVjdXRl
ZCBmb3IgZmV0Y2ggQVBJPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CitpZiAoInRlc3RSdW5uZXIiIGluIHdpbmRvdykKKyAgdGVzdFJ1bm5lci5z
ZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQodHJ1ZSk7CisKK2Z1bmN0aW9uIHdhaXQyNW1z
KHRlc3QpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHRlc3Quc3Rl
cF90aW1lb3V0KCgpID0+IHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9LCAyNSk7CisgIH0pOwor
fQorCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgdmFyIHJlcXVlc3RfdG9rZW4g
PSB0b2tlbigpOworCisgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9z
dGFsZS1zY3JpcHQucHk/dG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworICBjb25zdCByZXNwb25z
ZTIgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj1gICsgcmVx
dWVzdF90b2tlbik7CisKKyAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZS5oZWFkZXJzLmdldCgnVW5p
cXVlLUlkJyksIHJlc3BvbnNlMi5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJykpOworCisgIHdoaWxl
KHRydWUpIHsKKyAgICBjb25zdCByZXZhbGlkYXRpb25fY2hlY2sgPSBhd2FpdCBmZXRjaChgcmVz
b3VyY2VzL3N0YWxlLXNjcmlwdC5weT9xdWVyeSZ0b2tlbj1gICsgcmVxdWVzdF90b2tlbik7Cisg
ICAgaWYgKHJldmFsaWRhdGlvbl9jaGVjay5oZWFkZXJzLmdldCgnQ291bnQnKSA9PSAnMicpIHsK
KyAgICAgIGJyZWFrOworICAgIH0KKyAgICBhd2FpdCB3YWl0MjVtcyh0ZXN0KTsKKyAgfQorfSwg
J1NlY29uZCBmZXRjaCByZXR1cm5zIHNhbWUgcmVzcG9uc2UnKTsKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmFlNTQ2ZDA2NTFmOTdm
MzAyMDgyOTQ1MmRiNjIyNTQ4NmRjNDUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkKQEAgLTAsMCArMSwyOCBAQAorZGVmIG1haW4ocmVx
dWVzdCwgcmVzcG9uc2UpOgorCisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4i
LCBOb25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkg
IT0gTm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVl
ID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAg
ICAgaWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAgY291bnQgPSBpbnQodmFsdWUpCisgICAgICBp
ZiBpc19xdWVyeToKKyAgICAgICAgaWYgY291bnQgPCAyOgorICAgICAgICAgIHJlcXVlc3Quc2Vy
dmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgICBlbHNlOgorICAgICAgICBjb3VudCA9
IGNvdW50ICsgMQorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50
KQorICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQor
ICAgICAgY29udGVudCA9ICIiCisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50Cisg
ICAgZWxzZToKKyAgICAgIGNvbnRlbnQgPSAiYm9keSB7IGJhY2tncm91bmQ6IHJnYigwLCAxMjgs
IDApOyB9IgorICAgICAgaWYgY291bnQgPiAxOgorICAgICAgICBjb250ZW50ID0gImJvZHkgeyBi
YWNrZ3JvdW5kOiByZ2IoMjU1LCAwLCAwKTsgfSIKKworICAgICAgaGVhZGVycyA9IFsoIkNvbnRl
bnQtVHlwZSIsICJ0ZXh0L2NzcyIpLAorICAgICAgICAgICAgICAgKCJDYWNoZS1Db250cm9sIiwg
InByaXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIpXQorCisgICAg
ICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9z
dGFsZS1pbWFnZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzllYjg0YmIzNGJiZDE1ZTJjYTcwNjFlZTRmYTU3
MjRkMmM2NGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9z
dGFsZS1pbWFnZS5weQpAQCAtMCwwICsxLDM4IEBACitpbXBvcnQgb3MucGF0aAorCitkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6CisKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0
b2tlbiIsIE5vbmUpCisgICAgaXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBO
b25lKSAhPSBOb25lCisgICAgd2l0aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAg
dmFsdWUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAw
CisgICAgICBpZiB2YWx1ZSAhPSBOb25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAg
ICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVz
dC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNv
dW50ID0gY291bnQgKyAxCisgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwg
Y291bnQpCisKKyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNv
dW50KV0KKyAgICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29u
dGVudAorICAgIGVsc2U6CisgICAgICBmaWxlbmFtZSA9ICJncmVlbi0xNngxNi5wbmciCisgICAg
ICBpZiBjb3VudCA+IDE6CisgICAgICAgIGZpbGVuYW1lID0gImdyZWVuLTI1NngyNTYucG5nIgor
CisgICAgICBwYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIu
Li8uLi8uLi9pbWFnZXMiLCBmaWxlbmFtZSkKKyAgICAgIGJvZHkgPSBvcGVuKHBhdGgsICJyYiIp
LnJlYWQoKQorCisgICAgICByZXNwb25zZS5hZGRfcmVxdWlyZWRfaGVhZGVycyA9IEZhbHNlCisg
ICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfc3RhdHVzKDIwMCkKKyAgICAgIHJlc3BvbnNlLndy
aXRlci53cml0ZV9oZWFkZXIoImNvbnRlbnQtbGVuZ3RoIiwgbGVuKGJvZHkpKQorICAgICAgcmVz
cG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgt
YWdlPTAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAiKQorICAgICAgcmVzcG9uc2Uud3JpdGVy
LndyaXRlX2hlYWRlcigiY29udGVudC10eXBlIiwgImltYWdlL3BuZyIpCisgICAgICByZXNwb25z
ZS53cml0ZXIuZW5kX2hlYWRlcnMoKQorCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoYm9k
eSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGFkNTQ2NzFmNDIxMTczNWY1NmRmNTBhNTVkZWVhNmVkMjgxZDVhMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5CkBAIC0wLDAgKzEs
MzIgQEAKK2ltcG9ydCByYW5kb20sIHN0cmluZywgZGF0ZXRpbWUKKworZGVmIGlkX3Rva2VuKCk6
CisgICBsZXR0ZXJzID0gc3RyaW5nLmFzY2lpX2xvd2VyY2FzZQorICAgcmV0dXJuICcnLmpvaW4o
cmFuZG9tLmNob2ljZShsZXR0ZXJzKSBmb3IgaSBpbiByYW5nZSgyMCkpCisKK2RlZiBtYWluKHJl
cXVlc3QsIHJlc3BvbnNlKToKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIs
IE5vbmUpCisgICAgaXNfcXVlcnkgPSByZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAh
PSBOb25lCisgICAgd2l0aCByZXF1ZXN0LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUg
PSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAg
ICBpZiB2YWx1ZSAhPSBOb25lOgorICAgICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlm
IGlzX3F1ZXJ5OgorICAgICAgICBpZiBjb3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2
ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0g
Y291bnQgKyAxCisgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQp
CisKKyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0K
KyAgICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAor
ICAgIGVsc2U6CisgICAgICB1bmlxdWVfaWQgPSBpZF90b2tlbigpCisgICAgICBoZWFkZXJzID0g
WygiQ29udGVudC1UeXBlIiwgInRleHQvamF2YXNjcmlwdCIpLAorICAgICAgICAgICAgICAgICAo
IkNhY2hlLUNvbnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlk
YXRlPTYwIiksCisgICAgICAgICAgICAgICAgICgiVW5pcXVlLUlkIiwgdW5pcXVlX2lkKV0KKyAg
ICAgIGNvbnRlbnQgPSAicmVwb3J0KCd7fScpIi5mb3JtYXQodW5pcXVlX2lkKQorICAgICAgcmV0
dXJuIDIwMCwgaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jl
c291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWlt
cG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzVhNzczMmE1NjZkNGE2ZjU3M2NjOTdmZDNkMTQ1NDY1N2Q0
NzY4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWlt
cG9ydC5sb2cKQEAgLTAsMCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25l
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1jc3MucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdl
LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLWNzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1
Nzg3ZWFmMDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJl
dHVybnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1jc3MuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
ZTFmNDhlYWFkNDk1MDQwNmY5YTNhZDQyODY4N2Q1NTE2OTdiYzhjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9D
VFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdo
aWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIGNzczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAoInRlc3RSdW5uZXIiIGluIHdp
bmRvdykKKyAgdGVzdFJ1bm5lci5zZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQodHJ1ZSk7
CisKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdp
bmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkg
PT4geworICAgICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyksICJyZ2IoMCwgMTI4
LCAwKSIpOworICAgICAgdmFyIGxpbmsyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIp
OworICAgICAgbGluazIub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICBhc3Nl
cnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3Bl
cnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSwgInJnYigwLCAxMjgsIDApIik7CisgICAgICAg
IHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ug
d2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAg
ICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLWNzcy5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90
b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBj
b3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNv
dW50ID09ICcyJykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGlt
ZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBsaW5rMi5yZWwgPSAic3R5
bGVzaGVldCI7CisgICAgICBsaW5rMi50eXBlID0gInRleHQvY3NzIjsKKyAgICAgIGxpbmsyLmhy
ZWYgPSAicmVzb3VyY2VzL3N0YWxlLWNzcy5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluazIpOworICAgIH0sIDApOworICB9KTsK
K30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlJyk7CisKK3ZhciBsaW5rID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgibGluayIpOworbGluay5yZWwgPSAic3R5bGVzaGVldCI7CitsaW5r
LnR5cGUgPSAidGV4dC9jc3MiOworbGluay5ocmVmID0gInJlc291cmNlcy9zdGFsZS1jc3MucHk/
dG9rZW49IiArIHJlcXVlc3RfdG9rZW47Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmsp
OworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUt
aW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZTQyMDE0ZGVmZDcxOTEwOTZjMzNjY2U1ODMwZWY3Y2FhMWE1N2E2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDQgQEAKKyAKKworUEFTUyBDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291
cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0NmY2ZGQ0MTMxM2Mw
MDViNDQ0NWZlNzBmZjQ3ZmUzMmJmNDBiYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtaW1hZ2UuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlk
YXRlIHdvcmtzIGZvciBpbWFnZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwv
c2NyaXB0PgorPGJvZHk+Cis8IS0tCitVc2UgYSBjaGlsZCBkb2N1bWVudCB0byBsb2FkIHRoZSBz
ZWNvbmQgc3RhbGUgaW1hZ2UgaW50byBiZWNhdXNlCithbiBpbWFnZSBsb2FkZWQgaW50byB0aGUg
c2FtZSBkb2N1bWVudCB3aWxsIHNraXAgY2FjaGUtY29udHJvbCBoZWFkZXJzLgorU2VlOiBodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbGlzdC1vZi1hdmFpbGFibGUtaW1hZ2VzCist
LT4KKzxpZnJhbWUgaWQ9ImNoaWxkIiBzcmNkb2M9IiI+PC9pZnJhbWU+Cis8c2NyaXB0PgoraWYg
KCJ0ZXN0UnVubmVyIiBpbiB3aW5kb3cpCisgIHRlc3RSdW5uZXIuc2V0U3RhbGVXaGlsZVJldmFs
aWRhdGVFbmFibGVkKHRydWUpOworCit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7Cithc3lu
Y190ZXN0KHQgPT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAg
IHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImZpcnN0aW1hZ2UiKS53aWR0aCwgMTYsICJXaWR0aCBpcyAxNiIpOworICAg
ICAgdmFyIGNoaWxkRG9jdW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hpbGQnKS5j
b250ZW50RG9jdW1lbnQ7CisgICAgICB2YXIgaW1nMiA9IGNoaWxkRG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaW1nIik7CisgICAgICBpbWcyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhpbWcyLndpZHRoLCAxNiwgImltYWdlIGRpbWVuc2lvbiIpOwor
ICAgICAgICB2YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2UgcG9sbCBi
ZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisg
ICAgICAgICAgZmV0Y2goInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT9xdWVyeSZ0b2tlbj0iICsg
cmVxdWVzdF90b2tlbikudGhlbih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAg
ICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAg
ICAgaWYgKGNvdW50ID09ICcyJykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAy
NSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0
LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBpbWcyLnNy
YyA9ICJyZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47Cisg
ICAgICBjaGlsZERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nMik7CisgICAgfSwgMCk7Cisg
IH0pOworfSwgJ0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGltZyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOworaW1nLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUt
aW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CitpbWcuaWQgPSAiZmlyc3RpbWFnZSI7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0
MDVhN2I4OWMxM2U1Nzg3ZWFmMDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAor
CitQQVNTIENhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3Jp
cHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNGMwNjQ4OTIwZDRmN2I3MThjYTI2OTI3MzI3ODdhYjgzZTVl
MjRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1s
CkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIHNjcmlwdHM8
L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2Ny
aXB0PgoraWYgKCJ0ZXN0UnVubmVyIiBpbiB3aW5kb3cpCisgIHRlc3RSdW5uZXIuc2V0U3RhbGVX
aGlsZVJldmFsaWRhdGVFbmFibGVkKHRydWUpOworCit2YXIgbGFzdF9tb2RpZmllZDsKK3ZhciBs
YXN0X21vZGlmaWVkX2NvdW50ID0gMDsKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKwor
Ly8gVGhlIHNjcmlwdCB3aWxsIGNhbGwgcmVwb3J0IHZpYSBhIHVuaXF1ZWx5IGdlbmVyYXRlZCBJ
RCBvbiB0aGUgc3VicmVzb3VyY2UuCisvLyBJZiBpdCBpcyBhIGNhY2hlIGhpdCB0aGUgSUQgd2ls
bCBiZSB0aGUgc2FtZSBhbmQgdGhlIHRlc3Qgd2lsbCBwYXNzLgorZnVuY3Rpb24gcmVwb3J0KG1v
ZCkgeworICBpZiAoIWxhc3RfbW9kaWZpZWQpIHsKKyAgICBsYXN0X21vZGlmaWVkID0gbW9kOwor
ICAgIGxhc3RfbW9kaWZpZWRfY291bnQgPSAxOworICB9IGVsc2UgaWYgKGxhc3RfbW9kaWZpZWQg
PT0gbW9kKSB7CisgICAgbGFzdF9tb2RpZmllZF9jb3VudCsrOworICB9Cit9CisKK2FzeW5jX3Rl
c3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgc3Rl
cF90aW1lb3V0KCgpID0+IHsKKyAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzY3JpcHQiKTsKKyAgICAgIHNjcmlwdC5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLXNjcmlw
dC5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoc2NyaXB0KTsKKyAgICAgIHNjcmlwdC5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7
CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhsYXN0X21vZGlmaWVkX2NvdW50LCAyLCAibGFzdCBt
b2RpZmllZCIpOworICAgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAg
ICAgIC8vIFdlIHBvbGwgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoZW4gdGhlIHJldmFsaWRhdGlv
biB3aWxsIG9jY3VyLgorICAgICAgICAgICAgZmV0Y2goInJlc291cmNlcy9zdGFsZS1zY3JpcHQu
cHk/cXVlcnkmdG9rZW49IiArIHJlcXVlc3RfdG9rZW4pLnRoZW4odC5zdGVwX2Z1bmMoKHJlc3Bv
bnNlKSA9PiB7CisgICAgICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0
KCJDb3VudCIpOworICAgICAgICAgICAgICBpZiAoY291bnQgPT0gJzInKSB7CisgICAgICAgICAg
ICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9KSk7CisgICAgICAgICAgfTsKKyAgICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVj
a1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgfSwgMCk7CisgIH0pOworfSwgJ0NhY2hlIHJl
dHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInNjcmlwdCIpOworc2NyaXB0LnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5
P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3Jp
cHQpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ct
aW50ZXJjZXB0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kY2E3ZGU1MWIwYjhjNTUxODI3NmU3MGFlMjE5YjdiYzhmODY5YTk1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpAQCAtMCwwICsxLDE0IEBACith
c3luYyBmdW5jdGlvbiBicm9hZGNhc3QobXNnKSB7CisgIGZvciAoY29uc3QgY2xpZW50IG9mIGF3
YWl0IGNsaWVudHMubWF0Y2hBbGwoKSkgeworICAgIGNsaWVudC5wb3N0TWVzc2FnZShtc2cpOwor
ICB9Cit9CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBldmVudCA9PiB7CisgIGV2
ZW50LndhaXRVbnRpbChicm9hZGNhc3QoZXZlbnQucmVxdWVzdC51cmwpKTsKKyAgZXZlbnQucmVz
cG9uZFdpdGgoZmV0Y2goZXZlbnQucmVxdWVzdCkpOworfSk7CisKK3NlbGYuYWRkRXZlbnRMaXN0
ZW5lcignYWN0aXZhdGUnLCBldmVudCA9PiB7CisgIHNlbGYuY2xpZW50cy5jbGFpbSgpOworfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI5ZGQwNmY4NDZhNzA2OGZlYTJiODI4
NzgxYWQ3NWNjMTk4ZTdhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS93M2Mt
aW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0t
dGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0
Y2gtc3cuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3N0YWxlLWNzcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ct
aW50ZXJjZXB0LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYzMwOTczNDEzYjdhZTFjYTdhYjIxOGJjMzdmMGI1ZWNkZWJhYzM4NS4uZjFm
ZDdhMGI3ZTc3NGI1ZWQyOTMxOTFlNjcwZmE0MGE2MDkzOGUzMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjAwNSw0ICsyMDA1LDcgQEAg
aW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctaHRtbC0yZC5odG1sCiB3ZWJraXQub3JnL2IvMTU5
NzI0IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJl
ZGlyZWN0LXBvc3QtdXBsb2FkLmh0bSBbIFNraXAgXQogCiAjIFNraXAgSXNMb2dnZWRJbgotaHR0
cC90ZXN0cy9pcy1sb2dnZWQtaW4vIFsgU2tpcCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQoraHR0cC90ZXN0cy9pcy1sb2dnZWQtaW4vIFsgU2tpcCBdCisKKyMgU3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZSBpcyBub3Qgc3VwcG9ydGVkIG9uIFdLMQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlIFsgU2tpcCBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggN2E2ZjI0OTFmMTU2
MjBjODlkM2Y4NmZkNjg5MjhiOTg1Zjc2OTg2Ny4uMDY2MzM5NDFmYzhlZjBjZTc5Y2U1ZWI0ODJm
Y2ViZjQ2ZTQ3OGFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtODA1LDYgKzgwNSw3IEBAIHdlYmtpdC5vcmcvYi8yMDMxNzMgaW5zcGVj
dG9yL2NvbnNvbGUvd2ViY29yZS1sb2dnaW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJr
aXQub3JnL2IvMjAzMTc2IFsgRGVidWcgXSBmYXN0L3Njcm9sbGluZy9sYXRjaGluZy9zY3JvbGwt
c2VsZWN0LWJvdHRvbS10ZXN0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCisKIHdlYmtpdC5vcmcv
Yi8yMDMzMDQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvYW5pbWF0aW9uLW9wYWNpdHktcGF1c2UtYW5kLXNldC10aW1lLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDMzMDQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLXRyYW5zZm9ybS1wYXVzZS1hbmQtc2V0
LXRpbWUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIwMzMwNSBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvcHJvcGVydGll
cy12YWx1ZS0wMDEuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCkBAIC04MTIsMyArODEzLDYgQEAgd2Vi
a2l0Lm9yZy9iLzIwMzMwNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
dHJhbnNpdGlvbnMvcHJvcGVydGkKIHdlYmtpdC5vcmcvYi8yMDMzMDUgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL3Byb3BlcnRpZXMtdmFsdWUtaW5o
ZXJpdC0wMDIuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjAzMzU2IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9wcm9wZXJ0aWVz
LXZhbHVlLTAwMy5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8yMDMzNTcgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL2V2ZW50LWRp
c3BhdGNoLnRlbnRhdGl2ZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KKworIyBTdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0sxCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382942</attachid>
            <date>2019-11-06 11:10:17 -0800</date>
            <delta_ts>2019-11-12 08:25:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191106201013.patch</filename>
            <type>text/plain</type>
            <size>73664</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU5MGYzYTAzNTA1NDM4
MTgzMjI3ZjU0NDY3NGQ4ZDdhMDU3MTgyYi4uZTBjMTQwMzYwZDQyNjZjM2Y4NWIwYzM2ZmZjYWZi
MWE3NGYyODZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTExLTA2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBwYXJzaW5nIHRoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlCisgICAgICAgIGFuZCBleHBvc2UgaXQgb24gUmVzb3Vy
Y2VSZXNwb25zZS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3Nz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2Fj
aGVWYWxpZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGly
ZWN0aXZlcyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xTdGFsZVdo
aWxlUmV2YWxpZGF0ZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlc3BvbnNlQmFzZS5oOgorCiAyMDE5LTExLTA1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTE5MzApOiBGbGFreSBXSzEgY3Jhc2gg
aW4gcHJpbnRpbmcvcHNldWRvLWNsYXNzLW91dHNpZGUtcGFnZS5odG1sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU2
OGE1Yzk0NDVhMzVjYmZjOWNjNzU2MDdhOGYzODQ0MTY1YmFiMmIuLjhmOGJiODRlYTMzYzM3OTA2
MWZlZmQ0M2U0YWM5MWNiMGYxOTcxNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjQgQEAKKzIwMTkt
MTEtMDYgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0
YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBVc2VEZWNpc2lvbiB2YWx1ZSBB
c3luY1JldmFsaWRhdGUgZm9yIGFzeW5jIHJldmFsaWRhdGlvbi4gVGhpcyBpcyB1c2VkCisgICAg
ICAgIHdoZW4gdGhlIHJldHJpZXZlZCBjYWNoZSBlbnRyeSBpcyBhIHN0YWxlLXdoaWxlLXJldmFs
aWRhdGUgcmVzcG9uc2UgWzFdLgorICAgICAgICBJbiBjYXNlIG9mIEFzeW5jUmV2YWxpZGF0ZSwg
YSBjaGVjayBpcyBtYWRlIHRvIHNlZSBpZiB0aGVyZSBpcyBhCisgICAgICAgIGN1cnJlbnQgYXN5
bmMgcmV2YWxpZGF0aW9uIG9uZ29pbmcgZm9yIHRoZSBlbnRyeSwgaWYgbm90IG9uZSBpcworICAg
ICAgICBzdGFydGVkLiBSZWdhcmRsZXNzLCB0aGUgc3RhbGUgZW50cnkgaXMgcmV0dXJuZWQsIHVu
dGlsIGVpdGhlciB0aGUKKyAgICAgICAgYXN5bmMgcmV2YWxpZGF0aW9uIGVuZHMgc3VjY2Vzc2Z1
bGx5IG9yIGF0IHRoZSBtb21lbnQgd2hlbiB0aGUKKyAgICAgICAgcmVzcG9uc2UgZXhwaXJlcyBm
b3IgcmVhbC4KKworICAgICAgICBbMV0gaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2Nv
bmNlcHQtc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS1yZXNwb25zZQorCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vz
c2lvbjo6TmV0d29ya1Nlc3Npb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtT
ZXNzaW9uLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjppc1N0YWxlV2hpbGVS
ZXZhbGlkYXRlRW5hYmxlZCBjb25zdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
U2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVl
c3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9uOjpz
dGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6QXN5bmNSZXZhbGlkYXRpb246OkFzeW5jUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0NhY2hlOjpBc3luY1JldmFsaWRhdGlvbjo6bG9hZCBjb25zdCk6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0NhY2hlOjpyZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0NhY2hlOjptYWtlVXNlRGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ2FjaGU6Om1ha2VTdG9yZURlY2lzaW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpjYW5Vc2VQZW5kaW5nUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0NhY2hlOjpDYWNoZTo6c3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpDYWNoZTo6cmV0cmlldmUpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlc3BvbnNlSGFzRXhwaXJlZCk6IERlbGV0ZWQuCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmg6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpkdW1wSFRUUEhlYWRlcnNEaWZmKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXF1ZXN0c0hlYWRlcnNNYXRjaCk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmg6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6ZHVtcEhUVFBIZWFkZXJz
RGlmZik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVxdWVzdHNI
ZWFkZXJzTWF0Y2gpOiBEZWxldGVkLgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmLmNwcDoK
KyAgICAgICAgKFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25HZXRTdGFsZVdoaWxlUmV2
YWxpZGF0ZUVuYWJsZWQpOgorICAgICAgICAoV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
blNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y29weSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9u
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpzdGFs
ZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6c2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKToK
KyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOS0xMS0w
NSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgRWxpbWlu
YXRlIG1hY2ggbG9va3VwIHRvIGNmcHJlZnNkIG9uIHByb2Nlc3Mgc3RhcnR1cApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uY3BwCmluZGV4
IDQ5NTkwNTA2NzljZTA1MDQ4NDI0NDdlYjFmNWEwYmY4YTY3NjgzY2UuLjJkMzUwN2RmMjM3ZGIy
OTVkNTkzMWE0YzBkZjc2MDI3NzdkZTdiOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKQEAgLTMxMyw4ICszMTMsMTggQEAg
Q2FjaGVDb250cm9sRGlyZWN0aXZlcyBwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMoY29uc3Qg
SFRUUEhlYWRlck1hcCYgaGVhZGVycykKICAgICAgICAgICAgICAgICBkb3VibGUgbWF4U3RhbGUg
PSBkaXJlY3RpdmVzW2ldLnNlY29uZC50b0RvdWJsZSgmb2spOwogICAgICAgICAgICAgICAgIGlm
IChvaykKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lm1heFN0YWxlID0gU2Vjb25kcyB7IG1h
eFN0YWxlIH07Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKGRpcmVjdGl2ZXNbaV0uZmlyc3QsICJpbW11dGFibGUiKSkKKyAgICAgICAgICAgIH0g
ZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5maXJz
dCwgImltbXV0YWJsZSIpKSB7CiAgICAgICAgICAgICAgICAgcmVzdWx0LmltbXV0YWJsZSA9IHRy
dWU7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KGRpcmVjdGl2ZXNbaV0uZmlyc3QsICJzdGFsZS13aGlsZS1yZXZhbGlkYXRlIikpIHsKKyAgICAg
ICAgICAgICAgICBpZiAocmVzdWx0LnN0YWxlV2hpbGVSZXZhbGlkYXRlKSB7CisgICAgICAgICAg
ICAgICAgICAgIC8vIEZpcnN0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgZGlyZWN0aXZlIHdpbnMg
aWYgdGhlcmUgYXJlIG11bHRpcGxlIG9uZXMuCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBib29sIG9rOworICAgICAgICAg
ICAgICAgIGRvdWJsZSBzdGFsZVdoaWxlUmV2YWxpZGF0ZSA9IGRpcmVjdGl2ZXNbaV0uc2Vjb25k
LnRvRG91YmxlKCZvayk7CisgICAgICAgICAgICAgICAgaWYgKG9rKQorICAgICAgICAgICAgICAg
ICAgICByZXN1bHQuc3RhbGVXaGlsZVJldmFsaWRhdGUgPSBTZWNvbmRzIHsgc3RhbGVXaGlsZVJl
dmFsaWRhdGUgfTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmgKaW5kZXggNTZl
ZmVhNjIxNTQ0Nzk1MDZhMTY2NGZmZDA4ZTA4YWIyYzU1NmJjZC4uMDQwYTk2OTdlNWZhODJlMWFm
NTBmZmE5YWQxOTI3MjdmM2I3ODQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oCkBAIC02OSw2ICs2OSw3IEBAIHN0cnVjdCBDYWNo
ZUNvbnRyb2xEaXJlY3RpdmVzIHsKIAogICAgIE1hcmthYmxlPFNlY29uZHMsIFNlY29uZHM6Ok1h
cmthYmxlVHJhaXRzPiBtYXhBZ2U7CiAgICAgTWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFy
a2FibGVUcmFpdHM+IG1heFN0YWxlOworICAgIE1hcmthYmxlPFNlY29uZHMsIFNlY29uZHM6Ok1h
cmthYmxlVHJhaXRzPiBzdGFsZVdoaWxlUmV2YWxpZGF0ZTsKICAgICBib29sIG5vQ2FjaGUgOiAx
OwogICAgIGJvb2wgbm9TdG9yZSA6IDE7CiAgICAgYm9vbCBtdXN0UmV2YWxpZGF0ZSA6IDE7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuY3BwCmluZGV4IDZlZDI3ZjNiMjA4NTgyYzFiNjBjNjRlMTQ1NDQ2Y2E2MjZjMzQx
YjYuLjc1NDllNTEwY2M1NzkzMDJhOTk3NDc2NDllYmZmZjVlMjk4MWU2Y2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuY3BwCkBAIC02NTcsNiArNjU3LDEzIEBAIE9wdGlvbmFsPFNlY29uZHM+IFJlc291cmNlUmVz
cG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xNYXhBZ2UoKSBjb25zdAogICAgIHJldHVybiBtX2NhY2hl
Q29udHJvbERpcmVjdGl2ZXMubWF4QWdlOwogfQogCitPcHRpb25hbDxTZWNvbmRzPiBSZXNvdXJj
ZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKSBjb25zdAor
eworICAgIGlmICghbV9oYXZlUGFyc2VkQ2FjaGVDb250cm9sSGVhZGVyKQorICAgICAgICBwYXJz
ZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMoKTsKKyAgICByZXR1cm4gbV9jYWNoZUNvbnRyb2xEaXJl
Y3RpdmVzLnN0YWxlV2hpbGVSZXZhbGlkYXRlOworfQorCiBzdGF0aWMgT3B0aW9uYWw8V2FsbFRp
bWU+IHBhcnNlRGF0ZVZhbHVlSW5IZWFkZXIoY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVycywg
SFRUUEhlYWRlck5hbWUgaGVhZGVyTmFtZSkKIHsKICAgICBTdHJpbmcgaGVhZGVyVmFsdWUgPSBo
ZWFkZXJzLmdldChoZWFkZXJOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAppbmRleCBlN2E4ZjNiNWU2YjQxMzg1
ZGY4MjMxMWZkYTIxOTM4MzA4M2MzZTA1Li5jMGNhZWQwZGE0YTcyZGRjMGVjNmMxMmFkZGQ1Mzhi
NjI5ZWZlNWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCkBAIC0xMzcsNiArMTM3LDcgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIGJvb2wgY2FjaGVDb250cm9sQ29udGFpbnNJbW11dGFibGUoKSBjb25z
dDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGhhc0NhY2hlVmFsaWRhdG9yRmllbGRzKCkgY29u
c3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gY2FjaGVDb250cm9sTWF4
QWdlKCkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gY2FjaGVD
b250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBP
cHRpb25hbDxXYWxsVGltZT4gZGF0ZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlv
bmFsPFNlY29uZHM+IGFnZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFdh
bGxUaW1lPiBleHBpcmVzKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Nlc3Npb24uY3BwCmluZGV4IGM1YjI1ZmE3NTI3MmQzODk1ZjQ5NjM5ZjY0YzRh
NmEyNDI5MThmNzkuLmI1YzU5NTA2YjQ0NTU1YzE5ZGZjODJjMzM1MjgyMjQ5ZDBkMGVmOTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uY3BwCkBA
IC0xMDgsNiArMTA4LDggQEAgTmV0d29ya1Nlc3Npb246Ok5ldHdvcmtTZXNzaW9uKE5ldHdvcmtQ
cm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgTmV0d29ya1Nlc3MKICAgICAgICAgICAgIFNh
bmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLnJlc291cmNlTG9h
ZFN0YXRpc3RpY3NEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogICAgIH0KIAorICAgIG1faXNT
dGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgPSBwYXJhbWV0ZXJzLnN0YWxlV2hpbGVSZXZhbGlk
YXRlRW5hYmxlZDsKKwogICAgIG1fYWRDbGlja0F0dHJpYnV0aW9uLT5zZXRQaW5nTG9hZEZ1bmN0
aW9uKFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXShOZXR3b3JrUmVzb3VyY2VM
b2FkUGFyYW1ldGVycyYmIGxvYWRQYXJhbWV0ZXJzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJik+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAg
ICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Nlc3Npb24uaAppbmRleCBlNmJhN2Q4MDUyNzhkN2VjNTZhYmRjZWYyZTA2MDljMTY3MWNjOTdh
Li5mMjVkZDY1NWJiNzhlOWU4NmY2YzY0YTlhYjI2MWNjNmU0MDkzYWQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oCkBAIC0xMjQsNiArMTI0LDgg
QEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgdGVzdFNwZWVkTXVsdGlwbGllcigpIGNvbnN0IHsg
cmV0dXJuIG1fdGVzdFNwZWVkTXVsdGlwbGllcjsgfQogCisgICAgYm9vbCBpc1N0YWxlV2hpbGVS
ZXZhbGlkYXRlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNTdGFsZVdoaWxlUmV2YWxpZGF0
ZUVuYWJsZWQ7IH0KKwogcHJvdGVjdGVkOgogICAgIE5ldHdvcmtTZXNzaW9uKE5ldHdvcmtQcm9j
ZXNzJiwgY29uc3QgTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMmKTsKIApAQCAtMTQ0
LDYgKzE0Niw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIG1fZG93bmdyYWRlUmVmZXJyZXIgeyB0
cnVlIH07CiAgICAgYm9vbCBtX3RoaXJkUGFydHlDb29raWVCbG9ja2luZ0VuYWJsZWQgeyBmYWxz
ZSB9OwogI2VuZGlmCisgICAgYm9vbCBtX2lzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkIHsg
ZmFsc2UgfTsKICAgICBVbmlxdWVSZWY8QWRDbGlja0F0dHJpYnV0aW9uTWFuYWdlcj4gbV9hZENs
aWNrQXR0cmlidXRpb247CiAKICAgICBIYXNoU2V0PFJlZjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+
PiBtX2tlcHRBbGl2ZUxvYWRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRl
eCAwMzhjMjUwNTFjNGFlYTJjYWUxOTU0ZDc2YTlkNzk5NDQ1NjYxMjQwLi4zZTg1YmVhOTQzMmY3
ODYwZjgzODVjOTdmN2MxZWU4MDRlNzU5OTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcApAQCAtNzgsNiArNzgsNyBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJh
bWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIg
PDwgZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQ7CiAgICAgZW5jb2RlciA8PCBuZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkOwogICAgIGVuY29kZXIgPDwgc2hv
dWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uOworICAgIGVuY29kZXIgPDwgc3RhbGVXaGlsZVJl
dmFsaWRhdGVFbmFibGVkOwogICAgIGVuY29kZXIgPDwgdGVzdFNwZWVkTXVsdGlwbGllcjsKICAg
ICBlbmNvZGVyIDw8IHN1cHByZXNzZXNDb25uZWN0aW9uVGVybWluYXRpb25PblN5c3RlbUNoYW5n
ZTsKIH0KQEAgLTI0Myw3ICsyNDQsMTIgQEAgT3B0aW9uYWw8TmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnM+IE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWMKICAgICBk
ZWNvZGVyID4+IHNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lvbjsKICAgICBpZiAoIXNob3Vs
ZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lvbikKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
LSAgICAKKworICAgIE9wdGlvbmFsPGJvb2w+IHN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZDsK
KyAgICBkZWNvZGVyID4+IHN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZDsKKyAgICBpZiAoIXN0
YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KwogICAgIE9wdGlvbmFsPHVuc2lnbmVkPiB0ZXN0U3BlZWRNdWx0aXBsaWVyOwogICAgIGRlY29k
ZXIgPj4gdGVzdFNwZWVkTXVsdGlwbGllcjsKICAgICBpZiAoIXRlc3RTcGVlZE11bHRpcGxpZXIp
CkBAIC0yOTIsNiArMjk4LDcgQEAgT3B0aW9uYWw8TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFt
ZXRlcnM+IE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWMKICAgICAgICAgLCBX
VEZNb3ZlKCpmYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCkKICAgICAgICAgLCBXVEZN
b3ZlKCpuZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkKQogICAgICAgICAs
IFdURk1vdmUoKnNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lvbikKKyAgICAgICAgLCBXVEZN
b3ZlKCpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQpCiAgICAgICAgICwgV1RGTW92ZSgqdGVz
dFNwZWVkTXVsdGlwbGllcikKICAgICAgICAgLCBXVEZNb3ZlKCpzdXBwcmVzc2VzQ29ubmVjdGlv
blRlcm1pbmF0aW9uT25TeXN0ZW1DaGFuZ2UpCiAgICAgfX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKaW5kZXggNTAxMjUyYzhiOGUwNTllZGViZTczMTAzMjY0N2ZlMTg0NjVjNTAxYS4u
YWM0MzZhM2QzODE4MGExNzAxOWZiOTUyOTU5YmM0NmNjYWM3YjJlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVy
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVh
dGlvblBhcmFtZXRlcnMuaApAQCAtOTYsNiArOTYsNyBAQCBzdHJ1Y3QgTmV0d29ya1Nlc3Npb25D
cmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVu
YWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0
aW9uRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBzaG91bGRVc2VUZXN0aW5nTmV0d29ya1Nl
c3Npb24geyBmYWxzZSB9OworICAgIGJvb2wgc3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkIHsg
ZmFsc2UgfTsKICAgICB1bnNpZ25lZCB0ZXN0U3BlZWRNdWx0aXBsaWVyIHsgMSB9OwogICAgIGJv
b2wgc3VwcHJlc3Nlc0Nvbm5lY3Rpb25UZXJtaW5hdGlvbk9uU3lzdGVtQ2hhbmdlIHsgZmFsc2Ug
fTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0Fz
eW5jUmV2YWxpZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
QXN5bmNSZXZhbGlkYXRpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiOGZmZDEwZjEzMTI1MjQ2MTNkNDNj
NDBlYzY3ODA0ODZlZDA5ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcApAQCAtMCwwICsxLDkwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJBc3luY1JldmFsaWRhdGlvbi5oIgorCisjaWYgRU5BQkxF
KE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQorI2luY2x1ZGUgPFdlYkNv
cmUvQ2FjaGVWYWxpZGF0aW9uLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworbmFtZXNwYWNlIE5l
dHdvcmtDYWNoZSB7CisKK3N0YXRpYyBpbmxpbmUgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNv
bnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3QoY29uc3QgS2V5JiBrZXksIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgRW50cnkqIGVudHJ5KQoreworICAgIFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXZhbGlkYXRpb25SZXF1ZXN0ID0gcmVxdWVzdDsKKyAg
ICBpZiAoIWtleS5wYXJ0aXRpb24oKS5pc0VtcHR5KCkpCisgICAgICAgIHJldmFsaWRhdGlvblJl
cXVlc3Quc2V0Q2FjaGVQYXJ0aXRpb24oa2V5LnBhcnRpdGlvbigpKTsKKyAgICBBU1NFUlRfV0lU
SF9NRVNTQUdFKGtleS5yYW5nZSgpLmlzRW1wdHkoKSwgInJhbmdlIGlzIG5vdCBzdXBwb3J0ZWQi
KTsKKworICAgIHJldmFsaWRhdGlvblJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKyAgICBp
ZiAoZW50cnkpIHsKKyAgICAgICAgU3RyaW5nIGVUYWcgPSBlbnRyeS0+cmVzcG9uc2UoKS5odHRw
SGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OkVUYWcpOworICAgICAgICBpZiAo
IWVUYWcuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRIVFRQ
SGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OklmTm9uZU1hdGNoLCBlVGFnKTsK
KworICAgICAgICBTdHJpbmcgbGFzdE1vZGlmaWVkID0gZW50cnktPnJlc3BvbnNlKCkuaHR0cEhl
YWRlckZpZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJOYW1lOjpMYXN0TW9kaWZpZWQpOworICAgICAg
ICBpZiAoIWxhc3RNb2RpZmllZC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXZhbGlkYXRpb25S
ZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6SWZNb2Rp
ZmllZFNpbmNlLCBsYXN0TW9kaWZpZWQpOworICAgIH0KKworICAgIHJldmFsaWRhdGlvblJlcXVl
c3Quc2V0UHJpb3JpdHkoV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6Okxvdyk7CisKKyAg
ICByZXR1cm4gcmV2YWxpZGF0aW9uUmVxdWVzdDsKK30KKwordm9pZCBBc3luY1JldmFsaWRhdGlv
bjo6c3RhbGVXaGlsZVJldmFsaWRhdGVFbmRpbmcoKQoreworICAgIGlmIChtX2NvbXBsZXRpb25I
YW5kbGVyKSB7CisgICAgICAgIG1fY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CisgICAgICAgIG1f
Y29tcGxldGlvbkhhbmRsZXIgPSBudWxscHRyOworICAgIH0KK30KKworQXN5bmNSZXZhbGlkYXRp
b246OkFzeW5jUmV2YWxpZGF0aW9uKENhY2hlJiBjYWNoZSwgY29uc3QgR2xvYmFsRnJhbWVJRCYg
ZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBzdGQ6OnVu
aXF1ZV9wdHI8TmV0d29ya0NhY2hlOjpFbnRyeT4gZW50cnksIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYgaGFuZGxlcikKKyAgICA6IG1fdGltZXIoKnRoaXMsICZBc3luY1JldmFsaWRh
dGlvbjo6c3RhbGVXaGlsZVJldmFsaWRhdGVFbmRpbmcpCisgICAgLCBtX2NvbXBsZXRpb25IYW5k
bGVyKFdURk1vdmUoaGFuZGxlcikpCit7CisgICAgYXV0byBrZXkgPSBlbnRyeS0+a2V5KCk7Cisg
ICAgYXV0byByZXZhbGlkYXRpb25SZXF1ZXN0ID0gY29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVz
dChrZXksIHJlcXVlc3QsIGVudHJ5LmdldCgpKTsKKyAgICBhdXRvIGFnZSA9IFdlYkNvcmU6OmNv
bXB1dGVDdXJyZW50QWdlKGVudHJ5LT5yZXNwb25zZSgpLCBlbnRyeS0+dGltZVN0YW1wKCkpOwor
ICAgIGF1dG8gbGlmZXRpbWUgPSBXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JI
VFRQRmFtaWx5KGVudHJ5LT5yZXNwb25zZSgpLCBlbnRyeS0+dGltZVN0YW1wKCkpOworICAgIGF1
dG8gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPSBlbnRyeS0+cmVzcG9uc2UoKS5jYWNoZUNvbnRyb2xT
dGFsZVdoaWxlUmV2YWxpZGF0ZSgpOworICAgIEFTU0VSVChyZXNwb25zZU1heFN0YWxlbmVzcyk7
CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoKnJlc3BvbnNlTWF4U3RhbGVuZXNzIC0gKGFnZSAt
IGxpZmV0aW1lKSk7CisgICAgbV9sb2FkID0gbWFrZVVuaXF1ZTxTcGVjdWxhdGl2ZUxvYWQ+KGNh
Y2hlLCBmcmFtZUlELCByZXZhbGlkYXRpb25SZXF1ZXN0LCBXVEZNb3ZlKGVudHJ5KSwgW3RoaXMs
IGtleSwgcmV2YWxpZGF0aW9uUmVxdWVzdF0oc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiByZXZhbGlk
YXRlZEVudHJ5KSB7CisgICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8fCAhcmV2YWxp
ZGF0ZWRFbnRyeS0+bmVlZHNWYWxpZGF0aW9uKCkpOworICAgICAgICBBU1NFUlQoIXJldmFsaWRh
dGVkRW50cnkgfHwgcmV2YWxpZGF0ZWRFbnRyeS0+a2V5KCkgPT0ga2V5KTsKKyAgICAgICAgaWYg
KG1fY29tcGxldGlvbkhhbmRsZXIpIHsKKyAgICAgICAgICAgIG1fY29tcGxldGlvbkhhbmRsZXIo
cmV2YWxpZGF0ZWRFbnRyeS5nZXQoKSk7CisgICAgICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVy
ID0gbnVsbHB0cjsKKyAgICAgICAgfQorICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBOZXR3
b3JrQ2FjaGUKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKE5FVFdP
UktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5oIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQzN2ZjOTM1MzAxYmE5NWY2ZTIxZDhkNGFmZDAxNjM3ODI5YjlhNmEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9u
LmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5M
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQ
RUNVTEFUSVZFX1JFVkFMSURBVElPTikKKworI2luY2x1ZGUgIk5ldHdvcmtDYWNoZS5oIgorI2lu
Y2x1ZGUgIk5ldHdvcmtDYWNoZUVudHJ5LmgiCisjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVMb2FkLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbmNs
dWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Ns
YXNzIFNwZWN1bGF0aXZlTG9hZDsKKworbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CisKK2NsYXNz
IEFzeW5jUmV2YWxpZGF0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1Ymxp
YzoKKyAgICBBc3luY1JldmFsaWRhdGlvbihDYWNoZSYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya0Nh
Y2hlOjpFbnRyeT4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworCisgICAgY29u
c3QgU3BlY3VsYXRpdmVMb2FkJiBsb2FkKCkgY29uc3QgeyByZXR1cm4gKm1fbG9hZDsgfQorCisg
ICAgdm9pZCBzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZygpOworCitwcml2YXRlOgorICAgIHN0
ZDo6dW5pcXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWQ+IG1fbG9hZDsKKyAgICBXZWJDb3JlOjpUaW1l
ciBtX3RpbWVyOworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+IG1fY29tcGxldGlv
bkhhbmRsZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVf
UkVWQUxJREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGUuY3BwCmluZGV4IGYzNDRkMWFiYTY0ZmU5M2M5Y2JlYmQ0N2Y0M2U4MTYz
YmFjZDdjMTcuLmI4OThmMTgyMzMwNTMxY2JhYjcxMGE1MDIzZTU3N2U3NzVjNTc3YWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5j
cHAKQEAgLTI2LDEwICsyNiwxMyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk5l
dHdvcmtDYWNoZS5oIgogCisjaW5jbHVkZSAiQXN5bmNSZXZhbGlkYXRpb24uaCIKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgiCiAj
aW5jbHVkZSAiTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5oIgogI2luY2x1ZGUg
Ik5ldHdvcmtDYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgorI2lu
Y2x1ZGUgIk5ldHdvcmtTZXNzaW9uLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVZhbGlkYXRp
b24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBIZWFkZXJOYW1lcy5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvTG93UG93ZXJNb2RlTm90aWZpZXIuaD4KQEAgLTE1MiwzNSArMTU1LDQ2IEBAIHN0YXRp
YyBib29sIGNhY2hlUG9saWN5QWxsb3dzRXhwaXJlZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RD
YWNoZVBvbGljeSBwb2xpY3kpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgYm9vbCBy
ZXNwb25zZUhhc0V4cGlyZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UsIFdhbGxUaW1lIHRpbWVzdGFtcCwgT3B0aW9uYWw8U2Vjb25kcz4gbWF4U3RhbGUpCitzdGF0
aWMgVXNlRGVjaXNpb24gcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihOZXR3b3JrU2Vzc2lvbiYg
bmV0d29ya1Nlc3Npb24sIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
LCBXYWxsVGltZSB0aW1lc3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxlKQogewogICAg
IGlmIChyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkKLSAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAKICAgICBh
dXRvIGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdlKHJlc3BvbnNlLCB0aW1lc3RhbXAp
OwogICAgIGF1dG8gbGlmZXRpbWUgPSBXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVG
b3JIVFRQRmFtaWx5KHJlc3BvbnNlLCB0aW1lc3RhbXApOwogCiAgICAgYXV0byBtYXhpbXVtU3Rh
bGVuZXNzID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMF9tczsKICAgICBib29sIGhh
c0V4cGlyZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1heGltdW1TdGFsZW5lc3M7CisjaWYgRU5BQkxF
KE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQorICAgIGlmIChoYXNFeHBp
cmVkICYmICFtYXhTdGFsZSAmJiBuZXR3b3JrU2Vzc2lvbi5pc1N0YWxlV2hpbGVSZXZhbGlkYXRl
RW5hYmxlZCgpKSB7CisgICAgICAgIGF1dG8gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPSByZXNwb25z
ZS5jYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpOworICAgICAgICBtYXhpbXVtU3Rh
bGVuZXNzICs9IHJlc3BvbnNlTWF4U3RhbGVuZXNzID8gcmVzcG9uc2VNYXhTdGFsZW5lc3MudmFs
dWUoKSA6IDBfbXM7CisgICAgICAgIGJvb2wgaW5SZXNwb25zZVN0YWxlbmVzcyA9IGFnZSAtIGxp
ZmV0aW1lIDwgbWF4aW11bVN0YWxlbmVzczsKKyAgICAgICAgaWYgKGluUmVzcG9uc2VTdGFsZW5l
c3MpCisgICAgICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OkFzeW5jUmV2YWxpZGF0ZTsKKyAg
ICB9CisjZW5kaWYKIAorICAgIGlmIChoYXNFeHBpcmVkKSB7CiAjaWZuZGVmIExPR19ESVNBQkxF
RAotICAgIGlmIChoYXNFeHBpcmVkKQotICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdv
cmtQcm9jZXNzKSBuZWVkc1JldmFsaWRhdGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBsaWZldGltZT0l
ZiBtYXgtc3RhbGU9JWciLCBhZ2UsIGxpZmV0aW1lLCBtYXhTdGFsZSk7CisgICAgICAgIExPRyhO
ZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4cGly
ZWQgYWdlPSVmIGxpZmV0aW1lPSVmIG1heC1zdGFsZW5lc3M9JWYiLCBhZ2UsIGxpZmV0aW1lLCBt
YXhpbXVtU3RhbGVuZXNzKTsKICNlbmRpZgorICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlZh
bGlkYXRlOworICAgIH0KIAotICAgIHJldHVybiBoYXNFeHBpcmVkOworICAgIHJldHVybiBVc2VE
ZWNpc2lvbjo6VXNlOwogfQogCi1zdGF0aWMgYm9vbCByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9u
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdhbGxUaW1lIHRpbWVzdGFtcCkKK3N0YXRpYyBV
c2VEZWNpc2lvbiByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKE5ldHdvcmtTZXNzaW9uJiBuZXR3
b3JrU2Vzc2lvbiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUgdGltZXN0YW1w
KQogewogICAgIGF1dG8gcmVxdWVzdERpcmVjdGl2ZXMgPSBXZWJDb3JlOjpwYXJzZUNhY2hlQ29u
dHJvbERpcmVjdGl2ZXMocmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOwogICAgIGlmIChyZXF1
ZXN0RGlyZWN0aXZlcy5ub0NhY2hlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0
dXJuIFVzZURlY2lzaW9uOjpWYWxpZGF0ZTsKICAgICAvLyBGb3IgcmVxdWVzdHMgd2UgaWdub3Jl
IG1heC1hZ2UgdmFsdWVzIG90aGVyIHRoYW4gemVyby4KICAgICBpZiAocmVxdWVzdERpcmVjdGl2
ZXMubWF4QWdlICYmIHJlcXVlc3REaXJlY3RpdmVzLm1heEFnZS52YWx1ZSgpID09IDBfbXMpCi0g
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlZhbGlkYXRl
OwogCi0gICAgcmV0dXJuIHJlc3BvbnNlSGFzRXhwaXJlZChyZXNwb25zZSwgdGltZXN0YW1wLCBy
ZXF1ZXN0RGlyZWN0aXZlcy5tYXhTdGFsZSk7CisgICAgcmV0dXJuIHJlc3BvbnNlTmVlZHNSZXZh
bGlkYXRpb24obmV0d29ya1Nlc3Npb24sIHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJlcXVlc3REaXJl
Y3RpdmVzLm1heFN0YWxlKTsKIH0KIAogc3RhdGljIFVzZURlY2lzaW9uIG1ha2VVc2VEZWNpc2lv
bihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0IFBBTDo6U2Vzc2lvbklEJiBz
ZXNzaW9uSUQsIGNvbnN0IEVudHJ5JiBlbnRyeSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0KQpAQCAtMTk3LDggKzIxMSw5IEBAIHN0YXRpYyBVc2VEZWNpc2lvbiBtYWtl
VXNlRGVjaXNpb24oTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25zdCBQQUw6OlNl
CiAgICAgaWYgKGNhY2hlUG9saWN5QWxsb3dzRXhwaXJlZChyZXF1ZXN0LmNhY2hlUG9saWN5KCkp
KQogICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlVzZTsKIAotICAgIGlmICghcmVzcG9uc2VO
ZWVkc1JldmFsaWRhdGlvbihlbnRyeS5yZXNwb25zZSgpLCByZXF1ZXN0LCBlbnRyeS50aW1lU3Rh
bXAoKSkpCi0gICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOworICAgIGF1dG8gZGVjaXNp
b24gPSByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKCpuZXR3b3JrUHJvY2Vzcy5uZXR3b3JrU2Vz
c2lvbihzZXNzaW9uSUQpLCBlbnRyeS5yZXNwb25zZSgpLCByZXF1ZXN0LCBlbnRyeS50aW1lU3Rh
bXAoKSk7CisgICAgaWYgKGRlY2lzaW9uICE9IFVzZURlY2lzaW9uOjpWYWxpZGF0ZSkKKyAgICAg
ICAgcmV0dXJuIGRlY2lzaW9uOwogCiAgICAgaWYgKCFlbnRyeS5yZXNwb25zZSgpLmhhc0NhY2hl
VmFsaWRhdG9yRmllbGRzKCkpCiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6Tm9EdWVUb01p
c3NpbmdWYWxpZGF0b3JGaWVsZHM7CkBAIC0yNTEsOCArMjY2LDEyIEBAIHN0YXRpYyBTdG9yZURl
Y2lzaW9uIG1ha2VTdG9yZURlY2lzaW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYg
b3JpZ2luYWxSCiAgICAgYm9vbCBzdG9yZVVuY29uZGl0aW9uYWxseUZvckhpc3RvcnlOYXZpZ2F0
aW9uID0gaXNNYWluUmVzb3VyY2UgfHwgb3JpZ2luYWxSZXF1ZXN0LnByaW9yaXR5KCkgPT0gV2Vi
Q29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6OlZlcnlIaWdoOwogICAgIGlmICghc3RvcmVVbmNv
bmRpdGlvbmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbikgewogICAgICAgICBhdXRvIG5vdyA9IFdh
bGxUaW1lOjpub3coKTsKLSAgICAgICAgYm9vbCBoYXNOb25aZXJvTGlmZXRpbWUgPSAhcmVzcG9u
c2UuY2FjaGVDb250cm9sQ29udGFpbnNOb0NhY2hlKCkgJiYgV2ViQ29yZTo6Y29tcHV0ZUZyZXNo
bmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShyZXNwb25zZSwgbm93KSA+IDBfbXM7Ci0KKyAgICAg
ICAgU2Vjb25kcyBhbGxvd2VkU3RhbGU7CisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VM
QVRJVkVfUkVWQUxJREFUSU9OKQorICAgICAgICBpZiAoYXV0byB2YWx1ZSA9IHJlc3BvbnNlLmNh
Y2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkpCisgICAgICAgICAgICBhbGxvd2VkU3Rh
bGUgPSB2YWx1ZS52YWx1ZSgpOworI2VuZGlmCisgICAgICAgIGJvb2wgaGFzTm9uWmVyb0xpZmV0
aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpICYmIChXZWJDb3Jl
Ojpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCBub3cpID4g
MF9tcyB8fCBhbGxvd2VkU3RhbGUgPiAwX21zKTsKICAgICAgICAgYm9vbCBwb3NzaWJseVJldXNh
YmxlID0gcmVzcG9uc2UuaGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSB8fCBoYXNOb25aZXJvTGlm
ZXRpbWU7CiAgICAgICAgIGlmICghcG9zc2libHlSZXVzYWJsZSkKICAgICAgICAgICAgIHJldHVy
biBTdG9yZURlY2lzaW9uOjpOb0R1ZVRvVW5saWtlbHlUb1JldXNlOwpAQCAtMjk2LDYgKzMxNSwy
OCBAQCBzdGF0aWMgYm9vbCBpbmxpbmUgY2FuUmVxdWVzdFVzZVNwZWN1bGF0aXZlUmV2YWxpZGF0
aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUgogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTkVU
V09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCitzdGF0aWMgaW5saW5lIGJvb2wg
Y2FuVXNlUGVuZGluZ1JldmFsaWRhdGlvbihjb25zdCBTcGVjdWxhdGl2ZUxvYWQmIGxvYWQsIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkKK3sKKyAgICByZXR1
cm4gcmVxdWVzdHNIZWFkZXJzTWF0Y2gobG9hZC5vcmlnaW5hbFJlcXVlc3QoKSwgYWN0dWFsUmVx
dWVzdCk7Cit9CisKK3ZvaWQgQ2FjaGU6OnN0YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZChj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IE5ldHdvcmtDYWNo
ZTo6S2V5JiBrZXksIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gZW50cnksIGNvbnN0IEdsb2JhbEZy
YW1lSUQmIGZyYW1lSUQpCit7CisgICAgYXV0byogcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9uID0g
bV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLmdldChrZXkpOworICAgIGlmIChwZW5kaW5nQXN5
bmNSZXZhbGlkYXRpb24gJiYgY2FuVXNlUGVuZGluZ1JldmFsaWRhdGlvbihwZW5kaW5nQXN5bmNS
ZXZhbGlkYXRpb24tPmxvYWQoKSwgcmVxdWVzdCkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1
dG8gcmV2YWxpZGF0b3IgPSBtYWtlVW5pcXVlPEFzeW5jUmV2YWxpZGF0aW9uPigqdGhpcywgZnJh
bWVJRCwgcmVxdWVzdCwgV1RGTW92ZShlbnRyeSksIFt0aGlzLCBrZXldKGJvb2wgZW5kaW5nKSB7
CisgICAgICAgIGlmIChlbmRpbmcpIHsKKyAgICAgICAgICAgIG1fcGVuZGluZ0FzeW5jUmV2YWxp
ZGF0aW9ucy50YWtlKGtleSk7CisgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdv
cmtQcm9jZXNzKSBBc3luYyByZXZhbGlkYXRpb24gY29tcGxldGVkIGZvciAnJXMnOiIsIGtleS5p
ZGVudGlmaWVyKCkudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIH0KKyAgICB9KTsKKyAgICBtX3Bl
bmRpbmdBc3luY1JldmFsaWRhdGlvbnMuYWRkKGtleSwgV1RGTW92ZShyZXZhbGlkYXRvcikpOwor
fQorI2VuZGlmCisKIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgUmV0cmlldmVD
b21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChyZXF1
ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSk7CkBAIC0zMzQsMTIgKzM3NSwxMSBA
QCB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogICAgIH0KICNlbmRpZgogCi0gICAgbV9zdG9yYWdl
LT5yZXRyaWV2ZShzdG9yYWdlS2V5LCBwcmlvcml0eSwgW3JlcXVlc3QsIGNvbXBsZXRpb25IYW5k
bGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGluZm8gPSBXVEZNb3ZlKGluZm8pLCBz
dG9yYWdlS2V5LCBuZXR3b3JrUHJvY2VzcyA9IG1ha2VSZWYobmV0d29ya1Byb2Nlc3MoKSksIHNl
c3Npb25JRCA9IG1fc2Vzc2lvbklEXShhdXRvIHJlY29yZCwgYXV0byB0aW1pbmdzKSBtdXRhYmxl
IHsKKyAgICBtX3N0b3JhZ2UtPnJldHJpZXZlKHN0b3JhZ2VLZXksIHByaW9yaXR5LCBbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCByZXF1ZXN0LCBjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBpbmZvID0gV1RGTW92ZShpbmZvKSwgc3Rv
cmFnZUtleSwgbmV0d29ya1Byb2Nlc3MgPSBtYWtlUmVmKG5ldHdvcmtQcm9jZXNzKCkpLCBzZXNz
aW9uSUQgPSBtX3Nlc3Npb25JRCwgZnJhbWVJRF0oYXV0byByZWNvcmQsIGF1dG8gdGltaW5ncykg
bXV0YWJsZSB7CiAgICAgICAgIGluZm8uc3RvcmFnZVRpbWluZ3MgPSB0aW1pbmdzOwogCiAgICAg
ICAgIGlmICghcmVjb3JkKSB7CiAgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdv
cmtQcm9jZXNzKSBub3QgZm91bmQgaW4gc3RvcmFnZSIpOwotCiAgICAgICAgICAgICBjb21wbGV0
ZVJldHJpZXZlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBudWxscHRyLCBpbmZvKTsKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQpAQCAtMzUwLDYgKzM5MCwxNCBAQCB2
b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IEdsb2JhbEZyYW1lSQogCiAgICAgICAgIGF1dG8gdXNlRGVjaXNpb24gPSBlbnRy
eSA/IG1ha2VVc2VEZWNpc2lvbihuZXR3b3JrUHJvY2Vzcywgc2Vzc2lvbklELCAqZW50cnksIHJl
cXVlc3QpIDogVXNlRGVjaXNpb246Ok5vRHVlVG9EZWNvZGVGYWlsdXJlOwogICAgICAgICBzd2l0
Y2ggKHVzZURlY2lzaW9uKSB7CisgICAgICAgIGNhc2UgVXNlRGVjaXNpb246OkFzeW5jUmV2YWxp
ZGF0ZTogeworI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElP
TikKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gZW50cnlDb3B5ID0gbWFrZVVu
aXF1ZTxFbnRyeT4oKmVudHJ5KTsKKyAgICAgICAgICAgIGVudHJ5Q29weS0+c2V0TmVlZHNWYWxp
ZGF0aW9uKHRydWUpOworICAgICAgICAgICAgc3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVk
KHJlcXVlc3QsIHN0b3JhZ2VLZXksIFdURk1vdmUoZW50cnlDb3B5KSwgZnJhbWVJRCk7CisjZW5k
aWYKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOworICAgICAgICB9CiAgICAgICAgIGNhc2UgVXNl
RGVjaXNpb246OlVzZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFVzZURlY2lz
aW9uOjpWYWxpZGF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZS5oCmluZGV4IDBkZWU3Zjg4ZGZmNjE2MmNjM2ZkNzg1MWI4MzgwZmM1YTgz
YmQ1YWUuLjdlMzc3ZjE0MmEyZTQ2OTgyYWQ3ZDcxNjdlYmFmYTY1ODIxOTQyMGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaApAQCAt
NTAsNiArNTAsNyBAQCBjbGFzcyBOZXR3b3JrUHJvY2VzczsKIAogbmFtZXNwYWNlIE5ldHdvcmtD
YWNoZSB7CiAKK2NsYXNzIEFzeW5jUmV2YWxpZGF0aW9uOwogY2xhc3MgQ2FjaGU7CiBjbGFzcyBT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOwogCkBAIC04Miw2ICs4Myw3IEBAIGVudW0gY2xhc3MgU3Rv
cmVEZWNpc2lvbiB7CiBlbnVtIGNsYXNzIFVzZURlY2lzaW9uIHsKICAgICBVc2UsCiAgICAgVmFs
aWRhdGUsCisgICAgQXN5bmNSZXZhbGlkYXRlLAogICAgIE5vRHVlVG9WYXJ5aW5nSGVhZGVyTWlz
bWF0Y2gsCiAgICAgTm9EdWVUb01pc3NpbmdWYWxpZGF0b3JGaWVsZHMsCiAgICAgTm9EdWVUb0Rl
Y29kZUZhaWx1cmUsCkBAIC0xNjcsNiArMTY5LDggQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKE5F
VFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQogICAgIFNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXIqIHNwZWN1bGF0aXZlTG9hZE1hbmFnZXIoKSB7IHJldHVybiBtX3NwZWN1bGF0aXZl
TG9hZE1hbmFnZXIuZ2V0KCk7IH0KKworICAgIHZvaWQgc3RhcnRBc3luY1JldmFsaWRhdGlvbklm
TmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IE5ldHdvcmtDYWNo
ZTo6S2V5Jiwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiwgY29uc3QgR2xvYmFsRnJhbWVJRCYpOwog
I2VuZGlmCiAKICAgICBOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MoKSB7IHJldHVybiBt
X25ldHdvcmtQcm9jZXNzLmdldCgpOyB9CkBAIC0xOTMsNiArMTk3LDggQEAgcHJpdmF0ZToKICNp
ZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyPiBtX2xvd1Bvd2VyTW9k
ZU5vdGlmaWVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyPiBt
X3NwZWN1bGF0aXZlTG9hZE1hbmFnZXI7CisKKyAgICBIYXNoTWFwPEtleSwgc3RkOjp1bmlxdWVf
cHRyPEFzeW5jUmV2YWxpZGF0aW9uPj4gbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zOwogI2Vu
ZGlmCiAKICAgICB1bnNpZ25lZCBtX3RyYXZlcnNlQ291bnQgeyAwIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZl
TG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXggNmM3MmZhYmU3MmUzNTk0NDhhN2MxYjI5MWNkOTBl
OTUwZTViYmU1NC4uMDFiYzg3ZmZlYzc5N2Y5ZDc3M2FkNThmZDliYjMyYzQxMWRlNDM0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcApAQCAtMTU1LDYgKzE1NSw0MyBAQCB2
b2lkIFNwZWN1bGF0aXZlTG9hZDo6ZGlkQ29tcGxldGUoKQogICAgIG1fY29tcGxldGlvbkhhbmRs
ZXIoV1RGTW92ZShtX2NhY2hlRW50cnkpKTsKIH0KIAorI2lmICFMT0dfRElTQUJMRUQKKworc3Rh
dGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJz
QSwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyc0IpCit7CisgICAgYXV0byBhRW5kID0gaGVh
ZGVyc0EuZW5kKCk7CisgICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0g
YUVuZDsgKytpdCkgeworICAgICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5r
ZXkpOworICAgICAgICBpZiAodmFsdWVCLmlzTnVsbCgpKQorICAgICAgICAgICAgTE9HKE5ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5
IGluIGZpcnN0IHJlcXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0
LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZh
bHVlQikKKyAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcs
ICIqICclcycgSFRUUCBoZWFkZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIs
IGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51
dGY4KCkuZGF0YSgpKTsKKyAgICB9CisgICAgYXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7Cisg
ICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgewor
ICAgICAgICBpZiAoIWhlYWRlcnNBLmNvbnRhaW5zKGl0LT5rZXkpKQorICAgICAgICAgICAgTE9H
KE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBp
cyBvbmx5IGluIHNlY29uZCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0
YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSk7CisgICAgfQorfQorCisjZW5kaWYKKworYm9v
bCByZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHNwZWN1bGF0aXZl
VmFsaWRhdGlvblJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkK
K3sKKyAgICBBU1NFUlQoIWFjdHVhbFJlcXVlc3QuaXNDb25kaXRpb25hbCgpKTsKKyAgICBSZXNv
dXJjZVJlcXVlc3Qgc3BlY3VsYXRpdmVSZXF1ZXN0ID0gc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVx
dWVzdDsKKyAgICBzcGVjdWxhdGl2ZVJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKworICAg
IGlmIChzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpICE9IGFjdHVhbFJlcXVl
c3QuaHR0cEhlYWRlckZpZWxkcygpKSB7CisgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZVByZWxvYWRpbmcsICJDYW5ub3QgcmV1c2Ugc3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQgZW50
cnkgYmVjYXVzZSBIVFRQIGhlYWRlcnMgdXNlZCBmb3IgdmFsaWRhdGlvbiBkbyBub3QgbWF0Y2gi
KTsKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgICAgIGR1bXBIVFRQSGVhZGVyc0RpZmYoc3BlY3Vs
YXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSwgYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVy
RmllbGRzKCkpOworI2VuZGlmCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0
dXJuIHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCmluZGV4IDU0MDZkOWY4
MjE4YjM4MDViNDY4YjY4OWM5YmUyY2Y4ZjYzODAwNGYuLmVmMjE4ZjM4NWFhNmU5ZDBlNzczNTYy
ZDhkMGU3ZjU3Zjg0NzRlMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaApAQCAt
NzgsNiArNzgsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaWRDb21wbGV0ZSB7IGZhbHNlIH07
CiB9OwogCitib29sIHJlcXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KTsKKwogfSAvLyBuYW1lc3BhY2UgTmV0d29ya0Nh
Y2hlCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVMb2FkTWFuYWdlci5jcHAKaW5kZXggNjc5NDAzOWI3ZTE5MTdhNGFhYmFkNGQyZDUwOGY3
Mzk1Mzc4NjU2Ny4uOTgwNmY2MmVhN2JiMDVjMGMzZWQ3MmFhZmRlNzQzZGQ1ZWRhYjgzMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC0yNTYs
NDMgKzI1Niw2IEBAIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6On5TcGVjdWxhdGl2ZUxvYWRNYW5h
Z2VyKCkKIHsKIH0KIAotI2lmICFMT0dfRElTQUJMRUQKLQotc3RhdGljIHZvaWQgZHVtcEhUVFBI
ZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRl
ck1hcCYgaGVhZGVyc0IpCi17Ci0gICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7Ci0gICAg
Zm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgewotICAg
ICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOwotICAgICAgICBpZiAo
dmFsdWVCLmlzTnVsbCgpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZl
UHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVlc3Qg
KHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0
YSgpKTsKLSAgICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKLSAgICAgICAgICAg
IExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFk
ZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgpLmRh
dGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsKLSAg
ICB9Ci0gICAgYXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0g
aGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgewotICAgICAgICBpZiAoIWhlYWRl
cnNBLmNvbnRhaW5zKGl0LT5rZXkpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29uZCBy
ZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRm
OCgpLmRhdGEoKSk7Ci0gICAgfQotfQotCi0jZW5kaWYKLQotc3RhdGljIGJvb2wgcmVxdWVzdHNI
ZWFkZXJzTWF0Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25S
ZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCi17Ci0gICAgQVNT
RVJUKCFhY3R1YWxSZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKSk7Ci0gICAgUmVzb3VyY2VSZXF1ZXN0
IHNwZWN1bGF0aXZlUmVxdWVzdCA9IHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3Q7Ci0gICAg
c3BlY3VsYXRpdmVSZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7Ci0KLSAgICBpZiAoc3BlY3Vs
YXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSAhPSBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFk
ZXJGaWVsZHMoKSkgewotICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2Fk
aW5nLCAiQ2Fubm90IHJldXNlIHNwZWN1bGF0aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJlY2F1c2Ug
SFRUUCBoZWFkZXJzIHVzZWQgZm9yIHZhbGlkYXRpb24gZG8gbm90IG1hdGNoIik7Ci0jaWYgIUxP
R19ESVNBQkxFRAotICAgICAgICBkdW1wSFRUUEhlYWRlcnNEaWZmKHNwZWN1bGF0aXZlUmVxdWVz
dC5odHRwSGVhZGVyRmllbGRzKCksIGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKTsK
LSNlbmRpZgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwot
fQotCiBib29sIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OmNhblVzZVByZWxvYWRlZEVudHJ5KGNv
bnN0IFByZWxvYWRlZEVudHJ5JiBlbnRyeSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxS
ZXF1ZXN0KQogewogICAgIGlmICghZW50cnkud2FzUmV2YWxpZGF0ZWQoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0Cmlu
ZGV4IGVkYmZiNTZlNDliYzJhMDNhOGFiZGJmODcxNDFkY2QwN2U1ZGE5M2YuLjNmN2QzZmI2MjE2
ZmZmYzZmM2JjYjJkM2ZkNTNiZWZhMTA0MTg2NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNzgsNiArNzgs
NyBAQCBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwCitOZXR3b3JrUHJvY2Vzcy9jYWNoZS9B
c3luY1JldmFsaWRhdGlvbi5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5j
cHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcAogTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
blJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uUmVmLmNwcAppbmRleCBkOWE4Y2RlOGNhNTQ4ZjFhOTk0NzYzOTZkYjQ5
YjMwY2NlZDdkNDk0Li44MTg3MDE0OWUxYzI3ZDM5M2I0ZTVhOGY4MjY4ZTVkMjU4NjBiNjI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uUmVmLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmLmNwcApAQCAtMTM5LDMgKzEzOSwx
MyBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25TZXRUZXN0aW5nU2Vzc2lv
bkVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlQwogewogICAgIFdlYktpdDo6dG9JbXBsKGNvbmZp
Z3VyYXRpb24pLT5zZXRUZXN0aW5nU2Vzc2lvbkVuYWJsZWQoZW5hYmxlZCk7CiB9CisKK2Jvb2wg
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbkdldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5h
YmxlZChXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3VyYXRpb24pCit7
CisgICAgcmV0dXJuIFdlYktpdDo6dG9JbXBsKGNvbmZpZ3VyYXRpb24pLT5zdGFsZVdoaWxlUmV2
YWxpZGF0ZUVuYWJsZWQoKTsKK30KKwordm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uU2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZp
Z3VyYXRpb25SZWYgY29uZmlndXJhdGlvbiwgYm9vbCBlbmFibGVkKQoreworICAgIFdlYktpdDo6
dG9JbXBsKGNvbmZpZ3VyYXRpb24pLT5zZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoZW5h
YmxlZCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dl
YnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmLmgKaW5kZXggNjRhZGVi
ODJmNzczMzlkNjM1MDE4ZjEwZGM3ZGVlMmUyNWM1Mzg2MS4uMjQwODQ4ODc0MjVkYWU2ZWJiNDZj
NmVlNTU3MTE5NGFlYjIxODBmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZi5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYu
aApAQCAtNjYsNiArNjYsOSBAQCBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVDb25m
aWd1cmF0aW9uU2V0TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aQogV0tfRVhQT1JUIGJv
b2wgV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbkdldFRlc3RpbmdTZXNzaW9uRW5hYmxl
ZChXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3VyYXRpb24pOwogV0tf
RVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblNldFRlc3RpbmdTZXNz
aW9uRW5hYmxlZChXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3VyYXRp
b24sIGJvb2wgZW5hYmxlZCk7CiAKK1dLX0VYUE9SVCBib29sIFdLV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb25HZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uKTsKK1dLX0VYUE9SVCB2b2lkIFdLV2Vi
c2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25TZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQo
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uLCBib29sIGVu
YWJsZWQpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNv
Y29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0
ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4IDI5ZTkwMDNmMDQ2ZjIxNzRjNzZiODRmNzFiNWVjODky
ZThhNDYwMjUuLjBmZjNlYTA5NjMxYjU3N2QxZWE3OTA4MjVlMzA1ZWU5MzIzZmJkYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVE
YXRhU3RvcmVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KQEAgLTE1MCw2ICsxNTAsNyBAQCBXZWJz
aXRlRGF0YVN0b3JlUGFyYW1ldGVycyBXZWJzaXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJzKCkKICAg
ICAgICAgbV9jb25maWd1cmF0aW9uLT5mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCgp
LAogICAgICAgICBtX2NvbmZpZ3VyYXRpb24tPm5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRh
dGlvbkVuYWJsZWQoKSwKICAgICAgICAgbV9jb25maWd1cmF0aW9uLT50ZXN0aW5nU2Vzc2lvbkVu
YWJsZWQoKSwKKyAgICAgICAgbV9jb25maWd1cmF0aW9uLT5zdGFsZVdoaWxlUmV2YWxpZGF0ZUVu
YWJsZWQoKSwKICAgICAgICAgbV9jb25maWd1cmF0aW9uLT50ZXN0U3BlZWRNdWx0aXBsaWVyKCks
CiAgICAgICAgIG1fY29uZmlndXJhdGlvbi0+c3VwcHJlc3Nlc0Nvbm5lY3Rpb25UZXJtaW5hdGlv
bk9uU3lzdGVtQ2hhbmdlKCksCiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uLmNwcAppbmRleCA1NDc1ODc0ZGQ2ZTdkMWFkMzQxZGE3MzZhMGNlNTQwNjBlOTllOTdh
Li4wY2IyNjhkN2EyNmVkZjJhMzNiZTA4ZDg3YzM0YmU0NWM0NGFhOGEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC01Niw2ICs1Niw3IEBAIFJlZjxXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246
OmNvcHkoKQogICAgIGNvcHktPm1fc2VydmljZVdvcmtlclByb2Nlc3NUZXJtaW5hdGlvbkRlbGF5
RW5hYmxlZCA9IHRoaXMtPm1fc2VydmljZVdvcmtlclByb2Nlc3NUZXJtaW5hdGlvbkRlbGF5RW5h
YmxlZDsKICAgICBjb3B5LT5tX2Zhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkID0gdGhp
cy0+bV9mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZDsKICAgICBjb3B5LT5tX25ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQgPSB0aGlzLT5tX25ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQ7CisgICAgY29weS0+bV9zdGFsZVdoaWxlUmV2
YWxpZGF0ZUVuYWJsZWQgPSB0aGlzLT5tX3N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZDsKICAg
ICBjb3B5LT5tX2NhY2hlU3RvcmFnZURpcmVjdG9yeSA9IHRoaXMtPm1fY2FjaGVTdG9yYWdlRGly
ZWN0b3J5OwogICAgIGNvcHktPm1fcGVyT3JpZ2luU3RvcmFnZVF1b3RhID0gdGhpcy0+bV9wZXJP
cmlnaW5TdG9yYWdlUXVvdGE7CiAgICAgY29weS0+bV9uZXR3b3JrQ2FjaGVEaXJlY3RvcnkgPSB0
aGlzLT5tX25ldHdvcmtDYWNoZURpcmVjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbi5oCmluZGV4IDg0Y2FhZjc0YTRjN2QyMGJkMzdkMjFjZGExY2RkNTJlMDVlYmE3YmMu
LmJmMDRiMzcxMDU4MGUyZTkwZTRmNzlkMzNmOGQ0YzExNmRmZTBjZWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaApAQCAtODQsMTAgKzg0LDEzIEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgdGVzdGluZ1Nlc3Npb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV90ZXN0aW5n
U2Vzc2lvbkVuYWJsZWQ7IH0KICAgICB2b2lkIHNldFRlc3RpbmdTZXNzaW9uRW5hYmxlZChib29s
IGVuYWJsZWQpIHsgbV90ZXN0aW5nU2Vzc2lvbkVuYWJsZWQgPSBlbmFibGVkOyB9Ci0gICAgCisK
KyAgICBib29sIHN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkOyB9CisgICAgdm9pZCBzZXRTdGFsZVdoaWxlUmV2
YWxpZGF0ZUVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fc3RhbGVXaGlsZVJldmFsaWRhdGVFbmFi
bGVkID0gZW5hYmxlZDsgfQorCiAgICAgdW5zaWduZWQgdGVzdFNwZWVkTXVsdGlwbGllcigpIGNv
bnN0IHsgcmV0dXJuIG1fdGVzdFNwZWVkTXVsdGlwbGllcjsgfQogICAgIHZvaWQgc2V0VGVzdFNw
ZWVkTXVsdGlwbGllcih1bnNpZ25lZCBtdWx0aXBsaWVyKSB7IG1fdGVzdFNwZWVkTXVsdGlwbGll
ciA9IG11bHRpcGxpZXI7IH0KLSAgICAKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIENGRGlj
dGlvbmFyeVJlZiBwcm94eUNvbmZpZ3VyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Byb3h5Q29u
ZmlndXJhdGlvbi5nZXQoKTsgfQogICAgIHZvaWQgc2V0UHJveHlDb25maWd1cmF0aW9uKENGRGlj
dGlvbmFyeVJlZiBjb25maWd1cmF0aW9uKSB7IG1fcHJveHlDb25maWd1cmF0aW9uID0gY29uZmln
dXJhdGlvbjsgfQpAQCAtMTU5LDYgKzE2Miw3IEBAIHByaXZhdGU6CiAjZWxzZQogICAgIGJvb2wg
bV9uZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKICNl
bmRpZgorICAgIGJvb2wgbV9zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgeyBmYWxzZSB9Owog
ICAgIFN0cmluZyBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeTsKICAgICBTdHJpbmcgbV9tZWRpYUtl
eXNTdG9yYWdlRGlyZWN0b3J5OwogICAgIFN0cmluZyBtX2RldmljZUlkSGFzaFNhbHRzU3RvcmFn
ZURpcmVjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDc3MmExMDA5ZDgxMGI4YmQzYWNhMDUxZTJiYjI0YzMzMTEzYWVlYjkuLjIx
ZDI2Zjk0OTI3NGI4YjQwYTQyMTUyYTExNDE4NjQ3YWNhZWIzODAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM5Miw2ICsxMzkyLDcg
QEAKIAkJQTc4Q0NEREMxOTNBQzlGQjAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29u
dGVudC5zYiBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTc4Q0NERDkxOTNBQzlFMzAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5z
YiAqLzsgfTsKIAkJQTdENzkyRDgxNzY3Q0NBMzAwODgxQ0JFIC8qIEFjdGl2aXR5QXNzZXJ0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q3OTJE
NDE3NjdDQjA5MDA4ODFDQkUgLyogQWN0aXZpdHlBc3NlcnRpb24uaCAqLzsgfTsKIAkJQUFCMTQ1
RTYyMjNGOTMxMjAwRTQ4OUQ4IC8qIFByZWZldGNoQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQjE0NUU0MjIzRjkzMTIwMEU0ODlEOCAvKiBQ
cmVmZXRjaENhY2hlLmggKi87IH07CisJCUFBRkE2MzRGMjM0RjdDNjQwMEZGQTg2NCAvKiBBc3lu
Y1JldmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQUFGQTYzNEUyMzRGN0M2MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggKi87
IH07CiAJCUI2MkU3MzEyMTQzMDQ3QjAwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2MkU3MzExMTQzMDQ3
QjAwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCODc4QjYxNTEzMzQyOERDMDA2ODg4RTkgLyogQ29y
cmVjdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCODc4QjYxMzEzMzQyOERDMDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmggKi87IH07
CiAJCUJDMDE3RDA3MTYyNjBGRjQwMDcwNTRGNSAvKiBXS0RPTURvY3VtZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0NGRjE2MjYwRkY0MDA3
MDU0RjUgLyogV0tET01Eb2N1bWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC00MTcyLDYgKzQxNzMsOCBAQAogCQlBN0U5M0NFQjE5MjUzMUFB
MDBBMURDNDggLyogQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgbmFtZSA9IEF1eGlsaWFyeVByb2Nlc3NJT1MubW07IHBhdGggPSBpb3MvQXV4
aWxpYXJ5UHJvY2Vzc0lPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFCMTQ1
RTQyMjNGOTMxMjAwRTQ4OUQ4IC8qIFByZWZldGNoQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUHJlZmV0Y2hDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBQUIxNDVFNTIyM0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmVmZXRjaENhY2hlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFGQTYzNEUyMzRGN0M2MzAwRkZBODY0IC8qIEFzeW5j
UmV2YWxpZGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jUmV2
YWxpZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRkE2MzUwMjM0RjdD
NzMwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBB
c3luY1JldmFsaWRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIzOTZF
QTU1MTJFMEVEMkQwMEY0RkVCNyAvKiBjb25maWcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gY29uZmlnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2MkU3MzBG
MTQzMDQ3QTYwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV0tIaXRUZXN0UmVzdWx0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjYyRTczMTExNDMwNDdCMDAwNjlFQzM1IC8qIFdLSGl0VGVzdFJlc3Vs
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0hpdFRlc3RSZXN1bHQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTkyMTEsNiArOTIxNCw4IEBACiAJCUU0ODlE
MjgyMUEwQTJCRTgwMDc4QzA2QSAvKiBjYWNoZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJQUFGQTYzNTAyMzRGN0M3MzAwRkZBODY0IC8qIEFzeW5jUmV2
YWxpZGF0aW9uLmNwcCAqLywKKwkJCQlBQUZBNjM0RTIzNEY3QzYzMDBGRkE4NjQgLyogQXN5bmNS
ZXZhbGlkYXRpb24uaCAqLywKIAkJCQk0MTg5N0VENjFGNDE1RDg2MDAxNkZBNDIgLyogQ2FjaGVT
dG9yYWdlRW5naW5lLmNwcCAqLywKIAkJCQk0MTg5N0VEMjFGNDE1RDg1MDAxNkZBNDIgLyogQ2Fj
aGVTdG9yYWdlRW5naW5lLmggKi8sCiAJCQkJNDFDODU4MTkxRjUxMERFRTAwNjVFMDg1IC8qIENh
Y2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcCAqLywKQEAgLTk0NTgsNiArOTQ2Myw3IEBACiAJCQkJ
QTE3NUM0NEEyMUFBMzE3MTAwMDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNFMUEwQkQyMUE0OEU2QzYwMDU0RUY3NCAvKiBBc3NlcnRpb25TZXJ2aWNl
c1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1RTc3MjgxODNERDZGNjAwMDcyMDNGIC8qIEFz
eW5jUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQUFGQTYzNEYyMzRGN0M2NDAwRkZBODY0
IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFOTY2RDExMkZB
RjU3MDA2QkNDMjQgLyogQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBMzE3MzIx
MzRDRUE2QzAwN0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxMkY1ODk3MTJBODgzODgwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5
LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCAwNGNlOTU2ZGRlY2FiMjk2MDZiYjdiNTgwYWUyOWM4OTA2NmUxMWFlLi5j
MWQxNTA5ZWE1YjRjODlmOWFmMzExMDg5YzlkMGQwYjI3YTA3YjVlIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTkt
MTEtMDYgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0
YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IGZvciB0aGUgdGVzdCBydW5uZXIuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OndlYnNpdGVEYXRh
U3RvcmUpOgorCiAyMDE5LTExLTA1ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KIAogICAgICAgICBFV1Mgc2hvdWxkIHJlcG9ydCB0ZXN0IGZhaWx1cmVzIGZyb20gY2xlYW4t
dHJlZSB0byByZXN1bHRzLndlYmtpdC5vcmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAKaW5kZXggOTgxMGM4OGQ1MGJmNGE3YTk4NDI0Njc0N2QwNzhmNGQzNmY3M2Nh
MC4uMGM1YWU0NDNkNDNmOTQ2MzkzOGI1Y2QzYjFjMjZlN2MzNzk5YWU4MSAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTUzMCw2ICs1MzAsNyBAQCBXS1dl
YnNpdGVEYXRhU3RvcmVSZWYgVGVzdENvbnRyb2xsZXI6OndlYnNpdGVEYXRhU3RvcmUoKQogICAg
ICAgICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblNldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NEaXJlY3RvcnkoY29uZmlndXJhdGlvbi5nZXQoKSwgdG9XSyh0ZW1wb3JhcnlGb2xk
ZXIgKyBwYXRoU2VwYXJhdG9yICsgIlJlc291cmNlTG9hZFN0YXRpc3RpY3MiKS5nZXQoKSk7CiAg
ICAgICAgICAgICBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0UGVyT3JpZ2luU3Rv
cmFnZVF1b3RhKGNvbmZpZ3VyYXRpb24uZ2V0KCksIDQwMCAqIDEwMjQpOwogICAgICAgICAgICAg
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblNldE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZl
VmFsaWRhdGlvbkVuYWJsZWQoY29uZmlndXJhdGlvbi5nZXQoKSwgdHJ1ZSk7CisgICAgICAgICAg
ICBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0U3RhbGVXaGlsZVJldmFsaWRhdGVF
bmFibGVkKGNvbmZpZ3VyYXRpb24uZ2V0KCksIHRydWUpOwogICAgICAgICAgICAgV0tXZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvblNldFRlc3RpbmdTZXNzaW9uRW5hYmxlZChjb25maWd1cmF0
aW9uLmdldCgpLCB0cnVlKTsKICAgICAgICAgfQogICAgICAgICBkYXRhU3RvcmUgPSBXS1dlYnNp
dGVEYXRhU3RvcmVDcmVhdGVXaXRoQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uLmdldCgpKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiNDIxMGQzOWM3MmM0NjkwY2NiYTkyZjM4Mzc2Yzg4ZWRjZDc3YmRiLi41NGRjNmFk
ZWJmNzliZjNjZDA1NDYwZWFlNDc0YzljYjc4MzZkZmJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTktMTEtMDYgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBw
b3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNraXAgbmV3bHkgaW1wb3J0ZWQgdGVz
dHMgZm9yIFdLMS4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTkt
MTEtMDUgIE9yaW9sIEJydWZhdSAgPG9icnVmYXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3Nz
LWxpc3RzXSBJbXBsZW1lbnQgbGlzdC1zdHlsZS10eXBlOiA8c3RyaW5nPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggMDJkMjMwM2Q4OWY5YmZkODlhNGIyMzIyN2QzN2ZjZGIyN2E0
NmYzZi4uOTMxNWU2NGQ1ODVmNWQzYWNkMzRiNGQ3MzAyNDYxYTc5MTU3NDk3MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMTEtMDYgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJl
dmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIFdQVCB0ZXN0cy4K
KworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jl
c291cmNlcy9zdGFsZS1jc3MucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2Vz
L3N0YWxlLWltYWdlLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFs
ZS1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAoaWRfdG9rZW4pOgorICAgICAgICAobWFpbik6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50
ZXJjZXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jLmJyb2FkY2FzdCk6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9y
dC5sb2c6IEFkZGVkLgorCiAyMDE5LTExLTA1ICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxp
YS5jb20+CiAKICAgICAgICAgW2Nzcy1saXN0c10gSW1wbGVtZW50IGxpc3Qtc3R5bGUtdHlwZTog
PHN0cmluZz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMv
aW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291
cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggYTY3ODRjNDRkMjliM2QwZDIxMzRk
MTM0MDk0NWY0N2U0MTdhMWU1Ny4uMjc0MDdiZjAxOTMwMDI1MjIyYmI5YWNkNGI3ZWEwMzczMDkx
MWZlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291
cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTE3Niw2ICsxNzYsNyBAQAogICAgICJ3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9yYW5nZSI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9mdWxsc2NyZWVuIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2dh
bWVwYWQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZ2VuZXJpYy1zZW5zb3Ii
OiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZiZjI2
ZjRhYjExYzc3N2FkZjI0OGFhMzdhYzBjNzcyODIzNzA3MgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
U2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9m
ZXRjaC1zdy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZiZjI2ZjRhYjExYzc3N2Fk
ZjI0OGFhMzdhYzBjNzcyODIzNzA3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgU2Vj
b25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0
cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lZmNlYmMyNGE2M2Y0MGRlNTRhNGMzOTkxYzkwNTBlYjc0NDg2
YTI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5TdGFsZSBSZXZhbGlkYXRpb24gUmVxdWVz
dHMgZG9uJ3QgZ2V0IHNlbnQgdG8gc2VydmljZSB3b3JrZXI8L3RpdGxlPgorICA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxw
ZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworICAvLyBEdXBsaWNhdGluZyB0
aGlzIHJlc291cmNlIHRvIG1ha2Ugc2VydmljZSB3b3JrZXIgc2NvcGluZyBzaW1wbGVyLgorICBh
c3luYyBmdW5jdGlvbiBzZXR1cFJlZ2lzdHJhdGlvbkFuZFdhaXRUb0JlQ29udHJvbGxlZCh0LCBz
Y29wZSkgeworICAgIGNvbnN0IGNvbnRyb2xsZWQgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4g
eworICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25jb250cm9sbGVyY2hhbmdlID0gKCkg
PT4geyByZXNvbHZlKCk7IH07CisgICAgfSk7CisgICAgY29uc3QgcmVnID0gYXdhaXQgbmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoJ3N3LWludGVyY2VwdC5qcycpOworICAgIGF3YWl0
IHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisgICAgYXdh
aXQgY29udHJvbGxlZDsKKyAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhfID0+IHJlZy51bnJl
Z2lzdGVyKCkpOworICAgIHJldHVybiByZWc7CisgIH0KKworICAvLyBVc2luZyAyNTBtcyBwb2xs
aW5nIGludGVydmFsIHRvIHByb3ZpZGUgZW5vdWdoICduZXR3b3JrIGNhbG1uZXNzJyB0byBnaXZl
CisgIC8vIHRoZSBiYWNrZ3JvdW5kIGxvdyBwcmlvcml0eSByZXZhbGlkYXRpb24gcmVxdWVzdCBh
IGNoYW5jZSB0byBraWNrIGluLgorICBmdW5jdGlvbiB3YWl0MjUwbXModGVzdCkgeworICAgIHJl
dHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIHRlc3Quc3RlcF90aW1lb3V0KCgp
ID0+IHsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgfSwgMjUwKTsKKyAgICB9KTsKKyAgfQor
CisgIHByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHZhciByZXF1ZXN0X3Rva2Vu
ID0gdG9rZW4oKTsKKyAgICBjb25zdCB1cmkgPSAncmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90
b2tlbj0nICsgcmVxdWVzdF90b2tlbjsKKworICAgIGF3YWl0IHNldHVwUmVnaXN0cmF0aW9uQW5k
V2FpdFRvQmVDb250cm9sbGVkKHRlc3QsICdyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5Jyk7CisK
KyAgICB2YXIgc2VydmljZV93b3JrZXJfY291bnQgPSAwOworICAgIG5hdmlnYXRvci5zZXJ2aWNl
V29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbiBvbmNlKGV2ZW50KSB7
CisgICAgICBpZiAoZXZlbnQuZGF0YS5lbmRzV2l0aCh1cmkpKSB7CisgICAgICAgIHNlcnZpY2Vf
d29ya2VyX2NvdW50Kys7CisgICAgICB9CisgICAgfSk7CisKKyAgICBjb25zdCByZXNwb25zZSA9
IGF3YWl0IGZldGNoKHVyaSk7CisgICAgY29uc3QgcmVzcG9uc2UyID0gYXdhaXQgZmV0Y2godXJp
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSwg
cmVzcG9uc2UyLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSk7CisgICAgd2hpbGUodHJ1ZSkgewor
ICAgICAgY29uc3QgcmV2YWxpZGF0aW9uX2NoZWNrID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9z
dGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworICAgICAgaWYg
KHJldmFsaWRhdGlvbl9jaGVjay5oZWFkZXJzLmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAgICAg
ICAgLy8gVGhlIHNlcnZpY2Ugd29ya2VyIHNob3VsZCBub3Qgc2VlIHRoZSByZXZhbGlkYXRpb24g
cmVxdWVzdC4KKyAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXJ2aWNlX3dvcmtlcl9jb3VudCwgMik7
CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgYXdhaXQgd2FpdDI1MG1zKHRlc3QpOwor
ICAgIH0KKyAgfSwgJ1NlY29uZCBmZXRjaCByZXR1cm5zIHNhbWUgcmVzcG9uc2UnKTsKKworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0
Y2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczMzkwYzdh
ZDU5NDhjNjgyYjJmYmRjYjNjOTVhNGMzNzRkYmJhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvZmV0Y2guaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlk
YXRlIGlzIG5vdCBleGVjdXRlZCBmb3IgZmV0Y2ggQVBJPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9u
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB3YWl0MjVtcyh0ZXN0KSB7
CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICB0ZXN0LnN0ZXBfdGltZW91
dCgoKSA9PiB7CisgICAgICByZXNvbHZlKCk7CisgICAgfSwgMjUpOworICB9KTsKK30KKworcHJv
bWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgIHZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4o
KTsKKworICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGByZXNvdXJjZXMvc3RhbGUtc2Ny
aXB0LnB5P3Rva2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKyAgY29uc3QgcmVzcG9uc2UyID0gYXdh
aXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49YCArIHJlcXVlc3RfdG9r
ZW4pOworCisgIGFzc2VydF9lcXVhbHMocmVzcG9uc2UuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcp
LCByZXNwb25zZTIuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpKTsKKworICB3aGlsZSh0cnVlKSB7
CisgICAgY29uc3QgcmV2YWxpZGF0aW9uX2NoZWNrID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9z
dGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworICAgIGlmIChy
ZXZhbGlkYXRpb25fY2hlY2suaGVhZGVycy5nZXQoJ0NvdW50JykgPT0gJzInKSB7CisgICAgICBi
cmVhazsKKyAgICB9CisgICAgYXdhaXQgd2FpdDI1bXModGVzdCk7CisgIH0KK30sICdTZWNvbmQg
ZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlJyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jl
c291cmNlcy9zdGFsZS1jc3MucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZhZTU0NmQwNjUxZjk3ZjMwMjA4Mjk0
NTJkYjYyMjU0ODZkYzQ1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNv
dXJjZXMvc3RhbGUtY3NzLnB5CkBAIC0wLDAgKzEsMjggQEAKK2RlZiBtYWluKHJlcXVlc3QsIHJl
c3BvbnNlKToKKworICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkK
KyAgICBpc19xdWVyeSA9IHJlcXVlc3QuR0VULmZpcnN0KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUK
KyAgICB3aXRoIHJlcXVlc3Quc2VydmVyLnN0YXNoLmxvY2s6CisgICAgICB2YWx1ZSA9IHJlcXVl
c3Quc2VydmVyLnN0YXNoLnRha2UodG9rZW4pCisgICAgICBjb3VudCA9IDAKKyAgICAgIGlmIHZh
bHVlICE9IE5vbmU6CisgICAgICAgIGNvdW50ID0gaW50KHZhbHVlKQorICAgICAgaWYgaXNfcXVl
cnk6CisgICAgICAgIGlmIGNvdW50IDwgMjoKKyAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFz
aC5wdXQodG9rZW4sIGNvdW50KQorICAgICAgZWxzZToKKyAgICAgICAgY291bnQgPSBjb3VudCAr
IDEKKyAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICBp
ZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNv
bnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6
CisgICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNrZ3JvdW5kOiByZ2IoMCwgMTI4LCAwKTsgfSIK
KyAgICAgIGlmIGNvdW50ID4gMToKKyAgICAgICAgY29udGVudCA9ICJib2R5IHsgYmFja2dyb3Vu
ZDogcmdiKDI1NSwgMCwgMCk7IH0iCisKKyAgICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LVR5cGUi
LCAidGV4dC9jc3MiKSwKKyAgICAgICAgICAgICAgICgiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRl
LCBtYXgtYWdlPTAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAiKV0KKworICAgICAgcmV0dXJu
IDIwMCwgaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1pbWFnZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1h
Z2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODM5ZWI4NGJiMzRiYmQxNWUyY2E3MDYxZWU0ZmE1NzI0ZDJjNjRm
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1h
Z2UucHkKQEAgLTAsMCArMSwzOCBAQAoraW1wb3J0IG9zLnBhdGgKKworZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgorCisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBO
b25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0g
Tm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0g
cmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAg
aWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAgY291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBp
c19xdWVyeToKKyAgICAgICAgaWYgY291bnQgPCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVy
LnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNv
dW50ICsgMQorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQor
CisgICAgaWYgaXNfcXVlcnk6CisgICAgICBoZWFkZXJzID0gWygiQ291bnQiLCBjb3VudCldCisg
ICAgICBjb250ZW50ID0gIiIKKyAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKKyAg
ICBlbHNlOgorICAgICAgZmlsZW5hbWUgPSAiZ3JlZW4tMTZ4MTYucG5nIgorICAgICAgaWYgY291
bnQgPiAxOgorICAgICAgICBmaWxlbmFtZSA9ICJncmVlbi0yNTZ4MjU2LnBuZyIKKworICAgICAg
cGF0aCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4vLi4vLi4v
aW1hZ2VzIiwgZmlsZW5hbWUpCisgICAgICBib2R5ID0gb3BlbihwYXRoLCAicmIiKS5yZWFkKCkK
KworICAgICAgcmVzcG9uc2UuYWRkX3JlcXVpcmVkX2hlYWRlcnMgPSBGYWxzZQorICAgICAgcmVz
cG9uc2Uud3JpdGVyLndyaXRlX3N0YXR1cygyMDApCisgICAgICByZXNwb25zZS53cml0ZXIud3Jp
dGVfaGVhZGVyKCJjb250ZW50LWxlbmd0aCIsIGxlbihib2R5KSkKKyAgICAgIHJlc3BvbnNlLndy
aXRlci53cml0ZV9oZWFkZXIoIkNhY2hlLUNvbnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBz
dGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwIikKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9o
ZWFkZXIoImNvbnRlbnQtdHlwZSIsICJpbWFnZS9wbmciKQorICAgICAgcmVzcG9uc2Uud3JpdGVy
LmVuZF9oZWFkZXJzKCkKKworICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlKGJvZHkpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhZDU0Njcx
ZjQyMTE3MzVmNTZkZjUwYTU1ZGVlYTZlZDI4MWQ1YTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weQpAQCAtMCwwICsxLDMyIEBACitp
bXBvcnQgcmFuZG9tLCBzdHJpbmcsIGRhdGV0aW1lCisKK2RlZiBpZF90b2tlbigpOgorICAgbGV0
dGVycyA9IHN0cmluZy5hc2NpaV9sb3dlcmNhc2UKKyAgIHJldHVybiAnJy5qb2luKHJhbmRvbS5j
aG9pY2UobGV0dGVycykgZm9yIGkgaW4gcmFuZ2UoMjApKQorCitkZWYgbWFpbihyZXF1ZXN0LCBy
ZXNwb25zZSk6CisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQor
ICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQor
ICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVz
dC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFs
dWUgIT0gTm9uZToKKyAgICAgICAgY291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBpc19xdWVy
eToKKyAgICAgICAgaWYgY291bnQgPCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNo
LnB1dCh0b2tlbiwgY291bnQpCisgICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNvdW50ICsg
MQorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorCisgICAg
aWYgaXNfcXVlcnk6CisgICAgICBoZWFkZXJzID0gWygiQ291bnQiLCBjb3VudCldCisgICAgICBj
b250ZW50ID0gIiIKKyAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKKyAgICBlbHNl
OgorICAgICAgdW5pcXVlX2lkID0gaWRfdG9rZW4oKQorICAgICAgaGVhZGVycyA9IFsoIkNvbnRl
bnQtVHlwZSIsICJ0ZXh0L2phdmFzY3JpcHQiKSwKKyAgICAgICAgICAgICAgICAgKCJDYWNoZS1D
b250cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIp
LAorICAgICAgICAgICAgICAgICAoIlVuaXF1ZS1JZCIsIHVuaXF1ZV9pZCldCisgICAgICBjb250
ZW50ID0gInJlcG9ydCgne30nKSIuZm9ybWF0KHVuaXF1ZV9pZCkKKyAgICAgIHJldHVybiAyMDAs
IGhlYWRlcnMsIGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc1YTc3MzJhNTY2ZDRhNmY1NzNjYzk3ZmQzZDE0NTQ2NTdkNDc2ODAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
CkBAIC0wLDAgKzEsMTkgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQK
KworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUK
K1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3Rh
bGUtY3NzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1jc3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhYzk5NDA1YTdiODljMTNlNTc4N2VhZjA3
OWVkNmYxNDg4ZThjMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUt
Y3NzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDYWNoZSByZXR1cm5zIHN0
YWxlIHJlc291cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU2MjYwZmRi
NDVjMGMyYzYwYjRkNzZmNjNhNzYzODlkZjgxOGIxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZh
bGlkYXRlIHdvcmtzIGZvciBjc3M8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwv
c2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorCit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7
Cithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4g
eworICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMod2luZG93
LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dy
b3VuZC1jb2xvcicpLCAicmdiKDAsIDEyOCwgMCkiKTsKKyAgICAgIHZhciBsaW5rMiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsKKyAgICAgIGxpbmsyLm9ubG9hZCA9IHQuc3RlcF9m
dW5jKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyksICJy
Z2IoMCwgMTI4LCAwKSIpOworICAgICAgICB2YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7CisgICAg
ICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0
aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAgZmV0Y2goInJlc291cmNlcy9zdGFsZS1jc3MucHk/
cXVlcnkmdG9rZW49IiArIHJlcXVlc3RfdG9rZW4pLnRoZW4odC5zdGVwX2Z1bmMoKHJlc3BvbnNl
KSA9PiB7CisgICAgICAgICAgICB2YXIgY291bnQgPSByZXNwb25zZS5oZWFkZXJzLmdldCgiQ291
bnQiKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA9PSAnMicpIHsKKyAgICAgICAgICAgICAgdC5k
b25lKCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICB0LnN0ZXBfdGltZW91
dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAgfQorICAgICAgICAgIH0pKTsKKyAgICAg
ICAgfTsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgIH0p
OworICAgICAgbGluazIucmVsID0gInN0eWxlc2hlZXQiOworICAgICAgbGluazIudHlwZSA9ICJ0
ZXh0L2NzcyI7CisgICAgICBsaW5rMi5ocmVmID0gInJlc291cmNlcy9zdGFsZS1jc3MucHk/dG9r
ZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxp
bmsyKTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9LCAnQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJj
ZScpOworCit2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsKK2xpbmsu
cmVsID0gInN0eWxlc2hlZXQiOworbGluay50eXBlID0gInRleHQvY3NzIjsKK2xpbmsuaHJlZiA9
ICJyZXNvdXJjZXMvc3RhbGUtY3NzLnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU0MjAxNGRlZmQ3MTkx
MDk2YzMzY2NlNTgzMGVmN2NhYTFhNTdhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisgCisKK1BBU1Mg
Q2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43OGE1YTA5YWIxNTExMjIwNGJhNjk1OTY1ZDYwYTZjMjBhNDg0YjVjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKQEAgLTAsMCAr
MSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSB3b3JrcyBmb3IgaW1hZ2VzPC90aXRsZT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPCEtLQorVXNlIGEgY2hp
bGQgZG9jdW1lbnQgdG8gbG9hZCB0aGUgc2Vjb25kIHN0YWxlIGltYWdlIGludG8gYmVjYXVzZQor
YW4gaW1hZ2UgbG9hZGVkIGludG8gdGhlIHNhbWUgZG9jdW1lbnQgd2lsbCBza2lwIGNhY2hlLWNv
bnRyb2wgaGVhZGVycy4KK1NlZTogaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWxp
c3Qtb2YtYXZhaWxhYmxlLWltYWdlcworLS0+Cis8aWZyYW1lIGlkPSJjaGlsZCIgc3JjZG9jPSIi
PjwvaWZyYW1lPgorPHNjcmlwdD4KK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5j
X3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAg
dC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZmlyc3RpbWFnZSIpLndpZHRoLCAxNiwgIldpZHRoIGlzIDE2Iik7CisgICAg
ICB2YXIgY2hpbGREb2N1bWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGlsZCcpLmNv
bnRlbnREb2N1bWVudDsKKyAgICAgIHZhciBpbWcyID0gY2hpbGREb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpbWciKTsKKyAgICAgIGltZzIub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGltZzIud2lkdGgsIDE2LCAiaW1hZ2UgZGltZW5zaW9uIik7Cisg
ICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAvLyBXZSBwb2xsIGJl
Y2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAg
ICAgICAgICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5P3F1ZXJ5JnRva2VuPSIgKyBy
ZXF1ZXN0X3Rva2VuKS50aGVuKHQuc3RlcF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAg
ICAgdmFyIGNvdW50ID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoIkNvdW50Iik7CisgICAgICAgICAg
ICBpZiAoY291bnQgPT0gJzInKSB7CisgICAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9KSk7CisgICAgICAgIH07CisgICAgICAgIHQu
c3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICB9KTsKKyAgICAgIGltZzIuc3Jj
ID0gInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAg
ICAgIGNoaWxkRG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWcyKTsKKyAgICB9LCAwKTsKKyAg
fSk7Cit9LCAnQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZScpOworCit2YXIgaW1nID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CitpbWcuc3JjID0gInJlc291cmNlcy9zdGFsZS1p
bWFnZS5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKK2ltZy5pZCA9ICJmaXJzdGltYWdlIjsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWM5OTQw
NWE3Yjg5YzEzZTU3ODdlYWYwNzllZDZmMTQ4OGU4YzEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlw
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY4NzkzZTUwMDU2YmM2MDUzZWE0MTBkNjU4YWVkMzczZDE5Zjlh
NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwK
QEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSB3b3JrcyBmb3Igc2NyaXB0czwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+Cit2YXIgbGFzdF9tb2RpZmllZDsKK3ZhciBsYXN0X21vZGlmaWVkX2NvdW50ID0gMDsKK3Zh
ciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKworLy8gVGhlIHNjcmlwdCB3aWxsIGNhbGwgcmVw
b3J0IHZpYSBhIHVuaXF1ZWx5IGdlbmVyYXRlZCBJRCBvbiB0aGUgc3VicmVzb3VyY2UuCisvLyBJ
ZiBpdCBpcyBhIGNhY2hlIGhpdCB0aGUgSUQgd2lsbCBiZSB0aGUgc2FtZSBhbmQgdGhlIHRlc3Qg
d2lsbCBwYXNzLgorZnVuY3Rpb24gcmVwb3J0KG1vZCkgeworICBpZiAoIWxhc3RfbW9kaWZpZWQp
IHsKKyAgICBsYXN0X21vZGlmaWVkID0gbW9kOworICAgIGxhc3RfbW9kaWZpZWRfY291bnQgPSAx
OworICB9IGVsc2UgaWYgKGxhc3RfbW9kaWZpZWQgPT0gbW9kKSB7CisgICAgbGFzdF9tb2RpZmll
ZF9jb3VudCsrOworICB9Cit9CisKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQg
PSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIHZh
ciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAgICAgIHNjcmlw
dC5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0iICsgcmVxdWVzdF90b2tl
bjsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKKyAgICAgIHNjcmlw
dC5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhs
YXN0X21vZGlmaWVkX2NvdW50LCAyLCAibGFzdCBtb2RpZmllZCIpOworICAgICAgICAgIHZhciBj
aGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAgIC8vIFdlIHBvbGwgYmVjYXVzZSB3ZSBk
b24ndCBrbm93IHdoZW4gdGhlIHJldmFsaWRhdGlvbiB3aWxsIG9jY3VyLgorICAgICAgICAgICAg
ZmV0Y2goInJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49IiArIHJlcXVlc3Rf
dG9rZW4pLnRoZW4odC5zdGVwX2Z1bmMoKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICAgIHZh
ciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgICBp
ZiAoY291bnQgPT0gJzInKSB7CisgICAgICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3Vs
dCwgMjUpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KSk7CisgICAgICAgICAgfTsK
KyAgICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7Cisg
ICAgfSwgMCk7CisgIH0pOworfSwgJ0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwor
dmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworc2NyaXB0LnNy
YyA9ICJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N3LWludGVyY2VwdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kY2E3ZGU1MWIwYjhjNTUxODI3NmU3MGFl
MjE5YjdiYzhmODY5YTk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWlu
dGVyY2VwdC5qcwpAQCAtMCwwICsxLDE0IEBACithc3luYyBmdW5jdGlvbiBicm9hZGNhc3QobXNn
KSB7CisgIGZvciAoY29uc3QgY2xpZW50IG9mIGF3YWl0IGNsaWVudHMubWF0Y2hBbGwoKSkgewor
ICAgIGNsaWVudC5wb3N0TWVzc2FnZShtc2cpOworICB9Cit9CisKK3NlbGYuYWRkRXZlbnRMaXN0
ZW5lcignZmV0Y2gnLCBldmVudCA9PiB7CisgIGV2ZW50LndhaXRVbnRpbChicm9hZGNhc3QoZXZl
bnQucmVxdWVzdC51cmwpKTsKKyAgZXZlbnQucmVzcG9uZFdpdGgoZmV0Y2goZXZlbnQucmVxdWVz
dCkpOworfSk7CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignYWN0aXZhdGUnLCBldmVudCA9PiB7
CisgIHNlbGYuY2xpZW50cy5jbGFpbSgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWI5ZGQwNmY4NDZhNzA2OGZlYTJiODI4NzgxYWQ3NWNjMTk4ZTdhMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBA
CitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0Rv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9mZXRjaC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2Ny
aXB0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYzMwOTczNDEzYjdhZTFj
YTdhYjIxOGJjMzdmMGI1ZWNkZWJhYzM4NS4uZjFmZDdhMGI3ZTc3NGI1ZWQyOTMxOTFlNjcwZmE0
MGE2MDkzOGUzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjAwNSw0ICsyMDA1LDcgQEAgaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmct
aHRtbC0yZC5odG1sCiB3ZWJraXQub3JnL2IvMTU5NzI0IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXBvc3QtdXBsb2FkLmh0bSBbIFNr
aXAgXQogCiAjIFNraXAgSXNMb2dnZWRJbgotaHR0cC90ZXN0cy9pcy1sb2dnZWQtaW4vIFsgU2tp
cCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoraHR0cC90ZXN0cy9pcy1sb2dnZWQtaW4v
IFsgU2tpcCBdCisKKyMgU3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBpcyBub3Qgc3VwcG9ydGVkIG9u
IFdLMQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggYzVjMGFmNjc2NDJlZWY0Mjc3NTA1ZjUzZmRiMjkwOGIyYWIxOTYw
ZS4uNmRjNWM0YTE3YWNjNzI3MTFiYTcyYzhiMTdmNTYxYWY0YmIxMmViMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODIyLDMgKzgyMiw2
IEBAIHdlYmtpdC5vcmcvYi8yMDM1MDEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uCiB3ZWJraXQub3JnL2IvMjAzNTAxIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi10cmFu
c2Zvcm0tcGF1c2UtYW5kLXNldC10aW1lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogd2Vi
a2l0Lm9yZy9iLzIwMzUxNyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2l6aW5nL2R5bmFtaWMtYXZhaWxhYmxlLXNpemUtaWZyYW1lLmh0bWwgWyBQYXNzIEltYWdlT25s
eUZhaWx1cmUgXQorCisjIFN0YWxlLXdoaWxlLXJldmFsaWRhdGUgaXMgbm90IHN1cHBvcnRlZCBv
biBXSzEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZSBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383356</attachid>
            <date>2019-11-12 08:25:53 -0800</date>
            <delta_ts>2019-11-12 13:31:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191112172550.patch</filename>
            <type>text/plain</type>
            <size>73362</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzdlMjI3MmI5YjI0Y2M3
NGVjYzhhOTliMzFkZWIwYjI2ZDBmZWM4ZS4uNDg1MTIxZjdmY2M5YzBiZDJjNzliZGY1NTRkN2U4
ZTU1NDNjN2NmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTExLTEyICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBwYXJzaW5nIHRoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlCisgICAgICAgIGFuZCBleHBvc2UgaXQgb24gUmVzb3Vy
Y2VSZXNwb25zZS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3Nz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2Fj
aGVWYWxpZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGly
ZWN0aXZlcyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xTdGFsZVdo
aWxlUmV2YWxpZGF0ZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlc3BvbnNlQmFzZS5oOgorCiAyMDE5LTExLTExICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBNYW55IGxlZ2FjeSBhbmltYXRpb24gdGVzdHMgYXJlIHRp
bWluZyBvdXQgd2l0aCBWUzIwMTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjA3YmJiNjIzYzU0NmNjZjdlZTM4NWE0
ZmEwMmU3ZTFiZGViNWYzZi4uNGNlZWJjMDlkZDk3YjhlMDkyZWJkNTJmNGZjZDA4M2Q3MTNmNjgz
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MyBAQAorMjAxOS0xMS0xMiAgUm9iIEJ1aXMgIDxyYnVp
c0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBj
YWNoZSBzdHJhdGVneQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgbmV3IFVzZURlY2lzaW9uIHZhbHVlIEFzeW5jUmV2YWxpZGF0ZSBmb3IgYXN5
bmMgcmV2YWxpZGF0aW9uLiBUaGlzIGlzIHVzZWQKKyAgICAgICAgd2hlbiB0aGUgcmV0cmlldmVk
IGNhY2hlIGVudHJ5IGlzIGEgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSByZXNwb25zZSBbMV0uCisg
ICAgICAgIEluIGNhc2Ugb2YgQXN5bmNSZXZhbGlkYXRlLCBhIGNoZWNrIGlzIG1hZGUgdG8gc2Vl
IGlmIHRoZXJlIGlzIGEKKyAgICAgICAgY3VycmVudCBhc3luYyByZXZhbGlkYXRpb24gb25nb2lu
ZyBmb3IgdGhlIGVudHJ5LCBpZiBub3Qgb25lIGlzCisgICAgICAgIHN0YXJ0ZWQuIFJlZ2FyZGxl
c3MsIHRoZSBzdGFsZSBlbnRyeSBpcyByZXR1cm5lZCwgdW50aWwgZWl0aGVyIHRoZQorICAgICAg
ICBhc3luYyByZXZhbGlkYXRpb24gZW5kcyBzdWNjZXNzZnVsbHkgb3IgYXQgdGhlIG1vbWVudCB3
aGVuIHRoZQorICAgICAgICByZXNwb25zZSBleHBpcmVzIGZvciByZWFsLgorCisgICAgICAgIFsx
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC1zdGFsZS13aGlsZS1yZXZh
bGlkYXRlLXJlc3BvbnNlCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpOZXR3b3JrU2Vzc2lvbik6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Nlc3Npb246OmlzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkIGNvbnN0
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1l
dGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0
ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
U2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDYWNoZTo6Y29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5k
aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpBc3luY1JldmFsaWRhdGlvbjo6
QXN5bmNSZXZhbGlkYXRpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5j
UmV2YWxpZGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFz
eW5jUmV2YWxpZGF0aW9uOjpsb2FkIGNvbnN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJl
c3BvbnNlTmVlZHNSZXZhbGlkYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
Om1ha2VVc2VEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6bWFrZVN0
b3JlRGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpzdGFy
dEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6OkNhY2hlOjpyZXRyaWV2ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVz
cG9uc2VIYXNFeHBpcmVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
OmR1bXBIVFRQSGVhZGVyc0RpZmYpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJl
cXVlc3RzSGVhZGVyc01hdGNoKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpkdW1wSFRUUEhlYWRlcnNEaWZmKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXF1ZXN0c0hlYWRlcnNNYXRjaCk6IERlbGV0ZWQuCisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYuY3BwOgorICAgICAgICAoV0tXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbkdldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCk6CisgICAgICAg
IChXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0U3RhbGVXaGlsZVJldmFsaWRhdGVF
bmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29u
ZmlndXJhdGlvblJlZi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9X
ZWJzaXRlRGF0YVN0b3JlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3Rv
cmU6OnBhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uOjpjb3B5IGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYktp
dDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5h
YmxlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uOjpzZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQpOgorICAgICAgICAqIFdlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTExLTEyICBDYXJsb3MgQWxiZXJ0byBM
b3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gRW5h
YmxlIENTUyBQYWludGluZyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcAppbmRleCA0OTU5MDUwNjc5Y2UwNTA0ODQyNDQ3ZWIx
ZjVhMGJmOGE2NzY4M2NlLi4yZDM1MDdkZjIzN2RiMjk1ZDU5MzFhNGMwZGY3NjAyNzc3ZGU3Yjhi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlk
YXRpb24uY3BwCkBAIC0zMTMsOCArMzEzLDE4IEBAIENhY2hlQ29udHJvbERpcmVjdGl2ZXMgcGFy
c2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMpCiAg
ICAgICAgICAgICAgICAgZG91YmxlIG1heFN0YWxlID0gZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9E
b3VibGUoJm9rKTsKICAgICAgICAgICAgICAgICBpZiAob2spCiAgICAgICAgICAgICAgICAgICAg
IHJlc3VsdC5tYXhTdGFsZSA9IFNlY29uZHMgeyBtYXhTdGFsZSB9OwotICAgICAgICAgICAgfSBl
bHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0
LCAiaW1tdXRhYmxlIikpCisgICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGRpcmVjdGl2ZXNbaV0uZmlyc3QsICJpbW11dGFibGUiKSkgewogICAgICAg
ICAgICAgICAgIHJlc3VsdC5pbW11dGFibGUgPSB0cnVlOworICAgICAgICAgICAgfSBlbHNlIGlm
IChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAic3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGFs
ZVdoaWxlUmV2YWxpZGF0ZSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGaXJzdCBzdGFsZS13
aGlsZS1yZXZhbGlkYXRlIGRpcmVjdGl2ZSB3aW5zIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBvbmVz
LgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgYm9vbCBvazsKKyAgICAgICAgICAgICAgICBkb3VibGUgc3RhbGVXaGlsZVJl
dmFsaWRhdGUgPSBkaXJlY3RpdmVzW2ldLnNlY29uZC50b0RvdWJsZSgmb2spOworICAgICAgICAg
ICAgICAgIGlmIChvaykKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnN0YWxlV2hpbGVSZXZh
bGlkYXRlID0gU2Vjb25kcyB7IHN0YWxlV2hpbGVSZXZhbGlkYXRlIH07CisgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0NhY2hlVmFsaWRhdGlvbi5oCmluZGV4IDU2ZWZlYTYyMTU0NDc5NTA2YTE2NjRmZmQwOGUw
OGFiMmM1NTZiY2QuLjA0MGE5Njk3ZTVmYTgyZTFhZjUwZmZhOWFkMTkyNzI3ZjNiNzg0MTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24u
aApAQCAtNjksNiArNjksNyBAQCBzdHJ1Y3QgQ2FjaGVDb250cm9sRGlyZWN0aXZlcyB7CiAKICAg
ICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNvbmRzOjpNYXJrYWJsZVRyYWl0cz4gbWF4QWdlOwogICAg
IE1hcmthYmxlPFNlY29uZHMsIFNlY29uZHM6Ok1hcmthYmxlVHJhaXRzPiBtYXhTdGFsZTsKKyAg
ICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNvbmRzOjpNYXJrYWJsZVRyYWl0cz4gc3RhbGVXaGlsZVJl
dmFsaWRhdGU7CiAgICAgYm9vbCBub0NhY2hlIDogMTsKICAgICBib29sIG5vU3RvcmUgOiAxOwog
ICAgIGJvb2wgbXVzdFJldmFsaWRhdGUgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAppbmRleCA2ZWQyN2Yz
YjIwODU4MmMxYjYwYzY0ZTE0NTQ0NmNhNjI2YzM0MWI2Li43NTQ5ZTUxMGNjNTc5MzAyYTk5NzQ3
NjQ5ZWJmZmY1ZTI5ODFlNmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcApAQCAtNjU3LDYgKzY1NywxMyBA
QCBPcHRpb25hbDxTZWNvbmRzPiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250cm9sTWF4
QWdlKCkgY29uc3QKICAgICByZXR1cm4gbV9jYWNoZUNvbnRyb2xEaXJlY3RpdmVzLm1heEFnZTsK
IH0KIAorT3B0aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJv
bFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1faGF2ZVBhcnNlZENh
Y2hlQ29udHJvbEhlYWRlcikKKyAgICAgICAgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKCk7
CisgICAgcmV0dXJuIG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5zdGFsZVdoaWxlUmV2YWxpZGF0
ZTsKK30KKwogc3RhdGljIE9wdGlvbmFsPFdhbGxUaW1lPiBwYXJzZURhdGVWYWx1ZUluSGVhZGVy
KGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMsIEhUVFBIZWFkZXJOYW1lIGhlYWRlck5hbWUp
CiB7CiAgICAgU3RyaW5nIGhlYWRlclZhbHVlID0gaGVhZGVycy5nZXQoaGVhZGVyTmFtZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmgKaW5kZXggZTdhOGYzYjVlNmI0MTM4NWRmODIzMTFmZGEyMTkzODMwODNjM2UwNS4u
YzBjYWVkMGRhNGE3MmRkYzBlYzZjMTJhZGRkNTM4YjYyOWVmZTVjZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApA
QCAtMTM3LDYgKzEzNyw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGNhY2hl
Q29udHJvbENvbnRhaW5zSW1tdXRhYmxlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9v
bCBoYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9w
dGlvbmFsPFNlY29uZHM+IGNhY2hlQ29udHJvbE1heEFnZSgpIGNvbnN0OworICAgIFdFQkNPUkVf
RVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRl
KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8V2FsbFRpbWU+IGRhdGUoKSBj
b25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxTZWNvbmRzPiBhZ2UoKSBjb25zdDsK
ICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxXYWxsVGltZT4gZXhwaXJlcygpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAppbmRl
eCBjNWIyNWZhNzUyNzJkMzg5NWY0OTYzOWY2NGM0YTZhMjQyOTE4Zjc5Li5iNWM1OTUwNmI0NDU1
NWMxOWRmYzgyYzMzNTI4MjI0OWQwZDBlZjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcApAQCAtMTA4LDYgKzEwOCw4IEBAIE5ldHdvcmtT
ZXNzaW9uOjpOZXR3b3JrU2Vzc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNv
bnN0IE5ldHdvcmtTZXNzCiAgICAgICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVy
bWFuZW50bHkocGFyYW1ldGVycy5yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5RXh0ZW5z
aW9uSGFuZGxlKTsKICAgICB9CiAKKyAgICBtX2lzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVk
ID0gcGFyYW1ldGVycy5zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQ7CisKICAgICBtX2FkQ2xp
Y2tBdHRyaWJ1dGlvbi0+c2V0UGluZ0xvYWRGdW5jdGlvbihbdGhpcywgd2Vha1RoaXMgPSBtYWtl
V2Vha1B0cih0aGlzKV0oTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJiBsb2FkUGFyYW1l
dGVycywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKaW5kZXggZTZiYTdkODA1
Mjc4ZDdlYzU2YWJkY2VmMmUwNjA5YzE2NzFjYzk3YS4uZjI1ZGQ2NTViYjc4ZTllODZmNmM2NGE5
YWIyNjFjYzZlNDA5M2FkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Nlc3Npb24uaApAQCAtMTI0LDYgKzEyNCw4IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVk
IHRlc3RTcGVlZE11bHRpcGxpZXIoKSBjb25zdCB7IHJldHVybiBtX3Rlc3RTcGVlZE11bHRpcGxp
ZXI7IH0KIAorICAgIGJvb2wgaXNTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkOyB9CisKIHByb3RlY3RlZDoK
ICAgICBOZXR3b3JrU2Vzc2lvbihOZXR3b3JrUHJvY2VzcyYsIGNvbnN0IE5ldHdvcmtTZXNzaW9u
Q3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKQEAgLTE0NCw2ICsxNDYsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgYm9vbCBtX2Rvd25ncmFkZVJlZmVycmVyIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV90aGlyZFBh
cnR5Q29va2llQmxvY2tpbmdFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgorICAgIGJvb2wgbV9p
c1N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgVW5pcXVlUmVmPEFk
Q2xpY2tBdHRyaWJ1dGlvbk1hbmFnZXI+IG1fYWRDbGlja0F0dHJpYnV0aW9uOwogCiAgICAgSGFz
aFNldDxSZWY8TmV0d29ya1Jlc291cmNlTG9hZGVyPj4gbV9rZXB0QWxpdmVMb2FkczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vz
c2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggMDM4YzI1MDUxYzRhZWEyY2FlMTk1NGQ3
NmE5ZDc5OTQ0NTY2MTI0MC4uM2U4NWJlYTk0MzJmNzg2MGY4Mzg1Yzk3ZjdjMWVlODA0ZTc1OTkx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lv
bkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTc4LDYgKzc4LDcgQEAg
dm9pZCBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRp
b25FbmFibGVkOwogICAgIGVuY29kZXIgPDwgbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0
aW9uRW5hYmxlZDsKICAgICBlbmNvZGVyIDw8IHNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lv
bjsKKyAgICBlbmNvZGVyIDw8IHN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZDsKICAgICBlbmNv
ZGVyIDw8IHRlc3RTcGVlZE11bHRpcGxpZXI7CiAgICAgZW5jb2RlciA8PCBzdXBwcmVzc2VzQ29u
bmVjdGlvblRlcm1pbmF0aW9uT25TeXN0ZW1DaGFuZ2U7CiB9CkBAIC0yNDMsNyArMjQ0LDEyIEBA
IE9wdGlvbmFsPE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzPiBOZXR3b3JrU2Vzc2lv
bkNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjCiAgICAgZGVjb2RlciA+PiBzaG91bGRVc2VUZXN0aW5n
TmV0d29ya1Nlc3Npb247CiAgICAgaWYgKCFzaG91bGRVc2VUZXN0aW5nTmV0d29ya1Nlc3Npb24p
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgCisKKyAgICBPcHRpb25hbDxib29s
PiBzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQ7CisgICAgZGVjb2RlciA+PiBzdGFsZVdoaWxl
UmV2YWxpZGF0ZUVuYWJsZWQ7CisgICAgaWYgKCFzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQp
CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKICAgICBPcHRpb25hbDx1bnNpZ25lZD4g
dGVzdFNwZWVkTXVsdGlwbGllcjsKICAgICBkZWNvZGVyID4+IHRlc3RTcGVlZE11bHRpcGxpZXI7
CiAgICAgaWYgKCF0ZXN0U3BlZWRNdWx0aXBsaWVyKQpAQCAtMjkyLDYgKzI5OCw3IEBAIE9wdGlv
bmFsPE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzPiBOZXR3b3JrU2Vzc2lvbkNyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjCiAgICAgICAgICwgV1RGTW92ZSgqZmFzdFNlcnZlclRydXN0RXZh
bHVhdGlvbkVuYWJsZWQpCiAgICAgICAgICwgV1RGTW92ZSgqbmV0d29ya0NhY2hlU3BlY3VsYXRp
dmVWYWxpZGF0aW9uRW5hYmxlZCkKICAgICAgICAgLCBXVEZNb3ZlKCpzaG91bGRVc2VUZXN0aW5n
TmV0d29ya1Nlc3Npb24pCisgICAgICAgICwgV1RGTW92ZSgqc3RhbGVXaGlsZVJldmFsaWRhdGVF
bmFibGVkKQogICAgICAgICAsIFdURk1vdmUoKnRlc3RTcGVlZE11bHRpcGxpZXIpCiAgICAgICAg
ICwgV1RGTW92ZSgqc3VwcHJlc3Nlc0Nvbm5lY3Rpb25UZXJtaW5hdGlvbk9uU3lzdGVtQ2hhbmdl
KQogICAgIH19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDUwMTI1MmM4Yjhl
MDU5ZWRlYmU3MzEwMzI2NDdmZTE4NDY1YzUwMWEuLmFjNDM2YTNkMzgxODBhMTcwMTlmYjk1Mjk1
OWJjNDZjY2FjN2IyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTk2LDYg
Kzk2LDcgQEAgc3RydWN0IE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBi
b29sIGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29s
IG5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uIHsgZmFsc2UgfTsKKyAgICBib29s
IHN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgdW5zaWduZWQgdGVz
dFNwZWVkTXVsdGlwbGllciB7IDEgfTsKICAgICBib29sIHN1cHByZXNzZXNDb25uZWN0aW9uVGVy
bWluYXRpb25PblN5c3RlbUNoYW5nZSB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMmE0ODg2MGU0NjJmZDk1NTllNDU4NzIyMmJkODhmYzM0NTk2MTYxCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFs
aWRhdGlvbi5jcHAKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBJ
Z2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXN5
bmNSZXZhbGlkYXRpb24uaCIKKworI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZF
X1JFVkFMSURBVElPTikKKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlVmFsaWRhdGlvbi5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
bmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CisKK3N0YXRpYyBpbmxpbmUgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0IGNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3QoY29uc3QgS2V5JiBrZXksIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgRW50cnkmIGVudHJ5
KQoreworICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXZhbGlkYXRpb25SZXF1ZXN0ID0g
cmVxdWVzdDsKKyAgICBpZiAoIWtleS5wYXJ0aXRpb24oKS5pc0VtcHR5KCkpCisgICAgICAgIHJl
dmFsaWRhdGlvblJlcXVlc3Quc2V0Q2FjaGVQYXJ0aXRpb24oa2V5LnBhcnRpdGlvbigpKTsKKyAg
ICBBU1NFUlRfV0lUSF9NRVNTQUdFKGtleS5yYW5nZSgpLmlzRW1wdHkoKSwgInJhbmdlIGlzIG5v
dCBzdXBwb3J0ZWQiKTsKKworICAgIHJldmFsaWRhdGlvblJlcXVlc3QubWFrZVVuY29uZGl0aW9u
YWwoKTsKKyAgICBhdXRvIGVUYWcgPSBlbnRyeS5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChX
ZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6RVRhZyk7CisgICAgaWYgKCFlVGFnLmlzRW1wdHkoKSkK
KyAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoV2ViQ29yZTo6
SFRUUEhlYWRlck5hbWU6OklmTm9uZU1hdGNoLCBlVGFnKTsKKworICAgIFN0cmluZyBsYXN0TW9k
aWZpZWQgPSBlbnRyeS5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQSGVh
ZGVyTmFtZTo6TGFzdE1vZGlmaWVkKTsKKyAgICBpZiAoIWxhc3RNb2RpZmllZC5pc0VtcHR5KCkp
CisgICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKFdlYkNvcmU6
OkhUVFBIZWFkZXJOYW1lOjpJZk1vZGlmaWVkU2luY2UsIGxhc3RNb2RpZmllZCk7CisKKyAgICBy
ZXZhbGlkYXRpb25SZXF1ZXN0LnNldFByaW9yaXR5KFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9y
aXR5OjpMb3cpOworCisgICAgcmV0dXJuIHJldmFsaWRhdGlvblJlcXVlc3Q7Cit9CisKK3ZvaWQg
QXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5kaW5nKCkKK3sKKyAgICBp
ZiAobV9jb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlcihSZXN1
bHQ6OlRpbWVvdXQpOworfQorCitBc3luY1JldmFsaWRhdGlvbjo6QXN5bmNSZXZhbGlkYXRpb24o
Q2FjaGUmIGNhY2hlLCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6
OkVudHJ5PiYmIGVudHJ5LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlc3VsdCk+JiYgaGFuZGxl
cikKKyAgICA6IG1fdGltZXIoKnRoaXMsICZBc3luY1JldmFsaWRhdGlvbjo6c3RhbGVXaGlsZVJl
dmFsaWRhdGVFbmRpbmcpCisgICAgLCBtX2NvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoaGFuZGxl
cikpCit7CisgICAgYXV0byBrZXkgPSBlbnRyeS0+a2V5KCk7CisgICAgYXV0byByZXZhbGlkYXRp
b25SZXF1ZXN0ID0gY29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdChrZXksIHJlcXVlc3QsICpl
bnRyeS5nZXQoKSk7CisgICAgYXV0byBhZ2UgPSBXZWJDb3JlOjpjb21wdXRlQ3VycmVudEFnZShl
bnRyeS0+cmVzcG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICBhdXRvIGxpZmV0aW1l
ID0gV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShlbnRyeS0+
cmVzcG9uc2UoKSwgZW50cnktPnRpbWVTdGFtcCgpKTsKKyAgICBhdXRvIHJlc3BvbnNlTWF4U3Rh
bGVuZXNzID0gZW50cnktPnJlc3BvbnNlKCkuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRh
dGUoKTsKKyAgICBBU1NFUlQocmVzcG9uc2VNYXhTdGFsZW5lc3MpOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KCpyZXNwb25zZU1heFN0YWxlbmVzcyArIChsaWZldGltZSAtIGFnZSkpOworICAg
IG1fbG9hZCA9IG1ha2VVbmlxdWU8U3BlY3VsYXRpdmVMb2FkPihjYWNoZSwgZnJhbWVJRCwgV1RG
TW92ZShyZXZhbGlkYXRpb25SZXF1ZXN0KSwgV1RGTW92ZShlbnRyeSksIFt0aGlzLCBrZXksIHJl
dmFsaWRhdGlvblJlcXVlc3RdKGF1dG8mJiByZXZhbGlkYXRlZEVudHJ5KSB7CisgICAgICAgIEFT
U0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8fCAhcmV2YWxpZGF0ZWRFbnRyeS0+bmVlZHNWYWxpZGF0
aW9uKCkpOworICAgICAgICBBU1NFUlQoIXJldmFsaWRhdGVkRW50cnkgfHwgcmV2YWxpZGF0ZWRF
bnRyeS0+a2V5KCkgPT0ga2V5KTsKKyAgICAgICAgaWYgKG1fY29tcGxldGlvbkhhbmRsZXIpCisg
ICAgICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyKHJldmFsaWRhdGVkRW50cnkgPyBSZXN1bHQ6
OlN1Y2Nlc3MgOiBSZXN1bHQ6OkZhaWx1cmUpOworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFj
ZSBOZXR3b3JrQ2FjaGUKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxF
KE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5oIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjNkZDYwOGQwZTA1M2JhODMyMTZkZTQ5NGUyMzFmMDQ3ZDI0NDMyZTQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxp
ZGF0aW9uLmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBJZ2Fs
aWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShORVRXT1JLX0NB
Q0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikKKworI2luY2x1ZGUgIk5ldHdvcmtDYWNoZS5o
IgorI2luY2x1ZGUgIk5ldHdvcmtDYWNoZUVudHJ5LmgiCisjaW5jbHVkZSAiTmV0d29ya0NhY2hl
U3BlY3VsYXRpdmVMb2FkLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFJlc291cmNlUmVxdWVzdDsKK307CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjbGFzcyBTcGVjdWxhdGl2ZUxvYWQ7CisKK25hbWVzcGFjZSBOZXR3
b3JrQ2FjaGUgeworCitjbGFzcyBBc3luY1JldmFsaWRhdGlvbiB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgZW51bSBjbGFzcyBSZXN1bHQgeworICAgICAgICBG
YWlsdXJlLAorICAgICAgICBUaW1lb3V0LAorICAgICAgICBTdWNjZXNzLAorICAgIH07CisgICAg
QXN5bmNSZXZhbGlkYXRpb24oQ2FjaGUmLCBjb25zdCBHbG9iYWxGcmFtZUlEJiwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0Jiwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNoZTo6RW50
cnk+JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzdWx0KT4mJik7CisKKyAgICBjb25zdCBT
cGVjdWxhdGl2ZUxvYWQmIGxvYWQoKSBjb25zdCB7IHJldHVybiAqbV9sb2FkOyB9CisKK3ByaXZh
dGU6CisgICAgdm9pZCBzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZygpOworCisgICAgc3RkOjp1
bmlxdWVfcHRyPFNwZWN1bGF0aXZlTG9hZD4gbV9sb2FkOworICAgIFdlYkNvcmU6OlRpbWVyIG1f
dGltZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXN1bHQpPiBtX2NvbXBsZXRpb25I
YW5kbGVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JF
VkFMSURBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlLmNwcAppbmRleCBmMzQ0ZDFhYmE2NGZlOTNjOWNiZWJkNDdmNDNlODE2M2Jh
Y2Q3YzE3Li5mZTI1NzY5M2NmY2JkMGFlODdjZmQ5N2QzYzgyYTBhZTZjMmYxNWI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3Bw
CkBAIC0yNiwxMCArMjYsMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJOZXR3
b3JrQ2FjaGUuaCIKIAorI2luY2x1ZGUgIkFzeW5jUmV2YWxpZGF0aW9uLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgorI2luY2x1ZGUgIk5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oIgogI2lu
Y2x1ZGUgIk5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaCIKICNpbmNsdWRlICJO
ZXR3b3JrQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKKyNpbmNs
dWRlICJOZXR3b3JrU2Vzc2lvbi5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVWYWxpZGF0aW9u
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVFRQSGVhZGVyTmFtZXMuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0xvd1Bvd2VyTW9kZU5vdGlmaWVyLmg+CkBAIC0xNTIsMzUgKzE1NSw0NiBAQCBzdGF0aWMg
Ym9vbCBjYWNoZVBvbGljeUFsbG93c0V4cGlyZWQoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Q2Fj
aGVQb2xpY3kgcG9saWN5KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGJvb2wgcmVz
cG9uc2VIYXNFeHBpcmVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
LCBXYWxsVGltZSB0aW1lc3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxlKQorc3RhdGlj
IFVzZURlY2lzaW9uIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oTmV0d29ya1Nlc3Npb24mIG5l
dHdvcmtTZXNzaW9uLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwg
V2FsbFRpbWUgdGltZXN0YW1wLCBPcHRpb25hbDxTZWNvbmRzPiBtYXhTdGFsZSkKIHsKICAgICBp
ZiAocmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNOb0NhY2hlKCkpCi0gICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlZhbGlkYXRlOwogCiAgICAgYXV0
byBhZ2UgPSBXZWJDb3JlOjpjb21wdXRlQ3VycmVudEFnZShyZXNwb25zZSwgdGltZXN0YW1wKTsK
ICAgICBhdXRvIGxpZmV0aW1lID0gV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9y
SFRUUEZhbWlseShyZXNwb25zZSwgdGltZXN0YW1wKTsKIAogICAgIGF1dG8gbWF4aW11bVN0YWxl
bmVzcyA9IG1heFN0YWxlID8gbWF4U3RhbGUudmFsdWUoKSA6IDBfbXM7CiAgICAgYm9vbCBoYXNF
eHBpcmVkID0gYWdlIC0gbGlmZXRpbWUgPiBtYXhpbXVtU3RhbGVuZXNzOworI2lmIEVOQUJMRShO
RVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikKKyAgICBpZiAoaGFzRXhwaXJl
ZCAmJiAhbWF4U3RhbGUgJiYgbmV0d29ya1Nlc3Npb24uaXNTdGFsZVdoaWxlUmV2YWxpZGF0ZUVu
YWJsZWQoKSkgeworICAgICAgICBhdXRvIHJlc3BvbnNlTWF4U3RhbGVuZXNzID0gcmVzcG9uc2Uu
Y2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKTsKKyAgICAgICAgbWF4aW11bVN0YWxl
bmVzcyArPSByZXNwb25zZU1heFN0YWxlbmVzcyA/IHJlc3BvbnNlTWF4U3RhbGVuZXNzLnZhbHVl
KCkgOiAwX21zOworICAgICAgICBib29sIGluUmVzcG9uc2VTdGFsZW5lc3MgPSBhZ2UgLSBsaWZl
dGltZSA8IG1heGltdW1TdGFsZW5lc3M7CisgICAgICAgIGlmIChpblJlc3BvbnNlU3RhbGVuZXNz
KQorICAgICAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpBc3luY1JldmFsaWRhdGU7CisgICAg
fQorI2VuZGlmCiAKKyAgICBpZiAoaGFzRXhwaXJlZCkgewogI2lmbmRlZiBMT0dfRElTQUJMRUQK
LSAgICBpZiAoaGFzRXhwaXJlZCkKLSAgICAgICAgTE9HKE5ldHdvcmtDYWNoZSwgIihOZXR3b3Jr
UHJvY2VzcykgbmVlZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJlZCBhZ2U9JWYgbGlmZXRpbWU9JWYg
bWF4LXN0YWxlPSVnIiwgYWdlLCBsaWZldGltZSwgbWF4U3RhbGUpOworICAgICAgICBMT0coTmV0
d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBuZWVkc1JldmFsaWRhdGlvbiBoYXNFeHBpcmVk
IGFnZT0lZiBsaWZldGltZT0lZiBtYXgtc3RhbGVuZXNzPSVmIiwgYWdlLCBsaWZldGltZSwgbWF4
aW11bVN0YWxlbmVzcyk7CiAjZW5kaWYKKyAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpWYWxp
ZGF0ZTsKKyAgICB9CiAKLSAgICByZXR1cm4gaGFzRXhwaXJlZDsKKyAgICByZXR1cm4gVXNlRGVj
aXNpb246OlVzZTsKIH0KIAotc3RhdGljIGJvb2wgcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBXYWxsVGltZSB0aW1lc3RhbXApCitzdGF0aWMgVXNl
RGVjaXNpb24gcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihOZXR3b3JrU2Vzc2lvbiYgbmV0d29y
a1Nlc3Npb24sIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdhbGxUaW1lIHRpbWVzdGFtcCkK
IHsKICAgICBhdXRvIHJlcXVlc3REaXJlY3RpdmVzID0gV2ViQ29yZTo6cGFyc2VDYWNoZUNvbnRy
b2xEaXJlY3RpdmVzKHJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKTsKICAgICBpZiAocmVxdWVz
dERpcmVjdGl2ZXMubm9DYWNoZSkKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVy
biBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAgICAgLy8gRm9yIHJlcXVlc3RzIHdlIGlnbm9yZSBt
YXgtYWdlIHZhbHVlcyBvdGhlciB0aGFuIHplcm8uCiAgICAgaWYgKHJlcXVlc3REaXJlY3RpdmVz
Lm1heEFnZSAmJiByZXF1ZXN0RGlyZWN0aXZlcy5tYXhBZ2UudmFsdWUoKSA9PSAwX21zKQotICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpWYWxpZGF0ZTsK
IAotICAgIHJldHVybiByZXNwb25zZUhhc0V4cGlyZWQocmVzcG9uc2UsIHRpbWVzdGFtcCwgcmVx
dWVzdERpcmVjdGl2ZXMubWF4U3RhbGUpOworICAgIHJldHVybiByZXNwb25zZU5lZWRzUmV2YWxp
ZGF0aW9uKG5ldHdvcmtTZXNzaW9uLCByZXNwb25zZSwgdGltZXN0YW1wLCByZXF1ZXN0RGlyZWN0
aXZlcy5tYXhTdGFsZSk7CiB9CiAKIHN0YXRpYyBVc2VEZWNpc2lvbiBtYWtlVXNlRGVjaXNpb24o
TmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25zdCBQQUw6OlNlc3Npb25JRCYgc2Vz
c2lvbklELCBjb25zdCBFbnRyeSYgZW50cnksIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCkKQEAgLTE5Nyw4ICsyMTEsOSBAQCBzdGF0aWMgVXNlRGVjaXNpb24gbWFrZVVz
ZURlY2lzaW9uKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgUEFMOjpTZQog
ICAgIGlmIChjYWNoZVBvbGljeUFsbG93c0V4cGlyZWQocmVxdWVzdC5jYWNoZVBvbGljeSgpKSkK
ICAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CiAKLSAgICBpZiAoIXJlc3BvbnNlTmVl
ZHNSZXZhbGlkYXRpb24oZW50cnkucmVzcG9uc2UoKSwgcmVxdWVzdCwgZW50cnkudGltZVN0YW1w
KCkpKQotICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlVzZTsKKyAgICBhdXRvIGRlY2lzaW9u
ID0gcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbigqbmV0d29ya1Byb2Nlc3MubmV0d29ya1Nlc3Np
b24oc2Vzc2lvbklEKSwgZW50cnkucmVzcG9uc2UoKSwgcmVxdWVzdCwgZW50cnkudGltZVN0YW1w
KCkpOworICAgIGlmIChkZWNpc2lvbiAhPSBVc2VEZWNpc2lvbjo6VmFsaWRhdGUpCisgICAgICAg
IHJldHVybiBkZWNpc2lvbjsKIAogICAgIGlmICghZW50cnkucmVzcG9uc2UoKS5oYXNDYWNoZVZh
bGlkYXRvckZpZWxkcygpKQogICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246Ok5vRHVlVG9NaXNz
aW5nVmFsaWRhdG9yRmllbGRzOwpAQCAtMjUxLDggKzI2NiwxMiBAQCBzdGF0aWMgU3RvcmVEZWNp
c2lvbiBtYWtlU3RvcmVEZWNpc2lvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9y
aWdpbmFsUgogICAgIGJvb2wgc3RvcmVVbmNvbmRpdGlvbmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlv
biA9IGlzTWFpblJlc291cmNlIHx8IG9yaWdpbmFsUmVxdWVzdC5wcmlvcml0eSgpID09IFdlYkNv
cmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpWZXJ5SGlnaDsKICAgICBpZiAoIXN0b3JlVW5jb25k
aXRpb25hbGx5Rm9ySGlzdG9yeU5hdmlnYXRpb24pIHsKICAgICAgICAgYXV0byBub3cgPSBXYWxs
VGltZTo6bm93KCk7Ci0gICAgICAgIGJvb2wgaGFzTm9uWmVyb0xpZmV0aW1lID0gIXJlc3BvbnNl
LmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpICYmIFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5l
c3NMaWZldGltZUZvckhUVFBGYW1pbHkocmVzcG9uc2UsIG5vdykgPiAwX21zOwotCisgICAgICAg
IFNlY29uZHMgYWxsb3dlZFN0YWxlIHsgMF9tcyB9OworI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hF
X1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikKKyAgICAgICAgaWYgKGF1dG8gdmFsdWUgPSByZXNw
b25zZS5jYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpKQorICAgICAgICAgICAgYWxs
b3dlZFN0YWxlID0gdmFsdWUudmFsdWUoKTsKKyNlbmRpZgorICAgICAgICBib29sIGhhc05vblpl
cm9MaWZldGltZSA9ICFyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSAmJiAo
V2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShyZXNwb25zZSwg
bm93KSA+IDBfbXMgfHwgYWxsb3dlZFN0YWxlID4gMF9tcyk7CiAgICAgICAgIGJvb2wgcG9zc2li
bHlSZXVzYWJsZSA9IHJlc3BvbnNlLmhhc0NhY2hlVmFsaWRhdG9yRmllbGRzKCkgfHwgaGFzTm9u
WmVyb0xpZmV0aW1lOwogICAgICAgICBpZiAoIXBvc3NpYmx5UmV1c2FibGUpCiAgICAgICAgICAg
ICByZXR1cm4gU3RvcmVEZWNpc2lvbjo6Tm9EdWVUb1VubGlrZWx5VG9SZXVzZTsKQEAgLTI5Niw2
ICszMTUsMjIgQEAgc3RhdGljIGJvb2wgaW5saW5lIGNhblJlcXVlc3RVc2VTcGVjdWxhdGl2ZVJl
dmFsaWRhdGlvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVIKIH0KICNlbmRpZgogCisjaWYgRU5B
QkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQordm9pZCBDYWNoZTo6
c3RhcnRBc3luY1JldmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmIGtleSwgc3RkOjp1bmlxdWVf
cHRyPEVudHJ5PiYmIGVudHJ5LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlEKQoreworICAg
IGlmIChtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMuZ2V0KGtleSkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGF1dG8gcmV2YWxpZGF0b3IgPSBtYWtlVW5pcXVlPEFzeW5jUmV2YWxpZGF0aW9u
PigqdGhpcywgZnJhbWVJRCwgcmVxdWVzdCwgV1RGTW92ZShlbnRyeSksIFt0aGlzLCBrZXldKEFz
eW5jUmV2YWxpZGF0aW9uOjpSZXN1bHQgcmVzdWx0KSB7CisgICAgICAgIGlmIChyZXN1bHQgIT0g
QXN5bmNSZXZhbGlkYXRpb246OlJlc3VsdDo6RmFpbHVyZSkgeworICAgICAgICAgICAgbV9wZW5k
aW5nQXN5bmNSZXZhbGlkYXRpb25zLnRha2Uoa2V5KTsKKyAgICAgICAgICAgIExPRyhOZXR3b3Jr
Q2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIEFzeW5jIHJldmFsaWRhdGlvbiBjb21wbGV0ZWQgZm9y
ICclcyc6Iiwga2V5LmlkZW50aWZpZXIoKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgfQorICAg
IH0pOworICAgIG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9ucy5hZGQoa2V5LCBXVEZNb3ZlKHJl
dmFsaWRhdG9yKSk7Cit9CisjZW5kaWYKKwogdm9pZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFt
ZUlELCBSZXRyaWV2ZUNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAg
ICAgQVNTRVJUKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKTsKQEAgLTMz
NCwxMiArMzY5LDExIEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJCiAgICAgfQogI2VuZGlmCiAK
LSAgICBtX3N0b3JhZ2UtPnJldHJpZXZlKHN0b3JhZ2VLZXksIHByaW9yaXR5LCBbcmVxdWVzdCwg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgaW5mbyA9IFdU
Rk1vdmUoaW5mbyksIHN0b3JhZ2VLZXksIG5ldHdvcmtQcm9jZXNzID0gbWFrZVJlZihuZXR3b3Jr
UHJvY2VzcygpKSwgc2Vzc2lvbklEID0gbV9zZXNzaW9uSURdKGF1dG8gcmVjb3JkLCBhdXRvIHRp
bWluZ3MpIG11dGFibGUgeworICAgIG1fc3RvcmFnZS0+cmV0cmlldmUoc3RvcmFnZUtleSwgcHJp
b3JpdHksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHJlcXVlc3QsIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGluZm8gPSBXVEZN
b3ZlKGluZm8pLCBzdG9yYWdlS2V5LCBuZXR3b3JrUHJvY2VzcyA9IG1ha2VSZWYobmV0d29ya1By
b2Nlc3MoKSksIHNlc3Npb25JRCA9IG1fc2Vzc2lvbklELCBmcmFtZUlEXShhdXRvIHJlY29yZCwg
YXV0byB0aW1pbmdzKSBtdXRhYmxlIHsKICAgICAgICAgaW5mby5zdG9yYWdlVGltaW5ncyA9IHRp
bWluZ3M7CiAKICAgICAgICAgaWYgKCFyZWNvcmQpIHsKICAgICAgICAgICAgIExPRyhOZXR3b3Jr
Q2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIG5vdCBmb3VuZCBpbiBzdG9yYWdlIik7Ci0KICAgICAg
ICAgICAgIGNvbXBsZXRlUmV0cmlldmUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG51bGxw
dHIsIGluZm8pOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC0zNTAs
NiArMzg0LDE0IEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJhbWVJCiAKICAgICAgICAgYXV0byB1c2VE
ZWNpc2lvbiA9IGVudHJ5ID8gbWFrZVVzZURlY2lzaW9uKG5ldHdvcmtQcm9jZXNzLCBzZXNzaW9u
SUQsICplbnRyeSwgcmVxdWVzdCkgOiBVc2VEZWNpc2lvbjo6Tm9EdWVUb0RlY29kZUZhaWx1cmU7
CiAgICAgICAgIHN3aXRjaCAodXNlRGVjaXNpb24pIHsKKyAgICAgICAgY2FzZSBVc2VEZWNpc2lv
bjo6QXN5bmNSZXZhbGlkYXRlOiB7CisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJ
VkVfUkVWQUxJREFUSU9OKQorICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBlbnRy
eUNvcHkgPSBtYWtlVW5pcXVlPEVudHJ5PigqZW50cnkpOworICAgICAgICAgICAgZW50cnlDb3B5
LT5zZXROZWVkc1ZhbGlkYXRpb24odHJ1ZSk7CisgICAgICAgICAgICBzdGFydEFzeW5jUmV2YWxp
ZGF0aW9uSWZOZWVkZWQocmVxdWVzdCwgc3RvcmFnZUtleSwgV1RGTW92ZShlbnRyeUNvcHkpLCBm
cmFtZUlEKTsKKyNlbmRpZgorICAgICAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgICAgIH0KICAg
ICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6VXNlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgVXNlRGVjaXNpb246OlZhbGlkYXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKaW5kZXggMGRlZTdmODhkZmY2MTYyY2MzZmQ3
ODUxYjgzODBmYzVhODNiZDVhZS4uNTM1NDBhZWQ4ZWMwNWQ1NTYyOGE3YzZlMzg0YjMwNjI0Mjk3
YmM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZS5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIE5ldHdvcmtQcm9jZXNzOwogCiBuYW1l
c3BhY2UgTmV0d29ya0NhY2hlIHsKIAorY2xhc3MgQXN5bmNSZXZhbGlkYXRpb247CiBjbGFzcyBD
YWNoZTsKIGNsYXNzIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI7CiAKQEAgLTgyLDYgKzgzLDcgQEAg
ZW51bSBjbGFzcyBTdG9yZURlY2lzaW9uIHsKIGVudW0gY2xhc3MgVXNlRGVjaXNpb24gewogICAg
IFVzZSwKICAgICBWYWxpZGF0ZSwKKyAgICBBc3luY1JldmFsaWRhdGUsCiAgICAgTm9EdWVUb1Zh
cnlpbmdIZWFkZXJNaXNtYXRjaCwKICAgICBOb0R1ZVRvTWlzc2luZ1ZhbGlkYXRvckZpZWxkcywK
ICAgICBOb0R1ZVRvRGVjb2RlRmFpbHVyZSwKQEAgLTE2Nyw2ICsxNjksOCBAQCBwdWJsaWM6CiAK
ICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCiAgICAg
U3BlY3VsYXRpdmVMb2FkTWFuYWdlciogc3BlY3VsYXRpdmVMb2FkTWFuYWdlcigpIHsgcmV0dXJu
IG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlci5nZXQoKTsgfQorCisgICAgdm9pZCBzdGFydEFzeW5j
UmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgTmV0d29ya0NhY2hlOjpLZXkmLCBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+JiYsIGNvbnN0IEds
b2JhbEZyYW1lSUQmKTsKICNlbmRpZgogCiAgICAgTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9j
ZXNzKCkgeyByZXR1cm4gbV9uZXR3b3JrUHJvY2Vzcy5nZXQoKTsgfQpAQCAtMTkzLDYgKzE5Nyw4
IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJ
REFUSU9OKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpMb3dQb3dlck1vZGVOb3RpZmll
cj4gbV9sb3dQb3dlck1vZGVOb3RpZmllcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3BlY3VsYXRp
dmVMb2FkTWFuYWdlcj4gbV9zcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOworCisgICAgSGFzaE1hcDxL
ZXksIHN0ZDo6dW5pcXVlX3B0cjxBc3luY1JldmFsaWRhdGlvbj4+IG1fcGVuZGluZ0FzeW5jUmV2
YWxpZGF0aW9uczsKICNlbmRpZgogCiAgICAgdW5zaWduZWQgbV90cmF2ZXJzZUNvdW50IHsgMCB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwCmluZGV4IDZjNzJmYWJlNzJlMzU5
NDQ4YTdjMWIyOTFjZDkwZTk1MGU1YmJlNTQuLjAxYmM4N2ZmZWM3OTdmOWQ3NzNhZDU4ZmQ5YmIz
MmM0MTFkZTQzNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKQEAgLTE1
NSw2ICsxNTUsNDMgQEAgdm9pZCBTcGVjdWxhdGl2ZUxvYWQ6OmRpZENvbXBsZXRlKCkKICAgICBt
X2NvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUobV9jYWNoZUVudHJ5KSk7CiB9CiAKKyNpZiAhTE9H
X0RJU0FCTEVECisKK3N0YXRpYyB2b2lkIGR1bXBIVFRQSGVhZGVyc0RpZmYoY29uc3QgSFRUUEhl
YWRlck1hcCYgaGVhZGVyc0EsIGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnNCKQoreworICAg
IGF1dG8gYUVuZCA9IGhlYWRlcnNBLmVuZCgpOworICAgIGZvciAoYXV0byBpdCA9IGhlYWRlcnNB
LmJlZ2luKCk7IGl0ICE9IGFFbmQ7ICsraXQpIHsKKyAgICAgICAgU3RyaW5nIHZhbHVlQiA9IGhl
YWRlcnNCLmdldChpdC0+a2V5KTsKKyAgICAgICAgaWYgKHZhbHVlQi5pc051bGwoKSkKKyAgICAg
ICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRU
UCBoZWFkZXIgaXMgb25seSBpbiBmaXJzdCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51
dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIGVsc2UgaWYg
KGl0LT52YWx1ZSAhPSB2YWx1ZUIpCisgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVQcmVsb2FkaW5nLCAiKiAnJXMnIEhUVFAgaGVhZGVyIGRpZmZlcnMgaW4gYm90aCByZXF1
ZXN0czogJXMgIT0gJXMiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCku
ZGF0YSgpLCB2YWx1ZUIudXRmOCgpLmRhdGEoKSk7CisgICAgfQorICAgIGF1dG8gYkVuZCA9IGhl
YWRlcnNCLmVuZCgpOworICAgIGZvciAoYXV0byBpdCA9IGhlYWRlcnNCLmJlZ2luKCk7IGl0ICE9
IGJFbmQ7ICsraXQpIHsKKyAgICAgICAgaWYgKCFoZWFkZXJzQS5jb250YWlucyhpdC0+a2V5KSkK
KyAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICcl
cycgSFRUUCBoZWFkZXIgaXMgb25seSBpbiBzZWNvbmQgcmVxdWVzdCAodmFsdWU6ICVzKSIsIGl0
LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCkpOworICAgIH0KK30K
KworI2VuZGlmCisKK2Jvb2wgcmVxdWVzdHNIZWFkZXJzTWF0Y2goY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IGFjdHVhbFJlcXVlc3QpCit7CisgICAgQVNTRVJUKCFhY3R1YWxSZXF1ZXN0LmlzQ29uZGl0aW9u
YWwoKSk7CisgICAgUmVzb3VyY2VSZXF1ZXN0IHNwZWN1bGF0aXZlUmVxdWVzdCA9IHNwZWN1bGF0
aXZlVmFsaWRhdGlvblJlcXVlc3Q7CisgICAgc3BlY3VsYXRpdmVSZXF1ZXN0Lm1ha2VVbmNvbmRp
dGlvbmFsKCk7CisKKyAgICBpZiAoc3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMo
KSAhPSBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSkgeworICAgICAgICBMT0coTmV0
d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiQ2Fubm90IHJldXNlIHNwZWN1bGF0aXZl
bHkgdmFsaWRhdGVkIGVudHJ5IGJlY2F1c2UgSFRUUCBoZWFkZXJzIHVzZWQgZm9yIHZhbGlkYXRp
b24gZG8gbm90IG1hdGNoIik7CisjaWYgIUxPR19ESVNBQkxFRAorICAgICAgICBkdW1wSFRUUEhl
YWRlcnNEaWZmKHNwZWN1bGF0aXZlUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCksIGFjdHVhbFJl
cXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBOZXR3b3JrQ2Fj
aGUKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQu
aAppbmRleCA1NDA2ZDlmODIxOGIzODA1YjQ2OGI2ODljOWJlMmNmOGY2MzgwMDRmLi5lZjIxOGYz
ODVhYTZlOWQwZTc3MzU2MmQ4ZDBlN2Y1N2Y4NDc0ZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVMb2FkLmgKQEAgLTc4LDYgKzc4LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fZGlkQ29t
cGxldGUgeyBmYWxzZSB9OwogfTsKIAorYm9vbCByZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3QsIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCk7CisKIH0gLy8gbmFt
ZXNwYWNlIE5ldHdvcmtDYWNoZQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRp
dmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCmluZGV4IDY3OTQwMzliN2UxOTE3
YTRhYWJhZDRkMmQ1MDhmNzM5NTM3ODY1NjcuLjk4MDZmNjJlYTdiYjA1YzBjM2VkNzJhYWZkZTc0
M2RkNWVkYWI4MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5h
Z2VyLmNwcApAQCAtMjU2LDQzICsyNTYsNiBAQCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjp+U3Bl
Y3VsYXRpdmVMb2FkTWFuYWdlcigpCiB7CiB9CiAKLSNpZiAhTE9HX0RJU0FCTEVECi0KLXN0YXRp
YyB2b2lkIGR1bXBIVFRQSGVhZGVyc0RpZmYoY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyc0Es
IGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnNCKQotewotICAgIGF1dG8gYUVuZCA9IGhlYWRl
cnNBLmVuZCgpOwotICAgIGZvciAoYXV0byBpdCA9IGhlYWRlcnNBLmJlZ2luKCk7IGl0ICE9IGFF
bmQ7ICsraXQpIHsKLSAgICAgICAgU3RyaW5nIHZhbHVlQiA9IGhlYWRlcnNCLmdldChpdC0+a2V5
KTsKLSAgICAgICAgaWYgKHZhbHVlQi5pc051bGwoKSkKLSAgICAgICAgICAgIExPRyhOZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIgaXMgb25seSBp
biBmaXJzdCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+
dmFsdWUudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgIGVsc2UgaWYgKGl0LT52YWx1ZSAhPSB2YWx1
ZUIpCi0gICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAi
KiAnJXMnIEhUVFAgaGVhZGVyIGRpZmZlcnMgaW4gYm90aCByZXF1ZXN0czogJXMgIT0gJXMiLCBp
dC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpLCB2YWx1ZUIudXRm
OCgpLmRhdGEoKSk7Ci0gICAgfQotICAgIGF1dG8gYkVuZCA9IGhlYWRlcnNCLmVuZCgpOwotICAg
IGZvciAoYXV0byBpdCA9IGhlYWRlcnNCLmJlZ2luKCk7IGl0ICE9IGJFbmQ7ICsraXQpIHsKLSAg
ICAgICAgaWYgKCFoZWFkZXJzQS5jb250YWlucyhpdC0+a2V5KSkKLSAgICAgICAgICAgIExPRyhO
ZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIgaXMg
b25seSBpbiBzZWNvbmQgcmVxdWVzdCAodmFsdWU6ICVzKSIsIGl0LT5rZXkudXRmOCgpLmRhdGEo
KSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCkpOwotICAgIH0KLX0KLQotI2VuZGlmCi0KLXN0YXRp
YyBib29sIHJlcXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgc3BlY3Vs
YXRpdmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1
ZXN0KQotewotICAgIEFTU0VSVCghYWN0dWFsUmVxdWVzdC5pc0NvbmRpdGlvbmFsKCkpOwotICAg
IFJlc291cmNlUmVxdWVzdCBzcGVjdWxhdGl2ZVJlcXVlc3QgPSBzcGVjdWxhdGl2ZVZhbGlkYXRp
b25SZXF1ZXN0OwotICAgIHNwZWN1bGF0aXZlUmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOwot
Ci0gICAgaWYgKHNwZWN1bGF0aXZlUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkgIT0gYWN0dWFs
UmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpIHsKLSAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlUHJlbG9hZGluZywgIkNhbm5vdCByZXVzZSBzcGVjdWxhdGl2ZWx5IHZhbGlkYXRl
ZCBlbnRyeSBiZWNhdXNlIEhUVFAgaGVhZGVycyB1c2VkIGZvciB2YWxpZGF0aW9uIGRvIG5vdCBt
YXRjaCIpOwotI2lmICFMT0dfRElTQUJMRUQKLSAgICAgICAgZHVtcEhUVFBIZWFkZXJzRGlmZihz
cGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpLCBhY3R1YWxSZXF1ZXN0Lmh0dHBI
ZWFkZXJGaWVsZHMoKSk7Ci0jZW5kaWYKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQogYm9vbCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpjYW5Vc2VQ
cmVsb2FkZWRFbnRyeShjb25zdCBQcmVsb2FkZWRFbnRyeSYgZW50cnksIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkKIHsKICAgICBpZiAoIWVudHJ5Lndhc1JldmFsaWRhdGVk
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktp
dC9Tb3VyY2VzLnR4dAppbmRleCBlZGJmYjU2ZTQ5YmMyYTAzYThhYmRiZjg3MTQxZGNkMDdlNWRh
OTNmLi4zZjdkM2ZiNjIxNmZmZmM2ZjNiY2IyZDNmZDUzYmVmYTEwNDE4NjYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQKQEAgLTc4LDYgKzc4LDcgQEAgTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5n
aW5lLmNwcAogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuY3Bw
CiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLmNwcAorTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uY3BwCiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGUuY3BwCiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVCbG9i
U3RvcmFnZS5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb25SZWYuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZi5jcHAKaW5kZXggZDlhOGNkZThjYTU0
OGYxYTk5NDc2Mzk2ZGI0OWIzMGNjZWQ3ZDQ5NC4uODE4NzAxNDllMWMyN2QzOTNiNGU1YThmODI2
OGU1ZDI1ODYwYjYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZi5jcHAK
QEAgLTEzOSwzICsxMzksMTMgQEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9u
U2V0VGVzdGluZ1Nlc3Npb25FbmFibGVkKFdLV2Vic2l0ZURhdGFTdG9yZUMKIHsKICAgICBXZWJL
aXQ6OnRvSW1wbChjb25maWd1cmF0aW9uKS0+c2V0VGVzdGluZ1Nlc3Npb25FbmFibGVkKGVuYWJs
ZWQpOwogfQorCitib29sIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25HZXRTdGFsZVdo
aWxlUmV2YWxpZGF0ZUVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZiBj
b25maWd1cmF0aW9uKQoreworICAgIHJldHVybiBXZWJLaXQ6OnRvSW1wbChjb25maWd1cmF0aW9u
KS0+c3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKCk7Cit9CisKK3ZvaWQgV0tXZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvblNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZChXS1dlYnNp
dGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3VyYXRpb24sIGJvb2wgZW5hYmxlZCkK
K3sKKyAgICBXZWJLaXQ6OnRvSW1wbChjb25maWd1cmF0aW9uKS0+c2V0U3RhbGVXaGlsZVJldmFs
aWRhdGVFbmFibGVkKGVuYWJsZWQpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZi5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJl
Zi5oCmluZGV4IDY0YWRlYjgyZjc3MzM5ZDYzNTAxOGYxMGRjN2RlZTJlMjVjNTM4NjEuLjI0MDg0
ODg3NDI1ZGFlNmViYjQ2YzZlZTU1NzExOTRhZWIyMTgwZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uUmVmLmgKQEAgLTY2LDYgKzY2LDkgQEAgV0tfRVhQT1JUIHZvaWQgV0tXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblNldE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRh
dGkKIFdLX0VYUE9SVCBib29sIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25HZXRUZXN0
aW5nU2Vzc2lvbkVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZiBjb25m
aWd1cmF0aW9uKTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRp
b25TZXRUZXN0aW5nU2Vzc2lvbkVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
blJlZiBjb25maWd1cmF0aW9uLCBib29sIGVuYWJsZWQpOwogCitXS19FWFBPUlQgYm9vbCBXS1dl
YnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uR2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVk
KFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYgY29uZmlndXJhdGlvbik7CitXS19F
WFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0U3RhbGVXaGlsZVJl
dmFsaWRhdGVFbmFibGVkKFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYgY29uZmln
dXJhdGlvbiwgYm9vbCBlbmFibGVkKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dl
YnNpdGVEYXRhU3RvcmVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQppbmRleCAyOWU5MDAzZjA0NmYyMTc0
Yzc2Yjg0ZjcxYjVlYzg5MmU4YTQ2MDI1Li4wZmYzZWEwOTYzMWI1NzdkMWVhNzkwODI1ZTMwNWVl
OTMyM2ZiZGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCkBAIC0xNTAs
NiArMTUwLDcgQEAgV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMgV2Vic2l0ZURhdGFTdG9yZTo6
cGFyYW1ldGVycygpCiAgICAgICAgIG1fY29uZmlndXJhdGlvbi0+ZmFzdFNlcnZlclRydXN0RXZh
bHVhdGlvbkVuYWJsZWQoKSwKICAgICAgICAgbV9jb25maWd1cmF0aW9uLT5uZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkKCksCiAgICAgICAgIG1fY29uZmlndXJhdGlvbi0+
dGVzdGluZ1Nlc3Npb25FbmFibGVkKCksCisgICAgICAgIG1fY29uZmlndXJhdGlvbi0+c3RhbGVX
aGlsZVJldmFsaWRhdGVFbmFibGVkKCksCiAgICAgICAgIG1fY29uZmlndXJhdGlvbi0+dGVzdFNw
ZWVkTXVsdGlwbGllcigpLAogICAgICAgICBtX2NvbmZpZ3VyYXRpb24tPnN1cHByZXNzZXNDb25u
ZWN0aW9uVGVybWluYXRpb25PblN5c3RlbUNoYW5nZSgpLAogICAgIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHAKaW5kZXggNGFlNWYzZjhkMTliNzIwMGY1ODBjNDdk
N2Q3NGVkMTZlYzY5ZmU2Mi4uYjUwM2I0MmQ5ZDQ0YzUyNzk4ZjE1ZmQzNjE4ZjA0NDk3MzIwMWI1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcApAQCAtNTYsNiAr
NTYsNyBAQCBSZWY8V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+IFdlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uOjpjb3B5KCkgY29uc3QKICAgICBjb3B5LT5tX3NlcnZpY2VXb3JrZXJQ
cm9jZXNzVGVybWluYXRpb25EZWxheUVuYWJsZWQgPSB0aGlzLT5tX3NlcnZpY2VXb3JrZXJQcm9j
ZXNzVGVybWluYXRpb25EZWxheUVuYWJsZWQ7CiAgICAgY29weS0+bV9mYXN0U2VydmVyVHJ1c3RF
dmFsdWF0aW9uRW5hYmxlZCA9IHRoaXMtPm1fZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJs
ZWQ7CiAgICAgY29weS0+bV9uZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVk
ID0gdGhpcy0+bV9uZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkOworICAg
IGNvcHktPm1fc3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkID0gdGhpcy0+bV9zdGFsZVdoaWxl
UmV2YWxpZGF0ZUVuYWJsZWQ7CiAgICAgY29weS0+bV9jYWNoZVN0b3JhZ2VEaXJlY3RvcnkgPSB0
aGlzLT5tX2NhY2hlU3RvcmFnZURpcmVjdG9yeTsKICAgICBjb3B5LT5tX3Blck9yaWdpblN0b3Jh
Z2VRdW90YSA9IHRoaXMtPm1fcGVyT3JpZ2luU3RvcmFnZVF1b3RhOwogICAgIGNvcHktPm1fbmV0
d29ya0NhY2hlRGlyZWN0b3J5ID0gdGhpcy0+bV9uZXR3b3JrQ2FjaGVEaXJlY3Rvcnk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAppbmRleCA5ZmU0Njc4YjU2ZWE1M2ZlNmJi
MGEwYWY3MzdiYTQ5NDNhNzlhMzc3Li42YWQ1MTlkZWY1MWQ0ZmQzOTk1YWI5YTE2NTUxNTNjNzUw
OTA5NDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgKQEAgLTg0LDEw
ICs4NCwxMyBAQCBwdWJsaWM6CiAKICAgICBib29sIHRlc3RpbmdTZXNzaW9uRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fdGVzdGluZ1Nlc3Npb25FbmFibGVkOyB9CiAgICAgdm9pZCBzZXRUZXN0
aW5nU2Vzc2lvbkVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fdGVzdGluZ1Nlc3Npb25FbmFibGVk
ID0gZW5hYmxlZDsgfQotICAgIAorCisgICAgYm9vbCBzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJs
ZWQoKSBjb25zdCB7IHJldHVybiBtX3N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZDsgfQorICAg
IHZvaWQgc2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX3N0
YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCA9IGVuYWJsZWQ7IH0KKwogICAgIHVuc2lnbmVkIHRl
c3RTcGVlZE11bHRpcGxpZXIoKSBjb25zdCB7IHJldHVybiBtX3Rlc3RTcGVlZE11bHRpcGxpZXI7
IH0KICAgICB2b2lkIHNldFRlc3RTcGVlZE11bHRpcGxpZXIodW5zaWduZWQgbXVsdGlwbGllcikg
eyBtX3Rlc3RTcGVlZE11bHRpcGxpZXIgPSBtdWx0aXBsaWVyOyB9Ci0gICAgCisKICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICBDRkRpY3Rpb25hcnlSZWYgcHJveHlDb25maWd1cmF0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9wcm94eUNvbmZpZ3VyYXRpb24uZ2V0KCk7IH0KICAgICB2b2lkIHNldFBy
b3h5Q29uZmlndXJhdGlvbihDRkRpY3Rpb25hcnlSZWYgY29uZmlndXJhdGlvbikgeyBtX3Byb3h5
Q29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247IH0KQEAgLTE1OSw2ICsxNjIsNyBAQCBwcml2
YXRlOgogI2Vsc2UKICAgICBib29sIG1fbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9u
RW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKKyAgICBib29sIG1fc3RhbGVXaGlsZVJldmFsaWRh
dGVFbmFibGVkIHsgZmFsc2UgfTsKICAgICBTdHJpbmcgbV9sb2NhbFN0b3JhZ2VEaXJlY3Rvcnk7
CiAgICAgU3RyaW5nIG1fbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeTsKICAgICBTdHJpbmcgbV9k
ZXZpY2VJZEhhc2hTYWx0c1N0b3JhZ2VEaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1ZTNlYTNiMzQzOTZjN2UwYjFmNzlj
M2Y2YzNjZDg4NmUwOTZiMjkxLi44ODdjZWQxZmNlOWIzY2QwYjhlODJiODEzOTdmYTMzMmFiOWYx
MmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTEzOTUsNiArMTM5NSw3IEBACiAJCUE3OENDRERDMTkzQUM5RkIwMDVFQ0MyNSAvKiBj
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IgaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3OENDREQ5MTkzQUM5RTMwMDVFQ0MyNSAvKiBjb20uYXBw
bGUuV2ViS2l0LldlYkNvbnRlbnQuc2IgKi87IH07CiAJCUE3RDc5MkQ4MTc2N0NDQTMwMDg4MUNC
RSAvKiBBY3Rpdml0eUFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTdENzkyRDQxNzY3Q0IwOTAwODgxQ0JFIC8qIEFjdGl2aXR5QXNzZXJ0
aW9uLmggKi87IH07CiAJCUFBQjE0NUU2MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVmZXRjaENhY2hl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUIxNDVF
NDIyM0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5oICovOyB9OworCQlBQUZBNjM0RjIz
NEY3QzY0MDBGRkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBRkE2MzRFMjM0RjdDNjMwMEZGQTg2NCAvKiBB
c3luY1JldmFsaWRhdGlvbi5oICovOyB9OwogCQlCNjJFNzMxMjE0MzA0N0IwMDA2OUVDMzUgLyog
V0tIaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCNjJFNzMxMTE0MzA0N0IwMDA2OUVDMzUgLyogV0tIaXRUZXN0UmVzdWx0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjg3OEI2MTUx
MzM0MjhEQzAwNjg4OEU5IC8qIENvcnJlY3Rpb25QYW5lbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjg3OEI2MTMxMzM0MjhEQzAwNjg4OEU5IC8qIENv
cnJlY3Rpb25QYW5lbC5oICovOyB9OwogCQlCQzAxN0QwNzE2MjYwRkY0MDA3MDU0RjUgLyogV0tE
T01Eb2N1bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkMwMTdDRkYxNjI2MEZGNDAwNzA1NEY1IC8qIFdLRE9NRG9jdW1lbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNDE4MSw2ICs0MTgyLDgg
QEAKIAkJQTdFOTNDRUIxOTI1MzFBQTAwQTFEQzQ4IC8qIEF1eGlsaWFyeVByb2Nlc3NJT1MubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBBdXhpbGlhcnlQcm9jZXNz
SU9TLm1tOyBwYXRoID0gaW9zL0F1eGlsaWFyeVByb2Nlc3NJT1MubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFBQjE0NUU0MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVmZXRjaENhY2hl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByZWZldGNoQ2FjaGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFCMTQ1RTUyMjNGOTMxMjAwRTQ4OUQ4IC8qIFBy
ZWZldGNoQ2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJl
ZmV0Y2hDYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRkE2MzRFMjM0
RjdDNjMwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBc3luY1JldmFsaWRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBQUZBNjM1MDIzNEY3QzczMDBGRkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQXN5bmNSZXZhbGlkYXRpb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCMzk2RUE1NTEyRTBFRDJEMDBGNEZFQjcgLyogY29uZmlnLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvbmZpZy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCNjJFNzMwRjE0MzA0N0E2MDA2OUVDMzUgLyogV0tIaXRUZXN0UmVzdWx0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLSGl0VGVzdFJlc3Vs
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2MkU3MzExMTQzMDQ3QjAwMDY5
RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV0tIaXRUZXN0UmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MjE3
LDYgKzkyMjAsOCBAQAogCQlFNDg5RDI4MjFBMEEyQkU4MDA3OEMwNkEgLyogY2FjaGUgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUFBRkE2MzUwMjM0RjdD
NzMwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5jcHAgKi8sCisJCQkJQUFGQTYzNEUyMzRG
N0M2MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggKi8sCiAJCQkJNDE4OTdFRDYxRjQx
NUQ4NjAwMTZGQTQyIC8qIENhY2hlU3RvcmFnZUVuZ2luZS5jcHAgKi8sCiAJCQkJNDE4OTdFRDIx
RjQxNUQ4NTAwMTZGQTQyIC8qIENhY2hlU3RvcmFnZUVuZ2luZS5oICovLAogCQkJCTQxQzg1ODE5
MUY1MTBERUUwMDY1RTA4NSAvKiBDYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAgKi8sCkBAIC05
NDY1LDYgKzk0NzAsNyBAQAogCQkJCUExNzVDNDRBMjFBQTMxNzEwMDAwMzdEMCAvKiBBcmd1bWVu
dENvZGVyc0NvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTFBMEJEMjFBNDhFNkM2MDA1NEVG
NzQgLyogQXNzZXJ0aW9uU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNUU3NzI4
MTgzREQ2RjYwMDA3MjAzRiAvKiBBc3luY1JlcXVlc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUFB
RkE2MzRGMjM0RjdDNjQwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNFRTk2NkQxMTJGQUY1NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxQTMxNzMyMTM0Q0VBNkMwMDdDOUE0RiAvKiBBdHRyaWJ1dGVkU3RyaW5n
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNTg5NzEyQTg4Mzg4MDA2Mjk1MzAgLyogQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VQcm94eS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjc2NDcxYWMxNWExYWM0NzQwYzIy
MzEwNzMwZjdhYjBlYjA5YWQ3MC4uMTZjOTE1NzA3OTg0NjdjY2NmNDY1MGNkYzFjMjdmZmUyNjdh
YTBjNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDE5LTExLTEyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+
CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUg
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBmb3IgdGhlIHRlc3QgcnVubmVyLgorCisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjp3ZWJzaXRlRGF0YVN0b3JlKToKKwogMjAxOS0xMS0xMiAgRGllZ28gUGlubyBH
YXJjaWEgIDxkcGlub0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFkZCAndGVzdDI2Mi10
ZXN0JyBzdGVwIHRvIEdUSyBhbmQgV1BFIGJ1aWxkIGJvdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggNGU0OGYyN2NmZmExMDhmMDc3Y2U5OGJhZGJkYThk
YTFhMjk1NmQwOS4uOGEwNzMyNTY1M2Y0MjdhYzZkMjI2YTVhMzM4MjZlZjEwOTNmOGI0MiAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTUzMiw2ICs1MzIs
NyBAQCBXS1dlYnNpdGVEYXRhU3RvcmVSZWYgVGVzdENvbnRyb2xsZXI6OndlYnNpdGVEYXRhU3Rv
cmUoKQogICAgICAgICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblNldFJlc291
cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoY29uZmlndXJhdGlvbi5nZXQoKSwgdG9XSyh0ZW1w
b3JhcnlGb2xkZXIgKyBwYXRoU2VwYXJhdG9yICsgIlJlc291cmNlTG9hZFN0YXRpc3RpY3MiKS5n
ZXQoKSk7CiAgICAgICAgICAgICBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0UGVy
T3JpZ2luU3RvcmFnZVF1b3RhKGNvbmZpZ3VyYXRpb24uZ2V0KCksIDQwMCAqIDEwMjQpOwogICAg
ICAgICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblNldE5ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoY29uZmlndXJhdGlvbi5nZXQoKSwgdHJ1ZSk7Cisg
ICAgICAgICAgICBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0U3RhbGVXaGlsZVJl
dmFsaWRhdGVFbmFibGVkKGNvbmZpZ3VyYXRpb24uZ2V0KCksIHRydWUpOwogICAgICAgICAgICAg
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblNldFRlc3RpbmdTZXNzaW9uRW5hYmxlZChj
b25maWd1cmF0aW9uLmdldCgpLCB0cnVlKTsKICAgICAgICAgfQogICAgICAgICBkYXRhU3RvcmUg
PSBXS1dlYnNpdGVEYXRhU3RvcmVDcmVhdGVXaXRoQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9u
LmdldCgpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA5N2ZlYjgyNjJkNGI5YWZlYmNlMTZkZTBiMGU4Nzg3NGUwODlmMmNk
Li4zMTlhNTk4Y2VmZWZkMTQ1ZTZhYzJhNGM2ZWFkMjBjZTM0ZTM5ZjcyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTktMTEtMTIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAg
ICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNraXAgbmV3bHkgaW1w
b3J0ZWQgdGVzdHMgZm9yIFdLMS4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azEvVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6
CisKIDIwMTktMTEtMTIgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dUS11bV1BFXSBFbmFibGUgQ1NTIFBhaW50aW5nIEFQSQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNTFjOGExOGM1YmE3MWIwMGExNTIzNjBlMzVj
ZGE4NmZlOWIxYjIyYS4uOTY2ODRkOGQzZjA2YmMzNWNmMWExODYwZWY4NWUzNGFiZDkyMGM4MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMTEt
MTIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxl
LXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIFdQ
VCB0ZXN0cy4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvZmV0Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
cmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAoaWRfdG9rZW4pOgorICAgICAg
ICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3Mt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1h
Z2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1zY3JpcHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvc3ctaW50ZXJjZXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jLmJyb2FkY2FzdCk6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
dzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDE5LTExLTEyICBDYXJsb3MgQWxiZXJ0byBMb3Bl
eiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtQb2ludGVyIEV2ZW50cyBX
UFRdIERlbGV0ZSBtYW51YWwgdGVzdHMgaW1wb3J0ZWQgYXMgbGF5b3V0IHRlc3RzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uCmluZGV4IDM1MDMzNzM1OWQ2NTZkYmFiYTczZWY2NjUyM2NmNWU4NzZmZDll
MzIuLjVjNWRjZjFhODY0OTY3NmJkZjA2ZGEwYTYxYzIwZDhmOGZiMzk1M2IgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5q
c29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uCkBAIC0xNzYsNiArMTc2LDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL2FwaSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9jb3JzIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvcmFuZ2Ui
OiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZnVsbHNjcmVl
biI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9nYW1lcGFkIjogInNraXAiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2dlbmVyaWMtc2Vuc29yIjogInNraXAiLCAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvZmV0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2YmYyNmY0YWIxMWM3NzdhZGYyNDhh
YTM3YWMwYzc3MjgyMzcwNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0
Y2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFNlY29uZCBmZXRjaCByZXR1
cm5zIHNhbWUgcmVzcG9uc2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1z
dy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2YmYyNmY0YWIxMWM3NzdhZGYyNDhhYTM3YWMwYzc3Mjgy
MzcwNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFNlY29uZCBmZXRjaCByZXR1cm5z
IHNhbWUgcmVzcG9uc2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZWZjZWJjMjRhNjNmNDBkZTU0YTRjMzk5MWM5MDUwZWI3NDQ4NmEyOQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy5odG1sCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorICA8dGl0bGU+U3RhbGUgUmV2YWxpZGF0aW9uIFJlcXVlc3RzIGRvbid0IGdldCBzZW50
IHRvIHNlcnZpY2Ugd29ya2VyPC90aXRsZT4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2Ny
aXB0PgorICA8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CisKKyAgLy8gRHVwbGljYXRpbmcgdGhpcyByZXNvdXJjZSB0byBt
YWtlIHNlcnZpY2Ugd29ya2VyIHNjb3Bpbmcgc2ltcGxlci4KKyAgYXN5bmMgZnVuY3Rpb24gc2V0
dXBSZWdpc3RyYXRpb25BbmRXYWl0VG9CZUNvbnRyb2xsZWQodCwgc2NvcGUpIHsKKyAgICBjb25z
dCBjb250cm9sbGVkID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIG5hdmlnYXRv
ci5zZXJ2aWNlV29ya2VyLm9uY29udHJvbGxlcmNoYW5nZSA9ICgpID0+IHsgcmVzb2x2ZSgpOyB9
OworICAgIH0pOworICAgIGNvbnN0IHJlZyA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2Vy
LnJlZ2lzdGVyKCdzdy1pbnRlcmNlcHQuanMnKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0
LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOworICAgIGF3YWl0IGNvbnRyb2xsZWQ7Cisg
ICAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soXyA9PiByZWcudW5yZWdpc3RlcigpKTsKKyAgICBy
ZXR1cm4gcmVnOworICB9CisKKyAgLy8gVXNpbmcgMjUwbXMgcG9sbGluZyBpbnRlcnZhbCB0byBw
cm92aWRlIGVub3VnaCAnbmV0d29yayBjYWxtbmVzcycgdG8gZ2l2ZQorICAvLyB0aGUgYmFja2dy
b3VuZCBsb3cgcHJpb3JpdHkgcmV2YWxpZGF0aW9uIHJlcXVlc3QgYSBjaGFuY2UgdG8ga2ljayBp
bi4KKyAgZnVuY3Rpb24gd2FpdDI1MG1zKHRlc3QpIHsKKyAgICByZXR1cm4gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CisgICAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICAgIHJl
c29sdmUoKTsKKyAgICAgIH0sIDI1MCk7CisgICAgfSk7CisgIH0KKworICBwcm9taXNlX3Rlc3Qo
YXN5bmMgKHRlc3QpID0+IHsKKyAgICB2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7CisgICAg
Y29uc3QgdXJpID0gJ3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49JyArIHJlcXVlc3Rf
dG9rZW47CisKKyAgICBhd2FpdCBzZXR1cFJlZ2lzdHJhdGlvbkFuZFdhaXRUb0JlQ29udHJvbGxl
ZCh0ZXN0LCAncmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weScpOworCisgICAgdmFyIHNlcnZpY2Vf
d29ya2VyX2NvdW50ID0gMDsKKyAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRFdmVudExp
c3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24gb25jZShldmVudCkgeworICAgICAgaWYgKGV2ZW50
LmRhdGEuZW5kc1dpdGgodXJpKSkgeworICAgICAgICBzZXJ2aWNlX3dvcmtlcl9jb3VudCsrOwor
ICAgICAgfQorICAgIH0pOworCisgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmkp
OworICAgIGNvbnN0IHJlc3BvbnNlMiA9IGF3YWl0IGZldGNoKHVyaSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhyZXNwb25zZS5oZWFkZXJzLmdldCgnVW5pcXVlLUlkJyksIHJlc3BvbnNlMi5oZWFkZXJz
LmdldCgnVW5pcXVlLUlkJykpOworICAgIHdoaWxlKHRydWUpIHsKKyAgICAgIGNvbnN0IHJldmFs
aWRhdGlvbl9jaGVjayA9IGF3YWl0IGZldGNoKGByZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3F1
ZXJ5JnRva2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKyAgICAgIGlmIChyZXZhbGlkYXRpb25fY2hl
Y2suaGVhZGVycy5nZXQoJ0NvdW50JykgPT0gJzInKSB7CisgICAgICAgIC8vIFRoZSBzZXJ2aWNl
IHdvcmtlciBzaG91bGQgbm90IHNlZSB0aGUgcmV2YWxpZGF0aW9uIHJlcXVlc3QuCisgICAgICAg
IGFzc2VydF9lcXVhbHMoc2VydmljZV93b3JrZXJfY291bnQsIDIpOworICAgICAgICBicmVhazsK
KyAgICAgIH0KKyAgICAgIGF3YWl0IHdhaXQyNTBtcyh0ZXN0KTsKKyAgICB9CisgIH0sICdTZWNv
bmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvZmV0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzM5MGM3YWQ1OTQ4YzY4MmIyZmJkY2Iz
Yzk1YTRjMzc0ZGJiYTJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNo
Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSBpcyBub3QgZXhlY3V0
ZWQgZm9yIGZldGNoIEFQSTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gd2FpdDI1bXModGVzdCkgeworICByZXR1cm4gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgdGVzdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAg
cmVzb2x2ZSgpOworICAgIH0sIDI1KTsKKyAgfSk7Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyAo
dGVzdCkgPT4geworICB2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7CisKKyAgY29uc3QgcmVz
cG9uc2UgPSBhd2FpdCBmZXRjaChgcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj1gICsg
cmVxdWVzdF90b2tlbik7CisgIGNvbnN0IHJlc3BvbnNlMiA9IGF3YWl0IGZldGNoKGByZXNvdXJj
ZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKworICBhc3NlcnRf
ZXF1YWxzKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSwgcmVzcG9uc2UyLmhlYWRl
cnMuZ2V0KCdVbmlxdWUtSWQnKSk7CisKKyAgd2hpbGUodHJ1ZSkgeworICAgIGNvbnN0IHJldmFs
aWRhdGlvbl9jaGVjayA9IGF3YWl0IGZldGNoKGByZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3F1
ZXJ5JnRva2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKyAgICBpZiAocmV2YWxpZGF0aW9uX2NoZWNr
LmhlYWRlcnMuZ2V0KCdDb3VudCcpID09ICcyJykgeworICAgICAgYnJlYWs7CisgICAgfQorICAg
IGF3YWl0IHdhaXQyNW1zKHRlc3QpOworICB9Cit9LCAnU2Vjb25kIGZldGNoIHJldHVybnMgc2Ft
ZSByZXNwb25zZScpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVz
b3VyY2VzL3N0YWxlLWNzcy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3Nz
LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmE2YWU1NDZkMDY1MWY5N2YzMDIwODI5NDUyZGI2MjI1NDg2ZGM0NTEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5w
eQpAQCAtMCwwICsxLDI4IEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisKKyAgICB0
b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIsIE5vbmUpCisgICAgaXNfcXVlcnkgPSBy
ZXF1ZXN0LkdFVC5maXJzdCgicXVlcnkiLCBOb25lKSAhPSBOb25lCisgICAgd2l0aCByZXF1ZXN0
LnNlcnZlci5zdGFzaC5sb2NrOgorICAgICAgdmFsdWUgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50
YWtlKHRva2VuKQorICAgICAgY291bnQgPSAwCisgICAgICBpZiB2YWx1ZSAhPSBOb25lOgorICAg
ICAgICBjb3VudCA9IGludCh2YWx1ZSkKKyAgICAgIGlmIGlzX3F1ZXJ5OgorICAgICAgICBpZiBj
b3VudCA8IDI6CisgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3Vu
dCkKKyAgICAgIGVsc2U6CisgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAgIHJlcXVl
c3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgaWYgaXNfcXVlcnk6CisgICAg
ICBoZWFkZXJzID0gWygiQ291bnQiLCBjb3VudCldCisgICAgICBjb250ZW50ID0gIiIKKyAgICAg
IHJldHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKKyAgICBlbHNlOgorICAgICAgY29udGVudCA9
ICJib2R5IHsgYmFja2dyb3VuZDogcmdiKDAsIDEyOCwgMCk7IH0iCisgICAgICBpZiBjb3VudCA+
IDE6CisgICAgICAgIGNvbnRlbnQgPSAiYm9keSB7IGJhY2tncm91bmQ6IHJnYigyNTUsIDAsIDAp
OyB9IgorCisgICAgICBoZWFkZXJzID0gWygiQ29udGVudC1UeXBlIiwgInRleHQvY3NzIiksCisg
ICAgICAgICAgICAgICAoIkNhY2hlLUNvbnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFs
ZS13aGlsZS1yZXZhbGlkYXRlPTYwIildCisKKyAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsIGNv
bnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2Uu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgzOWViODRiYjM0YmJkMTVlMmNhNzA2MWVlNGZhNTcyNGQyYzY0ZjgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5CkBAIC0wLDAgKzEs
MzggQEAKK2ltcG9ydCBvcy5wYXRoCisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKwor
ICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBpc19xdWVy
eSA9IHJlcXVlc3QuR0VULmZpcnN0KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUKKyAgICB3aXRoIHJl
cXVlc3Quc2VydmVyLnN0YXNoLmxvY2s6CisgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0
YXNoLnRha2UodG9rZW4pCisgICAgICBjb3VudCA9IDAKKyAgICAgIGlmIHZhbHVlICE9IE5vbmU6
CisgICAgICAgIGNvdW50ID0gaW50KHZhbHVlKQorICAgICAgaWYgaXNfcXVlcnk6CisgICAgICAg
IGlmIGNvdW50IDwgMjoKKyAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4s
IGNvdW50KQorICAgICAgZWxzZToKKyAgICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAg
cmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKworICAgIGlmIGlzX3F1ZXJ5
OgorICAgICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIi
CisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIGZp
bGVuYW1lID0gImdyZWVuLTE2eDE2LnBuZyIKKyAgICAgIGlmIGNvdW50ID4gMToKKyAgICAgICAg
ZmlsZW5hbWUgPSAiZ3JlZW4tMjU2eDI1Ni5wbmciCisKKyAgICAgIHBhdGggPSBvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uLy4uLy4uL2ltYWdlcyIsIGZpbGVuYW1l
KQorICAgICAgYm9keSA9IG9wZW4ocGF0aCwgInJiIikucmVhZCgpCisKKyAgICAgIHJlc3BvbnNl
LmFkZF9yZXF1aXJlZF9oZWFkZXJzID0gRmFsc2UKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0
ZV9zdGF0dXMoMjAwKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX2hlYWRlcigiY29udGVu
dC1sZW5ndGgiLCBsZW4oYm9keSkpCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVy
KCJDYWNoZS1Db250cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZT02MCIpCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVyKCJjb250ZW50LXR5
cGUiLCAiaW1hZ2UvcG5nIikKKyAgICAgIHJlc3BvbnNlLndyaXRlci5lbmRfaGVhZGVycygpCisK
KyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZShib2R5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3Jlc291cmNlcy9zdGFsZS1zY3JpcHQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3Vy
Y2VzL3N0YWxlLXNjcmlwdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWQ1NDY3MWY0MjExNzM1ZjU2ZGY1MGE1
NWRlZWE2ZWQyODFkNWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1zY3JpcHQucHkKQEAgLTAsMCArMSwzMiBAQAoraW1wb3J0IHJhbmRvbSwgc3Ry
aW5nLCBkYXRldGltZQorCitkZWYgaWRfdG9rZW4oKToKKyAgIGxldHRlcnMgPSBzdHJpbmcuYXNj
aWlfbG93ZXJjYXNlCisgICByZXR1cm4gJycuam9pbihyYW5kb20uY2hvaWNlKGxldHRlcnMpIGZv
ciBpIGluIHJhbmdlKDIwKSkKKworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHRv
a2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBpc19xdWVyeSA9IHJl
cXVlc3QuR0VULmZpcnN0KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUKKyAgICB3aXRoIHJlcXVlc3Qu
c2VydmVyLnN0YXNoLmxvY2s6CisgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRh
a2UodG9rZW4pCisgICAgICBjb3VudCA9IDAKKyAgICAgIGlmIHZhbHVlICE9IE5vbmU6CisgICAg
ICAgIGNvdW50ID0gaW50KHZhbHVlKQorICAgICAgaWYgaXNfcXVlcnk6CisgICAgICAgIGlmIGNv
dW50IDwgMjoKKyAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50
KQorICAgICAgZWxzZToKKyAgICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAgcmVxdWVz
dC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKworICAgIGlmIGlzX3F1ZXJ5OgorICAg
ICAgaGVhZGVycyA9IFsoIkNvdW50IiwgY291bnQpXQorICAgICAgY29udGVudCA9ICIiCisgICAg
ICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50CisgICAgZWxzZToKKyAgICAgIHVuaXF1ZV9p
ZCA9IGlkX3Rva2VuKCkKKyAgICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9q
YXZhc2NyaXB0IiksCisgICAgICAgICAgICAgICAgICgiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRl
LCBtYXgtYWdlPTAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAiKSwKKyAgICAgICAgICAgICAg
ICAgKCJVbmlxdWUtSWQiLCB1bmlxdWVfaWQpXQorICAgICAgY29udGVudCA9ICJyZXBvcnQoJ3t9
JykiLmZvcm1hdCh1bmlxdWVfaWQpCisgICAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBjb250ZW50
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWE3
NzMyYTU2NmQ0YTZmNTczY2M5N2ZkM2QxNDU0NjU3ZDQ3NjgwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE5IEBA
CitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0Rv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weQorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVz
b3VyY2VzL3N0YWxlLXNjcmlwdC5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxl
LWNzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YWM5OTQwNWE3Yjg5YzEzZTU3ODdlYWYwNzllZDZmMTQ4OGU4YzEwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZSAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLWNzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1NjI2MGZkYjQ1YzBjMmM2MGI0ZDc2ZjYz
YTc2Mzg5ZGY4MThiMTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUt
Y3NzLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSB3b3JrcyBmb3Ig
Y3NzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5Pgor
PHNjcmlwdD4KKwordmFyIHJlcXVlc3RfdG9rZW4gPSB0b2tlbigpOworYXN5bmNfdGVzdCh0ID0+
IHsKKyAgd2luZG93Lm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICB0LnN0ZXBfdGlt
ZW91dCgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSwgInJn
YigwLCAxMjgsIDApIik7CisgICAgICB2YXIgbGluazIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJsaW5rIik7CisgICAgICBsaW5rMi5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSku
Z2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpLCAicmdiKDAsIDEyOCwgMCkiKTsK
KyAgICAgICAgdmFyIGNoZWNrUmVzdWx0ID0gKCkgPT4geworICAgICAgICAgIC8vIFdlIHBvbGwg
YmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoZW4gdGhlIHJldmFsaWRhdGlvbiB3aWxsIG9jY3VyLgor
ICAgICAgICAgIGZldGNoKCJyZXNvdXJjZXMvc3RhbGUtY3NzLnB5P3F1ZXJ5JnRva2VuPSIgKyBy
ZXF1ZXN0X3Rva2VuKS50aGVuKHQuc3RlcF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAg
ICAgdmFyIGNvdW50ID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoIkNvdW50Iik7CisgICAgICAgICAg
ICBpZiAoY291bnQgPT0gJzInKSB7CisgICAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9KSk7CisgICAgICAgIH07CisgICAgICAgIHQu
c3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICB9KTsKKyAgICAgIGxpbmsyLnJl
bCA9ICJzdHlsZXNoZWV0IjsKKyAgICAgIGxpbmsyLnR5cGUgPSAidGV4dC9jc3MiOworICAgICAg
bGluazIuaHJlZiA9ICJyZXNvdXJjZXMvc3RhbGUtY3NzLnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rv
a2VuOworICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rMik7CisgICAgfSwgMCk7
CisgIH0pOworfSwgJ0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGxpbmsg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7CitsaW5rLnJlbCA9ICJzdHlsZXNoZWV0
IjsKK2xpbmsudHlwZSA9ICJ0ZXh0L2NzcyI7CitsaW5rLmhyZWYgPSAicmVzb3VyY2VzL3N0YWxl
LWNzcy5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQobGluayk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2Ut
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlNDIwMTRkZWZkNzE5MTA5NmMzM2NjZTU4MzBlZjdj
YWExYTU3YTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2Ut
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorIAorCitQQVNTIENhY2hlIHJldHVybnMgc3Rh
bGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzhhNWEw
OWFiMTUxMTIyMDRiYTY5NTk2NWQ2MGE2YzIwYTQ4NGI1YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0YWxlIFdoaWxl
IFJldmFsaWRhdGUgd29ya3MgZm9yIGltYWdlczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGls
cy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzwhLS0KK1VzZSBhIGNoaWxkIGRvY3VtZW50IHRvIGxv
YWQgdGhlIHNlY29uZCBzdGFsZSBpbWFnZSBpbnRvIGJlY2F1c2UKK2FuIGltYWdlIGxvYWRlZCBp
bnRvIHRoZSBzYW1lIGRvY3VtZW50IHdpbGwgc2tpcCBjYWNoZS1jb250cm9sIGhlYWRlcnMuCitT
ZWU6IGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1saXN0LW9mLWF2YWlsYWJsZS1p
bWFnZXMKKy0tPgorPGlmcmFtZSBpZD0iY2hpbGQiIHNyY2RvYz0iIj48L2lmcmFtZT4KKzxzY3Jp
cHQ+Cit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7Cithc3luY190ZXN0KHQgPT4geworICB3
aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHQuc3RlcF90aW1lb3V0KCgp
ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpcnN0
aW1hZ2UiKS53aWR0aCwgMTYsICJXaWR0aCBpcyAxNiIpOworICAgICAgdmFyIGNoaWxkRG9jdW1l
bnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hpbGQnKS5jb250ZW50RG9jdW1lbnQ7Cisg
ICAgICB2YXIgaW1nMiA9IGNoaWxkRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CisgICAg
ICBpbWcyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhpbWcyLndpZHRoLCAxNiwgImltYWdlIGRpbWVuc2lvbiIpOworICAgICAgICB2YXIgY2hlY2tS
ZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdlIGRvbid0IGtu
b3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAgZmV0Y2goInJl
c291cmNlcy9zdGFsZS1pbWFnZS5weT9xdWVyeSZ0b2tlbj0iICsgcmVxdWVzdF90b2tlbikudGhl
bih0LnN0ZXBfZnVuYygocmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIHZhciBjb3VudCA9IHJl
c3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgaWYgKGNvdW50ID09ICcy
JykgeworICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgfSkpOworICAgICAgICB9OworICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVj
a1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAgICBpbWcyLnNyYyA9ICJyZXNvdXJjZXMvc3Rh
bGUtaW1hZ2UucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBjaGlsZERvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoaW1nMik7CisgICAgfSwgMCk7CisgIH0pOworfSwgJ0NhY2hlIHJl
dHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImltZyIpOworaW1nLnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk/dG9rZW49IiAr
IHJlcXVlc3RfdG9rZW47CitpbWcuaWQgPSAiZmlyc3RpbWFnZSI7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGltZyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9zdGFsZS1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxl
LXNjcmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFjOTk0MDVhN2I4OWMxM2U1Nzg3ZWFm
MDc5ZWQ2ZjE0ODhlOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENhY2hlIHJldHVy
bnMgc3RhbGUgcmVzb3VyY2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1z
Y3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42ODc5M2U1MDA1NmJjNjA1M2VhNDEwZDY1OGFlZDM3M2QxOWY5YTQxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCkBAIC0wLDAgKzEsNTMgQEAK
KzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIFN0
YWxlIFdoaWxlIFJldmFsaWRhdGUgd29ya3MgZm9yIHNjcmlwdHM8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9j
b21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgordmFyIGxhc3RfbW9k
aWZpZWQ7Cit2YXIgbGFzdF9tb2RpZmllZF9jb3VudCA9IDA7Cit2YXIgcmVxdWVzdF90b2tlbiA9
IHRva2VuKCk7CisKKy8vIFRoZSBzY3JpcHQgd2lsbCBjYWxsIHJlcG9ydCB2aWEgYSB1bmlxdWVs
eSBnZW5lcmF0ZWQgSUQgb24gdGhlIHN1YnJlc291cmNlLgorLy8gSWYgaXQgaXMgYSBjYWNoZSBo
aXQgdGhlIElEIHdpbGwgYmUgdGhlIHNhbWUgYW5kIHRoZSB0ZXN0IHdpbGwgcGFzcy4KK2Z1bmN0
aW9uIHJlcG9ydChtb2QpIHsKKyAgaWYgKCFsYXN0X21vZGlmaWVkKSB7CisgICAgbGFzdF9tb2Rp
ZmllZCA9IG1vZDsKKyAgICBsYXN0X21vZGlmaWVkX2NvdW50ID0gMTsKKyAgfSBlbHNlIGlmIChs
YXN0X21vZGlmaWVkID09IG1vZCkgeworICAgIGxhc3RfbW9kaWZpZWRfY291bnQrKzsKKyAgfQor
fQorCithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkg
PT4geworICAgIHN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICB2YXIgc2NyaXB0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgICBzY3JpcHQuc3JjID0gInJlc291cmNl
cy9zdGFsZS1zY3JpcHQucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7CisgICAgICBzY3JpcHQub25sb2FkID0gdC5zdGVw
X2Z1bmMoKCkgPT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMobGFzdF9tb2RpZmllZF9jb3Vu
dCwgMiwgImxhc3QgbW9kaWZpZWQiKTsKKyAgICAgICAgICB2YXIgY2hlY2tSZXN1bHQgPSAoKSA9
PiB7CisgICAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRo
ZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICAgIGZldGNoKCJyZXNvdXJjZXMv
c3RhbGUtc2NyaXB0LnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0X3Rva2VuKS50aGVuKHQuc3Rl
cF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICB2YXIgY291bnQgPSByZXNwb25z
ZS5oZWFkZXJzLmdldCgiQ291bnQiKTsKKyAgICAgICAgICAgICAgaWYgKGNvdW50ID09ICcyJykg
eworICAgICAgICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSkpOworICAgICAgICAgIH07CisgICAgICAgICAgdC5zdGVw
X3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgIH0pOworICAgIH0sIDApOworICB9KTsK
K30sICdDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlJyk7CisKK3ZhciBzY3JpcHQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3NjcmlwdC5zcmMgPSAicmVzb3VyY2VzL3N0
YWxlLXNjcmlwdC5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoc2NyaXB0KTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGNhN2RlNTFiMGI4YzU1MTgyNzZlNzBhZTIxOWI3YmM4Zjg2OWE5NQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQuanMKQEAgLTAs
MCArMSwxNCBAQAorYXN5bmMgZnVuY3Rpb24gYnJvYWRjYXN0KG1zZykgeworICBmb3IgKGNvbnN0
IGNsaWVudCBvZiBhd2FpdCBjbGllbnRzLm1hdGNoQWxsKCkpIHsKKyAgICBjbGllbnQucG9zdE1l
c3NhZ2UobXNnKTsKKyAgfQorfQorCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgZXZl
bnQgPT4geworICBldmVudC53YWl0VW50aWwoYnJvYWRjYXN0KGV2ZW50LnJlcXVlc3QudXJsKSk7
CisgIGV2ZW50LnJlc3BvbmRXaXRoKGZldGNoKGV2ZW50LnJlcXVlc3QpKTsKK30pOworCitzZWxm
LmFkZEV2ZW50TGlzdGVuZXIoJ2FjdGl2YXRlJywgZXZlbnQgPT4geworICBzZWxmLmNsaWVudHMu
Y2xhaW0oKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiOWRkMDZmODQ2
YTcwNjhmZWEyYjgyODc4MWFkNzVjYzE5OGU3YTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMiBAQAorVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFs
ZS1pbWFnZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdr
MS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGMzMDk3MzQxM2I3YWUxY2E3YWIyMThiYzM3ZjBiNWVj
ZGViYWMzODUuLmYxZmQ3YTBiN2U3NzRiNWVkMjkzMTkxZTY3MGZhNDBhNjA5MzhlMzEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIwMDUs
NCArMjAwNSw3IEBAIGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLWh0bWwtMmQuaHRtbAogd2Vi
a2l0Lm9yZy9iLzE1OTcyNCBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1yZWRpcmVjdC1wb3N0LXVwbG9hZC5odG0gWyBTa2lwIF0KIAogIyBTa2lwIElz
TG9nZ2VkSW4KLWh0dHAvdGVzdHMvaXMtbG9nZ2VkLWluLyBbIFNraXAgXQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKK2h0dHAvdGVzdHMvaXMtbG9nZ2VkLWluLyBbIFNraXAgXQorCisjIFN0
YWxlLXdoaWxlLXJldmFsaWRhdGUgaXMgbm90IHN1cHBvcnRlZCBvbiBXSzEKK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBbIFNraXAg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDQzNjY4ZTRiNzUyMjVhYWI2NGU5ZDM0MWJlZTZmZTE0YmUyOGVjNzcuLmEyODAwNTAxZTBiYTc4
NTUxMTAxZDU0ZDU0NjYzYjVlZjA1NmM5MDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTgyMiwzICs4MjIsNiBAQCB3ZWJraXQub3JnL2Iv
MjAzNTAxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L2FuaW1hdGlvbgogd2Via2l0Lm9yZy9iLzIwMzUwMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tdHJhbnNmb3JtLXBhdXNlLWFuZC1z
ZXQtdGltZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMDM1MTcg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9keW5hbWljLWF2
YWlsYWJsZS1zaXplLWlmcmFtZS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KKworIyBT
dGFsZS13aGlsZS1yZXZhbGlkYXRlIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0sxCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUgWyBTa2lw
IF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383373</attachid>
            <date>2019-11-12 13:31:11 -0800</date>
            <delta_ts>2019-11-13 00:03:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191112223109.patch</filename>
            <type>text/plain</type>
            <size>73262</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzdlMjI3MmI5YjI0Y2M3
NGVjYzhhOTliMzFkZWIwYjI2ZDBmZWM4ZS4uNDg1MTIxZjdmY2M5YzBiZDJjNzliZGY1NTRkN2U4
ZTU1NDNjN2NmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTExLTEyICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdGFydCBwYXJzaW5nIHRoZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRl
IENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlCisgICAgICAgIGFuZCBleHBvc2UgaXQgb24gUmVzb3Vy
Y2VSZXNwb25zZS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3Nz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ2Fj
aGVWYWxpZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9sRGly
ZWN0aXZlcyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24uaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xTdGFsZVdo
aWxlUmV2YWxpZGF0ZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlc3BvbnNlQmFzZS5oOgorCiAyMDE5LTExLTExICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBNYW55IGxlZ2FjeSBhbmltYXRpb24gdGVzdHMgYXJlIHRp
bWluZyBvdXQgd2l0aCBWUzIwMTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjA3YmJiNjIzYzU0NmNjZjdlZTM4NWE0
ZmEwMmU3ZTFiZGViNWYzZi4uNGNlZWJjMDlkZDk3YjhlMDkyZWJkNTJmNGZjZDA4M2Q3MTNmNjgz
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MyBAQAorMjAxOS0xMS0xMiAgUm9iIEJ1aXMgIDxyYnVp
c0BpZ2FsaWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBj
YWNoZSBzdHJhdGVneQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAxNDYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgbmV3IFVzZURlY2lzaW9uIHZhbHVlIEFzeW5jUmV2YWxpZGF0ZSBmb3IgYXN5
bmMgcmV2YWxpZGF0aW9uLiBUaGlzIGlzIHVzZWQKKyAgICAgICAgd2hlbiB0aGUgcmV0cmlldmVk
IGNhY2hlIGVudHJ5IGlzIGEgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSByZXNwb25zZSBbMV0uCisg
ICAgICAgIEluIGNhc2Ugb2YgQXN5bmNSZXZhbGlkYXRlLCBhIGNoZWNrIGlzIG1hZGUgdG8gc2Vl
IGlmIHRoZXJlIGlzIGEKKyAgICAgICAgY3VycmVudCBhc3luYyByZXZhbGlkYXRpb24gb25nb2lu
ZyBmb3IgdGhlIGVudHJ5LCBpZiBub3Qgb25lIGlzCisgICAgICAgIHN0YXJ0ZWQuIFJlZ2FyZGxl
c3MsIHRoZSBzdGFsZSBlbnRyeSBpcyByZXR1cm5lZCwgdW50aWwgZWl0aGVyIHRoZQorICAgICAg
ICBhc3luYyByZXZhbGlkYXRpb24gZW5kcyBzdWNjZXNzZnVsbHkgb3IgYXQgdGhlIG1vbWVudCB3
aGVuIHRoZQorICAgICAgICByZXNwb25zZSBleHBpcmVzIGZvciByZWFsLgorCisgICAgICAgIFsx
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC1zdGFsZS13aGlsZS1yZXZh
bGlkYXRlLXJlc3BvbnNlCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpOZXR3b3JrU2Vzc2lvbik6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Nlc3Npb246OmlzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkIGNvbnN0
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1l
dGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0
ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
U2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDYWNoZTo6Y29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5k
aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpBc3luY1JldmFsaWRhdGlvbjo6
QXN5bmNSZXZhbGlkYXRpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5j
UmV2YWxpZGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFz
eW5jUmV2YWxpZGF0aW9uOjpsb2FkIGNvbnN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJl
c3BvbnNlTmVlZHNSZXZhbGlkYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
Om1ha2VVc2VEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6bWFrZVN0
b3JlRGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpzdGFy
dEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6OkNhY2hlOjpyZXRyaWV2ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVz
cG9uc2VIYXNFeHBpcmVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
OmR1bXBIVFRQSGVhZGVyc0RpZmYpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJl
cXVlc3RzSGVhZGVyc01hdGNoKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpkdW1wSFRUUEhlYWRlcnNEaWZmKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXF1ZXN0c0hlYWRlcnNNYXRjaCk6IERlbGV0ZWQuCisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYuY3BwOgorICAgICAgICAoV0tXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbkdldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCk6CisgICAgICAg
IChXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0U3RhbGVXaGlsZVJldmFsaWRhdGVF
bmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29u
ZmlndXJhdGlvblJlZi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9X
ZWJzaXRlRGF0YVN0b3JlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3Rv
cmU6OnBhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uOjpjb3B5IGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYktp
dDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5h
YmxlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uOjpzZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQpOgorICAgICAgICAqIFdlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTExLTEyICBDYXJsb3MgQWxiZXJ0byBM
b3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gRW5h
YmxlIENTUyBQYWludGluZyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmNwcAppbmRleCA0OTU5MDUwNjc5Y2UwNTA0ODQyNDQ3ZWIx
ZjVhMGJmOGE2NzY4M2NlLi4yZDM1MDdkZjIzN2RiMjk1ZDU5MzFhNGMwZGY3NjAyNzc3ZGU3Yjhi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlk
YXRpb24uY3BwCkBAIC0zMTMsOCArMzEzLDE4IEBAIENhY2hlQ29udHJvbERpcmVjdGl2ZXMgcGFy
c2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMpCiAg
ICAgICAgICAgICAgICAgZG91YmxlIG1heFN0YWxlID0gZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9E
b3VibGUoJm9rKTsKICAgICAgICAgICAgICAgICBpZiAob2spCiAgICAgICAgICAgICAgICAgICAg
IHJlc3VsdC5tYXhTdGFsZSA9IFNlY29uZHMgeyBtYXhTdGFsZSB9OwotICAgICAgICAgICAgfSBl
bHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0
LCAiaW1tdXRhYmxlIikpCisgICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGRpcmVjdGl2ZXNbaV0uZmlyc3QsICJpbW11dGFibGUiKSkgewogICAgICAg
ICAgICAgICAgIHJlc3VsdC5pbW11dGFibGUgPSB0cnVlOworICAgICAgICAgICAgfSBlbHNlIGlm
IChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAic3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGFs
ZVdoaWxlUmV2YWxpZGF0ZSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGaXJzdCBzdGFsZS13
aGlsZS1yZXZhbGlkYXRlIGRpcmVjdGl2ZSB3aW5zIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBvbmVz
LgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgYm9vbCBvazsKKyAgICAgICAgICAgICAgICBkb3VibGUgc3RhbGVXaGlsZVJl
dmFsaWRhdGUgPSBkaXJlY3RpdmVzW2ldLnNlY29uZC50b0RvdWJsZSgmb2spOworICAgICAgICAg
ICAgICAgIGlmIChvaykKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnN0YWxlV2hpbGVSZXZh
bGlkYXRlID0gU2Vjb25kcyB7IHN0YWxlV2hpbGVSZXZhbGlkYXRlIH07CisgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0NhY2hlVmFsaWRhdGlvbi5oCmluZGV4IDU2ZWZlYTYyMTU0NDc5NTA2YTE2NjRmZmQwOGUw
OGFiMmM1NTZiY2QuLjA0MGE5Njk3ZTVmYTgyZTFhZjUwZmZhOWFkMTkyNzI3ZjNiNzg0MTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24u
aApAQCAtNjksNiArNjksNyBAQCBzdHJ1Y3QgQ2FjaGVDb250cm9sRGlyZWN0aXZlcyB7CiAKICAg
ICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNvbmRzOjpNYXJrYWJsZVRyYWl0cz4gbWF4QWdlOwogICAg
IE1hcmthYmxlPFNlY29uZHMsIFNlY29uZHM6Ok1hcmthYmxlVHJhaXRzPiBtYXhTdGFsZTsKKyAg
ICBNYXJrYWJsZTxTZWNvbmRzLCBTZWNvbmRzOjpNYXJrYWJsZVRyYWl0cz4gc3RhbGVXaGlsZVJl
dmFsaWRhdGU7CiAgICAgYm9vbCBub0NhY2hlIDogMTsKICAgICBib29sIG5vU3RvcmUgOiAxOwog
ICAgIGJvb2wgbXVzdFJldmFsaWRhdGUgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAppbmRleCA2ZWQyN2Yz
YjIwODU4MmMxYjYwYzY0ZTE0NTQ0NmNhNjI2YzM0MWI2Li43NTQ5ZTUxMGNjNTc5MzAyYTk5NzQ3
NjQ5ZWJmZmY1ZTI5ODFlNmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcApAQCAtNjU3LDYgKzY1NywxMyBA
QCBPcHRpb25hbDxTZWNvbmRzPiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y2FjaGVDb250cm9sTWF4
QWdlKCkgY29uc3QKICAgICByZXR1cm4gbV9jYWNoZUNvbnRyb2xEaXJlY3RpdmVzLm1heEFnZTsK
IH0KIAorT3B0aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJv
bFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1faGF2ZVBhcnNlZENh
Y2hlQ29udHJvbEhlYWRlcikKKyAgICAgICAgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKCk7
CisgICAgcmV0dXJuIG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5zdGFsZVdoaWxlUmV2YWxpZGF0
ZTsKK30KKwogc3RhdGljIE9wdGlvbmFsPFdhbGxUaW1lPiBwYXJzZURhdGVWYWx1ZUluSGVhZGVy
KGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlcnMsIEhUVFBIZWFkZXJOYW1lIGhlYWRlck5hbWUp
CiB7CiAgICAgU3RyaW5nIGhlYWRlclZhbHVlID0gaGVhZGVycy5nZXQoaGVhZGVyTmFtZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmgKaW5kZXggZTdhOGYzYjVlNmI0MTM4NWRmODIzMTFmZGEyMTkzODMwODNjM2UwNS4u
YzBjYWVkMGRhNGE3MmRkYzBlYzZjMTJhZGRkNTM4YjYyOWVmZTVjZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApA
QCAtMTM3LDYgKzEzNyw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGNhY2hl
Q29udHJvbENvbnRhaW5zSW1tdXRhYmxlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9v
bCBoYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9w
dGlvbmFsPFNlY29uZHM+IGNhY2hlQ29udHJvbE1heEFnZSgpIGNvbnN0OworICAgIFdFQkNPUkVf
RVhQT1JUIE9wdGlvbmFsPFNlY29uZHM+IGNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRl
KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8V2FsbFRpbWU+IGRhdGUoKSBj
b25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxTZWNvbmRzPiBhZ2UoKSBjb25zdDsK
ICAgICBXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxXYWxsVGltZT4gZXhwaXJlcygpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAppbmRl
eCBjNWIyNWZhNzUyNzJkMzg5NWY0OTYzOWY2NGM0YTZhMjQyOTE4Zjc5Li5iNWM1OTUwNmI0NDU1
NWMxOWRmYzgyYzMzNTI4MjI0OWQwZDBlZjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcApAQCAtMTA4LDYgKzEwOCw4IEBAIE5ldHdvcmtT
ZXNzaW9uOjpOZXR3b3JrU2Vzc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNv
bnN0IE5ldHdvcmtTZXNzCiAgICAgICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVy
bWFuZW50bHkocGFyYW1ldGVycy5yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5RXh0ZW5z
aW9uSGFuZGxlKTsKICAgICB9CiAKKyAgICBtX2lzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVk
ID0gcGFyYW1ldGVycy5zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQ7CisKICAgICBtX2FkQ2xp
Y2tBdHRyaWJ1dGlvbi0+c2V0UGluZ0xvYWRGdW5jdGlvbihbdGhpcywgd2Vha1RoaXMgPSBtYWtl
V2Vha1B0cih0aGlzKV0oTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJiBsb2FkUGFyYW1l
dGVycywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKaW5kZXggZTZiYTdkODA1
Mjc4ZDdlYzU2YWJkY2VmMmUwNjA5YzE2NzFjYzk3YS4uZjI1ZGQ2NTViYjc4ZTllODZmNmM2NGE5
YWIyNjFjYzZlNDA5M2FkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Nlc3Npb24uaApAQCAtMTI0LDYgKzEyNCw4IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVk
IHRlc3RTcGVlZE11bHRpcGxpZXIoKSBjb25zdCB7IHJldHVybiBtX3Rlc3RTcGVlZE11bHRpcGxp
ZXI7IH0KIAorICAgIGJvb2wgaXNTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkOyB9CisKIHByb3RlY3RlZDoK
ICAgICBOZXR3b3JrU2Vzc2lvbihOZXR3b3JrUHJvY2VzcyYsIGNvbnN0IE5ldHdvcmtTZXNzaW9u
Q3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKQEAgLTE0NCw2ICsxNDYsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgYm9vbCBtX2Rvd25ncmFkZVJlZmVycmVyIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV90aGlyZFBh
cnR5Q29va2llQmxvY2tpbmdFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgorICAgIGJvb2wgbV9p
c1N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgVW5pcXVlUmVmPEFk
Q2xpY2tBdHRyaWJ1dGlvbk1hbmFnZXI+IG1fYWRDbGlja0F0dHJpYnV0aW9uOwogCiAgICAgSGFz
aFNldDxSZWY8TmV0d29ya1Jlc291cmNlTG9hZGVyPj4gbV9rZXB0QWxpdmVMb2FkczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vz
c2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggMDM4YzI1MDUxYzRhZWEyY2FlMTk1NGQ3
NmE5ZDc5OTQ0NTY2MTI0MC4uM2U4NWJlYTk0MzJmNzg2MGY4Mzg1Yzk3ZjdjMWVlODA0ZTc1OTkx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lv
bkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTc4LDYgKzc4LDcgQEAg
dm9pZCBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRp
b25FbmFibGVkOwogICAgIGVuY29kZXIgPDwgbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0
aW9uRW5hYmxlZDsKICAgICBlbmNvZGVyIDw8IHNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lv
bjsKKyAgICBlbmNvZGVyIDw8IHN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZDsKICAgICBlbmNv
ZGVyIDw8IHRlc3RTcGVlZE11bHRpcGxpZXI7CiAgICAgZW5jb2RlciA8PCBzdXBwcmVzc2VzQ29u
bmVjdGlvblRlcm1pbmF0aW9uT25TeXN0ZW1DaGFuZ2U7CiB9CkBAIC0yNDMsNyArMjQ0LDEyIEBA
IE9wdGlvbmFsPE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzPiBOZXR3b3JrU2Vzc2lv
bkNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjCiAgICAgZGVjb2RlciA+PiBzaG91bGRVc2VUZXN0aW5n
TmV0d29ya1Nlc3Npb247CiAgICAgaWYgKCFzaG91bGRVc2VUZXN0aW5nTmV0d29ya1Nlc3Npb24p
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgCisKKyAgICBPcHRpb25hbDxib29s
PiBzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQ7CisgICAgZGVjb2RlciA+PiBzdGFsZVdoaWxl
UmV2YWxpZGF0ZUVuYWJsZWQ7CisgICAgaWYgKCFzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQp
CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKICAgICBPcHRpb25hbDx1bnNpZ25lZD4g
dGVzdFNwZWVkTXVsdGlwbGllcjsKICAgICBkZWNvZGVyID4+IHRlc3RTcGVlZE11bHRpcGxpZXI7
CiAgICAgaWYgKCF0ZXN0U3BlZWRNdWx0aXBsaWVyKQpAQCAtMjkyLDYgKzI5OCw3IEBAIE9wdGlv
bmFsPE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzPiBOZXR3b3JrU2Vzc2lvbkNyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjCiAgICAgICAgICwgV1RGTW92ZSgqZmFzdFNlcnZlclRydXN0RXZh
bHVhdGlvbkVuYWJsZWQpCiAgICAgICAgICwgV1RGTW92ZSgqbmV0d29ya0NhY2hlU3BlY3VsYXRp
dmVWYWxpZGF0aW9uRW5hYmxlZCkKICAgICAgICAgLCBXVEZNb3ZlKCpzaG91bGRVc2VUZXN0aW5n
TmV0d29ya1Nlc3Npb24pCisgICAgICAgICwgV1RGTW92ZSgqc3RhbGVXaGlsZVJldmFsaWRhdGVF
bmFibGVkKQogICAgICAgICAsIFdURk1vdmUoKnRlc3RTcGVlZE11bHRpcGxpZXIpCiAgICAgICAg
ICwgV1RGTW92ZSgqc3VwcHJlc3Nlc0Nvbm5lY3Rpb25UZXJtaW5hdGlvbk9uU3lzdGVtQ2hhbmdl
KQogICAgIH19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDUwMTI1MmM4Yjhl
MDU5ZWRlYmU3MzEwMzI2NDdmZTE4NDY1YzUwMWEuLmFjNDM2YTNkMzgxODBhMTcwMTlmYjk1Mjk1
OWJjNDZjY2FjN2IyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTk2LDYg
Kzk2LDcgQEAgc3RydWN0IE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBi
b29sIGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29s
IG5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uIHsgZmFsc2UgfTsKKyAgICBib29s
IHN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgdW5zaWduZWQgdGVz
dFNwZWVkTXVsdGlwbGllciB7IDEgfTsKICAgICBib29sIHN1cHByZXNzZXNDb25uZWN0aW9uVGVy
bWluYXRpb25PblN5c3RlbUNoYW5nZSB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTAzNWI1YmE2Y2FkMDcwNDMyYTBkMTBkYzdkNmZiZGMzYTk2MjVhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFs
aWRhdGlvbi5jcHAKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBJ
Z2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXN5
bmNSZXZhbGlkYXRpb24uaCIKKworI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZF
X1JFVkFMSURBVElPTikKKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlVmFsaWRhdGlvbi5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
bmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CisKK3N0YXRpYyBpbmxpbmUgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0IGNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3QoY29uc3QgS2V5JiBrZXksIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgRW50cnkmIGVudHJ5
KQoreworICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXZhbGlkYXRpb25SZXF1ZXN0ID0g
cmVxdWVzdDsKKyAgICBpZiAoIWtleS5wYXJ0aXRpb24oKS5pc0VtcHR5KCkpCisgICAgICAgIHJl
dmFsaWRhdGlvblJlcXVlc3Quc2V0Q2FjaGVQYXJ0aXRpb24oa2V5LnBhcnRpdGlvbigpKTsKKyAg
ICBBU1NFUlRfV0lUSF9NRVNTQUdFKGtleS5yYW5nZSgpLmlzRW1wdHkoKSwgInJhbmdlIGlzIG5v
dCBzdXBwb3J0ZWQiKTsKKworICAgIHJldmFsaWRhdGlvblJlcXVlc3QubWFrZVVuY29uZGl0aW9u
YWwoKTsKKyAgICBhdXRvIGVUYWcgPSBlbnRyeS5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChX
ZWJDb3JlOjpIVFRQSGVhZGVyTmFtZTo6RVRhZyk7CisgICAgaWYgKCFlVGFnLmlzRW1wdHkoKSkK
KyAgICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoV2ViQ29yZTo6
SFRUUEhlYWRlck5hbWU6OklmTm9uZU1hdGNoLCBlVGFnKTsKKworICAgIGF1dG8gbGFzdE1vZGlm
aWVkID0gZW50cnkucmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRl
ck5hbWU6Okxhc3RNb2RpZmllZCk7CisgICAgaWYgKCFsYXN0TW9kaWZpZWQuaXNFbXB0eSgpKQor
ICAgICAgICByZXZhbGlkYXRpb25SZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZChXZWJDb3JlOjpI
VFRQSGVhZGVyTmFtZTo6SWZNb2RpZmllZFNpbmNlLCBsYXN0TW9kaWZpZWQpOworCisgICAgcmV2
YWxpZGF0aW9uUmVxdWVzdC5zZXRQcmlvcml0eShXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0
eTo6TG93KTsKKworICAgIHJldHVybiByZXZhbGlkYXRpb25SZXF1ZXN0OworfQorCit2b2lkIEFz
eW5jUmV2YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGluZygpCit7CisgICAgaWYg
KG1fY29tcGxldGlvbkhhbmRsZXIpCisgICAgICAgIG1fY29tcGxldGlvbkhhbmRsZXIoUmVzdWx0
OjpUaW1lb3V0KTsKK30KKworQXN5bmNSZXZhbGlkYXRpb246OkFzeW5jUmV2YWxpZGF0aW9uKENh
Y2hlJiBjYWNoZSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya0NhY2hlOjpF
bnRyeT4mJiBlbnRyeSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXN1bHQpPiYmIGhhbmRsZXIp
CisgICAgOiBtX3RpbWVyKCp0aGlzLCAmQXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZh
bGlkYXRlRW5kaW5nKQorICAgICwgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIp
KQoreworICAgIGF1dG8ga2V5ID0gZW50cnktPmtleSgpOworICAgIGF1dG8gcmV2YWxpZGF0aW9u
UmVxdWVzdCA9IGNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3Qoa2V5LCByZXF1ZXN0LCAqZW50
cnkuZ2V0KCkpOworICAgIGF1dG8gYWdlID0gV2ViQ29yZTo6Y29tcHV0ZUN1cnJlbnRBZ2UoZW50
cnktPnJlc3BvbnNlKCksIGVudHJ5LT50aW1lU3RhbXAoKSk7CisgICAgYXV0byBsaWZldGltZSA9
IFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkoZW50cnktPnJl
c3BvbnNlKCksIGVudHJ5LT50aW1lU3RhbXAoKSk7CisgICAgYXV0byByZXNwb25zZU1heFN0YWxl
bmVzcyA9IGVudHJ5LT5yZXNwb25zZSgpLmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRl
KCk7CisgICAgQVNTRVJUKHJlc3BvbnNlTWF4U3RhbGVuZXNzKTsKKyAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgqcmVzcG9uc2VNYXhTdGFsZW5lc3MgKyAobGlmZXRpbWUgLSBhZ2UpKTsKKyAgICBt
X2xvYWQgPSBtYWtlVW5pcXVlPFNwZWN1bGF0aXZlTG9hZD4oY2FjaGUsIGZyYW1lSUQsIFdURk1v
dmUocmV2YWxpZGF0aW9uUmVxdWVzdCksIFdURk1vdmUoZW50cnkpLCBbdGhpcywga2V5LCByZXZh
bGlkYXRpb25SZXF1ZXN0XShhdXRvJiYgcmV2YWxpZGF0ZWRFbnRyeSkgeworICAgICAgICBBU1NF
UlQoIXJldmFsaWRhdGVkRW50cnkgfHwgIXJldmFsaWRhdGVkRW50cnktPm5lZWRzVmFsaWRhdGlv
bigpKTsKKyAgICAgICAgQVNTRVJUKCFyZXZhbGlkYXRlZEVudHJ5IHx8IHJldmFsaWRhdGVkRW50
cnktPmtleSgpID09IGtleSk7CisgICAgICAgIGlmIChtX2NvbXBsZXRpb25IYW5kbGVyKQorICAg
ICAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlcihyZXZhbGlkYXRlZEVudHJ5ID8gUmVzdWx0OjpT
dWNjZXNzIDogUmVzdWx0OjpGYWlsdXJlKTsKKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
TmV0d29ya0NhY2hlCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShO
RVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zZGQ2MDhkMGUwNTNiYTgzMjE2ZGU0OTRlMjMxZjA0N2QyNDQzMmU0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRh
dGlvbi5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlh
IFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoTkVUV09SS19DQUNI
RV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCisKKyNpbmNsdWRlICJOZXR3b3JrQ2FjaGUuaCIK
KyNpbmNsdWRlICJOZXR3b3JrQ2FjaGVFbnRyeS5oIgorI2luY2x1ZGUgIk5ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZC5oIgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7Cit9OworCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworY2xhc3MgU3BlY3VsYXRpdmVMb2FkOworCituYW1lc3BhY2UgTmV0d29y
a0NhY2hlIHsKKworY2xhc3MgQXN5bmNSZXZhbGlkYXRpb24geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgorICAgIGVudW0gY2xhc3MgUmVzdWx0IHsKKyAgICAgICAgRmFp
bHVyZSwKKyAgICAgICAgVGltZW91dCwKKyAgICAgICAgU3VjY2VzcywKKyAgICB9OworICAgIEFz
eW5jUmV2YWxpZGF0aW9uKENhY2hlJiwgY29uc3QgR2xvYmFsRnJhbWVJRCYsIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OkVudHJ5
PiYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlc3VsdCk+JiYpOworCisgICAgY29uc3QgU3Bl
Y3VsYXRpdmVMb2FkJiBsb2FkKCkgY29uc3QgeyByZXR1cm4gKm1fbG9hZDsgfQorCitwcml2YXRl
OgorICAgIHZvaWQgc3RhbGVXaGlsZVJldmFsaWRhdGVFbmRpbmcoKTsKKworICAgIHN0ZDo6dW5p
cXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWQ+IG1fbG9hZDsKKyAgICBXZWJDb3JlOjpUaW1lciBtX3Rp
bWVyOworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzdWx0KT4gbV9jb21wbGV0aW9uSGFu
ZGxlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQorfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZB
TElEQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZS5jcHAKaW5kZXggZjM0NGQxYWJhNjRmZTkzYzljYmViZDQ3ZjQzZTgxNjNiYWNk
N2MxNy4uM2RiYmI4ZjUwYzUxY2E2MDU5OTMwYmY0NDBhMjlmMjliNmQxYjhmNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcApA
QCAtMjYsMTAgKzI2LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTmV0d29y
a0NhY2hlLmgiCiAKKyNpbmNsdWRlICJBc3luY1JldmFsaWRhdGlvbi5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKKyNpbmNsdWRlICJOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaCIKICNpbmNs
dWRlICJOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiTmV0
d29ya0NhY2hlU3RvcmFnZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCisjaW5jbHVk
ZSAiTmV0d29ya1Nlc3Npb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlVmFsaWRhdGlvbi5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvSFRUUEhlYWRlck5hbWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Mb3dQb3dlck1vZGVOb3RpZmllci5oPgpAQCAtMTUyLDM1ICsxNTUsNDYgQEAgc3RhdGljIGJv
b2wgY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdENhY2hl
UG9saWN5IHBvbGljeSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3Bv
bnNlSGFzRXhwaXJlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwg
V2FsbFRpbWUgdGltZXN0YW1wLCBPcHRpb25hbDxTZWNvbmRzPiBtYXhTdGFsZSkKK3N0YXRpYyBV
c2VEZWNpc2lvbiByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKE5ldHdvcmtTZXNzaW9uJiBuZXR3
b3JrU2Vzc2lvbiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFdh
bGxUaW1lIHRpbWVzdGFtcCwgT3B0aW9uYWw8U2Vjb25kcz4gbWF4U3RhbGUpCiB7CiAgICAgaWYg
KHJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpWYWxpZGF0ZTsKIAogICAgIGF1dG8g
YWdlID0gV2ViQ29yZTo6Y29tcHV0ZUN1cnJlbnRBZ2UocmVzcG9uc2UsIHRpbWVzdGFtcCk7CiAg
ICAgYXV0byBsaWZldGltZSA9IFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhU
VFBGYW1pbHkocmVzcG9uc2UsIHRpbWVzdGFtcCk7CiAKICAgICBhdXRvIG1heGltdW1TdGFsZW5l
c3MgPSBtYXhTdGFsZSA/IG1heFN0YWxlLnZhbHVlKCkgOiAwX21zOwogICAgIGJvb2wgaGFzRXhw
aXJlZCA9IGFnZSAtIGxpZmV0aW1lID4gbWF4aW11bVN0YWxlbmVzczsKKyNpZiBFTkFCTEUoTkVU
V09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCisgICAgaWYgKGhhc0V4cGlyZWQg
JiYgIW1heFN0YWxlICYmIG5ldHdvcmtTZXNzaW9uLmlzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFi
bGVkKCkpIHsKKyAgICAgICAgYXV0byByZXNwb25zZU1heFN0YWxlbmVzcyA9IHJlc3BvbnNlLmNh
Y2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCk7CisgICAgICAgIG1heGltdW1TdGFsZW5l
c3MgKz0gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPyByZXNwb25zZU1heFN0YWxlbmVzcy52YWx1ZSgp
IDogMF9tczsKKyAgICAgICAgYm9vbCBpblJlc3BvbnNlU3RhbGVuZXNzID0gYWdlIC0gbGlmZXRp
bWUgPCBtYXhpbXVtU3RhbGVuZXNzOworICAgICAgICBpZiAoaW5SZXNwb25zZVN0YWxlbmVzcykK
KyAgICAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6QXN5bmNSZXZhbGlkYXRlOworICAgIH0K
KyNlbmRpZgogCisgICAgaWYgKGhhc0V4cGlyZWQpIHsKICNpZm5kZWYgTE9HX0RJU0FCTEVECi0g
ICAgaWYgKGhhc0V4cGlyZWQpCi0gICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1By
b2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4cGlyZWQgYWdlPSVmIGxpZmV0aW1lPSVmIG1h
eC1zdGFsZT0lZyIsIGFnZSwgbGlmZXRpbWUsIG1heFN0YWxlKTsKKyAgICAgICAgTE9HKE5ldHdv
cmtDYWNoZSwgIihOZXR3b3JrUHJvY2VzcykgbmVlZHNSZXZhbGlkYXRpb24gaGFzRXhwaXJlZCBh
Z2U9JWYgbGlmZXRpbWU9JWYgbWF4LXN0YWxlbmVzcz0lZiIsIGFnZSwgbGlmZXRpbWUsIG1heGlt
dW1TdGFsZW5lc3MpOwogI2VuZGlmCisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRh
dGU7CisgICAgfQogCi0gICAgcmV0dXJuIGhhc0V4cGlyZWQ7CisgICAgcmV0dXJuIFVzZURlY2lz
aW9uOjpVc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUgdGltZXN0YW1wKQorc3RhdGljIFVzZURl
Y2lzaW9uIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oTmV0d29ya1Nlc3Npb24mIG5ldHdvcmtT
ZXNzaW9uLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBXYWxsVGltZSB0aW1lc3RhbXApCiB7
CiAgICAgYXV0byByZXF1ZXN0RGlyZWN0aXZlcyA9IFdlYkNvcmU6OnBhcnNlQ2FjaGVDb250cm9s
RGlyZWN0aXZlcyhyZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSk7CiAgICAgaWYgKHJlcXVlc3RE
aXJlY3RpdmVzLm5vQ2FjaGUpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4g
VXNlRGVjaXNpb246OlZhbGlkYXRlOwogICAgIC8vIEZvciByZXF1ZXN0cyB3ZSBpZ25vcmUgbWF4
LWFnZSB2YWx1ZXMgb3RoZXIgdGhhbiB6ZXJvLgogICAgIGlmIChyZXF1ZXN0RGlyZWN0aXZlcy5t
YXhBZ2UgJiYgcmVxdWVzdERpcmVjdGl2ZXMubWF4QWdlLnZhbHVlKCkgPT0gMF9tcykKLSAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAK
LSAgICByZXR1cm4gcmVzcG9uc2VIYXNFeHBpcmVkKHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJlcXVl
c3REaXJlY3RpdmVzLm1heFN0YWxlKTsKKyAgICByZXR1cm4gcmVzcG9uc2VOZWVkc1JldmFsaWRh
dGlvbihuZXR3b3JrU2Vzc2lvbiwgcmVzcG9uc2UsIHRpbWVzdGFtcCwgcmVxdWVzdERpcmVjdGl2
ZXMubWF4U3RhbGUpOwogfQogCiBzdGF0aWMgVXNlRGVjaXNpb24gbWFrZVVzZURlY2lzaW9uKE5l
dHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgUEFMOjpTZXNzaW9uSUQmIHNlc3Np
b25JRCwgY29uc3QgRW50cnkmIGVudHJ5LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QpCkBAIC0xOTcsOCArMjExLDkgQEAgc3RhdGljIFVzZURlY2lzaW9uIG1ha2VVc2VE
ZWNpc2lvbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0IFBBTDo6U2UKICAg
ICBpZiAoY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVkKHJlcXVlc3QuY2FjaGVQb2xpY3koKSkpCiAg
ICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogCi0gICAgaWYgKCFyZXNwb25zZU5lZWRz
UmV2YWxpZGF0aW9uKGVudHJ5LnJlc3BvbnNlKCksIHJlcXVlc3QsIGVudHJ5LnRpbWVTdGFtcCgp
KSkKLSAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CisgICAgYXV0byBkZWNpc2lvbiA9
IHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oKm5ldHdvcmtQcm9jZXNzLm5ldHdvcmtTZXNzaW9u
KHNlc3Npb25JRCksIGVudHJ5LnJlc3BvbnNlKCksIHJlcXVlc3QsIGVudHJ5LnRpbWVTdGFtcCgp
KTsKKyAgICBpZiAoZGVjaXNpb24gIT0gVXNlRGVjaXNpb246OlZhbGlkYXRlKQorICAgICAgICBy
ZXR1cm4gZGVjaXNpb247CiAKICAgICBpZiAoIWVudHJ5LnJlc3BvbnNlKCkuaGFzQ2FjaGVWYWxp
ZGF0b3JGaWVsZHMoKSkKICAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpOb0R1ZVRvTWlzc2lu
Z1ZhbGlkYXRvckZpZWxkczsKQEAgLTI1MSw4ICsyNjYsMTIgQEAgc3RhdGljIFN0b3JlRGVjaXNp
b24gbWFrZVN0b3JlRGVjaXNpb24oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmln
aW5hbFIKICAgICBib29sIHN0b3JlVW5jb25kaXRpb25hbGx5Rm9ySGlzdG9yeU5hdmlnYXRpb24g
PSBpc01haW5SZXNvdXJjZSB8fCBvcmlnaW5hbFJlcXVlc3QucHJpb3JpdHkoKSA9PSBXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRQcmlvcml0eTo6VmVyeUhpZ2g7CiAgICAgaWYgKCFzdG9yZVVuY29uZGl0
aW9uYWxseUZvckhpc3RvcnlOYXZpZ2F0aW9uKSB7CiAgICAgICAgIGF1dG8gbm93ID0gV2FsbFRp
bWU6Om5vdygpOwotICAgICAgICBib29sIGhhc05vblplcm9MaWZldGltZSA9ICFyZXNwb25zZS5j
YWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSAmJiBXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNz
TGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCBub3cpID4gMF9tczsKLQorICAgICAgICBT
ZWNvbmRzIGFsbG93ZWRTdGFsZSB7IDBfbXMgfTsKKyNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9T
UEVDVUxBVElWRV9SRVZBTElEQVRJT04pCisgICAgICAgIGlmIChhdXRvIHZhbHVlID0gcmVzcG9u
c2UuY2FjaGVDb250cm9sU3RhbGVXaGlsZVJldmFsaWRhdGUoKSkKKyAgICAgICAgICAgIGFsbG93
ZWRTdGFsZSA9IHZhbHVlLnZhbHVlKCk7CisjZW5kaWYKKyAgICAgICAgYm9vbCBoYXNOb25aZXJv
TGlmZXRpbWUgPSAhcmVzcG9uc2UuY2FjaGVDb250cm9sQ29udGFpbnNOb0NhY2hlKCkgJiYgKFdl
YkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkocmVzcG9uc2UsIG5v
dykgPiAwX21zIHx8IGFsbG93ZWRTdGFsZSA+IDBfbXMpOwogICAgICAgICBib29sIHBvc3NpYmx5
UmV1c2FibGUgPSByZXNwb25zZS5oYXNDYWNoZVZhbGlkYXRvckZpZWxkcygpIHx8IGhhc05vblpl
cm9MaWZldGltZTsKICAgICAgICAgaWYgKCFwb3NzaWJseVJldXNhYmxlKQogICAgICAgICAgICAg
cmV0dXJuIFN0b3JlRGVjaXNpb246Ok5vRHVlVG9Vbmxpa2VseVRvUmV1c2U7CkBAIC0yOTYsNiAr
MzE1LDE5IEBAIHN0YXRpYyBib29sIGlubGluZSBjYW5SZXF1ZXN0VXNlU3BlY3VsYXRpdmVSZXZh
bGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikKK3ZvaWQgQ2FjaGU6OnN0
YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IE5ldHdvcmtDYWNoZTo6S2V5JiBrZXksIHN0ZDo6dW5pcXVlX3B0
cjxFbnRyeT4mJiBlbnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCkKK3sKKyAgICBt
X3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMuZW5zdXJlKGtleSwgWyZdIHsKKyAgICAgICAgcmV0
dXJuIG1ha2VVbmlxdWU8QXN5bmNSZXZhbGlkYXRpb24+KCp0aGlzLCBmcmFtZUlELCByZXF1ZXN0
LCBXVEZNb3ZlKGVudHJ5KSwgW3RoaXMsIGtleV0oQXN5bmNSZXZhbGlkYXRpb246OlJlc3VsdCBy
ZXN1bHQpIHsKKyAgICAgICAgICAgIG1fcGVuZGluZ0FzeW5jUmV2YWxpZGF0aW9ucy50YWtlKGtl
eSk7CisgICAgICAgICAgICBpZiAocmVzdWx0ICE9IEFzeW5jUmV2YWxpZGF0aW9uOjpSZXN1bHQ6
OkZhaWx1cmUpCisgICAgICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZSwgIihOZXR3b3JrUHJv
Y2VzcykgQXN5bmMgcmV2YWxpZGF0aW9uIGNvbXBsZXRlZCBmb3IgJyVzJzoiLCBrZXkuaWRlbnRp
ZmllcigpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKyNlbmRpZgor
CiB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIFJldHJpZXZlQ29tcGxldGlvbkhh
bmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQocmVxdWVzdC51cmwoKS5w
cm90b2NvbElzSW5IVFRQRmFtaWx5KCkpOwpAQCAtMzM0LDEyICszNjYsMTEgQEAgdm9pZCBDYWNo
ZTo6cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25z
dCBHbG9iYWxGcmFtZUkKICAgICB9CiAjZW5kaWYKIAotICAgIG1fc3RvcmFnZS0+cmV0cmlldmUo
c3RvcmFnZUtleSwgcHJpb3JpdHksIFtyZXF1ZXN0LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpLCBpbmZvID0gV1RGTW92ZShpbmZvKSwgc3RvcmFnZUtleSwg
bmV0d29ya1Byb2Nlc3MgPSBtYWtlUmVmKG5ldHdvcmtQcm9jZXNzKCkpLCBzZXNzaW9uSUQgPSBt
X3Nlc3Npb25JRF0oYXV0byByZWNvcmQsIGF1dG8gdGltaW5ncykgbXV0YWJsZSB7CisgICAgbV9z
dG9yYWdlLT5yZXRyaWV2ZShzdG9yYWdlS2V5LCBwcmlvcml0eSwgW3RoaXMsIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKSwgcmVxdWVzdCwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSwgaW5mbyA9IFdURk1vdmUoaW5mbyksIHN0b3JhZ2VLZXksIG5l
dHdvcmtQcm9jZXNzID0gbWFrZVJlZihuZXR3b3JrUHJvY2VzcygpKSwgc2Vzc2lvbklEID0gbV9z
ZXNzaW9uSUQsIGZyYW1lSURdKGF1dG8gcmVjb3JkLCBhdXRvIHRpbWluZ3MpIG11dGFibGUgewog
ICAgICAgICBpbmZvLnN0b3JhZ2VUaW1pbmdzID0gdGltaW5nczsKIAogICAgICAgICBpZiAoIXJl
Y29yZCkgewogICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2Vzcykg
bm90IGZvdW5kIGluIHN0b3JhZ2UiKTsKLQogICAgICAgICAgICAgY29tcGxldGVSZXRyaWV2ZShX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbnVsbHB0ciwgaW5mbyk7CiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAgLTM1MCw2ICszODEsMTQgQEAgdm9pZCBDYWNoZTo6
cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBH
bG9iYWxGcmFtZUkKIAogICAgICAgICBhdXRvIHVzZURlY2lzaW9uID0gZW50cnkgPyBtYWtlVXNl
RGVjaXNpb24obmV0d29ya1Byb2Nlc3MsIHNlc3Npb25JRCwgKmVudHJ5LCByZXF1ZXN0KSA6IFVz
ZURlY2lzaW9uOjpOb0R1ZVRvRGVjb2RlRmFpbHVyZTsKICAgICAgICAgc3dpdGNoICh1c2VEZWNp
c2lvbikgeworICAgICAgICBjYXNlIFVzZURlY2lzaW9uOjpBc3luY1JldmFsaWRhdGU6IHsKKyNp
ZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCisgICAgICAg
ICAgICBhdXRvIGVudHJ5Q29weSA9IG1ha2VVbmlxdWU8RW50cnk+KCplbnRyeSk7CisgICAgICAg
ICAgICBlbnRyeUNvcHktPnNldE5lZWRzVmFsaWRhdGlvbih0cnVlKTsKKyAgICAgICAgICAgIHN0
YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZChyZXF1ZXN0LCBzdG9yYWdlS2V5LCBXVEZNb3Zl
KGVudHJ5Q29weSksIGZyYW1lSUQpOworI2VuZGlmCisgICAgICAgICAgICBGQUxMVEhST1VHSDsK
KyAgICAgICAgfQogICAgICAgICBjYXNlIFVzZURlY2lzaW9uOjpVc2U6CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBVc2VEZWNpc2lvbjo6VmFsaWRhdGU6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAppbmRleCAwZGVlN2Y4
OGRmZjYxNjJjYzNmZDc4NTFiODM4MGZjNWE4M2JkNWFlLi41MzU0MGFlZDhlYzA1ZDU1NjI4YTdj
NmUzODRiMzA2MjQyOTdiYzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgTmV0d29ya1By
b2Nlc3M7CiAKIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCitjbGFzcyBBc3luY1JldmFsaWRh
dGlvbjsKIGNsYXNzIENhY2hlOwogY2xhc3MgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjsKIApAQCAt
ODIsNiArODMsNyBAQCBlbnVtIGNsYXNzIFN0b3JlRGVjaXNpb24gewogZW51bSBjbGFzcyBVc2VE
ZWNpc2lvbiB7CiAgICAgVXNlLAogICAgIFZhbGlkYXRlLAorICAgIEFzeW5jUmV2YWxpZGF0ZSwK
ICAgICBOb0R1ZVRvVmFyeWluZ0hlYWRlck1pc21hdGNoLAogICAgIE5vRHVlVG9NaXNzaW5nVmFs
aWRhdG9yRmllbGRzLAogICAgIE5vRHVlVG9EZWNvZGVGYWlsdXJlLApAQCAtMTY3LDYgKzE2OSw4
IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFM
SURBVElPTikKICAgICBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyKiBzcGVjdWxhdGl2ZUxvYWRNYW5h
Z2VyKCkgeyByZXR1cm4gbV9zcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmdldCgpOyB9CisKKyAgICB2
b2lkIHN0YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBOZXR3b3JrQ2FjaGU6OktleSYsIHN0ZDo6dW5pcXVlX3B0cjxFbnRy
eT4mJiwgY29uc3QgR2xvYmFsRnJhbWVJRCYpOwogI2VuZGlmCiAKICAgICBOZXR3b3JrUHJvY2Vz
cyYgbmV0d29ya1Byb2Nlc3MoKSB7IHJldHVybiBtX25ldHdvcmtQcm9jZXNzLmdldCgpOyB9CkBA
IC0xOTMsNiArMTk3LDggQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVD
VUxBVElWRV9SRVZBTElEQVRJT04pCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Okxvd1Bv
d2VyTW9kZU5vdGlmaWVyPiBtX2xvd1Bvd2VyTW9kZU5vdGlmaWVyOwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyPiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXI7CisK
KyAgICBIYXNoTWFwPEtleSwgc3RkOjp1bmlxdWVfcHRyPEFzeW5jUmV2YWxpZGF0aW9uPj4gbV9w
ZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zOwogI2VuZGlmCiAKICAgICB1bnNpZ25lZCBtX3RyYXZl
cnNlQ291bnQgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXgg
NmM3MmZhYmU3MmUzNTk0NDhhN2MxYjI5MWNkOTBlOTUwZTViYmU1NC4uMDFiYzg3ZmZlYzc5N2Y5
ZDc3M2FkNThmZDliYjMyYzQxMWRlNDM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVM
b2FkLmNwcApAQCAtMTU1LDYgKzE1NSw0MyBAQCB2b2lkIFNwZWN1bGF0aXZlTG9hZDo6ZGlkQ29t
cGxldGUoKQogICAgIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShtX2NhY2hlRW50cnkpKTsK
IH0KIAorI2lmICFMT0dfRElTQUJMRUQKKworc3RhdGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlm
Zihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVh
ZGVyc0IpCit7CisgICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7CisgICAgZm9yIChhdXRv
IGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgeworICAgICAgICBTdHJp
bmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOworICAgICAgICBpZiAodmFsdWVCLmlz
TnVsbCgpKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGlu
ZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVlc3QgKHZhbHVlOiAl
cykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKKyAg
ICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKKyAgICAgICAgICAgIExPRyhOZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIgZGlmZmVy
cyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQt
PnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsKKyAgICB9CisgICAg
YXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7CisgICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0Iu
YmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgeworICAgICAgICBpZiAoIWhlYWRlcnNBLmNvbnRh
aW5zKGl0LT5rZXkpKQorICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJl
bG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29uZCByZXF1ZXN0ICh2
YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEo
KSk7CisgICAgfQorfQorCisjZW5kaWYKKworYm9vbCByZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3QsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVzdCkKK3sKKyAgICBBU1NFUlQoIWFjdHVhbFJlcXVl
c3QuaXNDb25kaXRpb25hbCgpKTsKKyAgICBSZXNvdXJjZVJlcXVlc3Qgc3BlY3VsYXRpdmVSZXF1
ZXN0ID0gc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdDsKKyAgICBzcGVjdWxhdGl2ZVJlcXVl
c3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKworICAgIGlmIChzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0
cEhlYWRlckZpZWxkcygpICE9IGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKSB7Cisg
ICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICJDYW5ub3QgcmV1
c2Ugc3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQgZW50cnkgYmVjYXVzZSBIVFRQIGhlYWRlcnMgdXNl
ZCBmb3IgdmFsaWRhdGlvbiBkbyBub3QgbWF0Y2giKTsKKyNpZiAhTE9HX0RJU0FCTEVECisgICAg
ICAgIGR1bXBIVFRQSGVhZGVyc0RpZmYoc3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVs
ZHMoKSwgYWN0dWFsUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOworI2VuZGlmCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIE5ldHdvcmtDYWNoZQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVM
b2FkLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZC5oCmluZGV4IDU0MDZkOWY4MjE4YjM4MDViNDY4YjY4OWM5YmUyY2Y4ZjYz
ODAwNGYuLmVmMjE4ZjM4NWFhNmU5ZDBlNzczNTYyZDhkMGU3ZjU3Zjg0NzRlMGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaApAQCAtNzgsNiArNzgsOCBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9kaWRDb21wbGV0ZSB7IGZhbHNlIH07CiB9OwogCitib29sIHJlcXVlc3RzSGVhZGVy
c01hdGNoKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgc3BlY3VsYXRpdmVWYWxpZGF0
aW9uUmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0
KTsKKwogfSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKaW5kZXgg
Njc5NDAzOWI3ZTE5MTdhNGFhYmFkNGQyZDUwOGY3Mzk1Mzc4NjU2Ny4uOTgwNmY2MmVhN2JiMDVj
MGMzZWQ3MmFhZmRlNzQzZGQ1ZWRhYjgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC0yNTYsNDMgKzI1Niw2IEBAIFNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXI6On5TcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyKCkKIHsKIH0KIAotI2lmICFMT0dfRElT
QUJMRUQKLQotc3RhdGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVy
TWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyc0IpCi17Ci0gICAgYXV0
byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVn
aW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgewotICAgICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVy
c0IuZ2V0KGl0LT5rZXkpOwotICAgICAgICBpZiAodmFsdWVCLmlzTnVsbCgpKQotICAgICAgICAg
ICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhl
YWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0Zjgo
KS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAgZWxzZSBpZiAoaXQt
PnZhbHVlICE9IHZhbHVlQikKLSAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2
ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBoZWFkZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3Rz
OiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRh
KCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsKLSAgICB9Ci0gICAgYXV0byBiRW5kID0gaGVhZGVy
c0IuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVu
ZDsgKytpdCkgewotICAgICAgICBpZiAoIWhlYWRlcnNBLmNvbnRhaW5zKGl0LT5rZXkpKQotICAg
ICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBI
VFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29uZCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtl
eS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSk7Ci0gICAgfQotfQotCi0j
ZW5kaWYKLQotc3RhdGljIGJvb2wgcmVxdWVzdHNIZWFkZXJzTWF0Y2goY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRpb25SZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIGFjdHVhbFJlcXVlc3QpCi17Ci0gICAgQVNTRVJUKCFhY3R1YWxSZXF1ZXN0LmlzQ29uZGl0
aW9uYWwoKSk7Ci0gICAgUmVzb3VyY2VSZXF1ZXN0IHNwZWN1bGF0aXZlUmVxdWVzdCA9IHNwZWN1
bGF0aXZlVmFsaWRhdGlvblJlcXVlc3Q7Ci0gICAgc3BlY3VsYXRpdmVSZXF1ZXN0Lm1ha2VVbmNv
bmRpdGlvbmFsKCk7Ci0KLSAgICBpZiAoc3BlY3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVs
ZHMoKSAhPSBhY3R1YWxSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSkgewotICAgICAgICBMT0co
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiQ2Fubm90IHJldXNlIHNwZWN1bGF0
aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJlY2F1c2UgSFRUUCBoZWFkZXJzIHVzZWQgZm9yIHZhbGlk
YXRpb24gZG8gbm90IG1hdGNoIik7Ci0jaWYgIUxPR19ESVNBQkxFRAotICAgICAgICBkdW1wSFRU
UEhlYWRlcnNEaWZmKHNwZWN1bGF0aXZlUmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCksIGFjdHVh
bFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKTsKLSNlbmRpZgotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwotfQotCiBib29sIFNwZWN1bGF0aXZlTG9hZE1h
bmFnZXI6OmNhblVzZVByZWxvYWRlZEVudHJ5KGNvbnN0IFByZWxvYWRlZEVudHJ5JiBlbnRyeSwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KQogewogICAgIGlmICghZW50cnku
d2FzUmV2YWxpZGF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IGVkYmZiNTZlNDliYzJhMDNhOGFiZGJm
ODcxNDFkY2QwN2U1ZGE5M2YuLjNmN2QzZmI2MjE2ZmZmYzZmM2JjYjJkM2ZkNTNiZWZhMTA0MTg2
NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dApAQCAtNzgsNiArNzgsNyBAQCBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmUuY3BwCiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmVDYWNoZS5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlcy5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rp
b24uY3BwCitOZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5jcHAKIE5ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcAogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlQ29kZXJzLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmLmNwcAppbmRl
eCBkOWE4Y2RlOGNhNTQ4ZjFhOTk0NzYzOTZkYjQ5YjMwY2NlZDdkNDk0Li44MTg3MDE0OWUxYzI3
ZDM5M2I0ZTVhOGY4MjY4ZTVkMjU4NjBiNjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uUmVmLmNwcApAQCAtMTM5LDMgKzEzOSwxMyBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9y
ZUNvbmZpZ3VyYXRpb25TZXRUZXN0aW5nU2Vzc2lvbkVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3Jl
QwogewogICAgIFdlYktpdDo6dG9JbXBsKGNvbmZpZ3VyYXRpb24pLT5zZXRUZXN0aW5nU2Vzc2lv
bkVuYWJsZWQoZW5hYmxlZCk7CiB9CisKK2Jvb2wgV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvbkdldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZChXS1dlYnNpdGVEYXRhU3RvcmVDb25m
aWd1cmF0aW9uUmVmIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0dXJuIFdlYktpdDo6dG9JbXBs
KGNvbmZpZ3VyYXRpb24pLT5zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoKTsKK30KKwordm9p
ZCBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0U3RhbGVXaGlsZVJldmFsaWRhdGVF
bmFibGVkKFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYgY29uZmlndXJhdGlvbiwg
Ym9vbCBlbmFibGVkKQoreworICAgIFdlYktpdDo6dG9JbXBsKGNvbmZpZ3VyYXRpb24pLT5zZXRT
dGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoZW5hYmxlZCk7Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9u
UmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uUmVmLmgKaW5kZXggNjRhZGViODJmNzczMzlkNjM1MDE4ZjEwZGM3ZGVlMmUy
NWM1Mzg2MS4uMjQwODQ4ODc0MjVkYWU2ZWJiNDZjNmVlNTU3MTE5NGFlYjIxODBmYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29u
ZmlndXJhdGlvblJlZi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vi
c2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYuaApAQCAtNjYsNiArNjYsOSBAQCBXS19FWFBP
UlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0TmV0d29ya0NhY2hlU3Bl
Y3VsYXRpdmVWYWxpZGF0aQogV0tfRVhQT1JUIGJvb2wgV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbkdldFRlc3RpbmdTZXNzaW9uRW5hYmxlZChXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uUmVmIGNvbmZpZ3VyYXRpb24pOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvblNldFRlc3RpbmdTZXNzaW9uRW5hYmxlZChXS1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3VyYXRpb24sIGJvb2wgZW5hYmxlZCk7CiAKK1dLX0VY
UE9SVCBib29sIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25HZXRTdGFsZVdoaWxlUmV2
YWxpZGF0ZUVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZiBjb25maWd1
cmF0aW9uKTsKK1dLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25T
ZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvblJlZiBjb25maWd1cmF0aW9uLCBib29sIGVuYWJsZWQpOworCiAjaWZkZWYgX19jcGx1c3Bs
dXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4IDI5
ZTkwMDNmMDQ2ZjIxNzRjNzZiODRmNzFiNWVjODkyZThhNDYwMjUuLjBmZjNlYTA5NjMxYjU3N2Qx
ZWE3OTA4MjVlMzA1ZWU5MzIzZmJkYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29j
b2EubW0KQEAgLTE1MCw2ICsxNTAsNyBAQCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyBXZWJz
aXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJzKCkKICAgICAgICAgbV9jb25maWd1cmF0aW9uLT5mYXN0
U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCgpLAogICAgICAgICBtX2NvbmZpZ3VyYXRpb24t
Pm5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoKSwKICAgICAgICAgbV9j
b25maWd1cmF0aW9uLT50ZXN0aW5nU2Vzc2lvbkVuYWJsZWQoKSwKKyAgICAgICAgbV9jb25maWd1
cmF0aW9uLT5zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoKSwKICAgICAgICAgbV9jb25maWd1
cmF0aW9uLT50ZXN0U3BlZWRNdWx0aXBsaWVyKCksCiAgICAgICAgIG1fY29uZmlndXJhdGlvbi0+
c3VwcHJlc3Nlc0Nvbm5lY3Rpb25UZXJtaW5hdGlvbk9uU3lzdGVtQ2hhbmdlKCksCiAgICAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcAppbmRleCA0YWU1ZjNmOGQx
OWI3MjAwZjU4MGM0N2Q3ZDc0ZWQxNmVjNjlmZTYyLi5iNTAzYjQyZDlkNDRjNTI3OThmMTVmZDM2
MThmMDQ0OTczMjAxYjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24u
Y3BwCkBAIC01Niw2ICs1Niw3IEBAIFJlZjxXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4g
V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmNvcHkoKSBjb25zdAogICAgIGNvcHktPm1f
c2VydmljZVdvcmtlclByb2Nlc3NUZXJtaW5hdGlvbkRlbGF5RW5hYmxlZCA9IHRoaXMtPm1fc2Vy
dmljZVdvcmtlclByb2Nlc3NUZXJtaW5hdGlvbkRlbGF5RW5hYmxlZDsKICAgICBjb3B5LT5tX2Zh
c3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkID0gdGhpcy0+bV9mYXN0U2VydmVyVHJ1c3RF
dmFsdWF0aW9uRW5hYmxlZDsKICAgICBjb3B5LT5tX25ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFs
aWRhdGlvbkVuYWJsZWQgPSB0aGlzLT5tX25ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlv
bkVuYWJsZWQ7CisgICAgY29weS0+bV9zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgPSB0aGlz
LT5tX3N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZDsKICAgICBjb3B5LT5tX2NhY2hlU3RvcmFn
ZURpcmVjdG9yeSA9IHRoaXMtPm1fY2FjaGVTdG9yYWdlRGlyZWN0b3J5OwogICAgIGNvcHktPm1f
cGVyT3JpZ2luU3RvcmFnZVF1b3RhID0gdGhpcy0+bV9wZXJPcmlnaW5TdG9yYWdlUXVvdGE7CiAg
ICAgY29weS0+bV9uZXR3b3JrQ2FjaGVEaXJlY3RvcnkgPSB0aGlzLT5tX25ldHdvcmtDYWNoZURp
cmVjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCmluZGV4IDlmZTQ2
NzhiNTZlYTUzZmU2YmIwYTBhZjczN2JhNDk0M2E3OWEzNzcuLjZhZDUxOWRlZjUxZDRmZDM5OTVh
YjlhMTY1NTE1M2M3NTA5MDk0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRp
b24uaApAQCAtODQsMTAgKzg0LDEzIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgdGVzdGluZ1Nlc3Np
b25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV90ZXN0aW5nU2Vzc2lvbkVuYWJsZWQ7IH0KICAg
ICB2b2lkIHNldFRlc3RpbmdTZXNzaW9uRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV90ZXN0aW5n
U2Vzc2lvbkVuYWJsZWQgPSBlbmFibGVkOyB9Ci0gICAgCisKKyAgICBib29sIHN0YWxlV2hpbGVS
ZXZhbGlkYXRlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhbGVXaGlsZVJldmFsaWRhdGVF
bmFibGVkOyB9CisgICAgdm9pZCBzZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoYm9vbCBl
bmFibGVkKSB7IG1fc3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkID0gZW5hYmxlZDsgfQorCiAg
ICAgdW5zaWduZWQgdGVzdFNwZWVkTXVsdGlwbGllcigpIGNvbnN0IHsgcmV0dXJuIG1fdGVzdFNw
ZWVkTXVsdGlwbGllcjsgfQogICAgIHZvaWQgc2V0VGVzdFNwZWVkTXVsdGlwbGllcih1bnNpZ25l
ZCBtdWx0aXBsaWVyKSB7IG1fdGVzdFNwZWVkTXVsdGlwbGllciA9IG11bHRpcGxpZXI7IH0KLSAg
ICAKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIENGRGljdGlvbmFyeVJlZiBwcm94eUNvbmZp
Z3VyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Byb3h5Q29uZmlndXJhdGlvbi5nZXQoKTsgfQog
ICAgIHZvaWQgc2V0UHJveHlDb25maWd1cmF0aW9uKENGRGljdGlvbmFyeVJlZiBjb25maWd1cmF0
aW9uKSB7IG1fcHJveHlDb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjsgfQpAQCAtMTU5LDYg
KzE2Miw3IEBAIHByaXZhdGU6CiAjZWxzZQogICAgIGJvb2wgbV9uZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgorICAgIGJvb2wgbV9zdGFs
ZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIFN0cmluZyBtX2xvY2FsU3Rv
cmFnZURpcmVjdG9yeTsKICAgICBTdHJpbmcgbV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5Owog
ICAgIFN0cmluZyBtX2RldmljZUlkSGFzaFNhbHRzU3RvcmFnZURpcmVjdG9yeTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDVlM2VhM2Iz
NDM5NmM3ZTBiMWY3OWMzZjZjM2NkODg2ZTA5NmIyOTEuLjg4N2NlZDFmY2U5YjNjZDBiOGU4MmI4
MTM5N2ZhMzMyYWI5ZjEyY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTM5NSw2ICsxMzk1LDcgQEAKIAkJQTc4Q0NEREMxOTNBQzlG
QjAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYiBpbiBDb3B5RmlsZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4Q0NERDkxOTNBQzlFMzAwNUVD
QzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYiAqLzsgfTsKIAkJQTdENzkyRDgx
NzY3Q0NBMzAwODgxQ0JFIC8qIEFjdGl2aXR5QXNzZXJ0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q3OTJENDE3NjdDQjA5MDA4ODFDQkUgLyog
QWN0aXZpdHlBc3NlcnRpb24uaCAqLzsgfTsKIAkJQUFCMTQ1RTYyMjNGOTMxMjAwRTQ4OUQ4IC8q
IFByZWZldGNoQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBQjE0NUU0MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVmZXRjaENhY2hlLmggKi87IH07
CisJCUFBRkE2MzRGMjM0RjdDNjQwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFGQTYzNEUyMzRGN0M2
MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggKi87IH07CiAJCUI2MkU3MzEyMTQzMDQ3
QjAwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2MkU3MzExMTQzMDQ3QjAwMDY5RUMzNSAvKiBXS0hpdFRl
c3RSZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlCODc4QjYxNTEzMzQyOERDMDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCODc4QjYxMzEzMzQyOERD
MDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmggKi87IH07CiAJCUJDMDE3RDA3MTYyNjBGRjQw
MDcwNTRGNSAvKiBXS0RPTURvY3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0NGRjE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01Eb2N1bWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC00
MTgxLDYgKzQxODIsOCBAQAogCQlBN0U5M0NFQjE5MjUzMUFBMDBBMURDNDggLyogQXV4aWxpYXJ5
UHJvY2Vzc0lPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEF1
eGlsaWFyeVByb2Nlc3NJT1MubW07IHBhdGggPSBpb3MvQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFCMTQ1RTQyMjNGOTMxMjAwRTQ4OUQ4IC8q
IFByZWZldGNoQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJlZmV0
Y2hDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUIxNDVFNTIyM0Y5MzEy
MDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQcmVmZXRjaENhY2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQUFGQTYzNEUyMzRGN0M2MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jUmV2YWxpZGF0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRkE2MzUwMjM0RjdDNzMwMEZGQTg2NCAvKiBBc3luY1Jl
dmFsaWRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBc3luY1JldmFsaWRhdGlvbi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIzOTZFQTU1MTJFMEVEMkQwMEY0RkVCNyAv
KiBjb25maWcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gY29uZmlnLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2MkU3MzBGMTQzMDQ3QTYwMDY5RUMzNSAvKiBX
S0hpdFRlc3RSZXN1bHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V0tIaXRUZXN0UmVzdWx0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjYyRTcz
MTExNDMwNDdCMDAwNjlFQzM1IC8qIFdLSGl0VGVzdFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS0hpdFRlc3RSZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTkyMTcsNiArOTIyMCw4IEBACiAJCUU0ODlEMjgyMUEwQTJCRTgwMDc4QzA2QSAv
KiBjYWNoZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJ
QUFGQTYzNTAyMzRGN0M3MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmNwcCAqLywKKwkJ
CQlBQUZBNjM0RTIzNEY3QzYzMDBGRkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCAqLywKIAkJ
CQk0MTg5N0VENjFGNDE1RDg2MDAxNkZBNDIgLyogQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCAqLywK
IAkJCQk0MTg5N0VEMjFGNDE1RDg1MDAxNkZBNDIgLyogQ2FjaGVTdG9yYWdlRW5naW5lLmggKi8s
CiAJCQkJNDFDODU4MTkxRjUxMERFRTAwNjVFMDg1IC8qIENhY2hlU3RvcmFnZUVuZ2luZUNhY2hl
LmNwcCAqLywKQEAgLTk0NjUsNiArOTQ3MCw3IEBACiAJCQkJQTE3NUM0NEEyMUFBMzE3MTAwMDAz
N0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMUEwQkQy
MUE0OEU2QzYwMDU0RUY3NCAvKiBBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE1RTc3MjgxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQUFGQTYzNEYyMzRGN0M2NDAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFOTY2RDExMkZBRjU3MDA2QkNDMjQgLyogQXR0YWNo
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBMzE3MzIxMzRDRUE2QzAwN0M5QTRGIC8qIEF0
dHJpYnV0ZWRTdHJpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1ODk3MTJBODgzODgwMDYy
OTUzMCAvKiBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NzY0NzFh
YzE1YTFhYzQ3NDBjMjIzMTA3MzBmN2FiMGViMDlhZDcwLi4xNmM5MTU3MDc5ODQ2N2NjY2Y0NjUw
Y2RjMWMyN2ZmZTI2N2FhMGM1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMTEtMTIgIFJvYiBCdWlzICA8cmJ1
aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUg
Y2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEVuYWJsZSBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGZvciB0aGUgdGVzdCBydW5uZXIu
CisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OndlYnNpdGVEYXRhU3RvcmUpOgorCiAyMDE5LTExLTEy
ICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
QWRkICd0ZXN0MjYyLXRlc3QnIHN0ZXAgdG8gR1RLIGFuZCBXUEUgYnVpbGQgYm90cwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCA0ZTQ4ZjI3Y2ZmYTEwOGYw
NzdjZTk4YmFkYmRhOGRhMWEyOTU2ZDA5Li44YTA3MzI1NjUzZjQyN2FjNmQyMjZhNWEzMzgyNmVm
MTA5M2Y4YjQyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApA
QCAtNTMyLDYgKzUzMiw3IEBAIFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBUZXN0Q29udHJvbGxlcjo6
d2Vic2l0ZURhdGFTdG9yZSgpCiAgICAgICAgICAgICBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uU2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeShjb25maWd1cmF0aW9uLmdl
dCgpLCB0b1dLKHRlbXBvcmFyeUZvbGRlciArIHBhdGhTZXBhcmF0b3IgKyAiUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcyIpLmdldCgpKTsKICAgICAgICAgICAgIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZp
Z3VyYXRpb25TZXRQZXJPcmlnaW5TdG9yYWdlUXVvdGEoY29uZmlndXJhdGlvbi5nZXQoKSwgNDAw
ICogMTAyNCk7CiAgICAgICAgICAgICBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZChjb25maWd1cmF0aW9uLmdl
dCgpLCB0cnVlKTsKKyAgICAgICAgICAgIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25T
ZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoY29uZmlndXJhdGlvbi5nZXQoKSwgdHJ1ZSk7
CiAgICAgICAgICAgICBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uU2V0VGVzdGluZ1Nl
c3Npb25FbmFibGVkKGNvbmZpZ3VyYXRpb24uZ2V0KCksIHRydWUpOwogICAgICAgICB9CiAgICAg
ICAgIGRhdGFTdG9yZSA9IFdLV2Vic2l0ZURhdGFTdG9yZUNyZWF0ZVdpdGhDb25maWd1cmF0aW9u
KGNvbmZpZ3VyYXRpb24uZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk3ZmViODI2MmQ0YjlhZmViY2UxNmRlMGIw
ZTg3ODc0ZTA4OWYyY2QuLjMxOWE1OThjZWZlZmQxNDVlNmFjMmE0YzZlYWQyMGNlMzRlMzlmNzIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0xMS0xMiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBz
dHJhdGVneQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjAxNDYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
U2tpcCBuZXdseSBpbXBvcnRlZCB0ZXN0cyBmb3IgV0sxLgorCisgICAgICAgICogcGxhdGZvcm0v
aW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVz
dEV4cGVjdGF0aW9uczoKKwogMjAxOS0xMS0xMiAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXog
IDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIEVuYWJsZSBDU1MgUGFp
bnRpbmcgQVBJCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA1MWM4YTE4YzViYTcx
YjAwYTE1MjM2MGUzNWNkYTg2ZmU5YjFiMjJhLi45NjY4NGQ4ZDNmMDZiYzM1Y2YxYTE4NjBlZjg1
ZTM0YWJkOTIwYzgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
NSBAQAorMjAxOS0xMS0xMiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAg
IFN1cHBvcnQgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBjYWNoZSBzdHJhdGVneQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDYxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wb3J0IHN0YWxlLXdoaWxl
LXJldmFsaWRhdGUgV1BUIHRlc3RzLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBl
Y3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0
dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
ZmV0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLWNzcy5weTogQWRkZWQuCisgICAg
ICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHk6IEFkZGVkLgorICAgICAgICAo
bWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weTogQWRkZWQuCisgICAgICAgIChpZF90
b2tlbik6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLWNzcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlw
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMu
YnJvYWRjYXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMTktMTEtMTIgIENhcmxv
cyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1Bv
aW50ZXIgRXZlbnRzIFdQVF0gRGVsZXRlIG1hbnVhbCB0ZXN0cyBpbXBvcnRlZCBhcyBsYXlvdXQg
dGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1w
b3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNl
cy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggMzUwMzM3MzU5ZDY1NmRiYWJhNzNlZjY2
NTIzY2Y1ZTg3NmZkOWUzMi4uNWM1ZGNmMWE4NjQ5Njc2YmRmMDZkYTBhNjFjMjBkOGY4ZmIzOTUz
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQt
ZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNl
cy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTE3Niw2ICsxNzYsNyBAQAogICAgICJ3ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL2NvcnMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9yYW5nZSI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9mdWxsc2NyZWVuIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2dhbWVw
YWQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZ2VuZXJpYy1zZW5zb3IiOiAi
c2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUt
d2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZiZjI2ZjRh
YjExYzc3N2FkZjI0OGFhMzdhYzBjNzcyODIzNzA3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgU2Vj
b25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRj
aC1zdy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZiZjI2ZjRhYjExYzc3N2FkZjI0
OGFhMzdhYzBjNzcyODIzNzA3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9m
ZXRjaC1zdy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgU2Vjb25k
IGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lZmNlYmMyNGE2M2Y0MGRlNTRhNGMzOTkxYzkwNTBlYjc0NDg2YTI5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwK
QEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5TdGFsZSBSZXZhbGlkYXRpb24gUmVxdWVzdHMg
ZG9uJ3QgZ2V0IHNlbnQgdG8gc2VydmljZSB3b3JrZXI8L3RpdGxlPgorICA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJz
LnN1Yi5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworICAvLyBEdXBsaWNhdGluZyB0aGlz
IHJlc291cmNlIHRvIG1ha2Ugc2VydmljZSB3b3JrZXIgc2NvcGluZyBzaW1wbGVyLgorICBhc3lu
YyBmdW5jdGlvbiBzZXR1cFJlZ2lzdHJhdGlvbkFuZFdhaXRUb0JlQ29udHJvbGxlZCh0LCBzY29w
ZSkgeworICAgIGNvbnN0IGNvbnRyb2xsZWQgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewor
ICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25jb250cm9sbGVyY2hhbmdlID0gKCkgPT4g
eyByZXNvbHZlKCk7IH07CisgICAgfSk7CisgICAgY29uc3QgcmVnID0gYXdhaXQgbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoJ3N3LWludGVyY2VwdC5qcycpOworICAgIGF3YWl0IHdh
aXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisgICAgYXdhaXQg
Y29udHJvbGxlZDsKKyAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhfID0+IHJlZy51bnJlZ2lz
dGVyKCkpOworICAgIHJldHVybiByZWc7CisgIH0KKworICAvLyBVc2luZyAyNTBtcyBwb2xsaW5n
IGludGVydmFsIHRvIHByb3ZpZGUgZW5vdWdoICduZXR3b3JrIGNhbG1uZXNzJyB0byBnaXZlCisg
IC8vIHRoZSBiYWNrZ3JvdW5kIGxvdyBwcmlvcml0eSByZXZhbGlkYXRpb24gcmVxdWVzdCBhIGNo
YW5jZSB0byBraWNrIGluLgorICBmdW5jdGlvbiB3YWl0MjUwbXModGVzdCkgeworICAgIHJldHVy
biBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+
IHsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgfSwgMjUwKTsKKyAgICB9KTsKKyAgfQorCisg
IHByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHZhciByZXF1ZXN0X3Rva2VuID0g
dG9rZW4oKTsKKyAgICBjb25zdCB1cmkgPSAncmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tl
bj0nICsgcmVxdWVzdF90b2tlbjsKKworICAgIGF3YWl0IHNldHVwUmVnaXN0cmF0aW9uQW5kV2Fp
dFRvQmVDb250cm9sbGVkKHRlc3QsICdyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5Jyk7CisKKyAg
ICB2YXIgc2VydmljZV93b3JrZXJfY291bnQgPSAwOworICAgIG5hdmlnYXRvci5zZXJ2aWNlV29y
a2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbiBvbmNlKGV2ZW50KSB7Cisg
ICAgICBpZiAoZXZlbnQuZGF0YS5lbmRzV2l0aCh1cmkpKSB7CisgICAgICAgIHNlcnZpY2Vfd29y
a2VyX2NvdW50Kys7CisgICAgICB9CisgICAgfSk7CisKKyAgICBjb25zdCByZXNwb25zZSA9IGF3
YWl0IGZldGNoKHVyaSk7CisgICAgY29uc3QgcmVzcG9uc2UyID0gYXdhaXQgZmV0Y2godXJpKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSwgcmVz
cG9uc2UyLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSk7CisgICAgd2hpbGUodHJ1ZSkgeworICAg
ICAgY29uc3QgcmV2YWxpZGF0aW9uX2NoZWNrID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFs
ZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworICAgICAgaWYgKHJl
dmFsaWRhdGlvbl9jaGVjay5oZWFkZXJzLmdldCgnQ291bnQnKSA9PSAnMicpIHsKKyAgICAgICAg
Ly8gVGhlIHNlcnZpY2Ugd29ya2VyIHNob3VsZCBub3Qgc2VlIHRoZSByZXZhbGlkYXRpb24gcmVx
dWVzdC4KKyAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXJ2aWNlX3dvcmtlcl9jb3VudCwgMik7Cisg
ICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgYXdhaXQgd2FpdDI1MG1zKHRlc3QpOworICAg
IH0KKyAgfSwgJ1NlY29uZCBmZXRjaCByZXR1cm5zIHNhbWUgcmVzcG9uc2UnKTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczMzkwYzdhZDU5
NDhjNjgyYjJmYmRjYjNjOTVhNGMzNzRkYmJhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvZmV0Y2guaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRl
IGlzIG5vdCBleGVjdXRlZCBmb3IgZmV0Y2ggQVBJPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0
aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB3YWl0MjVtcyh0ZXN0KSB7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICB0ZXN0LnN0ZXBfdGltZW91dCgo
KSA9PiB7CisgICAgICByZXNvbHZlKCk7CisgICAgfSwgMjUpOworICB9KTsKK30KKworcHJvbWlz
ZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgIHZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsK
KworICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGByZXNvdXJjZXMvc3RhbGUtc2NyaXB0
LnB5P3Rva2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsKKyAgY29uc3QgcmVzcG9uc2UyID0gYXdhaXQg
ZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/dG9rZW49YCArIHJlcXVlc3RfdG9rZW4p
OworCisgIGFzc2VydF9lcXVhbHMocmVzcG9uc2UuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpLCBy
ZXNwb25zZTIuaGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpKTsKKworICB3aGlsZSh0cnVlKSB7Cisg
ICAgY29uc3QgcmV2YWxpZGF0aW9uX2NoZWNrID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFs
ZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworICAgIGlmIChyZXZh
bGlkYXRpb25fY2hlY2suaGVhZGVycy5nZXQoJ0NvdW50JykgPT0gJzInKSB7CisgICAgICBicmVh
azsKKyAgICB9CisgICAgYXdhaXQgd2FpdDI1bXModGVzdCk7CisgIH0KK30sICdTZWNvbmQgZmV0
Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlJyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1jc3MucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZhZTU0NmQwNjUxZjk3ZjMwMjA4Mjk0NTJk
YjYyMjU0ODZkYzQ1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJj
ZXMvc3RhbGUtY3NzLnB5CkBAIC0wLDAgKzEsMjggQEAKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3Bv
bnNlKToKKworICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAg
ICBpc19xdWVyeSA9IHJlcXVlc3QuR0VULmZpcnN0KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUKKyAg
ICB3aXRoIHJlcXVlc3Quc2VydmVyLnN0YXNoLmxvY2s6CisgICAgICB2YWx1ZSA9IHJlcXVlc3Qu
c2VydmVyLnN0YXNoLnRha2UodG9rZW4pCisgICAgICBjb3VudCA9IDAKKyAgICAgIGlmIHZhbHVl
ICE9IE5vbmU6CisgICAgICAgIGNvdW50ID0gaW50KHZhbHVlKQorICAgICAgaWYgaXNfcXVlcnk6
CisgICAgICAgIGlmIGNvdW50IDwgMjoKKyAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5w
dXQodG9rZW4sIGNvdW50KQorICAgICAgZWxzZToKKyAgICAgICAgY291bnQgPSBjb3VudCArIDEK
KyAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCBjb3VudCkKKyAgICBpZiBp
c19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJDb3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRl
bnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudAorICAgIGVsc2U6Cisg
ICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNrZ3JvdW5kOiByZ2IoMCwgMTI4LCAwKTsgfSIKKyAg
ICAgIGlmIGNvdW50ID4gMToKKyAgICAgICAgY29udGVudCA9ICJib2R5IHsgYmFja2dyb3VuZDog
cmdiKDI1NSwgMCwgMCk7IH0iCisKKyAgICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LVR5cGUiLCAi
dGV4dC9jc3MiKSwKKyAgICAgICAgICAgICAgICgiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBt
YXgtYWdlPTAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAiKV0KKworICAgICAgcmV0dXJuIDIw
MCwgaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNl
cy9zdGFsZS1pbWFnZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2Uu
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODM5ZWI4NGJiMzRiYmQxNWUyY2E3MDYxZWU0ZmE1NzI0ZDJjNjRmOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2Uu
cHkKQEAgLTAsMCArMSwzOCBAQAoraW1wb3J0IG9zLnBhdGgKKworZGVmIG1haW4ocmVxdWVzdCwg
cmVzcG9uc2UpOgorCisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25l
KQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9u
ZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVx
dWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAgaWYg
dmFsdWUgIT0gTm9uZToKKyAgICAgICAgY291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBpc19x
dWVyeToKKyAgICAgICAgaWYgY291bnQgPCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0
YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNvdW50
ICsgMQorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorCisg
ICAgaWYgaXNfcXVlcnk6CisgICAgICBoZWFkZXJzID0gWygiQ291bnQiLCBjb3VudCldCisgICAg
ICBjb250ZW50ID0gIiIKKyAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKKyAgICBl
bHNlOgorICAgICAgZmlsZW5hbWUgPSAiZ3JlZW4tMTZ4MTYucG5nIgorICAgICAgaWYgY291bnQg
PiAxOgorICAgICAgICBmaWxlbmFtZSA9ICJncmVlbi0yNTZ4MjU2LnBuZyIKKworICAgICAgcGF0
aCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4vLi4vLi4vaW1h
Z2VzIiwgZmlsZW5hbWUpCisgICAgICBib2R5ID0gb3BlbihwYXRoLCAicmIiKS5yZWFkKCkKKwor
ICAgICAgcmVzcG9uc2UuYWRkX3JlcXVpcmVkX2hlYWRlcnMgPSBGYWxzZQorICAgICAgcmVzcG9u
c2Uud3JpdGVyLndyaXRlX3N0YXR1cygyMDApCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGVf
aGVhZGVyKCJjb250ZW50LWxlbmd0aCIsIGxlbihib2R5KSkKKyAgICAgIHJlc3BvbnNlLndyaXRl
ci53cml0ZV9oZWFkZXIoIkNhY2hlLUNvbnRyb2wiLCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFs
ZS13aGlsZS1yZXZhbGlkYXRlPTYwIikKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFk
ZXIoImNvbnRlbnQtdHlwZSIsICJpbWFnZS9wbmciKQorICAgICAgcmVzcG9uc2Uud3JpdGVyLmVu
ZF9oZWFkZXJzKCkKKworICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlKGJvZHkpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhZDU0NjcxZjQy
MTE3MzVmNTZkZjUwYTU1ZGVlYTZlZDI4MWQ1YTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weQpAQCAtMCwwICsxLDMyIEBACitpbXBv
cnQgcmFuZG9tLCBzdHJpbmcsIGRhdGV0aW1lCisKK2RlZiBpZF90b2tlbigpOgorICAgbGV0dGVy
cyA9IHN0cmluZy5hc2NpaV9sb3dlcmNhc2UKKyAgIHJldHVybiAnJy5qb2luKHJhbmRvbS5jaG9p
Y2UobGV0dGVycykgZm9yIGkgaW4gcmFuZ2UoMjApKQorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNw
b25zZSk6CisgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAg
IGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAg
IHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVzdC5z
ZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFsdWUg
IT0gTm9uZToKKyAgICAgICAgY291bnQgPSBpbnQodmFsdWUpCisgICAgICBpZiBpc19xdWVyeToK
KyAgICAgICAgaWYgY291bnQgPCAyOgorICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1
dCh0b2tlbiwgY291bnQpCisgICAgICBlbHNlOgorICAgICAgICBjb3VudCA9IGNvdW50ICsgMQor
ICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorCisgICAgaWYg
aXNfcXVlcnk6CisgICAgICBoZWFkZXJzID0gWygiQ291bnQiLCBjb3VudCldCisgICAgICBjb250
ZW50ID0gIiIKKyAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKKyAgICBlbHNlOgor
ICAgICAgdW5pcXVlX2lkID0gaWRfdG9rZW4oKQorICAgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQt
VHlwZSIsICJ0ZXh0L2phdmFzY3JpcHQiKSwKKyAgICAgICAgICAgICAgICAgKCJDYWNoZS1Db250
cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIpLAor
ICAgICAgICAgICAgICAgICAoIlVuaXF1ZS1JZCIsIHVuaXF1ZV9pZCldCisgICAgICBjb250ZW50
ID0gInJlcG9ydCgne30nKSIuZm9ybWF0KHVuaXF1ZV9pZCkKKyAgICAgIHJldHVybiAyMDAsIGhl
YWRlcnMsIGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjc1YTc3MzJhNTY2ZDRhNmY1NzNjYzk3ZmQzZDE0NTQ2NTdkNDc2ODAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBA
IC0wLDAgKzEsMTkgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQ
VCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKwor
VGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8g
cmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1By
b3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUt
Y3NzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weQorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1j
c3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhYzk5NDA1YTdiODljMTNlNTc4N2VhZjA3OWVk
NmYxNDg4ZThjMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3Nz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDYWNoZSByZXR1cm5zIHN0YWxl
IHJlc291cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU2MjYwZmRiNDVj
MGMyYzYwYjRkNzZmNjNhNzYzODlkZjgxOGIxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlk
YXRlIHdvcmtzIGZvciBjc3M8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2Ny
aXB0PgorPGJvZHk+Cis8c2NyaXB0PgorCit2YXIgcmVxdWVzdF90b2tlbiA9IHRva2VuKCk7Cith
c3luY190ZXN0KHQgPT4geworICB3aW5kb3cub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4gewor
ICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMod2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3Vu
ZC1jb2xvcicpLCAicmdiKDAsIDEyOCwgMCkiKTsKKyAgICAgIHZhciBsaW5rMiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsKKyAgICAgIGxpbmsyLm9ubG9hZCA9IHQuc3RlcF9mdW5j
KCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyksICJyZ2Io
MCwgMTI4LCAwKSIpOworICAgICAgICB2YXIgY2hlY2tSZXN1bHQgPSAoKSA9PiB7CisgICAgICAg
ICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9u
IHdpbGwgb2NjdXIuCisgICAgICAgICAgZmV0Y2goInJlc291cmNlcy9zdGFsZS1jc3MucHk/cXVl
cnkmdG9rZW49IiArIHJlcXVlc3RfdG9rZW4pLnRoZW4odC5zdGVwX2Z1bmMoKHJlc3BvbnNlKSA9
PiB7CisgICAgICAgICAgICB2YXIgY291bnQgPSByZXNwb25zZS5oZWFkZXJzLmdldCgiQ291bnQi
KTsKKyAgICAgICAgICAgIGlmIChjb3VudCA9PSAnMicpIHsKKyAgICAgICAgICAgICAgdC5kb25l
KCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICB0LnN0ZXBfdGltZW91dChj
aGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAgfQorICAgICAgICAgIH0pKTsKKyAgICAgICAg
fTsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgIH0pOwor
ICAgICAgbGluazIucmVsID0gInN0eWxlc2hlZXQiOworICAgICAgbGluazIudHlwZSA9ICJ0ZXh0
L2NzcyI7CisgICAgICBsaW5rMi5ocmVmID0gInJlc291cmNlcy9zdGFsZS1jc3MucHk/dG9rZW49
IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmsy
KTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9LCAnQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZScp
OworCit2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsKK2xpbmsucmVs
ID0gInN0eWxlc2hlZXQiOworbGluay50eXBlID0gInRleHQvY3NzIjsKK2xpbmsuaHJlZiA9ICJy
ZXNvdXJjZXMvc3RhbGUtY3NzLnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChsaW5rKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU0MjAxNGRlZmQ3MTkxMDk2
YzMzY2NlNTgzMGVmN2NhYTFhNTdhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisgCisKK1BBU1MgQ2Fj
aGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3N0YWxlLWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtaW1hZ2UuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43OGE1YTA5YWIxNTExMjIwNGJhNjk1OTY1ZDYwYTZjMjBhNDg0YjVjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKQEAgLTAsMCArMSw0
OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVz
dHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSB3b3JrcyBmb3IgaW1hZ2VzPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPCEtLQorVXNlIGEgY2hpbGQg
ZG9jdW1lbnQgdG8gbG9hZCB0aGUgc2Vjb25kIHN0YWxlIGltYWdlIGludG8gYmVjYXVzZQorYW4g
aW1hZ2UgbG9hZGVkIGludG8gdGhlIHNhbWUgZG9jdW1lbnQgd2lsbCBza2lwIGNhY2hlLWNvbnRy
b2wgaGVhZGVycy4KK1NlZTogaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWxpc3Qt
b2YtYXZhaWxhYmxlLWltYWdlcworLS0+Cis8aWZyYW1lIGlkPSJjaGlsZCIgc3JjZG9jPSIiPjwv
aWZyYW1lPgorPHNjcmlwdD4KK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5jX3Rl
c3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgdC5z
dGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZmlyc3RpbWFnZSIpLndpZHRoLCAxNiwgIldpZHRoIGlzIDE2Iik7CisgICAgICB2
YXIgY2hpbGREb2N1bWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGlsZCcpLmNvbnRl
bnREb2N1bWVudDsKKyAgICAgIHZhciBpbWcyID0gY2hpbGREb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJpbWciKTsKKyAgICAgIGltZzIub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGltZzIud2lkdGgsIDE2LCAiaW1hZ2UgZGltZW5zaW9uIik7CisgICAg
ICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1
c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZhbGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAg
ICAgICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLWltYWdlLnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1
ZXN0X3Rva2VuKS50aGVuKHQuc3RlcF9mdW5jKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAg
dmFyIGNvdW50ID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoIkNvdW50Iik7CisgICAgICAgICAgICBp
ZiAoY291bnQgPT0gJzInKSB7CisgICAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICB9KSk7CisgICAgICAgIH07CisgICAgICAgIHQuc3Rl
cF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7CisgICAgICB9KTsKKyAgICAgIGltZzIuc3JjID0g
InJlc291cmNlcy9zdGFsZS1pbWFnZS5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAg
IGNoaWxkRG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWcyKTsKKyAgICB9LCAwKTsKKyAgfSk7
Cit9LCAnQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZScpOworCit2YXIgaW1nID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CitpbWcuc3JjID0gInJlc291cmNlcy9zdGFsZS1pbWFn
ZS5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKK2ltZy5pZCA9ICJmaXJzdGltYWdlIjsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJl
dmFsaWRhdGUvc3RhbGUtc2NyaXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWM5OTQwNWE3
Yjg5YzEzZTU3ODdlYWYwNzllZDZmMTQ4OGU4YzEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY4NzkzZTUwMDU2YmM2MDUzZWE0MTBkNjU4YWVkMzczZDE5ZjlhNDEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKQEAg
LTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSB3b3JrcyBmb3Igc2NyaXB0czwvdGl0
bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+
Cit2YXIgbGFzdF9tb2RpZmllZDsKK3ZhciBsYXN0X21vZGlmaWVkX2NvdW50ID0gMDsKK3ZhciBy
ZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKworLy8gVGhlIHNjcmlwdCB3aWxsIGNhbGwgcmVwb3J0
IHZpYSBhIHVuaXF1ZWx5IGdlbmVyYXRlZCBJRCBvbiB0aGUgc3VicmVzb3VyY2UuCisvLyBJZiBp
dCBpcyBhIGNhY2hlIGhpdCB0aGUgSUQgd2lsbCBiZSB0aGUgc2FtZSBhbmQgdGhlIHRlc3Qgd2ls
bCBwYXNzLgorZnVuY3Rpb24gcmVwb3J0KG1vZCkgeworICBpZiAoIWxhc3RfbW9kaWZpZWQpIHsK
KyAgICBsYXN0X21vZGlmaWVkID0gbW9kOworICAgIGxhc3RfbW9kaWZpZWRfY291bnQgPSAxOwor
ICB9IGVsc2UgaWYgKGxhc3RfbW9kaWZpZWQgPT0gbW9kKSB7CisgICAgbGFzdF9tb2RpZmllZF9j
b3VudCsrOworICB9Cit9CisKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0
LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIHZhciBz
Y3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAgICAgIHNjcmlwdC5z
cmMgPSAicmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsK
KyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKKyAgICAgIHNjcmlwdC5v
bmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhsYXN0
X21vZGlmaWVkX2NvdW50LCAyLCAibGFzdCBtb2RpZmllZCIpOworICAgICAgICAgIHZhciBjaGVj
a1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAgIC8vIFdlIHBvbGwgYmVjYXVzZSB3ZSBkb24n
dCBrbm93IHdoZW4gdGhlIHJldmFsaWRhdGlvbiB3aWxsIG9jY3VyLgorICAgICAgICAgICAgZmV0
Y2goInJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49IiArIHJlcXVlc3RfdG9r
ZW4pLnRoZW4odC5zdGVwX2Z1bmMoKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICAgIHZhciBj
b3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJDb3VudCIpOworICAgICAgICAgICAgICBpZiAo
Y291bnQgPT0gJzInKSB7CisgICAgICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwg
MjUpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KSk7CisgICAgICAgICAgfTsKKyAg
ICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgfSk7CisgICAg
fSwgMCk7CisgIH0pOworfSwgJ0NhY2hlIHJldHVybnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFy
IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworc2NyaXB0LnNyYyA9
ICJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPSIgKyByZXF1ZXN0X3Rva2VuOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRl
L3N3LWludGVyY2VwdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kY2E3ZGU1MWIwYjhjNTUxODI3NmU3MGFlMjE5
YjdiYzhmODY5YTk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVy
Y2VwdC5qcwpAQCAtMCwwICsxLDE0IEBACithc3luYyBmdW5jdGlvbiBicm9hZGNhc3QobXNnKSB7
CisgIGZvciAoY29uc3QgY2xpZW50IG9mIGF3YWl0IGNsaWVudHMubWF0Y2hBbGwoKSkgeworICAg
IGNsaWVudC5wb3N0TWVzc2FnZShtc2cpOworICB9Cit9CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5l
cignZmV0Y2gnLCBldmVudCA9PiB7CisgIGV2ZW50LndhaXRVbnRpbChicm9hZGNhc3QoZXZlbnQu
cmVxdWVzdC51cmwpKTsKKyAgZXZlbnQucmVzcG9uZFdpdGgoZmV0Y2goZXZlbnQucmVxdWVzdCkp
OworfSk7CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignYWN0aXZhdGUnLCBldmVudCA9PiB7Cisg
IHNlbGYuY2xpZW50cy5jbGFpbSgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYWI5ZGQwNmY4NDZhNzA2OGZlYTJiODI4NzgxYWQ3NWNjMTk4ZTdhMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBm
aWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9mZXRjaC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50ZXJjZXB0LmpzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYzMwOTczNDEzYjdhZTFjYTdh
YjIxOGJjMzdmMGI1ZWNkZWJhYzM4NS4uZjFmZDdhMGI3ZTc3NGI1ZWQyOTMxOTFlNjcwZmE0MGE2
MDkzOGUzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMjAwNSw0ICsyMDA1LDcgQEAgaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctaHRt
bC0yZC5odG1sCiB3ZWJraXQub3JnL2IvMTU5NzI0IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXBvc3QtdXBsb2FkLmh0bSBbIFNraXAg
XQogCiAjIFNraXAgSXNMb2dnZWRJbgotaHR0cC90ZXN0cy9pcy1sb2dnZWQtaW4vIFsgU2tpcCBd
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoraHR0cC90ZXN0cy9pcy1sb2dnZWQtaW4vIFsg
U2tpcCBdCisKKyMgU3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBpcyBub3Qgc3VwcG9ydGVkIG9uIFdL
MQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggNDM2NjhlNGI3NTIyNWFhYjY0ZTlkMzQxYmVlNmZlMTRiZTI4ZWM3Ny4u
YTI4MDA1MDFlMGJhNzg1NTExMDFkNTRkNTQ2NjNiNWVmMDU2YzkwNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODIyLDMgKzgyMiw2IEBA
IHdlYmtpdC5vcmcvYi8yMDM1MDEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uCiB3ZWJraXQub3JnL2IvMjAzNTAxIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi10cmFuc2Zv
cm0tcGF1c2UtYW5kLXNldC10aW1lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogd2Via2l0
Lm9yZy9iLzIwMzUxNyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6
aW5nL2R5bmFtaWMtYXZhaWxhYmxlLXNpemUtaWZyYW1lLmh0bWwgWyBQYXNzIEltYWdlT25seUZh
aWx1cmUgXQorCisjIFN0YWxlLXdoaWxlLXJldmFsaWRhdGUgaXMgbm90IHN1cHBvcnRlZCBvbiBX
SzEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2
YWxpZGF0ZSBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383436</attachid>
            <date>2019-11-13 00:03:42 -0800</date>
            <delta_ts>2019-11-13 02:22:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201461-20191113090340.patch</filename>
            <type>text/plain</type>
            <size>73232</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzdlMjI3MmI5YjI0Y2M3
NGVjYzhhOTliMzFkZWIwYjI2ZDBmZWM4ZS4uMDVmYzJjN2E1YzcyYzY4OTA2YTY2NmU4MDZlOTg5
ZDJmZWE4N2M3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTExLTEyICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1y
ZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFi
bGV0LgorCisgICAgICAgIFN0YXJ0IHBhcnNpbmcgdGhlIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUg
Q2FjaGUtQ29udHJvbCBkaXJlY3RpdmUKKyAgICAgICAgYW5kIGV4cG9zZSBpdCBvbiBSZXNvdXJj
ZVJlc3BvbnNlLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3Mu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9zdGFsZS1zY3JpcHQuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9DYWNo
ZVZhbGlkYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDYWNoZUNvbnRyb2xEaXJl
Y3RpdmVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbFN0YWxlV2hp
bGVSZXZhbGlkYXRlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmg6CisKIDIwMTktMTEtMTEgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIE1hbnkgbGVnYWN5IGFuaW1hdGlvbiB0ZXN0cyBhcmUgdGlt
aW5nIG91dCB3aXRoIFZTMjAxOQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmMDdiYmI2MjNjNTQ2Y2NmN2VlMzg1YTRm
YTAyZTdlMWJkZWI1ZjNmLi5hNGFmOTgyMDFiMWM3MGQxNzQ3OTVhYmRkNjlmMmRjNGE2NzkwZjYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE5LTExLTEyICBSb2IgQnVpcyAgPHJidWlz
QGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlIGNh
Y2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAg
ICAgIEFkZCBhIG5ldyBVc2VEZWNpc2lvbiB2YWx1ZSBBc3luY1JldmFsaWRhdGUgZm9yIGFzeW5j
IHJldmFsaWRhdGlvbi4gVGhpcyBpcyB1c2VkCisgICAgICAgIHdoZW4gdGhlIHJldHJpZXZlZCBj
YWNoZSBlbnRyeSBpcyBhIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgcmVzcG9uc2UgWzFdLgorICAg
ICAgICBJbiBjYXNlIG9mIEFzeW5jUmV2YWxpZGF0ZSwgYSBjaGVjayBpcyBtYWRlIHRvIHNlZSBp
ZiB0aGVyZSBpcyBhCisgICAgICAgIGN1cnJlbnQgYXN5bmMgcmV2YWxpZGF0aW9uIG9uZ29pbmcg
Zm9yIHRoZSBlbnRyeSwgaWYgbm90IG9uZSBpcworICAgICAgICBzdGFydGVkLiBSZWdhcmRsZXNz
LCB0aGUgc3RhbGUgZW50cnkgaXMgcmV0dXJuZWQsIHVudGlsIGVpdGhlciB0aGUKKyAgICAgICAg
YXN5bmMgcmV2YWxpZGF0aW9uIGVuZHMgc3VjY2Vzc2Z1bGx5IG9yIGF0IHRoZSBtb21lbnQgd2hl
biB0aGUKKyAgICAgICAgcmVzcG9uc2UgZXhwaXJlcyBmb3IgcmVhbC4KKworICAgICAgICBbMV0g
aHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS1yZXNwb25zZQorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24u
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbjo6TmV0d29ya1Nlc3Npb24pOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtTZXNzaW9uOjppc1N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCBjb25zdCk6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRl
cnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVy
czo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nl
c3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9Bc3luY1JldmFsaWRhdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
Q2FjaGU6OmNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuZGlu
Zyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRpb246OkFz
eW5jUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1Jl
dmFsaWRhdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpBc3lu
Y1JldmFsaWRhdGlvbjo6bG9hZCBjb25zdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXNw
b25zZU5lZWRzUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpt
YWtlVXNlRGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6Om1ha2VTdG9y
ZURlY2lzaW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpDYWNoZTo6c3RhcnRB
c3luY1JldmFsaWRhdGlvbklmTmVlZGVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpDYWNoZTo6cmV0cmlldmUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlc3Bv
bnNlSGFzRXhwaXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpk
dW1wSFRUUEhlYWRlcnNEaWZmKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXF1
ZXN0c0hlYWRlcnNNYXRjaCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3BlY3VsYXRpdmVMb2FkLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZTo6ZHVtcEhUVFBIZWFkZXJzRGlmZik6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVxdWVzdHNIZWFkZXJzTWF0Y2gpOiBEZWxldGVkLgorICAg
ICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uUmVmLmNwcDoKKyAgICAgICAgKFdLV2Vic2l0ZURhdGFTdG9y
ZUNvbmZpZ3VyYXRpb25HZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQpOgorICAgICAgICAo
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5h
YmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZp
Z3VyYXRpb25SZWYuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vi
c2l0ZURhdGFTdG9yZUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3Jl
OjpwYXJhbWV0ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbjo6Y29weSBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmg6CisgICAgICAgIChXZWJLaXQ6
OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJs
ZWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
bjo6c2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKToKKyAgICAgICAgKiBXZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOS0xMS0xMiAgQ2FybG9zIEFsYmVydG8gTG9w
ZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIEVuYWJs
ZSBDU1MgUGFpbnRpbmcgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKaW5kZXggNDk1OTA1MDY3OWNlMDUwNDg0MjQ0N2ViMWY1
YTBiZjhhNjc2ODNjZS4uMmQzNTA3ZGYyMzdkYjI5NWQ1OTMxYTRjMGRmNzYwMjc3N2RlN2I4YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0
aW9uLmNwcApAQCAtMzEzLDggKzMxMywxOCBAQCBDYWNoZUNvbnRyb2xEaXJlY3RpdmVzIHBhcnNl
Q2FjaGVDb250cm9sRGlyZWN0aXZlcyhjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzKQogICAg
ICAgICAgICAgICAgIGRvdWJsZSBtYXhTdGFsZSA9IGRpcmVjdGl2ZXNbaV0uc2Vjb25kLnRvRG91
YmxlKCZvayk7CiAgICAgICAgICAgICAgICAgaWYgKG9rKQogICAgICAgICAgICAgICAgICAgICBy
ZXN1bHQubWF4U3RhbGUgPSBTZWNvbmRzIHsgbWF4U3RhbGUgfTsKLSAgICAgICAgICAgIH0gZWxz
ZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5maXJzdCwg
ImltbXV0YWJsZSIpKQorICAgICAgICAgICAgfSBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShkaXJlY3RpdmVzW2ldLmZpcnN0LCAiaW1tdXRhYmxlIikpIHsKICAgICAgICAg
ICAgICAgICByZXN1bHQuaW1tdXRhYmxlID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aXZlc1tpXS5maXJzdCwgInN0YWxl
LXdoaWxlLXJldmFsaWRhdGUiKSkgeworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuc3RhbGVX
aGlsZVJldmFsaWRhdGUpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRmlyc3Qgc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZSBkaXJlY3RpdmUgd2lucyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgb25lcy4K
KyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIGJvb2wgb2s7CisgICAgICAgICAgICAgICAgZG91YmxlIHN0YWxlV2hpbGVSZXZh
bGlkYXRlID0gZGlyZWN0aXZlc1tpXS5zZWNvbmQudG9Eb3VibGUoJm9rKTsKKyAgICAgICAgICAg
ICAgICBpZiAob2spCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5zdGFsZVdoaWxlUmV2YWxp
ZGF0ZSA9IFNlY29uZHMgeyBzdGFsZVdoaWxlUmV2YWxpZGF0ZSB9OworICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9DYWNoZVZhbGlkYXRpb24uaAppbmRleCA1NmVmZWE2MjE1NDQ3OTUwNmExNjY0ZmZkMDhlMDhh
YjJjNTU2YmNkLi4wNDBhOTY5N2U1ZmE4MmUxYWY1MGZmYTlhZDE5MjcyN2YzYjc4NDEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmgK
QEAgLTY5LDYgKzY5LDcgQEAgc3RydWN0IENhY2hlQ29udHJvbERpcmVjdGl2ZXMgewogCiAgICAg
TWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IG1heEFnZTsKICAgICBN
YXJrYWJsZTxTZWNvbmRzLCBTZWNvbmRzOjpNYXJrYWJsZVRyYWl0cz4gbWF4U3RhbGU7CisgICAg
TWFya2FibGU8U2Vjb25kcywgU2Vjb25kczo6TWFya2FibGVUcmFpdHM+IHN0YWxlV2hpbGVSZXZh
bGlkYXRlOwogICAgIGJvb2wgbm9DYWNoZSA6IDE7CiAgICAgYm9vbCBub1N0b3JlIDogMTsKICAg
ICBib29sIG11c3RSZXZhbGlkYXRlIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKaW5kZXggNmVkMjdmM2Iy
MDg1ODJjMWI2MGM2NGUxNDU0NDZjYTYyNmMzNDFiNi4uNzU0OWU1MTBjYzU3OTMwMmE5OTc0NzY0
OWViZmZmNWUyOTgxZTZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKQEAgLTY1Nyw2ICs2NTcsMTMgQEAg
T3B0aW9uYWw8U2Vjb25kcz4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNhY2hlQ29udHJvbE1heEFn
ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVDb250cm9sRGlyZWN0aXZlcy5tYXhBZ2U7CiB9
CiAKK09wdGlvbmFsPFNlY29uZHM+IFJlc291cmNlUmVzcG9uc2VCYXNlOjpjYWNoZUNvbnRyb2xT
dGFsZVdoaWxlUmV2YWxpZGF0ZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2hhdmVQYXJzZWRDYWNo
ZUNvbnRyb2xIZWFkZXIpCisgICAgICAgIHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcygpOwor
ICAgIHJldHVybiBtX2NhY2hlQ29udHJvbERpcmVjdGl2ZXMuc3RhbGVXaGlsZVJldmFsaWRhdGU7
Cit9CisKIHN0YXRpYyBPcHRpb25hbDxXYWxsVGltZT4gcGFyc2VEYXRlVmFsdWVJbkhlYWRlcihj
b25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzLCBIVFRQSGVhZGVyTmFtZSBoZWFkZXJOYW1lKQog
ewogICAgIFN0cmluZyBoZWFkZXJWYWx1ZSA9IGhlYWRlcnMuZ2V0KGhlYWRlck5hbWUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5oCmluZGV4IGU3YThmM2I1ZTZiNDEzODVkZjgyMzExZmRhMjE5MzgzMDgzYzNlMDUuLmMw
Y2FlZDBkYTRhNzJkZGMwZWM2YzEyYWRkZDUzOGI2MjllZmU1Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAg
LTEzNyw2ICsxMzcsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBjYWNoZUNv
bnRyb2xDb250YWluc0ltbXV0YWJsZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wg
aGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBPcHRp
b25hbDxTZWNvbmRzPiBjYWNoZUNvbnRyb2xNYXhBZ2UoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VY
UE9SVCBPcHRpb25hbDxTZWNvbmRzPiBjYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgp
IGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPFdhbGxUaW1lPiBkYXRlKCkgY29u
c3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8U2Vjb25kcz4gYWdlKCkgY29uc3Q7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgT3B0aW9uYWw8V2FsbFRpbWU+IGV4cGlyZXMoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKaW5kZXgg
YzViMjVmYTc1MjcyZDM4OTVmNDk2MzlmNjRjNGE2YTI0MjkxOGY3OS4uYjVjNTk1MDZiNDQ1NTVj
MTlkZmM4MmMzMzUyODIyNDlkMGQwZWY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKQEAgLTEwOCw2ICsxMDgsOCBAQCBOZXR3b3JrU2Vz
c2lvbjo6TmV0d29ya1Nlc3Npb24oTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25z
dCBOZXR3b3JrU2VzcwogICAgICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1h
bmVudGx5KHBhcmFtZXRlcnMucmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeUV4dGVuc2lv
bkhhbmRsZSk7CiAgICAgfQogCisgICAgbV9pc1N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCA9
IHBhcmFtZXRlcnMuc3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkOworCiAgICAgbV9hZENsaWNr
QXR0cmlidXRpb24tPnNldFBpbmdMb2FkRnVuY3Rpb24oW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdl
YWtQdHIodGhpcyldKE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYgbG9hZFBhcmFtZXRl
cnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikg
ewogICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oCmluZGV4IGU2YmE3ZDgwNTI3
OGQ3ZWM1NmFiZGNlZjJlMDYwOWMxNjcxY2M5N2EuLmYyNWRkNjU1YmI3OGU5ZTg2ZjZjNjRhOWFi
MjYxY2M2ZTQwOTNhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Nlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtTZXNzaW9uLmgKQEAgLTEyNCw2ICsxMjQsOCBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCB0
ZXN0U3BlZWRNdWx0aXBsaWVyKCkgY29uc3QgeyByZXR1cm4gbV90ZXN0U3BlZWRNdWx0aXBsaWVy
OyB9CiAKKyAgICBib29sIGlzU3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZDsgfQorCiBwcm90ZWN0ZWQ6CiAg
ICAgTmV0d29ya1Nlc3Npb24oTmV0d29ya1Byb2Nlc3MmLCBjb25zdCBOZXR3b3JrU2Vzc2lvbkNy
ZWF0aW9uUGFyYW1ldGVycyYpOwogCkBAIC0xNDQsNiArMTQ2LDcgQEAgcHJvdGVjdGVkOgogICAg
IGJvb2wgbV9kb3duZ3JhZGVSZWZlcnJlciB7IHRydWUgfTsKICAgICBib29sIG1fdGhpcmRQYXJ0
eUNvb2tpZUJsb2NraW5nRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKKyAgICBib29sIG1faXNT
dGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIFVuaXF1ZVJlZjxBZENs
aWNrQXR0cmlidXRpb25NYW5hZ2VyPiBtX2FkQ2xpY2tBdHRyaWJ1dGlvbjsKIAogICAgIEhhc2hT
ZXQ8UmVmPE5ldHdvcmtSZXNvdXJjZUxvYWRlcj4+IG1fa2VwdEFsaXZlTG9hZHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Np
b25DcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDAzOGMyNTA1MWM0YWVhMmNhZTE5NTRkNzZh
OWQ3OTk0NDU2NjEyNDAuLjNlODViZWE5NDMyZjc4NjBmODM4NWM5N2Y3YzFlZTgwNGU3NTk5MWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25D
cmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC03OCw2ICs3OCw3IEBAIHZv
aWQgTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXIm
IGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBmYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9u
RW5hYmxlZDsKICAgICBlbmNvZGVyIDw8IG5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlv
bkVuYWJsZWQ7CiAgICAgZW5jb2RlciA8PCBzaG91bGRVc2VUZXN0aW5nTmV0d29ya1Nlc3Npb247
CisgICAgZW5jb2RlciA8PCBzdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQ7CiAgICAgZW5jb2Rl
ciA8PCB0ZXN0U3BlZWRNdWx0aXBsaWVyOwogICAgIGVuY29kZXIgPDwgc3VwcHJlc3Nlc0Nvbm5l
Y3Rpb25UZXJtaW5hdGlvbk9uU3lzdGVtQ2hhbmdlOwogfQpAQCAtMjQzLDcgKzI0NCwxMiBAQCBP
cHRpb25hbDxOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycz4gTmV0d29ya1Nlc3Npb25D
cmVhdGlvblBhcmFtZXRlcnM6OmRlYwogICAgIGRlY29kZXIgPj4gc2hvdWxkVXNlVGVzdGluZ05l
dHdvcmtTZXNzaW9uOwogICAgIGlmICghc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uKQog
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIAorCisgICAgT3B0aW9uYWw8Ym9vbD4g
c3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkOworICAgIGRlY29kZXIgPj4gc3RhbGVXaGlsZVJl
dmFsaWRhdGVFbmFibGVkOworICAgIGlmICghc3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKQor
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCiAgICAgT3B0aW9uYWw8dW5zaWduZWQ+IHRl
c3RTcGVlZE11bHRpcGxpZXI7CiAgICAgZGVjb2RlciA+PiB0ZXN0U3BlZWRNdWx0aXBsaWVyOwog
ICAgIGlmICghdGVzdFNwZWVkTXVsdGlwbGllcikKQEAgLTI5Miw2ICsyOTgsNyBAQCBPcHRpb25h
bDxOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycz4gTmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnM6OmRlYwogICAgICAgICAsIFdURk1vdmUoKmZhc3RTZXJ2ZXJUcnVzdEV2YWx1
YXRpb25FbmFibGVkKQogICAgICAgICAsIFdURk1vdmUoKm5ldHdvcmtDYWNoZVNwZWN1bGF0aXZl
VmFsaWRhdGlvbkVuYWJsZWQpCiAgICAgICAgICwgV1RGTW92ZSgqc2hvdWxkVXNlVGVzdGluZ05l
dHdvcmtTZXNzaW9uKQorICAgICAgICAsIFdURk1vdmUoKnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5h
YmxlZCkKICAgICAgICAgLCBXVEZNb3ZlKCp0ZXN0U3BlZWRNdWx0aXBsaWVyKQogICAgICAgICAs
IFdURk1vdmUoKnN1cHByZXNzZXNDb25uZWN0aW9uVGVybWluYXRpb25PblN5c3RlbUNoYW5nZSkK
ICAgICB9fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCA1MDEyNTJjOGI4ZTA1
OWVkZWJlNzMxMDMyNjQ3ZmUxODQ2NWM1MDFhLi5hYzQzNmEzZDM4MTgwYTE3MDE5ZmI5NTI5NTli
YzQ2Y2NhYzdiMmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC05Niw2ICs5
Niw3IEBAIHN0cnVjdCBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9v
bCBmYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBu
ZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKICAgICBi
b29sIHNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lvbiB7IGZhbHNlIH07CisgICAgYm9vbCBz
dGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIHVuc2lnbmVkIHRlc3RT
cGVlZE11bHRpcGxpZXIgeyAxIH07CiAgICAgYm9vbCBzdXBwcmVzc2VzQ29ubmVjdGlvblRlcm1p
bmF0aW9uT25TeXN0ZW1DaGFuZ2UgeyBmYWxzZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjEwMzViNWJhNmNhZDA3MDQzMmEwZDEwZGM3ZDZmYmRjM2E5NjI1YQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlk
YXRpb24uY3BwCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgSWdh
bGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFzeW5j
UmV2YWxpZGF0aW9uLmgiCisKKyNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9S
RVZBTElEQVRJT04pCisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVZhbGlkYXRpb24uaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKK25h
bWVzcGFjZSBOZXR3b3JrQ2FjaGUgeworCitzdGF0aWMgaW5saW5lIFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCBjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KGNvbnN0IEtleSYga2V5LCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEVudHJ5JiBlbnRyeSkK
K3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmV2YWxpZGF0aW9uUmVxdWVzdCA9IHJl
cXVlc3Q7CisgICAgaWYgKCFrZXkucGFydGl0aW9uKCkuaXNFbXB0eSgpKQorICAgICAgICByZXZh
bGlkYXRpb25SZXF1ZXN0LnNldENhY2hlUGFydGl0aW9uKGtleS5wYXJ0aXRpb24oKSk7CisgICAg
QVNTRVJUX1dJVEhfTUVTU0FHRShrZXkucmFuZ2UoKS5pc0VtcHR5KCksICJyYW5nZSBpcyBub3Qg
c3VwcG9ydGVkIik7CisKKyAgICByZXZhbGlkYXRpb25SZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFs
KCk7CisgICAgYXV0byBlVGFnID0gZW50cnkucmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoV2Vi
Q29yZTo6SFRUUEhlYWRlck5hbWU6OkVUYWcpOworICAgIGlmICghZVRhZy5pc0VtcHR5KCkpCisg
ICAgICAgIHJldmFsaWRhdGlvblJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKFdlYkNvcmU6OkhU
VFBIZWFkZXJOYW1lOjpJZk5vbmVNYXRjaCwgZVRhZyk7CisKKyAgICBhdXRvIGxhc3RNb2RpZmll
ZCA9IGVudHJ5LnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJO
YW1lOjpMYXN0TW9kaWZpZWQpOworICAgIGlmICghbGFzdE1vZGlmaWVkLmlzRW1wdHkoKSkKKyAg
ICAgICAgcmV2YWxpZGF0aW9uUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRU
UEhlYWRlck5hbWU6OklmTW9kaWZpZWRTaW5jZSwgbGFzdE1vZGlmaWVkKTsKKworICAgIHJldmFs
aWRhdGlvblJlcXVlc3Quc2V0UHJpb3JpdHkoV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6
Okxvdyk7CisKKyAgICByZXR1cm4gcmV2YWxpZGF0aW9uUmVxdWVzdDsKK30KKwordm9pZCBBc3lu
Y1JldmFsaWRhdGlvbjo6c3RhbGVXaGlsZVJldmFsaWRhdGVFbmRpbmcoKQoreworICAgIGlmICht
X2NvbXBsZXRpb25IYW5kbGVyKQorICAgICAgICBtX2NvbXBsZXRpb25IYW5kbGVyKFJlc3VsdDo6
VGltZW91dCk7Cit9CisKK0FzeW5jUmV2YWxpZGF0aW9uOjpBc3luY1JldmFsaWRhdGlvbihDYWNo
ZSYgY2FjaGUsIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNoZTo6RW50
cnk+JiYgZW50cnksIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzdWx0KT4mJiBoYW5kbGVyKQor
ICAgIDogbV90aW1lcigqdGhpcywgJkFzeW5jUmV2YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxp
ZGF0ZUVuZGluZykKKyAgICAsIG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkK
K3sKKyAgICBhdXRvIGtleSA9IGVudHJ5LT5rZXkoKTsKKyAgICBhdXRvIHJldmFsaWRhdGlvblJl
cXVlc3QgPSBjb25zdHJ1Y3RSZXZhbGlkYXRpb25SZXF1ZXN0KGtleSwgcmVxdWVzdCwgKmVudHJ5
LmdldCgpKTsKKyAgICBhdXRvIGFnZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdlKGVudHJ5
LT5yZXNwb25zZSgpLCBlbnRyeS0+dGltZVN0YW1wKCkpOworICAgIGF1dG8gbGlmZXRpbWUgPSBX
ZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KGVudHJ5LT5yZXNw
b25zZSgpLCBlbnRyeS0+dGltZVN0YW1wKCkpOworICAgIGF1dG8gcmVzcG9uc2VNYXhTdGFsZW5l
c3MgPSBlbnRyeS0+cmVzcG9uc2UoKS5jYWNoZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgp
OworICAgIEFTU0VSVChyZXNwb25zZU1heFN0YWxlbmVzcyk7CisgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoKnJlc3BvbnNlTWF4U3RhbGVuZXNzICsgKGxpZmV0aW1lIC0gYWdlKSk7CisgICAgbV9s
b2FkID0gbWFrZVVuaXF1ZTxTcGVjdWxhdGl2ZUxvYWQ+KGNhY2hlLCBmcmFtZUlELCBXVEZNb3Zl
KHJldmFsaWRhdGlvblJlcXVlc3QpLCBXVEZNb3ZlKGVudHJ5KSwgW3RoaXMsIGtleSwgcmV2YWxp
ZGF0aW9uUmVxdWVzdF0oYXV0byYmIHJldmFsaWRhdGVkRW50cnkpIHsKKyAgICAgICAgQVNTRVJU
KCFyZXZhbGlkYXRlZEVudHJ5IHx8ICFyZXZhbGlkYXRlZEVudHJ5LT5uZWVkc1ZhbGlkYXRpb24o
KSk7CisgICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8fCByZXZhbGlkYXRlZEVudHJ5
LT5rZXkoKSA9PSBrZXkpOworICAgICAgICBpZiAobV9jb21wbGV0aW9uSGFuZGxlcikKKyAgICAg
ICAgICAgIG1fY29tcGxldGlvbkhhbmRsZXIocmV2YWxpZGF0ZWRFbnRyeSA/IFJlc3VsdDo6U3Vj
Y2VzcyA6IFJlc3VsdDo6RmFpbHVyZSk7CisgICAgfSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIE5l
dHdvcmtDYWNoZQorfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoTkVU
V09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2RkNjA4ZDBlMDUzYmE4MzIxNmRlNDk0ZTIzMWYwNDdkMjQ0MzJlNAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRp
b24uaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBT
LkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVf
U1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQorCisjaW5jbHVkZSAiTmV0d29ya0NhY2hlLmgiCisj
aW5jbHVkZSAiTmV0d29ya0NhY2hlRW50cnkuaCIKKyNpbmNsdWRlICJOZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZUxvYWQuaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OworfTsKKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIFNwZWN1bGF0aXZlTG9hZDsKKworbmFtZXNwYWNlIE5ldHdvcmtD
YWNoZSB7CisKK2NsYXNzIEFzeW5jUmV2YWxpZGF0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKKyAgICBlbnVtIGNsYXNzIFJlc3VsdCB7CisgICAgICAgIEZhaWx1
cmUsCisgICAgICAgIFRpbWVvdXQsCisgICAgICAgIFN1Y2Nlc3MsCisgICAgfTsKKyAgICBBc3lu
Y1JldmFsaWRhdGlvbihDYWNoZSYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya0NhY2hlOjpFbnRyeT4m
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXN1bHQpPiYmKTsKKworICAgIGNvbnN0IFNwZWN1
bGF0aXZlTG9hZCYgbG9hZCgpIGNvbnN0IHsgcmV0dXJuICptX2xvYWQ7IH0KKworcHJpdmF0ZToK
KyAgICB2b2lkIHN0YWxlV2hpbGVSZXZhbGlkYXRlRW5kaW5nKCk7CisKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8U3BlY3VsYXRpdmVMb2FkPiBtX2xvYWQ7CisgICAgV2ViQ29yZTo6VGltZXIgbV90aW1l
cjsKKyAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlc3VsdCk+IG1fY29tcGxldGlvbkhhbmRs
ZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJ
REFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGUuY3BwCmluZGV4IGYzNDRkMWFiYTY0ZmU5M2M5Y2JlYmQ0N2Y0M2U4MTYzYmFjZDdj
MTcuLjI3NWUwMGVlOGIwNjhjZjlmYmY1NDM2N2JjZTc2ODUxYjU4NDAzNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKQEAg
LTI2LDEwICsyNiwxMyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtD
YWNoZS5oIgogCisjaW5jbHVkZSAiQXN5bmNSZXZhbGlkYXRpb24uaCIKICNpbmNsdWRlICJMb2dn
aW5nLmgiCisjaW5jbHVkZSAiTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5oIgogI2luY2x1ZGUgIk5ldHdv
cmtDYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgorI2luY2x1ZGUg
Ik5ldHdvcmtTZXNzaW9uLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZVZhbGlkYXRpb24uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBIZWFkZXJOYW1lcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
TG93UG93ZXJNb2RlTm90aWZpZXIuaD4KQEAgLTE1MiwzNSArMTU1LDQ2IEBAIHN0YXRpYyBib29s
IGNhY2hlUG9saWN5QWxsb3dzRXhwaXJlZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RDYWNoZVBv
bGljeSBwb2xpY3kpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgYm9vbCByZXNwb25z
ZUhhc0V4cGlyZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFdh
bGxUaW1lIHRpbWVzdGFtcCwgT3B0aW9uYWw8U2Vjb25kcz4gbWF4U3RhbGUpCitzdGF0aWMgVXNl
RGVjaXNpb24gcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihOZXR3b3JrU2Vzc2lvbiYgbmV0d29y
a1Nlc3Npb24sIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBXYWxs
VGltZSB0aW1lc3RhbXAsIE9wdGlvbmFsPFNlY29uZHM+IG1heFN0YWxlKQogewogICAgIGlmIChy
ZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSkKLSAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VmFsaWRhdGU7CiAKICAgICBhdXRvIGFn
ZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdlKHJlc3BvbnNlLCB0aW1lc3RhbXApOwogICAg
IGF1dG8gbGlmZXRpbWUgPSBXZWJDb3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQ
RmFtaWx5KHJlc3BvbnNlLCB0aW1lc3RhbXApOwogCiAgICAgYXV0byBtYXhpbXVtU3RhbGVuZXNz
ID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMF9tczsKICAgICBib29sIGhhc0V4cGly
ZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1heGltdW1TdGFsZW5lc3M7CisjaWYgRU5BQkxFKE5FVFdP
UktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQorICAgIGlmIChoYXNFeHBpcmVkICYm
ICFtYXhTdGFsZSAmJiBuZXR3b3JrU2Vzc2lvbi5pc1N0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxl
ZCgpKSB7CisgICAgICAgIGF1dG8gcmVzcG9uc2VNYXhTdGFsZW5lc3MgPSByZXNwb25zZS5jYWNo
ZUNvbnRyb2xTdGFsZVdoaWxlUmV2YWxpZGF0ZSgpOworICAgICAgICBtYXhpbXVtU3RhbGVuZXNz
ICs9IHJlc3BvbnNlTWF4U3RhbGVuZXNzID8gcmVzcG9uc2VNYXhTdGFsZW5lc3MudmFsdWUoKSA6
IDBfbXM7CisgICAgICAgIGJvb2wgaW5SZXNwb25zZVN0YWxlbmVzcyA9IGFnZSAtIGxpZmV0aW1l
IDwgbWF4aW11bVN0YWxlbmVzczsKKyAgICAgICAgaWYgKGluUmVzcG9uc2VTdGFsZW5lc3MpCisg
ICAgICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OkFzeW5jUmV2YWxpZGF0ZTsKKyAgICB9Cisj
ZW5kaWYKIAorICAgIGlmIChoYXNFeHBpcmVkKSB7CiAjaWZuZGVmIExPR19ESVNBQkxFRAotICAg
IGlmIChoYXNFeHBpcmVkKQotICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9j
ZXNzKSBuZWVkc1JldmFsaWRhdGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBsaWZldGltZT0lZiBtYXgt
c3RhbGU9JWciLCBhZ2UsIGxpZmV0aW1lLCBtYXhTdGFsZSk7CisgICAgICAgIExPRyhOZXR3b3Jr
Q2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIG5lZWRzUmV2YWxpZGF0aW9uIGhhc0V4cGlyZWQgYWdl
PSVmIGxpZmV0aW1lPSVmIG1heC1zdGFsZW5lc3M9JWYiLCBhZ2UsIGxpZmV0aW1lLCBtYXhpbXVt
U3RhbGVuZXNzKTsKICNlbmRpZgorICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlZhbGlkYXRl
OworICAgIH0KIAotICAgIHJldHVybiBoYXNFeHBpcmVkOworICAgIHJldHVybiBVc2VEZWNpc2lv
bjo6VXNlOwogfQogCi1zdGF0aWMgYm9vbCByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdhbGxUaW1lIHRpbWVzdGFtcCkKK3N0YXRpYyBVc2VEZWNp
c2lvbiByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKE5ldHdvcmtTZXNzaW9uJiBuZXR3b3JrU2Vz
c2lvbiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2FsbFRpbWUgdGltZXN0YW1wKQogewog
ICAgIGF1dG8gcmVxdWVzdERpcmVjdGl2ZXMgPSBXZWJDb3JlOjpwYXJzZUNhY2hlQ29udHJvbERp
cmVjdGl2ZXMocmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpOwogICAgIGlmIChyZXF1ZXN0RGly
ZWN0aXZlcy5ub0NhY2hlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIFVz
ZURlY2lzaW9uOjpWYWxpZGF0ZTsKICAgICAvLyBGb3IgcmVxdWVzdHMgd2UgaWdub3JlIG1heC1h
Z2UgdmFsdWVzIG90aGVyIHRoYW4gemVyby4KICAgICBpZiAocmVxdWVzdERpcmVjdGl2ZXMubWF4
QWdlICYmIHJlcXVlc3REaXJlY3RpdmVzLm1heEFnZS52YWx1ZSgpID09IDBfbXMpCi0gICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gVXNlRGVjaXNpb246OlZhbGlkYXRlOwogCi0g
ICAgcmV0dXJuIHJlc3BvbnNlSGFzRXhwaXJlZChyZXNwb25zZSwgdGltZXN0YW1wLCByZXF1ZXN0
RGlyZWN0aXZlcy5tYXhTdGFsZSk7CisgICAgcmV0dXJuIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRp
b24obmV0d29ya1Nlc3Npb24sIHJlc3BvbnNlLCB0aW1lc3RhbXAsIHJlcXVlc3REaXJlY3RpdmVz
Lm1heFN0YWxlKTsKIH0KIAogc3RhdGljIFVzZURlY2lzaW9uIG1ha2VVc2VEZWNpc2lvbihOZXR3
b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIGNvbnN0IFBBTDo6U2Vzc2lvbklEJiBzZXNzaW9u
SUQsIGNvbnN0IEVudHJ5JiBlbnRyeSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0KQpAQCAtMTk3LDggKzIxMSw5IEBAIHN0YXRpYyBVc2VEZWNpc2lvbiBtYWtlVXNlRGVj
aXNpb24oTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25zdCBQQUw6OlNlCiAgICAg
aWYgKGNhY2hlUG9saWN5QWxsb3dzRXhwaXJlZChyZXF1ZXN0LmNhY2hlUG9saWN5KCkpKQogICAg
ICAgICByZXR1cm4gVXNlRGVjaXNpb246OlVzZTsKIAotICAgIGlmICghcmVzcG9uc2VOZWVkc1Jl
dmFsaWRhdGlvbihlbnRyeS5yZXNwb25zZSgpLCByZXF1ZXN0LCBlbnRyeS50aW1lU3RhbXAoKSkp
Ci0gICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOworICAgIGF1dG8gZGVjaXNpb24gPSBy
ZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKCpuZXR3b3JrUHJvY2Vzcy5uZXR3b3JrU2Vzc2lvbihz
ZXNzaW9uSUQpLCBlbnRyeS5yZXNwb25zZSgpLCByZXF1ZXN0LCBlbnRyeS50aW1lU3RhbXAoKSk7
CisgICAgaWYgKGRlY2lzaW9uICE9IFVzZURlY2lzaW9uOjpWYWxpZGF0ZSkKKyAgICAgICAgcmV0
dXJuIGRlY2lzaW9uOwogCiAgICAgaWYgKCFlbnRyeS5yZXNwb25zZSgpLmhhc0NhY2hlVmFsaWRh
dG9yRmllbGRzKCkpCiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6Tm9EdWVUb01pc3NpbmdW
YWxpZGF0b3JGaWVsZHM7CkBAIC0yNTEsOCArMjY2LDEyIEBAIHN0YXRpYyBTdG9yZURlY2lzaW9u
IG1ha2VTdG9yZURlY2lzaW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3JpZ2lu
YWxSCiAgICAgYm9vbCBzdG9yZVVuY29uZGl0aW9uYWxseUZvckhpc3RvcnlOYXZpZ2F0aW9uID0g
aXNNYWluUmVzb3VyY2UgfHwgb3JpZ2luYWxSZXF1ZXN0LnByaW9yaXR5KCkgPT0gV2ViQ29yZTo6
UmVzb3VyY2VMb2FkUHJpb3JpdHk6OlZlcnlIaWdoOwogICAgIGlmICghc3RvcmVVbmNvbmRpdGlv
bmFsbHlGb3JIaXN0b3J5TmF2aWdhdGlvbikgewogICAgICAgICBhdXRvIG5vdyA9IFdhbGxUaW1l
Ojpub3coKTsKLSAgICAgICAgYm9vbCBoYXNOb25aZXJvTGlmZXRpbWUgPSAhcmVzcG9uc2UuY2Fj
aGVDb250cm9sQ29udGFpbnNOb0NhY2hlKCkgJiYgV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xp
ZmV0aW1lRm9ySFRUUEZhbWlseShyZXNwb25zZSwgbm93KSA+IDBfbXM7Ci0KKyAgICAgICAgU2Vj
b25kcyBhbGxvd2VkU3RhbGUgeyAwX21zIH07CisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BF
Q1VMQVRJVkVfUkVWQUxJREFUSU9OKQorICAgICAgICBpZiAoYXV0byB2YWx1ZSA9IHJlc3BvbnNl
LmNhY2hlQ29udHJvbFN0YWxlV2hpbGVSZXZhbGlkYXRlKCkpCisgICAgICAgICAgICBhbGxvd2Vk
U3RhbGUgPSB2YWx1ZS52YWx1ZSgpOworI2VuZGlmCisgICAgICAgIGJvb2wgaGFzTm9uWmVyb0xp
ZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpICYmIChXZWJD
b3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCBub3cp
ID4gMF9tcyB8fCBhbGxvd2VkU3RhbGUgPiAwX21zKTsKICAgICAgICAgYm9vbCBwb3NzaWJseVJl
dXNhYmxlID0gcmVzcG9uc2UuaGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKSB8fCBoYXNOb25aZXJv
TGlmZXRpbWU7CiAgICAgICAgIGlmICghcG9zc2libHlSZXVzYWJsZSkKICAgICAgICAgICAgIHJl
dHVybiBTdG9yZURlY2lzaW9uOjpOb0R1ZVRvVW5saWtlbHlUb1JldXNlOwpAQCAtMjk2LDYgKzMx
NSwxOCBAQCBzdGF0aWMgYm9vbCBpbmxpbmUgY2FuUmVxdWVzdFVzZVNwZWN1bGF0aXZlUmV2YWxp
ZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUgogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
TkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCit2b2lkIENhY2hlOjpzdGFy
dEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBjb25zdCBOZXR3b3JrQ2FjaGU6OktleSYga2V5LCBzdGQ6OnVuaXF1ZV9wdHI8
RW50cnk+JiYgZW50cnksIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQpCit7CisgICAgbV9w
ZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zLmVuc3VyZShrZXksIFsmXSB7CisgICAgICAgIHJldHVy
biBtYWtlVW5pcXVlPEFzeW5jUmV2YWxpZGF0aW9uPigqdGhpcywgZnJhbWVJRCwgcmVxdWVzdCwg
V1RGTW92ZShlbnRyeSksIFt0aGlzLCBrZXldKEFzeW5jUmV2YWxpZGF0aW9uOjpSZXN1bHQgcmVz
dWx0KSB7CisgICAgICAgICAgICBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMucmVtb3ZlKGtl
eSk7CisgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBBc3lu
YyByZXZhbGlkYXRpb24gY29tcGxldGVkIGZvciAnJXMnIHdpdGggcmVzdWx0ICVkIiwga2V5Lmlk
ZW50aWZpZXIoKS51dGY4KCkuZGF0YSgpLCBzdGF0aWNfY2FzdDxpbnQ+KHJlc3VsdCkpOworICAg
ICAgICB9KTsKKyAgICB9KTsKK30KKyNlbmRpZgorCiB2b2lkIENhY2hlOjpyZXRyaWV2ZShjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZyYW1lSUQm
IGZyYW1lSUQsIFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKICAgICBBU1NFUlQocmVxdWVzdC51cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpOwpA
QCAtMzM0LDEyICszNjUsMTEgQEAgdm9pZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUkKICAgICB9CiAjZW5k
aWYKIAotICAgIG1fc3RvcmFnZS0+cmV0cmlldmUoc3RvcmFnZUtleSwgcHJpb3JpdHksIFtyZXF1
ZXN0LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBpbmZv
ID0gV1RGTW92ZShpbmZvKSwgc3RvcmFnZUtleSwgbmV0d29ya1Byb2Nlc3MgPSBtYWtlUmVmKG5l
dHdvcmtQcm9jZXNzKCkpLCBzZXNzaW9uSUQgPSBtX3Nlc3Npb25JRF0oYXV0byByZWNvcmQsIGF1
dG8gdGltaW5ncykgbXV0YWJsZSB7CisgICAgbV9zdG9yYWdlLT5yZXRyaWV2ZShzdG9yYWdlS2V5
LCBwcmlvcml0eSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcmVxdWVz
dCwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgaW5mbyA9
IFdURk1vdmUoaW5mbyksIHN0b3JhZ2VLZXksIG5ldHdvcmtQcm9jZXNzID0gbWFrZVJlZihuZXR3
b3JrUHJvY2VzcygpKSwgc2Vzc2lvbklEID0gbV9zZXNzaW9uSUQsIGZyYW1lSURdKGF1dG8gcmVj
b3JkLCBhdXRvIHRpbWluZ3MpIG11dGFibGUgewogICAgICAgICBpbmZvLnN0b3JhZ2VUaW1pbmdz
ID0gdGltaW5nczsKIAogICAgICAgICBpZiAoIXJlY29yZCkgewogICAgICAgICAgICAgTE9HKE5l
dHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2Vzcykgbm90IGZvdW5kIGluIHN0b3JhZ2UiKTsKLQog
ICAgICAgICAgICAgY29tcGxldGVSZXRyaWV2ZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwg
bnVsbHB0ciwgaW5mbyk7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAg
LTM1MCw2ICszODAsMTQgQEAgdm9pZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUkKIAogICAgICAgICBhdXRv
IHVzZURlY2lzaW9uID0gZW50cnkgPyBtYWtlVXNlRGVjaXNpb24obmV0d29ya1Byb2Nlc3MsIHNl
c3Npb25JRCwgKmVudHJ5LCByZXF1ZXN0KSA6IFVzZURlY2lzaW9uOjpOb0R1ZVRvRGVjb2RlRmFp
bHVyZTsKICAgICAgICAgc3dpdGNoICh1c2VEZWNpc2lvbikgeworICAgICAgICBjYXNlIFVzZURl
Y2lzaW9uOjpBc3luY1JldmFsaWRhdGU6IHsKKyNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVD
VUxBVElWRV9SRVZBTElEQVRJT04pCisgICAgICAgICAgICBhdXRvIGVudHJ5Q29weSA9IG1ha2VV
bmlxdWU8RW50cnk+KCplbnRyeSk7CisgICAgICAgICAgICBlbnRyeUNvcHktPnNldE5lZWRzVmFs
aWRhdGlvbih0cnVlKTsKKyAgICAgICAgICAgIHN0YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRl
ZChyZXF1ZXN0LCBzdG9yYWdlS2V5LCBXVEZNb3ZlKGVudHJ5Q29weSksIGZyYW1lSUQpOworI2Vu
ZGlmCisgICAgICAgICAgICBGQUxMVEhST1VHSDsKKyAgICAgICAgfQogICAgICAgICBjYXNlIFVz
ZURlY2lzaW9uOjpVc2U6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBVc2VEZWNp
c2lvbjo6VmFsaWRhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGUuaAppbmRleCAwZGVlN2Y4OGRmZjYxNjJjYzNmZDc4NTFiODM4MGZjNWE4
M2JkNWFlLi41MzU0MGFlZDhlYzA1ZDU1NjI4YTdjNmUzODRiMzA2MjQyOTdiYzkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKQEAg
LTUwLDYgKzUwLDcgQEAgY2xhc3MgTmV0d29ya1Byb2Nlc3M7CiAKIG5hbWVzcGFjZSBOZXR3b3Jr
Q2FjaGUgewogCitjbGFzcyBBc3luY1JldmFsaWRhdGlvbjsKIGNsYXNzIENhY2hlOwogY2xhc3Mg
U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjsKIApAQCAtODIsNiArODMsNyBAQCBlbnVtIGNsYXNzIFN0
b3JlRGVjaXNpb24gewogZW51bSBjbGFzcyBVc2VEZWNpc2lvbiB7CiAgICAgVXNlLAogICAgIFZh
bGlkYXRlLAorICAgIEFzeW5jUmV2YWxpZGF0ZSwKICAgICBOb0R1ZVRvVmFyeWluZ0hlYWRlck1p
c21hdGNoLAogICAgIE5vRHVlVG9NaXNzaW5nVmFsaWRhdG9yRmllbGRzLAogICAgIE5vRHVlVG9E
ZWNvZGVGYWlsdXJlLApAQCAtMTY3LDYgKzE2OSw4IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShO
RVRXT1JLX0NBQ0hFX1NQRUNVTEFUSVZFX1JFVkFMSURBVElPTikKICAgICBTcGVjdWxhdGl2ZUxv
YWRNYW5hZ2VyKiBzcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyKCkgeyByZXR1cm4gbV9zcGVjdWxhdGl2
ZUxvYWRNYW5hZ2VyLmdldCgpOyB9CisKKyAgICB2b2lkIHN0YXJ0QXN5bmNSZXZhbGlkYXRpb25J
Zk5lZWRlZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBOZXR3b3JrQ2Fj
aGU6OktleSYsIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4mJiwgY29uc3QgR2xvYmFsRnJhbWVJRCYp
OwogI2VuZGlmCiAKICAgICBOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MoKSB7IHJldHVy
biBtX25ldHdvcmtQcm9jZXNzLmdldCgpOyB9CkBAIC0xOTMsNiArMTk3LDggQEAgcHJpdmF0ZToK
ICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCiAgICAg
c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Okxvd1Bvd2VyTW9kZU5vdGlmaWVyPiBtX2xvd1Bvd2Vy
TW9kZU5vdGlmaWVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVjdWxhdGl2ZUxvYWRNYW5hZ2Vy
PiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXI7CisKKyAgICBIYXNoTWFwPEtleSwgc3RkOjp1bmlx
dWVfcHRyPEFzeW5jUmV2YWxpZGF0aW9uPj4gbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25zOwog
I2VuZGlmCiAKICAgICB1bnNpZ25lZCBtX3RyYXZlcnNlQ291bnQgeyAwIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlTG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXggNmM3MmZhYmU3MmUzNTk0NDhhN2MxYjI5MWNk
OTBlOTUwZTViYmU1NC4uMDFiYzg3ZmZlYzc5N2Y5ZDc3M2FkNThmZDliYjMyYzQxMWRlNDM0NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVTcGVjdWxhdGl2ZUxvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcApAQCAtMTU1LDYgKzE1NSw0MyBA
QCB2b2lkIFNwZWN1bGF0aXZlTG9hZDo6ZGlkQ29tcGxldGUoKQogICAgIG1fY29tcGxldGlvbkhh
bmRsZXIoV1RGTW92ZShtX2NhY2hlRW50cnkpKTsKIH0KIAorI2lmICFMT0dfRElTQUJMRUQKKwor
c3RhdGljIHZvaWQgZHVtcEhUVFBIZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFk
ZXJzQSwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyc0IpCit7CisgICAgYXV0byBhRW5kID0g
aGVhZGVyc0EuZW5kKCk7CisgICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQg
IT0gYUVuZDsgKytpdCkgeworICAgICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0
LT5rZXkpOworICAgICAgICBpZiAodmFsdWVCLmlzTnVsbCgpKQorICAgICAgICAgICAgTE9HKE5l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBv
bmx5IGluIGZpcnN0IHJlcXVlc3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCks
IGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9
IHZhbHVlQikKKyAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRp
bmcsICIqICclcycgSFRUUCBoZWFkZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAl
cyIsIGl0LT5rZXkudXRmOCgpLmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVl
Qi51dGY4KCkuZGF0YSgpKTsKKyAgICB9CisgICAgYXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7
CisgICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkg
eworICAgICAgICBpZiAoIWhlYWRlcnNBLmNvbnRhaW5zKGl0LT5rZXkpKQorICAgICAgICAgICAg
TE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRl
ciBpcyBvbmx5IGluIHNlY29uZCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCku
ZGF0YSgpLCBpdC0+dmFsdWUudXRmOCgpLmRhdGEoKSk7CisgICAgfQorfQorCisjZW5kaWYKKwor
Ym9vbCByZXF1ZXN0c0hlYWRlcnNNYXRjaChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHNwZWN1bGF0
aXZlVmFsaWRhdGlvblJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYWN0dWFsUmVxdWVz
dCkKK3sKKyAgICBBU1NFUlQoIWFjdHVhbFJlcXVlc3QuaXNDb25kaXRpb25hbCgpKTsKKyAgICBS
ZXNvdXJjZVJlcXVlc3Qgc3BlY3VsYXRpdmVSZXF1ZXN0ID0gc3BlY3VsYXRpdmVWYWxpZGF0aW9u
UmVxdWVzdDsKKyAgICBzcGVjdWxhdGl2ZVJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKwor
ICAgIGlmIChzcGVjdWxhdGl2ZVJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpICE9IGFjdHVhbFJl
cXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKSB7CisgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZVByZWxvYWRpbmcsICJDYW5ub3QgcmV1c2Ugc3BlY3VsYXRpdmVseSB2YWxpZGF0ZWQg
ZW50cnkgYmVjYXVzZSBIVFRQIGhlYWRlcnMgdXNlZCBmb3IgdmFsaWRhdGlvbiBkbyBub3QgbWF0
Y2giKTsKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgICAgIGR1bXBIVFRQSGVhZGVyc0RpZmYoc3Bl
Y3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSwgYWN0dWFsUmVxdWVzdC5odHRwSGVh
ZGVyRmllbGRzKCkpOworI2VuZGlmCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAg
cmV0dXJuIHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIE5ldHdvcmtDYWNoZQogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCmluZGV4IDU0MDZk
OWY4MjE4YjM4MDViNDY4YjY4OWM5YmUyY2Y4ZjYzODAwNGYuLmVmMjE4ZjM4NWFhNmU5ZDBlNzcz
NTYyZDhkMGU3ZjU3Zjg0NzRlMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmgKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaApA
QCAtNzgsNiArNzgsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaWRDb21wbGV0ZSB7IGZhbHNl
IH07CiB9OwogCitib29sIHJlcXVlc3RzSGVhZGVyc01hdGNoKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYgc3BlY3VsYXRpdmVWYWxpZGF0aW9uUmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KTsKKwogfSAvLyBuYW1lc3BhY2UgTmV0d29y
a0NhY2hlCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2Vy
LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Bl
Y3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKaW5kZXggNjc5NDAzOWI3ZTE5MTdhNGFhYmFkNGQyZDUw
OGY3Mzk1Mzc4NjU2Ny4uOTgwNmY2MmVhN2JiMDVjMGMzZWQ3MmFhZmRlNzQzZGQ1ZWRhYjgzMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC0y
NTYsNDMgKzI1Niw2IEBAIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6On5TcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyKCkKIHsKIH0KIAotI2lmICFMT0dfRElTQUJMRUQKLQotc3RhdGljIHZvaWQgZHVtcEhU
VFBIZWFkZXJzRGlmZihjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzQSwgY29uc3QgSFRUUEhl
YWRlck1hcCYgaGVhZGVyc0IpCi17Ci0gICAgYXV0byBhRW5kID0gaGVhZGVyc0EuZW5kKCk7Ci0g
ICAgZm9yIChhdXRvIGl0ID0gaGVhZGVyc0EuYmVnaW4oKTsgaXQgIT0gYUVuZDsgKytpdCkgewot
ICAgICAgICBTdHJpbmcgdmFsdWVCID0gaGVhZGVyc0IuZ2V0KGl0LT5rZXkpOwotICAgICAgICBp
ZiAodmFsdWVCLmlzTnVsbCgpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIGZpcnN0IHJlcXVl
c3QgKHZhbHVlOiAlcykiLCBpdC0+a2V5LnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCku
ZGF0YSgpKTsKLSAgICAgICAgZWxzZSBpZiAoaXQtPnZhbHVlICE9IHZhbHVlQikKLSAgICAgICAg
ICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICIqICclcycgSFRUUCBo
ZWFkZXIgZGlmZmVycyBpbiBib3RoIHJlcXVlc3RzOiAlcyAhPSAlcyIsIGl0LT5rZXkudXRmOCgp
LmRhdGEoKSwgaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCksIHZhbHVlQi51dGY4KCkuZGF0YSgpKTsK
LSAgICB9Ci0gICAgYXV0byBiRW5kID0gaGVhZGVyc0IuZW5kKCk7Ci0gICAgZm9yIChhdXRvIGl0
ID0gaGVhZGVyc0IuYmVnaW4oKTsgaXQgIT0gYkVuZDsgKytpdCkgewotICAgICAgICBpZiAoIWhl
YWRlcnNBLmNvbnRhaW5zKGl0LT5rZXkpKQotICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlUHJlbG9hZGluZywgIiogJyVzJyBIVFRQIGhlYWRlciBpcyBvbmx5IGluIHNlY29u
ZCByZXF1ZXN0ICh2YWx1ZTogJXMpIiwgaXQtPmtleS51dGY4KCkuZGF0YSgpLCBpdC0+dmFsdWUu
dXRmOCgpLmRhdGEoKSk7Ci0gICAgfQotfQotCi0jZW5kaWYKLQotc3RhdGljIGJvb2wgcmVxdWVz
dHNIZWFkZXJzTWF0Y2goY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBzcGVjdWxhdGl2ZVZhbGlkYXRp
b25SZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpCi17Ci0gICAg
QVNTRVJUKCFhY3R1YWxSZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKSk7Ci0gICAgUmVzb3VyY2VSZXF1
ZXN0IHNwZWN1bGF0aXZlUmVxdWVzdCA9IHNwZWN1bGF0aXZlVmFsaWRhdGlvblJlcXVlc3Q7Ci0g
ICAgc3BlY3VsYXRpdmVSZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7Ci0KLSAgICBpZiAoc3Bl
Y3VsYXRpdmVSZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSAhPSBhY3R1YWxSZXF1ZXN0Lmh0dHBI
ZWFkZXJGaWVsZHMoKSkgewotICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVs
b2FkaW5nLCAiQ2Fubm90IHJldXNlIHNwZWN1bGF0aXZlbHkgdmFsaWRhdGVkIGVudHJ5IGJlY2F1
c2UgSFRUUCBoZWFkZXJzIHVzZWQgZm9yIHZhbGlkYXRpb24gZG8gbm90IG1hdGNoIik7Ci0jaWYg
IUxPR19ESVNBQkxFRAotICAgICAgICBkdW1wSFRUUEhlYWRlcnNEaWZmKHNwZWN1bGF0aXZlUmVx
dWVzdC5odHRwSGVhZGVyRmllbGRzKCksIGFjdHVhbFJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygp
KTsKLSNlbmRpZgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIHJldHVybiB0cnVl
OwotfQotCiBib29sIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OmNhblVzZVByZWxvYWRlZEVudHJ5
KGNvbnN0IFByZWxvYWRlZEVudHJ5JiBlbnRyeSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhY3R1
YWxSZXF1ZXN0KQogewogICAgIGlmICghZW50cnkud2FzUmV2YWxpZGF0ZWQoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0
CmluZGV4IGVkYmZiNTZlNDliYzJhMDNhOGFiZGJmODcxNDFkY2QwN2U1ZGE5M2YuLjNmN2QzZmI2
MjE2ZmZmYzZmM2JjYjJkM2ZkNTNiZWZhMTA0MTg2NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNzgsNiAr
NzgsNyBAQCBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKIE5ldHdvcmtQcm9j
ZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwCitOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9Bc3luY1JldmFsaWRhdGlvbi5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZS5jcHAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcAog
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvblJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uUmVmLmNwcAppbmRleCBkOWE4Y2RlOGNhNTQ4ZjFhOTk0NzYzOTZk
YjQ5YjMwY2NlZDdkNDk0Li44MTg3MDE0OWUxYzI3ZDM5M2I0ZTVhOGY4MjY4ZTVkMjU4NjBiNjI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uUmVmLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmLmNwcApAQCAtMTM5LDMgKzEz
OSwxMyBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25TZXRUZXN0aW5nU2Vz
c2lvbkVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlQwogewogICAgIFdlYktpdDo6dG9JbXBsKGNv
bmZpZ3VyYXRpb24pLT5zZXRUZXN0aW5nU2Vzc2lvbkVuYWJsZWQoZW5hYmxlZCk7CiB9CisKK2Jv
b2wgV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbkdldFN0YWxlV2hpbGVSZXZhbGlkYXRl
RW5hYmxlZChXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3VyYXRpb24p
Cit7CisgICAgcmV0dXJuIFdlYktpdDo6dG9JbXBsKGNvbmZpZ3VyYXRpb24pLT5zdGFsZVdoaWxl
UmV2YWxpZGF0ZUVuYWJsZWQoKTsKK30KKwordm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uU2V0U3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkKFdLV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb25SZWYgY29uZmlndXJhdGlvbiwgYm9vbCBlbmFibGVkKQoreworICAgIFdlYktp
dDo6dG9JbXBsKGNvbmZpZ3VyYXRpb24pLT5zZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQo
ZW5hYmxlZCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmLmgKaW5kZXggNjRh
ZGViODJmNzczMzlkNjM1MDE4ZjEwZGM3ZGVlMmUyNWM1Mzg2MS4uMjQwODQ4ODc0MjVkYWU2ZWJi
NDZjNmVlNTU3MTE5NGFlYjIxODBmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25S
ZWYuaApAQCAtNjYsNiArNjYsOSBAQCBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uU2V0TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aQogV0tfRVhQT1JU
IGJvb2wgV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbkdldFRlc3RpbmdTZXNzaW9uRW5h
YmxlZChXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3VyYXRpb24pOwog
V0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblNldFRlc3RpbmdT
ZXNzaW9uRW5hYmxlZChXS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3Vy
YXRpb24sIGJvb2wgZW5hYmxlZCk7CiAKK1dLX0VYUE9SVCBib29sIFdLV2Vic2l0ZURhdGFTdG9y
ZUNvbmZpZ3VyYXRpb25HZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoV0tXZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uKTsKK1dLX0VYUE9SVCB2b2lkIFdL
V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25TZXRTdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJs
ZWQoV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uLCBib29s
IGVuYWJsZWQpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9y
ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vi
c2l0ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4IDI5ZTkwMDNmMDQ2ZjIxNzRjNzZiODRmNzFiNWVj
ODkyZThhNDYwMjUuLjBmZjNlYTA5NjMxYjU3N2QxZWE3OTA4MjVlMzA1ZWU5MzIzZmJkYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNp
dGVEYXRhU3RvcmVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KQEAgLTE1MCw2ICsxNTAsNyBAQCBX
ZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyBXZWJzaXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJzKCkK
ICAgICAgICAgbV9jb25maWd1cmF0aW9uLT5mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxl
ZCgpLAogICAgICAgICBtX2NvbmZpZ3VyYXRpb24tPm5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFs
aWRhdGlvbkVuYWJsZWQoKSwKICAgICAgICAgbV9jb25maWd1cmF0aW9uLT50ZXN0aW5nU2Vzc2lv
bkVuYWJsZWQoKSwKKyAgICAgICAgbV9jb25maWd1cmF0aW9uLT5zdGFsZVdoaWxlUmV2YWxpZGF0
ZUVuYWJsZWQoKSwKICAgICAgICAgbV9jb25maWd1cmF0aW9uLT50ZXN0U3BlZWRNdWx0aXBsaWVy
KCksCiAgICAgICAgIG1fY29uZmlndXJhdGlvbi0+c3VwcHJlc3Nlc0Nvbm5lY3Rpb25UZXJtaW5h
dGlvbk9uU3lzdGVtQ2hhbmdlKCksCiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25m
aWd1cmF0aW9uLmNwcAppbmRleCA0YWU1ZjNmOGQxOWI3MjAwZjU4MGM0N2Q3ZDc0ZWQxNmVjNjlm
ZTYyLi5iNTAzYjQyZDlkNDRjNTI3OThmMTVmZDM2MThmMDQ0OTczMjAxYjVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29u
ZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC01Niw2ICs1Niw3IEBAIFJlZjxX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRp
b246OmNvcHkoKSBjb25zdAogICAgIGNvcHktPm1fc2VydmljZVdvcmtlclByb2Nlc3NUZXJtaW5h
dGlvbkRlbGF5RW5hYmxlZCA9IHRoaXMtPm1fc2VydmljZVdvcmtlclByb2Nlc3NUZXJtaW5hdGlv
bkRlbGF5RW5hYmxlZDsKICAgICBjb3B5LT5tX2Zhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFi
bGVkID0gdGhpcy0+bV9mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZDsKICAgICBjb3B5
LT5tX25ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQgPSB0aGlzLT5tX25l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQ7CisgICAgY29weS0+bV9zdGFs
ZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgPSB0aGlzLT5tX3N0YWxlV2hpbGVSZXZhbGlkYXRlRW5h
YmxlZDsKICAgICBjb3B5LT5tX2NhY2hlU3RvcmFnZURpcmVjdG9yeSA9IHRoaXMtPm1fY2FjaGVT
dG9yYWdlRGlyZWN0b3J5OwogICAgIGNvcHktPm1fcGVyT3JpZ2luU3RvcmFnZVF1b3RhID0gdGhp
cy0+bV9wZXJPcmlnaW5TdG9yYWdlUXVvdGE7CiAgICAgY29weS0+bV9uZXR3b3JrQ2FjaGVEaXJl
Y3RvcnkgPSB0aGlzLT5tX25ldHdvcmtDYWNoZURpcmVjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbi5oCmluZGV4IDlmZTQ2NzhiNTZlYTUzZmU2YmIwYTBhZjczN2JhNDk0
M2E3OWEzNzcuLjZhZDUxOWRlZjUxZDRmZDM5OTVhYjlhMTY1NTE1M2M3NTA5MDk0OTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaApAQCAtODQsMTAgKzg0LDEzIEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgdGVzdGluZ1Nlc3Npb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV90ZXN0aW5nU2Vzc2lvbkVuYWJsZWQ7IH0KICAgICB2b2lkIHNldFRlc3RpbmdTZXNzaW9uRW5h
YmxlZChib29sIGVuYWJsZWQpIHsgbV90ZXN0aW5nU2Vzc2lvbkVuYWJsZWQgPSBlbmFibGVkOyB9
Ci0gICAgCisKKyAgICBib29sIHN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fc3RhbGVXaGlsZVJldmFsaWRhdGVFbmFibGVkOyB9CisgICAgdm9pZCBzZXRTdGFs
ZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fc3RhbGVXaGlsZVJldmFs
aWRhdGVFbmFibGVkID0gZW5hYmxlZDsgfQorCiAgICAgdW5zaWduZWQgdGVzdFNwZWVkTXVsdGlw
bGllcigpIGNvbnN0IHsgcmV0dXJuIG1fdGVzdFNwZWVkTXVsdGlwbGllcjsgfQogICAgIHZvaWQg
c2V0VGVzdFNwZWVkTXVsdGlwbGllcih1bnNpZ25lZCBtdWx0aXBsaWVyKSB7IG1fdGVzdFNwZWVk
TXVsdGlwbGllciA9IG11bHRpcGxpZXI7IH0KLSAgICAKKwogI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgIENGRGljdGlvbmFyeVJlZiBwcm94eUNvbmZpZ3VyYXRpb24oKSBjb25zdCB7IHJldHVybiBt
X3Byb3h5Q29uZmlndXJhdGlvbi5nZXQoKTsgfQogICAgIHZvaWQgc2V0UHJveHlDb25maWd1cmF0
aW9uKENGRGljdGlvbmFyeVJlZiBjb25maWd1cmF0aW9uKSB7IG1fcHJveHlDb25maWd1cmF0aW9u
ID0gY29uZmlndXJhdGlvbjsgfQpAQCAtMTU5LDYgKzE2Miw3IEBAIHByaXZhdGU6CiAjZWxzZQog
ICAgIGJvb2wgbV9uZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkIHsgZmFs
c2UgfTsKICNlbmRpZgorICAgIGJvb2wgbV9zdGFsZVdoaWxlUmV2YWxpZGF0ZUVuYWJsZWQgeyBm
YWxzZSB9OwogICAgIFN0cmluZyBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeTsKICAgICBTdHJpbmcg
bV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OwogICAgIFN0cmluZyBtX2RldmljZUlkSGFzaFNh
bHRzU3RvcmFnZURpcmVjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDVlM2VhM2IzNDM5NmM3ZTBiMWY3OWMzZjZjM2NkODg2ZTA5
NmIyOTEuLjg4N2NlZDFmY2U5YjNjZDBiOGU4MmI4MTM5N2ZhMzMyYWI5ZjEyY2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM5NSw2
ICsxMzk1LDcgQEAKIAkJQTc4Q0NEREMxOTNBQzlGQjAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJL
aXQuV2ViQ29udGVudC5zYiBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTc4Q0NERDkxOTNBQzlFMzAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuV2Vi
Q29udGVudC5zYiAqLzsgfTsKIAkJQTdENzkyRDgxNzY3Q0NBMzAwODgxQ0JFIC8qIEFjdGl2aXR5
QXNzZXJ0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBN0Q3OTJENDE3NjdDQjA5MDA4ODFDQkUgLyogQWN0aXZpdHlBc3NlcnRpb24uaCAqLzsgfTsK
IAkJQUFCMTQ1RTYyMjNGOTMxMjAwRTQ4OUQ4IC8qIFByZWZldGNoQ2FjaGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQjE0NUU0MjIzRjkzMTIwMEU0
ODlEOCAvKiBQcmVmZXRjaENhY2hlLmggKi87IH07CisJCUFBRkE2MzRGMjM0RjdDNjQwMEZGQTg2
NCAvKiBBc3luY1JldmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQUFGQTYzNEUyMzRGN0M2MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0
aW9uLmggKi87IH07CiAJCUI2MkU3MzEyMTQzMDQ3QjAwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1
bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2MkU3
MzExMTQzMDQ3QjAwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCODc4QjYxNTEzMzQyOERDMDA2ODg4
RTkgLyogQ29ycmVjdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCODc4QjYxMzEzMzQyOERDMDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVs
LmggKi87IH07CiAJCUJDMDE3RDA3MTYyNjBGRjQwMDcwNTRGNSAvKiBXS0RPTURvY3VtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0NGRjE2
MjYwRkY0MDA3MDU0RjUgLyogV0tET01Eb2N1bWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC00MTgxLDYgKzQxODIsOCBAQAogCQlBN0U5M0NF
QjE5MjUzMUFBMDBBMURDNDggLyogQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEF1eGlsaWFyeVByb2Nlc3NJT1MubW07IHBhdGgg
PSBpb3MvQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUFCMTQ1RTQyMjNGOTMxMjAwRTQ4OUQ4IC8qIFByZWZldGNoQ2FjaGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJlZmV0Y2hDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBQUIxNDVFNTIyM0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmVmZXRjaENhY2hlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFGQTYzNEUyMzRGN0M2MzAwRkZBODY0
IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFzeW5jUmV2YWxpZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRkE2
MzUwMjM0RjdDNzMwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBBc3luY1JldmFsaWRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUIzOTZFQTU1MTJFMEVEMkQwMEY0RkVCNyAvKiBjb25maWcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gY29uZmlnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUI2MkU3MzBGMTQzMDQ3QTYwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tIaXRUZXN0UmVzdWx0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjYyRTczMTExNDMwNDdCMDAwNjlFQzM1IC8qIFdLSGl0
VGVzdFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0hpdFRlc3RS
ZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTkyMTcsNiArOTIyMCw4IEBA
CiAJCUU0ODlEMjgyMUEwQTJCRTgwMDc4QzA2QSAvKiBjYWNoZSAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQUFGQTYzNTAyMzRGN0M3MzAwRkZBODY0IC8q
IEFzeW5jUmV2YWxpZGF0aW9uLmNwcCAqLywKKwkJCQlBQUZBNjM0RTIzNEY3QzYzMDBGRkE4NjQg
LyogQXN5bmNSZXZhbGlkYXRpb24uaCAqLywKIAkJCQk0MTg5N0VENjFGNDE1RDg2MDAxNkZBNDIg
LyogQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCAqLywKIAkJCQk0MTg5N0VEMjFGNDE1RDg1MDAxNkZB
NDIgLyogQ2FjaGVTdG9yYWdlRW5naW5lLmggKi8sCiAJCQkJNDFDODU4MTkxRjUxMERFRTAwNjVF
MDg1IC8qIENhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcCAqLywKQEAgLTk0NjUsNiArOTQ3MCw3
IEBACiAJCQkJQTE3NUM0NEEyMUFBMzE3MTAwMDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2Eu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNFMUEwQkQyMUE0OEU2QzYwMDU0RUY3NCAvKiBBc3NlcnRp
b25TZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1RTc3MjgxODNERDZGNjAwMDcy
MDNGIC8qIEFzeW5jUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQUFGQTYzNEYyMzRGN0M2
NDAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VF
OTY2RDExMkZBRjU3MDA2QkNDMjQgLyogQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTFBMzE3MzIxMzRDRUE2QzAwN0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxMkY1ODk3MTJBODgzODgwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVByb3h5LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NzY0NzFhYzE1YTFhYzQ3NDBjMjIzMTA3MzBmN2FiMGVi
MDlhZDcwLi4wNTA0MzJlN2E0OTM1MDI1YjUwN2FhOTQ1NzZkNjkwMzI2YzA2MGJiIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTktMTEtMTIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBT
dXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgRW5hYmxlIHN0YWxlLXdoaWxlLXJl
dmFsaWRhdGUgZm9yIHRoZSB0ZXN0IHJ1bm5lci4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6d2Vi
c2l0ZURhdGFTdG9yZSk6CisKIDIwMTktMTEtMTIgIERpZWdvIFBpbm8gR2FyY2lhICA8ZHBpbm9A
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBZGQgJ3Rlc3QyNjItdGVzdCcgc3RlcCB0byBH
VEsgYW5kIFdQRSBidWlsZCBib3RzCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwCmluZGV4IDRlNDhmMjdjZmZhMTA4ZjA3N2NlOThiYWRiZGE4ZGExYTI5NTZkMDkuLjhh
MDczMjU2NTNmNDI3YWM2ZDIyNmE1YTMzODI2ZWYxMDkzZjhiNDIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC01MzIsNiArNTMyLDcgQEAgV0tXZWJzaXRl
RGF0YVN0b3JlUmVmIFRlc3RDb250cm9sbGVyOjp3ZWJzaXRlRGF0YVN0b3JlKCkKICAgICAgICAg
ICAgIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25TZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGlyZWN0b3J5KGNvbmZpZ3VyYXRpb24uZ2V0KCksIHRvV0sodGVtcG9yYXJ5Rm9sZGVyICsg
cGF0aFNlcGFyYXRvciArICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzIikuZ2V0KCkpOwogICAgICAg
ICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblNldFBlck9yaWdpblN0b3JhZ2VR
dW90YShjb25maWd1cmF0aW9uLmdldCgpLCA0MDAgKiAxMDI0KTsKICAgICAgICAgICAgIFdLV2Vi
c2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25TZXROZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlk
YXRpb25FbmFibGVkKGNvbmZpZ3VyYXRpb24uZ2V0KCksIHRydWUpOworICAgICAgICAgICAgV0tX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblNldFN0YWxlV2hpbGVSZXZhbGlkYXRlRW5hYmxl
ZChjb25maWd1cmF0aW9uLmdldCgpLCB0cnVlKTsKICAgICAgICAgICAgIFdLV2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb25TZXRUZXN0aW5nU2Vzc2lvbkVuYWJsZWQoY29uZmlndXJhdGlvbi5n
ZXQoKSwgdHJ1ZSk7CiAgICAgICAgIH0KICAgICAgICAgZGF0YVN0b3JlID0gV0tXZWJzaXRlRGF0
YVN0b3JlQ3JlYXRlV2l0aENvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbi5nZXQoKSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggOTdmZWI4MjYyZDRiOWFmZWJjZTE2ZGUwYjBlODc4NzRlMDg5ZjJjZC4uNTI4ZGFlMzEzMDNj
YjE4NGU5ZDNlNDY4NjgxMThmNTcyY2ZkNDU3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5
LTExLTEyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBz
dGFsZS13aGlsZS1yZXZhbGlkYXRlIGNhY2hlIHN0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0NjEKKworICAgICAgICBSZXZpZXdlZCBi
eSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgIFNraXAgbmV3bHkgaW1wb3J0ZWQgdGVzdHMgZm9y
IFdLMS4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTktMTEtMTIg
IENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dUS11bV1BFXSBFbmFibGUgQ1NTIFBhaW50aW5nIEFQSQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKaW5kZXggNTFjOGExOGM1YmE3MWIwMGExNTIzNjBlMzVjZGE4NmZlOWIxYjIyYS4u
NDRlNTk1MjI0ODNmZTczZDkyYTBhZDEwNmE5NDVmNGUzNmJlNGJhYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMTEtMTIgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRh
dGUgY2FjaGUgc3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisK
KyAgICAgICAgSW1wb3J0IHN0YWxlLXdoaWxlLXJldmFsaWRhdGUgV1BUIHRlc3RzLgorCisgICAg
ICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0
Y2gtc3cuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2Vz
L3N0YWxlLWNzcy5weTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUt
aW1hZ2UucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLXNjcmlw
dC5weTogQWRkZWQuCisgICAgICAgIChpZF90b2tlbik6CisgICAgICAgIChtYWluKToKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNv
dXJjZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWNzcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL3N0YWxlLWNzcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1y
ZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13
aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdy1pbnRlcmNlcHQu
anM6IEFkZGVkLgorICAgICAgICAoYXN5bmMuYnJvYWRjYXN0KToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS93M2MtaW1wb3J0LmxvZzog
QWRkZWQuCisKIDIwMTktMTEtMTIgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1BvaW50ZXIgRXZlbnRzIFdQVF0gRGVsZXRlIG1hbnVh
bCB0ZXN0cyBpbXBvcnRlZCBhcyBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5k
ZXggMzUwMzM3MzU5ZDY1NmRiYWJhNzNlZjY2NTIzY2Y1ZTg3NmZkOWUzMi4uNWM1ZGNmMWE4NjQ5
Njc2YmRmMDZkYTBhNjFjMjBkOGY4ZmIzOTUzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAg
LTE3Niw2ICsxNzYsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpIjogImlt
cG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMiOiAiaW1wb3J0
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9yYW5nZSI6ICJpbXBvcnQiLCAKKyAg
ICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUiOiAiaW1w
b3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mdWxsc2NyZWVuIjogInNraXAiLCAKICAg
ICAid2ViLXBsYXRmb3JtLXRlc3RzL2dhbWVwYWQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvZ2VuZXJpYy1zZW5zb3IiOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL2ZldGNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDZiZjI2ZjRhYjExYzc3N2FkZjI0OGFhMzdhYzBjNzcyODIzNzA3
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25z
ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
c3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDZiZjI2ZjRhYjExYzc3N2FkZjI0OGFhMzdhYzBjNzcyODIzNzA3MgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC1zdy5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgU2Vjb25kIGZldGNoIHJldHVybnMgc2FtZSByZXNwb25zZSAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvZmV0Y2gtc3cuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZmNlYmMyNGE2M2Y0
MGRlNTRhNGMzOTkxYzkwNTBlYjc0NDg2YTI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZh
bGlkYXRlL2ZldGNoLXN3Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5T
dGFsZSBSZXZhbGlkYXRpb24gUmVxdWVzdHMgZG9uJ3QgZ2V0IHNlbnQgdG8gc2VydmljZSB3b3Jr
ZXI8L3RpdGxlPgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQg
c3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dD4KKworICAvLyBEdXBsaWNhdGluZyB0aGlzIHJlc291cmNlIHRvIG1ha2Ugc2VydmljZSB3b3Jr
ZXIgc2NvcGluZyBzaW1wbGVyLgorICBhc3luYyBmdW5jdGlvbiBzZXR1cFJlZ2lzdHJhdGlvbkFu
ZFdhaXRUb0JlQ29udHJvbGxlZCh0LCBzY29wZSkgeworICAgIGNvbnN0IGNvbnRyb2xsZWQgPSBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIu
b25jb250cm9sbGVyY2hhbmdlID0gKCkgPT4geyByZXNvbHZlKCk7IH07CisgICAgfSk7CisgICAg
Y29uc3QgcmVnID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoJ3N3LWlu
dGVyY2VwdC5qcycpOworICAgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5n
LCAnYWN0aXZhdGVkJyk7CisgICAgYXdhaXQgY29udHJvbGxlZDsKKyAgICBhZGRfY29tcGxldGlv
bl9jYWxsYmFjayhfID0+IHJlZy51bnJlZ2lzdGVyKCkpOworICAgIHJldHVybiByZWc7CisgIH0K
KworICAvLyBVc2luZyAyNTBtcyBwb2xsaW5nIGludGVydmFsIHRvIHByb3ZpZGUgZW5vdWdoICdu
ZXR3b3JrIGNhbG1uZXNzJyB0byBnaXZlCisgIC8vIHRoZSBiYWNrZ3JvdW5kIGxvdyBwcmlvcml0
eSByZXZhbGlkYXRpb24gcmVxdWVzdCBhIGNoYW5jZSB0byBraWNrIGluLgorICBmdW5jdGlvbiB3
YWl0MjUwbXModGVzdCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAg
ICAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAg
fSwgMjUwKTsKKyAgICB9KTsKKyAgfQorCisgIHByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4g
eworICAgIHZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKyAgICBjb25zdCB1cmkgPSAncmVz
b3VyY2VzL3N0YWxlLXNjcmlwdC5weT90b2tlbj0nICsgcmVxdWVzdF90b2tlbjsKKworICAgIGF3
YWl0IHNldHVwUmVnaXN0cmF0aW9uQW5kV2FpdFRvQmVDb250cm9sbGVkKHRlc3QsICdyZXNvdXJj
ZXMvc3RhbGUtc2NyaXB0LnB5Jyk7CisKKyAgICB2YXIgc2VydmljZV93b3JrZXJfY291bnQgPSAw
OworICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2Un
LCBmdW5jdGlvbiBvbmNlKGV2ZW50KSB7CisgICAgICBpZiAoZXZlbnQuZGF0YS5lbmRzV2l0aCh1
cmkpKSB7CisgICAgICAgIHNlcnZpY2Vfd29ya2VyX2NvdW50Kys7CisgICAgICB9CisgICAgfSk7
CisKKyAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVyaSk7CisgICAgY29uc3QgcmVz
cG9uc2UyID0gYXdhaXQgZmV0Y2godXJpKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlLmhl
YWRlcnMuZ2V0KCdVbmlxdWUtSWQnKSwgcmVzcG9uc2UyLmhlYWRlcnMuZ2V0KCdVbmlxdWUtSWQn
KSk7CisgICAgd2hpbGUodHJ1ZSkgeworICAgICAgY29uc3QgcmV2YWxpZGF0aW9uX2NoZWNrID0g
YXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49YCArIHJl
cXVlc3RfdG9rZW4pOworICAgICAgaWYgKHJldmFsaWRhdGlvbl9jaGVjay5oZWFkZXJzLmdldCgn
Q291bnQnKSA9PSAnMicpIHsKKyAgICAgICAgLy8gVGhlIHNlcnZpY2Ugd29ya2VyIHNob3VsZCBu
b3Qgc2VlIHRoZSByZXZhbGlkYXRpb24gcmVxdWVzdC4KKyAgICAgICAgYXNzZXJ0X2VxdWFscyhz
ZXJ2aWNlX3dvcmtlcl9jb3VudCwgMik7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAg
YXdhaXQgd2FpdDI1MG1zKHRlc3QpOworICAgIH0KKyAgfSwgJ1NlY29uZCBmZXRjaCByZXR1cm5z
IHNhbWUgcmVzcG9uc2UnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0
YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjczMzkwYzdhZDU5NDhjNjgyYjJmYmRjYjNjOTVhNGMzNzRkYmJhMmQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2guaHRtbApAQCAtMCwwICsx
LDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5U
ZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIGlzIG5vdCBleGVjdXRlZCBmb3IgZmV0Y2ggQVBJ
PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiB3YWl0MjVtcyh0ZXN0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKKyAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICByZXNvbHZlKCk7CisgICAg
fSwgMjUpOworICB9KTsKK30KKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgIHZh
ciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKworICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZl
dGNoKGByZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rva2VuPWAgKyByZXF1ZXN0X3Rva2VuKTsK
KyAgY29uc3QgcmVzcG9uc2UyID0gYXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQu
cHk/dG9rZW49YCArIHJlcXVlc3RfdG9rZW4pOworCisgIGFzc2VydF9lcXVhbHMocmVzcG9uc2Uu
aGVhZGVycy5nZXQoJ1VuaXF1ZS1JZCcpLCByZXNwb25zZTIuaGVhZGVycy5nZXQoJ1VuaXF1ZS1J
ZCcpKTsKKworICB3aGlsZSh0cnVlKSB7CisgICAgY29uc3QgcmV2YWxpZGF0aW9uX2NoZWNrID0g
YXdhaXQgZmV0Y2goYHJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/cXVlcnkmdG9rZW49YCArIHJl
cXVlc3RfdG9rZW4pOworICAgIGlmIChyZXZhbGlkYXRpb25fY2hlY2suaGVhZGVycy5nZXQoJ0Nv
dW50JykgPT0gJzInKSB7CisgICAgICBicmVhazsKKyAgICB9CisgICAgYXdhaXQgd2FpdDI1bXMo
dGVzdCk7CisgIH0KK30sICdTZWNvbmQgZmV0Y2ggcmV0dXJucyBzYW1lIHJlc3BvbnNlJyk7Cis8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3Nz
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9z
dGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1jc3MucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTZhZTU0NmQwNjUxZjk3ZjMwMjA4Mjk0NTJkYjYyMjU0ODZkYzQ1MQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5CkBAIC0wLDAgKzEsMjgg
QEAKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKworICAgIHRva2VuID0gcmVxdWVzdC5H
RVQuZmlyc3QoInRva2VuIiwgTm9uZSkKKyAgICBpc19xdWVyeSA9IHJlcXVlc3QuR0VULmZpcnN0
KCJxdWVyeSIsIE5vbmUpICE9IE5vbmUKKyAgICB3aXRoIHJlcXVlc3Quc2VydmVyLnN0YXNoLmxv
Y2s6CisgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRha2UodG9rZW4pCisgICAg
ICBjb3VudCA9IDAKKyAgICAgIGlmIHZhbHVlICE9IE5vbmU6CisgICAgICAgIGNvdW50ID0gaW50
KHZhbHVlKQorICAgICAgaWYgaXNfcXVlcnk6CisgICAgICAgIGlmIGNvdW50IDwgMjoKKyAgICAg
ICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIGNvdW50KQorICAgICAgZWxzZToK
KyAgICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gu
cHV0KHRva2VuLCBjb3VudCkKKyAgICBpZiBpc19xdWVyeToKKyAgICAgIGhlYWRlcnMgPSBbKCJD
b3VudCIsIGNvdW50KV0KKyAgICAgIGNvbnRlbnQgPSAiIgorICAgICAgcmV0dXJuIDIwMCwgaGVh
ZGVycywgY29udGVudAorICAgIGVsc2U6CisgICAgICBjb250ZW50ID0gImJvZHkgeyBiYWNrZ3Jv
dW5kOiByZ2IoMCwgMTI4LCAwKTsgfSIKKyAgICAgIGlmIGNvdW50ID4gMToKKyAgICAgICAgY29u
dGVudCA9ICJib2R5IHsgYmFja2dyb3VuZDogcmdiKDI1NSwgMCwgMCk7IH0iCisKKyAgICAgIGhl
YWRlcnMgPSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9jc3MiKSwKKyAgICAgICAgICAgICAgICgi
Q2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdlPTAsIHN0YWxlLXdoaWxlLXJldmFsaWRh
dGU9NjAiKV0KKworICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgY29udGVudApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291cmNlcy9zdGFsZS1pbWFnZS5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM5ZWI4NGJiMzRiYmQx
NWUyY2E3MDYxZWU0ZmE1NzI0ZDJjNjRmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZS9yZXNvdXJjZXMvc3RhbGUtaW1hZ2UucHkKQEAgLTAsMCArMSwzOCBAQAoraW1wb3J0IG9z
LnBhdGgKKworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorCisgICAgdG9rZW4gPSByZXF1
ZXN0LkdFVC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQu
Zmlyc3QoInF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rh
c2gubG9jazoKKyAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikK
KyAgICAgIGNvdW50ID0gMAorICAgICAgaWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAgY291bnQg
PSBpbnQodmFsdWUpCisgICAgICBpZiBpc19xdWVyeToKKyAgICAgICAgaWYgY291bnQgPCAyOgor
ICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgICBl
bHNlOgorICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAgICByZXF1ZXN0LnNlcnZlci5z
dGFzaC5wdXQodG9rZW4sIGNvdW50KQorCisgICAgaWYgaXNfcXVlcnk6CisgICAgICBoZWFkZXJz
ID0gWygiQ291bnQiLCBjb3VudCldCisgICAgICBjb250ZW50ID0gIiIKKyAgICAgIHJldHVybiAy
MDAsIGhlYWRlcnMsIGNvbnRlbnQKKyAgICBlbHNlOgorICAgICAgZmlsZW5hbWUgPSAiZ3JlZW4t
MTZ4MTYucG5nIgorICAgICAgaWYgY291bnQgPiAxOgorICAgICAgICBmaWxlbmFtZSA9ICJncmVl
bi0yNTZ4MjU2LnBuZyIKKworICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5h
bWUoX19maWxlX18pLCAiLi4vLi4vLi4vaW1hZ2VzIiwgZmlsZW5hbWUpCisgICAgICBib2R5ID0g
b3BlbihwYXRoLCAicmIiKS5yZWFkKCkKKworICAgICAgcmVzcG9uc2UuYWRkX3JlcXVpcmVkX2hl
YWRlcnMgPSBGYWxzZQorICAgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlX3N0YXR1cygyMDApCisg
ICAgICByZXNwb25zZS53cml0ZXIud3JpdGVfaGVhZGVyKCJjb250ZW50LWxlbmd0aCIsIGxlbihi
b2R5KSkKKyAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIoIkNhY2hlLUNvbnRyb2wi
LCAicHJpdmF0ZSwgbWF4LWFnZT0wLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwIikKKyAgICAg
IHJlc3BvbnNlLndyaXRlci53cml0ZV9oZWFkZXIoImNvbnRlbnQtdHlwZSIsICJpbWFnZS9wbmci
KQorICAgICAgcmVzcG9uc2Uud3JpdGVyLmVuZF9oZWFkZXJzKCkKKworICAgICAgcmVzcG9uc2Uu
d3JpdGVyLndyaXRlKGJvZHkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2Vz
L3N0YWxlLXNjcmlwdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2NyaXB0
LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhhZDU0NjcxZjQyMTE3MzVmNTZkZjUwYTU1ZGVlYTZlZDI4MWQ1YTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvcmVzb3VyY2VzL3N0YWxlLXNjcmlw
dC5weQpAQCAtMCwwICsxLDMyIEBACitpbXBvcnQgcmFuZG9tLCBzdHJpbmcsIGRhdGV0aW1lCisK
K2RlZiBpZF90b2tlbigpOgorICAgbGV0dGVycyA9IHN0cmluZy5hc2NpaV9sb3dlcmNhc2UKKyAg
IHJldHVybiAnJy5qb2luKHJhbmRvbS5jaG9pY2UobGV0dGVycykgZm9yIGkgaW4gcmFuZ2UoMjAp
KQorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgdG9rZW4gPSByZXF1ZXN0LkdF
VC5maXJzdCgidG9rZW4iLCBOb25lKQorICAgIGlzX3F1ZXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3Qo
InF1ZXJ5IiwgTm9uZSkgIT0gTm9uZQorICAgIHdpdGggcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gubG9j
azoKKyAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAg
IGNvdW50ID0gMAorICAgICAgaWYgdmFsdWUgIT0gTm9uZToKKyAgICAgICAgY291bnQgPSBpbnQo
dmFsdWUpCisgICAgICBpZiBpc19xdWVyeToKKyAgICAgICAgaWYgY291bnQgPCAyOgorICAgICAg
ICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0b2tlbiwgY291bnQpCisgICAgICBlbHNlOgor
ICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5w
dXQodG9rZW4sIGNvdW50KQorCisgICAgaWYgaXNfcXVlcnk6CisgICAgICBoZWFkZXJzID0gWygi
Q291bnQiLCBjb3VudCldCisgICAgICBjb250ZW50ID0gIiIKKyAgICAgIHJldHVybiAyMDAsIGhl
YWRlcnMsIGNvbnRlbnQKKyAgICBlbHNlOgorICAgICAgdW5pcXVlX2lkID0gaWRfdG9rZW4oKQor
ICAgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2phdmFzY3JpcHQiKSwKKyAg
ICAgICAgICAgICAgICAgKCJDYWNoZS1Db250cm9sIiwgInByaXZhdGUsIG1heC1hZ2U9MCwgc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZT02MCIpLAorICAgICAgICAgICAgICAgICAoIlVuaXF1ZS1JZCIs
IHVuaXF1ZV9pZCldCisgICAgICBjb250ZW50ID0gInJlcG9ydCgne30nKSIuZm9ybWF0KHVuaXF1
ZV9pZCkKKyAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsIGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hp
bGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
cmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1YTc3MzJhNTY2ZDRhNmY1NzNj
Yzk3ZmQzZDE0NTQ2NTdkNDc2ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUv
cmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTkgQEAKK1RoZSB0ZXN0cyBpbiB0
aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8g
Tk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciBy
ZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUt
cmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtY3NzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3Jlc291
cmNlcy9zdGFsZS1pbWFnZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9yZXNvdXJjZXMvc3RhbGUtc2Ny
aXB0LnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3Rh
bGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhh
Yzk5NDA1YTdiODljMTNlNTc4N2VhZjA3OWVkNmYxNDg4ZThjMTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxl
LXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBDYWNoZSByZXR1cm5zIHN0YWxlIHJlc291cmNlIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxl
LXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtY3NzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjU2MjYwZmRiNDVjMGMyYzYwYjRkNzZmNjNhNzYzODlkZjgxOGIxMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1jc3MuaHRtbApAQCAtMCww
ICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5UZXN0cyBTdGFsZSBXaGlsZSBSZXZhbGlkYXRlIHdvcmtzIGZvciBjc3M8L3RpdGxlPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorCit2YXIg
cmVxdWVzdF90b2tlbiA9IHRva2VuKCk7Cithc3luY190ZXN0KHQgPT4geworICB3aW5kb3cub25s
b2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAg
ICAgIGFzc2VydF9lcXVhbHMod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSku
Z2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpLCAicmdiKDAsIDEyOCwgMCkiKTsK
KyAgICAgIHZhciBsaW5rMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsKKyAgICAg
IGxpbmsyLm9ubG9hZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVl
KCdiYWNrZ3JvdW5kLWNvbG9yJyksICJyZ2IoMCwgMTI4LCAwKSIpOworICAgICAgICB2YXIgY2hl
Y2tSZXN1bHQgPSAoKSA9PiB7CisgICAgICAgICAgLy8gV2UgcG9sbCBiZWNhdXNlIHdlIGRvbid0
IGtub3cgd2hlbiB0aGUgcmV2YWxpZGF0aW9uIHdpbGwgb2NjdXIuCisgICAgICAgICAgZmV0Y2go
InJlc291cmNlcy9zdGFsZS1jc3MucHk/cXVlcnkmdG9rZW49IiArIHJlcXVlc3RfdG9rZW4pLnRo
ZW4odC5zdGVwX2Z1bmMoKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICB2YXIgY291bnQgPSBy
ZXNwb25zZS5oZWFkZXJzLmdldCgiQ291bnQiKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA9PSAn
MicpIHsKKyAgICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAg
fQorICAgICAgICAgIH0pKTsKKyAgICAgICAgfTsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQoY2hl
Y2tSZXN1bHQsIDI1KTsKKyAgICAgIH0pOworICAgICAgbGluazIucmVsID0gInN0eWxlc2hlZXQi
OworICAgICAgbGluazIudHlwZSA9ICJ0ZXh0L2NzcyI7CisgICAgICBsaW5rMi5ocmVmID0gInJl
c291cmNlcy9zdGFsZS1jc3MucHk/dG9rZW49IiArIHJlcXVlc3RfdG9rZW47CisgICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmsyKTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9LCAnQ2Fj
aGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZScpOworCit2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImxpbmsiKTsKK2xpbmsucmVsID0gInN0eWxlc2hlZXQiOworbGluay50eXBlID0g
InRleHQvY3NzIjsKK2xpbmsuaHJlZiA9ICJyZXNvdXJjZXMvc3RhbGUtY3NzLnB5P3Rva2VuPSIg
KyByZXF1ZXN0X3Rva2VuOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWU0MjAxNGRlZmQ3MTkxMDk2YzMzY2NlNTgzMGVmN2NhYTFhNTdhNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9zdGFsZS1pbWFnZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0IEBACisgCisKK1BBU1MgQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJjZSAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtaW1hZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OGE1YTA5YWIxNTExMjIwNGJhNjk1
OTY1ZDYwYTZjMjBhNDg0YjVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0
YWxlLWltYWdlLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxpZGF0ZSB3b3Jr
cyBmb3IgaW1hZ2VzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4K
Kzxib2R5PgorPCEtLQorVXNlIGEgY2hpbGQgZG9jdW1lbnQgdG8gbG9hZCB0aGUgc2Vjb25kIHN0
YWxlIGltYWdlIGludG8gYmVjYXVzZQorYW4gaW1hZ2UgbG9hZGVkIGludG8gdGhlIHNhbWUgZG9j
dW1lbnQgd2lsbCBza2lwIGNhY2hlLWNvbnRyb2wgaGVhZGVycy4KK1NlZTogaHR0cHM6Ly9odG1s
LnNwZWMud2hhdHdnLm9yZy8jdGhlLWxpc3Qtb2YtYXZhaWxhYmxlLWltYWdlcworLS0+Cis8aWZy
YW1lIGlkPSJjaGlsZCIgc3JjZG9jPSIiPjwvaWZyYW1lPgorPHNjcmlwdD4KK3ZhciByZXF1ZXN0
X3Rva2VuID0gdG9rZW4oKTsKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0
LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgYXNz
ZXJ0X2VxdWFscyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlyc3RpbWFnZSIpLndpZHRoLCAx
NiwgIldpZHRoIGlzIDE2Iik7CisgICAgICB2YXIgY2hpbGREb2N1bWVudCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdjaGlsZCcpLmNvbnRlbnREb2N1bWVudDsKKyAgICAgIHZhciBpbWcyID0g
Y2hpbGREb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICAgIGltZzIub25sb2FkID0g
dC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGltZzIud2lkdGgsIDE2
LCAiaW1hZ2UgZGltZW5zaW9uIik7CisgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsK
KyAgICAgICAgICAvLyBXZSBwb2xsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVuIHRoZSByZXZh
bGlkYXRpb24gd2lsbCBvY2N1ci4KKyAgICAgICAgICBmZXRjaCgicmVzb3VyY2VzL3N0YWxlLWlt
YWdlLnB5P3F1ZXJ5JnRva2VuPSIgKyByZXF1ZXN0X3Rva2VuKS50aGVuKHQuc3RlcF9mdW5jKChy
ZXNwb25zZSkgPT4geworICAgICAgICAgICAgdmFyIGNvdW50ID0gcmVzcG9uc2UuaGVhZGVycy5n
ZXQoIkNvdW50Iik7CisgICAgICAgICAgICBpZiAoY291bnQgPT0gJzInKSB7CisgICAgICAgICAg
ICAgIHQuZG9uZSgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgdC5zdGVw
X3RpbWVvdXQoY2hlY2tSZXN1bHQsIDI1KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9KSk7
CisgICAgICAgIH07CisgICAgICAgIHQuc3RlcF90aW1lb3V0KGNoZWNrUmVzdWx0LCAyNSk7Cisg
ICAgICB9KTsKKyAgICAgIGltZzIuc3JjID0gInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT90b2tl
bj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGNoaWxkRG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpbWcyKTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9LCAnQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNv
dXJjZScpOworCit2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CitpbWcu
c3JjID0gInJlc291cmNlcy9zdGFsZS1pbWFnZS5weT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsK
K2ltZy5pZCA9ICJmaXJzdGltYWdlIjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1nKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNj
cmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44YWM5OTQwNWE3Yjg5YzEzZTU3ODdlYWYwNzllZDZmMTQ4OGU4YzEw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2FjaGUgcmV0dXJucyBzdGFsZSByZXNvdXJj
ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGls
ZS1yZXZhbGlkYXRlL3N0YWxlLXNjcmlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4NzkzZTUwMDU2YmM2
MDUzZWE0MTBkNjU4YWVkMzczZDE5ZjlhNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFs
aWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgU3RhbGUgV2hpbGUgUmV2YWxp
ZGF0ZSB3b3JrcyBmb3Igc2NyaXB0czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+
PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit2YXIgbGFzdF9tb2RpZmllZDsKK3ZhciBsYXN0
X21vZGlmaWVkX2NvdW50ID0gMDsKK3ZhciByZXF1ZXN0X3Rva2VuID0gdG9rZW4oKTsKKworLy8g
VGhlIHNjcmlwdCB3aWxsIGNhbGwgcmVwb3J0IHZpYSBhIHVuaXF1ZWx5IGdlbmVyYXRlZCBJRCBv
biB0aGUgc3VicmVzb3VyY2UuCisvLyBJZiBpdCBpcyBhIGNhY2hlIGhpdCB0aGUgSUQgd2lsbCBi
ZSB0aGUgc2FtZSBhbmQgdGhlIHRlc3Qgd2lsbCBwYXNzLgorZnVuY3Rpb24gcmVwb3J0KG1vZCkg
eworICBpZiAoIWxhc3RfbW9kaWZpZWQpIHsKKyAgICBsYXN0X21vZGlmaWVkID0gbW9kOworICAg
IGxhc3RfbW9kaWZpZWRfY291bnQgPSAxOworICB9IGVsc2UgaWYgKGxhc3RfbW9kaWZpZWQgPT0g
bW9kKSB7CisgICAgbGFzdF9tb2RpZmllZF9jb3VudCsrOworICB9Cit9CisKK2FzeW5jX3Rlc3Qo
dCA9PiB7CisgIHdpbmRvdy5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgc3RlcF90
aW1lb3V0KCgpID0+IHsKKyAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJzY3JpcHQiKTsKKyAgICAgIHNjcmlwdC5zcmMgPSAicmVzb3VyY2VzL3N0YWxlLXNjcmlwdC5w
eT90b2tlbj0iICsgcmVxdWVzdF90b2tlbjsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoc2NyaXB0KTsKKyAgICAgIHNjcmlwdC5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7Cisg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhsYXN0X21vZGlmaWVkX2NvdW50LCAyLCAibGFzdCBtb2Rp
ZmllZCIpOworICAgICAgICAgIHZhciBjaGVja1Jlc3VsdCA9ICgpID0+IHsKKyAgICAgICAgICAg
IC8vIFdlIHBvbGwgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoZW4gdGhlIHJldmFsaWRhdGlvbiB3
aWxsIG9jY3VyLgorICAgICAgICAgICAgZmV0Y2goInJlc291cmNlcy9zdGFsZS1zY3JpcHQucHk/
cXVlcnkmdG9rZW49IiArIHJlcXVlc3RfdG9rZW4pLnRoZW4odC5zdGVwX2Z1bmMoKHJlc3BvbnNl
KSA9PiB7CisgICAgICAgICAgICAgIHZhciBjb3VudCA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJD
b3VudCIpOworICAgICAgICAgICAgICBpZiAoY291bnQgPT0gJzInKSB7CisgICAgICAgICAgICAg
ICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0
LnN0ZXBfdGltZW91dChjaGVja1Jlc3VsdCwgMjUpOworICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9KSk7CisgICAgICAgICAgfTsKKyAgICAgICAgICB0LnN0ZXBfdGltZW91dChjaGVja1Jl
c3VsdCwgMjUpOworICAgICAgfSk7CisgICAgfSwgMCk7CisgIH0pOworfSwgJ0NhY2hlIHJldHVy
bnMgc3RhbGUgcmVzb3VyY2UnKTsKKwordmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNjcmlwdCIpOworc2NyaXB0LnNyYyA9ICJyZXNvdXJjZXMvc3RhbGUtc2NyaXB0LnB5P3Rv
a2VuPSIgKyByZXF1ZXN0X3Rva2VuOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQp
OworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50
ZXJjZXB0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
Y2E3ZGU1MWIwYjhjNTUxODI3NmU3MGFlMjE5YjdiYzhmODY5YTk1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFs
ZS13aGlsZS1yZXZhbGlkYXRlL3N3LWludGVyY2VwdC5qcwpAQCAtMCwwICsxLDE0IEBACithc3lu
YyBmdW5jdGlvbiBicm9hZGNhc3QobXNnKSB7CisgIGZvciAoY29uc3QgY2xpZW50IG9mIGF3YWl0
IGNsaWVudHMubWF0Y2hBbGwoKSkgeworICAgIGNsaWVudC5wb3N0TWVzc2FnZShtc2cpOworICB9
Cit9CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBldmVudCA9PiB7CisgIGV2ZW50
LndhaXRVbnRpbChicm9hZGNhc3QoZXZlbnQucmVxdWVzdC51cmwpKTsKKyAgZXZlbnQucmVzcG9u
ZFdpdGgoZmV0Y2goZXZlbnQucmVxdWVzdCkpOworfSk7CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5l
cignYWN0aXZhdGUnLCBldmVudCA9PiB7CisgIHNlbGYuY2xpZW50cy5jbGFpbSgpOworfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRh
dGUvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI5ZGQwNmY4NDZhNzA2OGZlYTJiODI4Nzgx
YWQ3NWNjMTk4ZTdhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS93M2MtaW1w
b3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4g
V2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4K
KworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvZmV0Y2gt
c3cuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlk
YXRlL3N0YWxlLWNzcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL3N0YWxlLWltYWdlLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdo
aWxlLXJldmFsaWRhdGUvc3RhbGUtc2NyaXB0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3N0YWxlLXdoaWxlLXJldmFsaWRhdGUvc3ctaW50
ZXJjZXB0LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYzMwOTczNDEzYjdhZTFjYTdhYjIxOGJjMzdmMGI1ZWNkZWJhYzM4NS4uZjFmZDdh
MGI3ZTc3NGI1ZWQyOTMxOTFlNjcwZmE0MGE2MDkzOGUzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjAwNSw0ICsyMDA1LDcgQEAgaW5z
cGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctaHRtbC0yZC5odG1sCiB3ZWJraXQub3JnL2IvMTU5NzI0
IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGly
ZWN0LXBvc3QtdXBsb2FkLmh0bSBbIFNraXAgXQogCiAjIFNraXAgSXNMb2dnZWRJbgotaHR0cC90
ZXN0cy9pcy1sb2dnZWQtaW4vIFsgU2tpcCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
aHR0cC90ZXN0cy9pcy1sb2dnZWQtaW4vIFsgU2tpcCBdCisKKyMgU3RhbGUtd2hpbGUtcmV2YWxp
ZGF0ZSBpcyBub3Qgc3VwcG9ydGVkIG9uIFdLMQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNDM2NjhlNGI3NTIyNWFh
YjY0ZTlkMzQxYmVlNmZlMTRiZTI4ZWM3Ny4uYTI4MDA1MDFlMGJhNzg1NTExMDFkNTRkNTQ2NjNi
NWVmMDU2YzkwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtODIyLDMgKzgyMiw2IEBAIHdlYmtpdC5vcmcvYi8yMDM1MDEgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uCiB3ZWJr
aXQub3JnL2IvMjAzNTAxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL2FuaW1hdGlvbi10cmFuc2Zvcm0tcGF1c2UtYW5kLXNldC10aW1lLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIwMzUxNyBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2R5bmFtaWMtYXZhaWxhYmxlLXNpemUtaWZy
YW1lLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQorCisjIFN0YWxlLXdoaWxlLXJldmFs
aWRhdGUgaXMgbm90IHN1cHBvcnRlZCBvbiBXSzEKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSBbIFNraXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>