<?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>203273</bug_id>
          
          <creation_ts>2019-10-22 14:34:46 -0700</creation_ts>
          <short_desc>[GTK][WPE] Support setting response headers in custom URI scheme handlers</short_desc>
          <delta_ts>2021-11-17 00:54:25 -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>WebKit API</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=222471</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=231564</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrian Perez">aperez</reporter>
          <assigned_to name="Adrian Perez">aperez</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>liushuyu011</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wusyong9104</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1582589</commentid>
    <comment_count>0</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2019-10-22 14:34:46 -0700</bug_when>
    <thetext>Registering a custom URI scheme handler does not allow setting HTTP
response headers, as there is no API in WebKitURISchemeRequest which
would allow such a thing. Supporting this would allow, for example,
setting `Access-Control-Allow-Origin` to allow CORS requests in
pages generated by a handler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582597</commentid>
    <comment_count>1</comment_count>
      <attachid>381610</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2019-10-22 14:44:07 -0700</bug_when>
    <thetext>Created attachment 381610
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582609</commentid>
    <comment_count>2</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2019-10-22 14:59:07 -0700</bug_when>
    <thetext>Motivation for this API addition: https://lists.webkit.org/pipermail/webkit-wpe/2019-May/000156.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582610</commentid>
    <comment_count>3</comment_count>
      <attachid>381614</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2019-10-22 14:59:28 -0700</bug_when>
    <thetext>Created attachment 381614
WIP Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582612</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-10-22 15:06:04 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582757</commentid>
    <comment_count>5</comment_count>
      <attachid>381614</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-10-23 00:29:38 -0700</bug_when>
    <thetext>Comment on attachment 381614
WIP Patch v2

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

How does this solves the problem of allowing CORS? This should include a unit test for that case. My main concern here is that this introduces HTTP headers for a non-HTTP load, it&apos;s weird.

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:69
&gt; +    GRefPtr&lt;SoupMessageHeaders&gt; headers { adoptGRef(soup_message_headers_new(SOUP_MESSAGE_HEADERS_RESPONSE)) };

SoupMessageHeaders is not a GObject, you need to include &lt;WebCore/GUniquePtrSoup.h&gt; and use GUniquePtr instead. I prefer to use this initialization here for simple fixed values, so I would move this to webkitURISchemeRequestCreate().

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:165
&gt; + * webkit_uri_scheme_request_get_headers:

request_get_headers sounds like it&apos;s returning the request headers. I would use webkit_uri_scheme_request_get_response_headers().

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:227
&gt; + * Note that passing values for @stream_length and @content_type other than -1
&gt; + * and %NULL will override the corresponding headers which may have been
&gt; + * previously set in the #SoupMessageHeaders object returned by
&gt; + * webkit_uri_scheme_request_get_headers().

This is what makes me doubt about this API. Maybe it would be better to add webkit_uri_scheme_request_finish_with_headers() or something similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582772</commentid>
    <comment_count>6</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2019-10-23 02:11:14 -0700</bug_when>
    <thetext>Thanks for reviewing the WIP patch, Carlos! The main intention was
to have an initial pass at it to start discussing how to make the
functionality fit in the public API and I haven&apos;t had the time yet
to test it O:-)

(In reply to Carlos Garcia Campos from comment #5)
&gt; Comment on attachment 381614 [details]
&gt; WIP Patch v2
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=381614&amp;action=review
&gt; 
&gt; How does this solves the problem of allowing CORS? This should include a
&gt; unit test for that case. My main concern here is that this introduces HTTP
&gt; headers for a non-HTTP load, it&apos;s weird.

Allowing to set the “sent” response headers allows defining the
“Access-Control-Allow-Origin”, so for example resources loaded a
custom scheme “a://” can provide:

  Access-Control-Allow-Origin: b://foo/

and then resources loaded from “b://foo/…” could access resources
from “a://”. One thought , though: probably we would want to also
allow inspecting the *request* headers and HTTP method inside the
handler as well, so it can handle CORS preflight requests (which
are done using the OPTIONS method).

There are a few other uses which would be enabled by having access
to the request/response headers that I can think of:

 - Handlers can set the “Location” header to cause redirects (though
   we would probably need to expose a way to set the HTTP status code
   for this to fully work).

 - Handlers can set “Content-Disposition” in the response headers
   to indicate that the generated content should be saved to a file
   instead of displayed inline.

 - While in HTML one can use &lt;meta http-equiv=…&gt; to set a few of
   the response headers, not all headers can be set that way. If
   the handler does not generate HTML, the only option is to set
   response headers.

 - For handlers which are computationally expensive, having access
   to request headers would allow checking for “If-Modified-Since”
   and friends.

 - Returning localized content by checking “Accept-Language” in the
   request headers.

 - Using ranged requests and responses (“Content-Range”, “Range”,
   “Accept-Ranges”).

&gt; &gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:69
&gt; &gt; +    GRefPtr&lt;SoupMessageHeaders&gt; headers { adoptGRef(soup_message_headers_new(SOUP_MESSAGE_HEADERS_RESPONSE)) };
&gt; 
&gt; SoupMessageHeaders is not a GObject, you need to include
&gt; &lt;WebCore/GUniquePtrSoup.h&gt; and use GUniquePtr instead. I prefer to use this
&gt; initialization here for simple fixed values, so I would move this to
&gt; webkitURISchemeRequestCreate().

Good catch, thanks.

&gt; &gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:165
&gt; &gt; + * webkit_uri_scheme_request_get_headers:
&gt; 
&gt; request_get_headers sounds like it&apos;s returning the request headers. I would
&gt; use webkit_uri_scheme_request_get_response_headers().
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:227
&gt; &gt; + * Note that passing values for @stream_length and @content_type other than -1
&gt; &gt; + * and %NULL will override the corresponding headers which may have been
&gt; &gt; + * previously set in the #SoupMessageHeaders object returned by
&gt; &gt; + * webkit_uri_scheme_request_get_headers().
&gt; 
&gt; This is what makes me doubt about this API. Maybe it would be better to add
&gt; webkit_uri_scheme_request_finish_with_headers() or something similar.

Adding a new _finish_&lt;foo&gt;() method also crossed my mind. I went with
the getter just in case at some point we would decide to also allow
setting the HTTP status code, to avoid having to add one more method
like _finish_with_headers_and_status() with its name getting longer and
longer. Also, it seemed like a good idea to avoid that the user of the
API manually had to create the SoupMessageHeaders—what if they don&apos;t
create it with SOUP_MESSAGE_HEADERS_RESPONSE?

After thinking a bit more today about how to shape the API, the following
sounds best in my head:

 * webkit_uri_scheme_request_finish_with_headers(request, stream, status, headers):
   Allows setting the HTTP status code and headers for the response, the content
   type and length have to be set beforehand in “headers”.

 * webkit_uri_scheme_request_get_method(): Returns the HTTP method.

 * webkit_uri_scheme_request_get_headers(): Returns the *request* headers.

Additionally, there&apos;s a related issue, which probably can be better handled
as a separate bug: it&apos;s not possible for URI scheme handlers to inspect the
request URI parameters, only the path and scheme. Maybe the following would
make sense:

 * Add webkit_uri_scheme_get_uri(): Returns a SoupURI for the requested URI.

 * Deprecate webkit_uri_scheme_get_path() and webkit_uri_scheme_get_scheme(),
   which are unneeded because the requested URI already carries the scheme
   and path.

Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583250</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-10-23 23:58:54 -0700</bug_when>
    <thetext>The main problem is that custom uri loads are not HTTP, so all those HTTP features don&apos;t really fit here. I would need to understand the initial CORS issue that motivated this, because maybe it can be solved by using the current WebKitSecurityManager API, maybe registering the scheme as local and then allow access to file URIs or something like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733910</commentid>
    <comment_count>8</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-02-26 12:13:17 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #7)
&gt; The main problem is that custom uri loads are not HTTP, so all those HTTP
&gt; features don&apos;t really fit here. I would need to understand the initial CORS
&gt; issue that motivated this, because maybe it can be solved by using the
&gt; current WebKitSecurityManager API, maybe registering the scheme as local and
&gt; then allow access to file URIs or something like that.

I disagree with this sentiment. The whole purpose of URI scheme handlers
is to be able to provide content to a web view as if it came from the
network, and to make that content behave (and believe) that it has been
fetched from the network.

Content loaded through an URI scheme handler most of the time is regular
web content (HTML, CSS, JS, etc.) that happens to be provided to the web
view using a transport other than HTTP(S)—be it local files, or any other
transport—and as such is developed using the same tools and libraries
used for all other web content… which means some HTTP-isms are to be
expected. I think there is no way around this.

While I can agree that the current API provided by the GTK and WPE ports
covers a good amount of use cases while exposing a simple API, I reckon
that it has its flaws and that it would be good to also provide a more
full-featured API.

For an example of subtle breakage, bug #222471 shows that even a minor
deviation from setting HTTP-like status codes for the response affects
any JS library that uses the Fetch API, which will no longer work as
advertised in its specification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733916</commentid>
    <comment_count>9</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-02-26 12:17:23 -0800</bug_when>
    <thetext>The Cocoa API has  “-[WKURLSchemeTask didReceiveResponse:(NSURLResponse*)]”
and the internal WebCore::ResourceResponse object creation checks whether
the instance passed is a NSHTTPURLResponse, and in that case it proceeds
to pick the HTTP status and headers from the passed object. Using a delegate
fits an Objective-C style API nicely, but not so much our GLib style. I will
try to give this some thought and try to come up with something that feels
idiomatic and complements the API that we already have ^_^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811729</commentid>
    <comment_count>10</comment_count>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-03 17:41:02 -0700</bug_when>
    <thetext>*** Bug 232653 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811730</commentid>
    <comment_count>11</comment_count>
      <attachid>443262</attachid>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-03 17:44:03 -0700</bug_when>
    <thetext>Created attachment 443262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811731</commentid>
    <comment_count>12</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-11-03 17:45:04 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811829</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-11-04 05:43:50 -0700</bug_when>
    <thetext>*** Bug 231564 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811874</commentid>
    <comment_count>14</comment_count>
      <attachid>443262</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-11-04 09:23:12 -0700</bug_when>
    <thetext>Comment on attachment 443262
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:202
&gt; +        auto headers = soup_message_headers_new(SOUP_MESSAGE_HEADERS_REQUEST);
&gt; +        request-&gt;priv-&gt;task-&gt;request().updateSoupMessageHeaders(headers);
&gt; +        request-&gt;priv-&gt;headers = headers;

You&apos;re leaking the SoupMessageHeaders here. You have a ref, then assign it to the GRefPtr, which itself takes a ref. Now there are two refs, but only one is owned and the other is lost. When creating a new GObject, you almost always need to use adoptGRef():

request-&gt;priv-&gt;headers = adoptGRef(soup_message_headers_new(SOUP_MESSAGE_HEADERS_REQUEST));
request-&gt;priv-&gt;task-&gt;request().updateSoupMessageHeaders(request-&gt;priv-&gt;headers.get());

In general, avoid ever holding ownership in a raw pointer, always store ownership in a smart pointer -- even for short periods of time -- and use raw pointers only for unowned access. This makes it much harder to make mistakes.

One more thing: our code style is to write auto* rather than plain auto, to make more clear that you&apos;re working with a raw pointer.

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:241
&gt; +        SoupMessageHeaders* headers = WebKitURISchemeResponseGetHeaders(resp);
&gt; +        if (headers)
&gt; +            response.updateFromSoupMessageHeaders(headers);

if (auto* headers = webKitURISchemeResponseGetHeaders(resp))
    response.updateFromSoupMessageHeaders(headers);

Also note: lowercase &apos;w&apos;...

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeResponse.cpp:153
&gt; +SoupMessageHeaders* WebKitURISchemeResponseGetHeaders(WebKitURISchemeResponse* response)

Ooops, we missed this in the previous rounds of review, but these private functions are supposed to follow WebKit coding style, which uses camelCase like this. So it should be named webkitURISchemeResponseGetHeaders with an initial lowercase w. If WebKit were a more normal software project that followed generally-accepted commit granularity rules, I would ask you to fix these all in a separate commit, but in WebKit it is actually typical to land small mildly-related fixes all in one large patch. So you can go ahead and fix them all as part of this patch.

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeResponse.cpp:203
&gt; +void webkit_uri_scheme_response_set_http_headers(WebKitURISchemeResponse* response, SoupMessageHeaders* headers)

I&apos;m not sure about the name of this function. Problem is the name &quot;set&quot; implies the previous value will be replaced with the new value. But you&apos;re not doing a replacement, you&apos;re just appending. I think I would call this webkit_uri_scheme_response_append_http_headers().

I would also add a warning that it is an error to append a header that already exists if it is not a list-valued header, same as when using soup_message_headers_append() directly.

Do we actually need this at all? Is allowing access to the SoupMessageHeaders not enough for applications to do what they want with it?

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeResponse.cpp:209
&gt; +        auto headers = soup_message_headers_new(SOUP_MESSAGE_HEADERS_RESPONSE);
&gt; +        response-&gt;priv-&gt;headers = headers;

Leaking here too. Fix it with adoptGRef:

response-&gt;priv-&gt;headers = adoptGRef(soup_message_headers_new(SOUP_MESSAGE_HEADERS_RESPONSE));

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeResponse.cpp:212
&gt; +    // iterate over headers and append them to our response&apos;s headers&apos;

&quot;headers&quot; is not possessive, so remove the stray apostrophe. Also, we like to write comments as sentences, so we&apos;d start with a capital I and end with a period. That said, we have one more rule: we generally use comments to explain *why* the code is doing things, not to explain *what* it is that the code is doing (unless the code is necessarily unusually complex or confusing, which is not the case here). So actually we would not use a comment here at all. You can just remove it.

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeResponse.cpp:213
&gt; +    soup_message_headers_foreach(headers, [](const char *name, const char *value, gpointer user_data) {

Remember the * hangs on the type:

const char* name, const char* value

And remember everything has to use camelCase with the exception of the public API functions that use underscores, so user_data -&gt; userData.

&gt; Source/WebKit/UIProcess/API/gtk/WebKitURISchemeRequest.h:28
&gt; +#include &lt;libsoup/soup-message-headers.h&gt;

I think a forward declaration would be enough:

typedef struct _SoupMessageHeaders SoupMessageHeaders;

Does that work?

If not, add it alphabetically to the list of includes rather than adding it at the bottom.

&gt; Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:133
&gt; +            auto headers = webkit_uri_scheme_request_get_http_headers(request);

auto* headers =

&gt; Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:348
&gt; +    static const char* headersHTML = &quot;&lt;html&gt;&lt;body&gt;&lt;script&gt;fetch(&apos;headers:data&apos;, {headers: {&apos;X-Test&apos;: &apos;A&apos;}})&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;&quot;;
&gt; +    test-&gt;registerURISchemeHandler(&quot;headers&quot;, nullptr, 0, &quot;application/json&quot;, 204);
&gt; +    test-&gt;m_loadEvents.clear();
&gt; +    test-&gt;loadHtml(headersHTML, &quot;headers:form&quot;);
&gt; +    test-&gt;waitUntilLoadFinished();
&gt; +    g_assert_false(test-&gt;m_loadEvents.contains(LoadTrackingTest::ProvisionalLoadFailed));
&gt; +    g_assert_false(test-&gt;m_loadEvents.contains(LoadTrackingTest::LoadFailed));

OK, this is a good start at a test.

I see that we cannot test what happens when you add a header that already exists, because that behavior is undefined. And we cannot test removing or replacing headers, because your API does not allow that (should it?). We could test list-valued headers, though, to ensure that you&apos;re able to properly construct a list using multiple headers. (See documentation of soup_message_headers_get_list().)

The other little thing we need to test is... webkit_uri_scheme_response_set_http_headers()! Did you forget about that? Oops. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812086</commentid>
    <comment_count>15</comment_count>
      <attachid>443381</attachid>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-05 01:13:27 -0700</bug_when>
    <thetext>Created attachment 443381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812091</commentid>
    <comment_count>16</comment_count>
      <attachid>443383</attachid>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-05 02:35:07 -0700</bug_when>
    <thetext>Created attachment 443383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812113</commentid>
    <comment_count>17</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-11-05 07:06:50 -0700</bug_when>
    <thetext>Looks like your new API test is crashing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812528</commentid>
    <comment_count>18</comment_count>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-07 20:26:07 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #17)
&gt; Looks like your new API test is crashing?

I can&apos;t seem to reproduce this crash on my system. I will try some other distribution + GLib version combinations tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813542</commentid>
    <comment_count>19</comment_count>
      <attachid>443797</attachid>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-10 03:57:01 -0800</bug_when>
    <thetext>Created attachment 443797
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813802</commentid>
    <comment_count>20</comment_count>
      <attachid>443866</attachid>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-10 14:41:19 -0800</bug_when>
    <thetext>Created attachment 443866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813903</commentid>
    <comment_count>21</comment_count>
      <attachid>443903</attachid>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-10 21:04:55 -0800</bug_when>
    <thetext>Created attachment 443903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813942</commentid>
    <comment_count>22</comment_count>
      <attachid>443903</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-11-11 00:27:02 -0800</bug_when>
    <thetext>Comment on attachment 443903
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:73
&gt; +    GUniquePtr&lt;SoupMessageHeaders&gt; headers;

This will cause the same issue, you have to include &lt;WebCore/GUniquePtrSoup.h&gt; in this file. See below.

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:202
&gt; +        // Unfortunately, SoupMessageHeaders is not a GObject. So we need to use GUniquePtr instead of GRefPtr.

I don&apos;t see why it&apos;s unfortunate that SoupMessageHeaders is not a GObject, so better remove this comment. We use unique_ptr for compatibility with soup2, once soup2 code is removed we can use GRefPtr instead, even when it&apos;s not a GObject. 

We can avoid the local variable:
request-&gt;priv-&gt;headers.reset(soup_message_headers_new(SOUP_MESSAGE_HEADERS_REQUEST));
request-&gt;priv-&gt;task-&gt;request().updateSoupMessageHeaders(request-&gt;priv-&gt;headers.get());

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeResponse.cpp:26
&gt; +#include &lt;wtf/glib/GUniquePtr.h&gt;

This should be #include &lt;WebCore/GUniquePtrSoup.h&gt;

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeResponse.cpp:65
&gt; +namespace WTF {
&gt; +#if USE(SOUP2)
&gt; +WTF_DEFINE_GPTR_DELETER(SoupMessageHeaders, soup_message_headers_free);
&gt; +#else
&gt; +WTF_DEFINE_GPTR_DELETER(SoupMessageHeaders, soup_message_headers_unref);
&gt; +#endif
&gt; +}

This is already defined in GUniquePtrSoup.h

&gt; Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:25
&gt; +#include &lt;libsoup/soup-message-headers.h&gt;

I&apos;m surprised this works, you should only include the soup main header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814026</commentid>
    <comment_count>23</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-11-11 07:47:51 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #22)
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:25
&gt; &gt; +#include &lt;libsoup/soup-message-headers.h&gt;
&gt; 
&gt; I&apos;m surprised this works, you should only include the soup main header.

I was surprised too, but libsoup really does not have guards to block inclusion of random headers, so it seems like this is the intended way to use the library. If libsoup doesn&apos;t want us doing this, it should add guards in libsoup3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814292</commentid>
    <comment_count>24</comment_count>
      <attachid>444020</attachid>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-11 16:24:26 -0800</bug_when>
    <thetext>Created attachment 444020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814317</commentid>
    <comment_count>25</comment_count>
      <attachid>444020</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-11-11 17:25:29 -0800</bug_when>
    <thetext>Comment on attachment 444020
Patch

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

&gt; Source/WebKit/UIProcess/API/gtk/WebKitURISchemeRequest.h:47
&gt; +#ifndef SOUP_TYPE_MESSAGE_HEADERS
&gt; +typedef struct _SoupMessageHeaders SoupMessageHeaders;
&gt; +#endif

I don&apos;t think you need the #ifndef, should be safe to always do the typedef. I think. Was there really a build failure without this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814323</commentid>
    <comment_count>26</comment_count>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-11 17:40:36 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #25)
&gt; Comment on attachment 444020 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=444020&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/gtk/WebKitURISchemeRequest.h:47
&gt; &gt; +#ifndef SOUP_TYPE_MESSAGE_HEADERS
&gt; &gt; +typedef struct _SoupMessageHeaders SoupMessageHeaders;
&gt; &gt; +#endif
&gt; 
&gt; I don&apos;t think you need the #ifndef, should be safe to always do the typedef.
&gt; I think. Was there really a build failure without this?

Yes. If you build WebKit2Gtk with libsoup 2.4, without this #ifdef, it will fail with redefinition errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814660</commentid>
    <comment_count>27</comment_count>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-12 15:57:26 -0800</bug_when>
    <thetext>The EWS failures do not seem to be related to my patch. My patch did not touch any layout system and should not affect the macOS code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814670</commentid>
    <comment_count>28</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-11-12 16:11:09 -0800</bug_when>
    <thetext>You can ignore unrelated EWS failures, don&apos;t worry about them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814986</commentid>
    <comment_count>29</comment_count>
      <attachid>444020</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-11-15 01:39:45 -0800</bug_when>
    <thetext>Comment on attachment 444020
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/API/gtk/WebKitURISchemeRequest.h:47
&gt;&gt;&gt; +#endif
&gt;&gt; 
&gt;&gt; I don&apos;t think you need the #ifndef, should be safe to always do the typedef. I think. Was there really a build failure without this?
&gt; 
&gt; Yes. If you build WebKit2Gtk with libsoup 2.4, without this #ifdef, it will fail with redefinition errors.

I think it&apos;s fine to include &lt;libsoup/soup.h&gt; in this header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814987</commentid>
    <comment_count>30</comment_count>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-15 01:42:55 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #29)
&gt; Comment on attachment 444020 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=444020&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit/UIProcess/API/gtk/WebKitURISchemeRequest.h:47
&gt; &gt;&gt;&gt; +#endif
&gt; &gt;&gt; 
&gt; &gt;&gt; I don&apos;t think you need the #ifndef, should be safe to always do the typedef. I think. Was there really a build failure without this?
&gt; &gt; 
&gt; &gt; Yes. If you build WebKit2Gtk with libsoup 2.4, without this #ifdef, it will fail with redefinition errors.
&gt; 
&gt; I think it&apos;s fine to include &lt;libsoup/soup.h&gt; in this header.

Understood. So I will remove the forward declaration in this file (and the WPE one) and include &lt;libsoup/soup.h&gt;.

By the way, I have checked the documentation, the documentation recommends including &lt;libsoup/soup.h&gt; but did not forbid you to include the individual header from the `libsoup` folder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814988</commentid>
    <comment_count>31</comment_count>
      <attachid>444224</attachid>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-15 01:47:30 -0800</bug_when>
    <thetext>Created attachment 444224
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815040</commentid>
    <comment_count>32</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-11-15 06:23:07 -0800</bug_when>
    <thetext>Reported https://gitlab.gnome.org/GNOME/libsoup/-/issues/251</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815061</commentid>
    <comment_count>33</comment_count>
      <attachid>444224</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-11-15 07:42:32 -0800</bug_when>
    <thetext>Comment on attachment 444224
Patch

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

&gt; Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:1297
&gt; +SoupMessageHeaders

Why do we need this?

&gt; Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:1320
&gt; +SoupMessageHeaders

Ditto.

&gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt:1234
&gt; +SoupMessageHeaders

Ditto.

&gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt:1257
&gt; +SoupMessageHeaders

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815296</commentid>
    <comment_count>34</comment_count>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-15 17:38:30 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #33)
&gt; Comment on attachment 444224 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=444224&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:1297
&gt; &gt; +SoupMessageHeaders
&gt; 
&gt; Why do we need this?
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:1320
&gt; &gt; +SoupMessageHeaders
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt:1234
&gt; &gt; +SoupMessageHeaders
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt:1257
&gt; &gt; +SoupMessageHeaders
&gt; 
&gt; Ditto.

&gt; Why do we need this?

This is required by gtk-doc generator. I was forced to add SoupMessageHeaders here because otherwise, gtk-doc will complain there is no documentation section for SoupMessageHeaders, even if I included the `libsoup/soup.h` header.

You can find the historical CI logs that led me to this solution: https://ews-build.webkit.org/#/builders/36/builds/50682/steps/11/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815384</commentid>
    <comment_count>35</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-11-16 00:55:57 -0800</bug_when>
    <thetext>(In reply to liushuyu011 from comment #34)
&gt; (In reply to Carlos Garcia Campos from comment #33)
&gt; &gt; Comment on attachment 444224 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=444224&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:1297
&gt; &gt; &gt; +SoupMessageHeaders
&gt; &gt; 
&gt; &gt; Why do we need this?
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:1320
&gt; &gt; &gt; +SoupMessageHeaders
&gt; &gt; 
&gt; &gt; Ditto.
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt:1234
&gt; &gt; &gt; +SoupMessageHeaders
&gt; &gt; 
&gt; &gt; Ditto.
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt:1257
&gt; &gt; &gt; +SoupMessageHeaders
&gt; &gt; 
&gt; &gt; Ditto.
&gt; 
&gt; &gt; Why do we need this?
&gt; 
&gt; This is required by gtk-doc generator. I was forced to add
&gt; SoupMessageHeaders here because otherwise, gtk-doc will complain there is no
&gt; documentation section for SoupMessageHeaders, even if I included the
&gt; `libsoup/soup.h` header.
&gt; 
&gt; You can find the historical CI logs that led me to this solution:
&gt; https://ews-build.webkit.org/#/builders/36/builds/50682/steps/11/logs/stdio

That&apos;s weird, it&apos;s not in WebKit namespace. We are already exposing SoupMessageHeaders in SoupURIRequest/Response without this problem. Maybe that log was when the forward declaration was used and that confused gtkdoc somehow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815386</commentid>
    <comment_count>36</comment_count>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-16 01:04:18 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #35)
&gt; (In reply to liushuyu011 from comment #34)
&gt; &gt; (In reply to Carlos Garcia Campos from comment #33)
&gt; &gt; &gt; Comment on attachment 444224 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; View in context:
&gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=444224&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:1297
&gt; &gt; &gt; &gt; +SoupMessageHeaders
&gt; &gt; &gt; 
&gt; &gt; &gt; Why do we need this?
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:1320
&gt; &gt; &gt; &gt; +SoupMessageHeaders
&gt; &gt; &gt; 
&gt; &gt; &gt; Ditto.
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt:1234
&gt; &gt; &gt; &gt; +SoupMessageHeaders
&gt; &gt; &gt; 
&gt; &gt; &gt; Ditto.
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-1.0-sections.txt:1257
&gt; &gt; &gt; &gt; +SoupMessageHeaders
&gt; &gt; &gt; 
&gt; &gt; &gt; Ditto.
&gt; &gt; 
&gt; &gt; &gt; Why do we need this?
&gt; &gt; 
&gt; &gt; This is required by gtk-doc generator. I was forced to add
&gt; &gt; SoupMessageHeaders here because otherwise, gtk-doc will complain there is no
&gt; &gt; documentation section for SoupMessageHeaders, even if I included the
&gt; &gt; `libsoup/soup.h` header.
&gt; &gt; 
&gt; &gt; You can find the historical CI logs that led me to this solution:
&gt; &gt; https://ews-build.webkit.org/#/builders/36/builds/50682/steps/11/logs/stdio
&gt; 
&gt; That&apos;s weird, it&apos;s not in WebKit namespace. We are already exposing
&gt; SoupMessageHeaders in SoupURIRequest/Response without this problem. Maybe
&gt; that log was when the forward declaration was used and that confused gtkdoc
&gt; somehow?

I see. Yes, that log was made when the forward declaration was used.
This patch also included that solution: https://bugs.webkit.org/attachment.cgi?id=381614&amp;action=prettypatch.
I will try again on my machine without the forward declaration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815406</commentid>
    <comment_count>37</comment_count>
      <attachid>444360</attachid>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-16 02:13:10 -0800</bug_when>
    <thetext>Created attachment 444360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815408</commentid>
    <comment_count>38</comment_count>
      <attachid>444361</attachid>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-16 02:22:49 -0800</bug_when>
    <thetext>Created attachment 444361
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815848</commentid>
    <comment_count>39</comment_count>
    <who name="">liushuyu011</who>
    <bug_when>2021-11-17 00:09:38 -0800</bug_when>
    <thetext>(In reply to liushuyu011 from comment #38)
&gt; Created attachment 444361 [details]
&gt; Patch

I have replaced all the libsoup related forward-declarations with include&apos;s. And it worked this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815854</commentid>
    <comment_count>40</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-17 00:53:11 -0800</bug_when>
    <thetext>Committed r285919 (244328@main): &lt;https://commits.webkit.org/244328@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444361.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815855</commentid>
    <comment_count>41</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-17 00:54:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/85494189&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381610</attachid>
            <date>2019-10-22 14:44:07 -0700</date>
            <delta_ts>2019-10-22 14:59:24 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>bug-203273-20191023004405.patch</filename>
            <type>text/plain</type>
            <size>8301</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkNmZiOWI3ZTQyNzEwNjA4
N2Y3YTY5Zjg0ZWNlNmI3YzQ3MTJiNzMuLjU3ZGI5MThmZmNmYzhkZGNkNDYzMmU5YmRkMmUxNWZj
Yzk5YzE0NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMTAtMjIgIEFkcmlhbiBQ
ZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IFN1cHBvcnQgc2V0dGluZyByZXNwb25zZSBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIGFkZHMgYSBTb3VwTWVzc2FnZUhlYWRlcnMgaW5zdGFuY2UgaW4gdGhlIFdlYktpdFVSSVNj
aGVtZVJlcXVlc3QgcHJpdmF0ZQorICAgICAgICBzdHJ1Y3QuIER1ZSB0byB0aGUgY29udGVudCB0
eXBlIGFuZCBsZW5ndGggYmVpbmcgc3RvcmVkIGluIHRoZSBTb3VwTWVzc2FnZUhlYWRlcnMsCisg
ICAgICAgIHRoZSBjb3JyZXNwb25kaW5nIG1lbWJlcnMgb2YgdGhlIHByaXZhdGUgc3RydWN0IGFy
ZSByZW1vdmVkLiBBIG5ldyBhY2Nlc3NvciBhbGxvdworICAgICAgICByZXRyaWV2aW5nIHRoZSBT
b3VwTWVzc2FnZUhlYWRlcnMsIHdoaWNoIGFwcGxpY2F0aW9ucyBjYW4gdXNlIHRvIHNldCB0aGUg
aGVhZGVycworICAgICAgICBmb3IgdGhlIGdlbmVyYXRlZCByZXNwb25zZS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2hlYWRlcnMpOiBBZGRlZC4KKyAgICAgICAg
KHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2spOiBVcGRhdGUgdGhlIGdlbmVyYXRl
ZCBSZXNvdXJjZVJlc3BvbnNlIHdpdGggdGhlIHZhbHVlcworICAgICAgICBmcm9tIHRoZSBTb3Vw
TWVzc2FnZUhlYWRlcnMgaW5zdGFuY2UuCisgICAgICAgICh3ZWJraXRfdXJpX3NjaGVtZV9yZXF1
ZXN0X2ZpbmlzaCk6IEFwcGx5IHRoZSBwYXNzZWQgY29udGVudCB0eXBlIGFuZCBsZW5ndGggdG8g
dGhlCisgICAgICAgIFNvdXBNZXNzYWdlSGVhZGVycyBpbnN0YW5jZS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0Lmg6IEFkZCBwcm90b3R5cGUgZm9y
IHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2hlYWRlcnMoKS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0Lmg6IERpdHRvLgorCiAyMDE5LTEw
LTIyICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUg
bWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3Qu
Y3BwCmluZGV4IGQ4MDg2ZGIzNzBiYmIwMjU4MjYwNGIzNWI5YmYzYTBlNWVmN2M1YjYuLjNhZGU4
YjA1NTA1YTZhZTZkMjg2N2NmNWNhMGU1YWZjNmRiNDM4MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3Qu
Y3BwCkBAIC02NiwxMSArNjYsMTAgQEAgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJp
dmF0ZSB7CiAgICAgR1VuaXF1ZVB0cjxTb3VwVVJJPiBzb3VwVVJJOwogCiAgICAgR1JlZlB0cjxH
SW5wdXRTdHJlYW0+IHN0cmVhbTsKLSAgICB1aW50NjRfdCBzdHJlYW1MZW5ndGg7CisgICAgR1Jl
ZlB0cjxTb3VwTWVzc2FnZUhlYWRlcnM+IGhlYWRlcnMgeyBhZG9wdEdSZWYoc291cF9tZXNzYWdl
X2hlYWRlcnNfbmV3KFNPVVBfTUVTU0FHRV9IRUFERVJTX1JFU1BPTlNFKSkgfTsKICAgICBHUmVm
UHRyPEdDYW5jZWxsYWJsZT4gY2FuY2VsbGFibGU7CiAgICAgY2hhciByZWFkQnVmZmVyW2dSZWFk
QnVmZmVyU2l6ZV07CiAgICAgdWludDY0X3QgYnl0ZXNSZWFkOwotICAgIENTdHJpbmcgY29udGVu
dFR5cGU7CiB9OwogCiBXRUJLSVRfREVGSU5FX1RZUEUoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCwg
d2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdCwgR19UWVBFX09CSkVDVCkKQEAgLTE2Miw2ICsxNjEs
MjQgQEAgV2ViS2l0V2ViVmlldyogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3Zp
ZXcoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogcmUKICAgICByZXR1cm4gd2Via2l0V2ViQ29udGV4
dEdldFdlYlZpZXdGb3JQYWdlKHJlcXVlc3QtPnByaXYtPndlYkNvbnRleHQsIHJlcXVlc3QtPnBy
aXYtPmluaXRpYXRpbmdQYWdlLmdldCgpKTsKIH0KIAorLyoqCisgKiB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X2dldF9oZWFkZXJzOgorICogQHJlcXVlc3Q6IGEgI1dlYktpdFVSSVNjaGVtZVJl
cXVlc3QKKyAqCisgKiBHZXQgdGhlICNTb3VwTWVzc2FnZUhlYWRlcnMgd2hpY2ggd2lsbCBiZSB1
c2VkIGZvciB0aGUgcmVzcG9uc2UuIFRoZQorICogaGVhZGVycyBtdXN0IHNldCBiZWZvcmUgY2Fs
bGluZyB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaCgpLgorICoKKyAqIFJldHVybnM6
ICh0cmFuc2ZlciBub25lKTogdGhlICNTb3VwTWVzc2FnZUhlYWRlcnMgdXNlZCBmb3IgdGhlIHJl
c3BvbnNlLgorICoKKyAqIFNpbmNlOiAyLjI4CisgKi8KK1NvdXBNZXNzYWdlSGVhZGVycyogd2Vi
a2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXF1ZXN0
KiByZXF1ZXN0KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19VUklfU0NI
RU1FX1JFUVVFU1QocmVxdWVzdCksIG51bGxwdHIpOworCisgICAgcmV0dXJuIHJlcXVlc3QtPnBy
aXYtPmhlYWRlcnMuZ2V0KCk7Cit9CisKIHN0YXRpYyB2b2lkIHdlYmtpdFVSSVNjaGVtZVJlcXVl
c3RSZWFkQ2FsbGJhY2soR0lucHV0U3RyZWFtKiBpbnB1dFN0cmVhbSwgR0FzeW5jUmVzdWx0KiBy
ZXN1bHQsIFdlYktpdFVSSVNjaGVtZVJlcXVlc3QqIHNjaGVtZVJlcXVlc3QpCiB7CiAgICAgR1Jl
ZlB0cjxXZWJLaXRVUklTY2hlbWVSZXF1ZXN0PiByZXF1ZXN0ID0gYWRvcHRHUmVmKHNjaGVtZVJl
cXVlc3QpOwpAQCAtMTc5LDggKzE5Niw4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFVSSVNjaGVtZVJl
cXVlc3RSZWFkQ2FsbGJhY2soR0lucHV0U3RyZWFtKiBpbnB1dFN0cmVhbSwgR0FzeW5jCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGlmICghcHJpdi0+Ynl0ZXNSZWFkKSB7Ci0gICAgICAgIFJlc291
cmNlUmVzcG9uc2UgcmVzcG9uc2UocHJpdi0+dGFzay0+cmVxdWVzdCgpLnVybCgpLCBleHRyYWN0
TUlNRVR5cGVGcm9tTWVkaWFUeXBlKHByaXYtPmNvbnRlbnRUeXBlLmRhdGEoKSksIHByaXYtPnN0
cmVhbUxlbmd0aCwgZW1wdHlTdHJpbmcoKSk7Ci0gICAgICAgIHJlc3BvbnNlLnNldFRleHRFbmNv
ZGluZ05hbWUoZXh0cmFjdENoYXJzZXRGcm9tTWVkaWFUeXBlKHByaXYtPmNvbnRlbnRUeXBlLmRh
dGEoKSkpOworICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlKHByaXYtPnRhc2stPnJl
cXVlc3QoKS51cmwoKSwgZW1wdHlTdHJpbmcoKSwgMCwgZW1wdHlTdHJpbmcoKSk7CisgICAgICAg
IHJlc3BvbnNlLnVwZGF0ZUZyb21Tb3VwTWVzc2FnZUhlYWRlcnMocHJpdi0+aGVhZGVycy5nZXQo
KSk7CiAgICAgICAgIHByaXYtPnRhc2stPmRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25zZSk7CiAg
ICAgfQogCkBAIC0yMDIsNyArMjE5LDEyIEBAIHN0YXRpYyB2b2lkIHdlYmtpdFVSSVNjaGVtZVJl
cXVlc3RSZWFkQ2FsbGJhY2soR0lucHV0U3RyZWFtKiBpbnB1dFN0cmVhbSwgR0FzeW5jCiAgKiBA
c3RyZWFtX2xlbmd0aDogdGhlIGxlbmd0aCBvZiB0aGUgc3RyZWFtIG9yIC0xIGlmIG5vdCBrbm93
bgogICogQGNvbnRlbnRfdHlwZTogKGFsbG93LW5vbmUpOiB0aGUgY29udGVudCB0eXBlIG9mIHRo
ZSBzdHJlYW0gb3IgJU5VTEwgaWYgbm90IGtub3duCiAgKgotICogRmluaXNoIGEgI1dlYktpdFVS
SVNjaGVtZVJlcXVlc3QgYnkgc2V0dGluZyB0aGUgY29udGVudHMgb2YgdGhlIHJlcXVlc3QgYW5k
IGl0cyBtaW1lIHR5cGUuCisgKiBGaW5pc2ggYSAjV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCBieSBz
ZXR0aW5nIHRoZSBjb250ZW50cyBvZiB0aGUgcmVxdWVzdCBhbmQgaXRzIE1JTUUgdHlwZS4KKyAq
CisgKiBOb3RlIHRoYXQgcGFzc2luZyB2YWx1ZXMgZm9yIEBzdHJlYW1fbGVuZ3RoIGFuZCBAY29u
dGVudF90eXBlIG90aGVyIHRoYW4gLTEKKyAqIGFuZCAlTlVMTCB3aWxsIG92ZXJyaWRlIHRoZSBj
b3JyZXNwb25kaW5nIGhlYWRlcnMgd2hpY2ggbWF5IGhhdmUgYmVlbgorICogcHJldmlvdXNseSBz
ZXQgaW4gdGhlICNTb3VwTWVzc2FnZUhlYWRlcnMgb2JqZWN0IHJldHVybmVkIGJ5CisgKiB3ZWJr
aXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9oZWFkZXJzKCkuCiAgKi8KIHZvaWQgd2Via2l0X3Vy
aV9zY2hlbWVfcmVxdWVzdF9maW5pc2goV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogcmVxdWVzdCwg
R0lucHV0U3RyZWFtKiBpbnB1dFN0cmVhbSwgZ2ludDY0IHN0cmVhbUxlbmd0aCwgY29uc3QgZ2No
YXIqIGNvbnRlbnRUeXBlKQogewpAQCAtMjEwLDEyICsyMzIsMTUgQEAgdm9pZCB3ZWJraXRfdXJp
X3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByZXF1ZXN0LCBH
SW5wdXRTdHIKICAgICBnX3JldHVybl9pZl9mYWlsKEdfSVNfSU5QVVRfU1RSRUFNKGlucHV0U3Ry
ZWFtKSk7CiAgICAgZ19yZXR1cm5faWZfZmFpbChzdHJlYW1MZW5ndGggPT0gLTEgfHwgc3RyZWFt
TGVuZ3RoID49IDApOwogCisgICAgaWYgKHN0cmVhbUxlbmd0aCAhPSAtMSkKKyAgICAgICAgc291
cF9tZXNzYWdlX2hlYWRlcnNfc2V0X2NvbnRlbnRfbGVuZ3RoKHJlcXVlc3QtPnByaXYtPmhlYWRl
cnMuZ2V0KCksIHN0cmVhbUxlbmd0aCk7CisKKyAgICBpZiAoY29udGVudFR5cGUpCisgICAgICAg
IHNvdXBfbWVzc2FnZV9oZWFkZXJzX3JlcGxhY2UocmVxdWVzdC0+cHJpdi0+aGVhZGVycy5nZXQo
KSwgIkNvbnRlbnQtVHlwZSIsIGNvbnRlbnRUeXBlKTsKKwogICAgIHJlcXVlc3QtPnByaXYtPnN0
cmVhbSA9IGlucHV0U3RyZWFtOwotICAgIC8vIFdlIHVzZSAtMSBpbiB0aGUgQVBJIGZvciBjb25z
aXN0ZW5jeSB3aXRoIHNvdXAgd2hlbiB0aGUgY29udGVudCBsZW5ndGggaXMgbm90IGtub3duLCBi
dXQgMCBpbnRlcm5hbGx5LgotICAgIHJlcXVlc3QtPnByaXYtPnN0cmVhbUxlbmd0aCA9IHN0cmVh
bUxlbmd0aCA9PSAtMSA/IDAgOiBzdHJlYW1MZW5ndGg7CiAgICAgcmVxdWVzdC0+cHJpdi0+Y2Fu
Y2VsbGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSk7CiAgICAgcmVxdWVzdC0+
cHJpdi0+Ynl0ZXNSZWFkID0gMDsKLSAgICByZXF1ZXN0LT5wcml2LT5jb250ZW50VHlwZSA9IGNv
bnRlbnRUeXBlOwogICAgIGdfaW5wdXRfc3RyZWFtX3JlYWRfYXN5bmMoaW5wdXRTdHJlYW0sIHJl
cXVlc3QtPnByaXYtPnJlYWRCdWZmZXIsIGdSZWFkQnVmZmVyU2l6ZSwgUnVuTG9vcFNvdXJjZVBy
aW9yaXR5OjpBc3luY0lPTmV0d29yaywgcmVxdWVzdC0+cHJpdi0+Y2FuY2VsbGFibGUuZ2V0KCks
CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8R0FzeW5jUmVhZHlDYWxsYmFjaz4od2Via2l0VVJJ
U2NoZW1lUmVxdWVzdFJlYWRDYWxsYmFjayksIGdfb2JqZWN0X3JlZihyZXF1ZXN0KSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVt
ZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2No
ZW1lUmVxdWVzdC5oCmluZGV4IGQyYjA2YTE0ZGM1YTIwN2U4NzU2NGEwZWJjMzViY2MxMzliMWVj
NGUuLmRlN2E4ZmI2OWE1YTE5YWM3NjA4MjNhNjhkZDA4NDkyMjk1MTM2ZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVx
dWVzdC5oCkBAIC00MSw2ICs0MSw4IEBAIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVS
ZXF1ZXN0ICAgICAgICBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0OwogdHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdFVSSVNjaGVtZVJlcXVlc3RDbGFzcyAgIFdlYktpdFVSSVNjaGVtZVJlcXVlc3RDbGFzczsK
IHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJpdmF0ZSBXZWJLaXRVUklT
Y2hlbWVSZXF1ZXN0UHJpdmF0ZTsKIAordHlwZWRlZiBzdHJ1Y3QgU291cE1lc3NhZ2VIZWFkZXJz
IFNvdXBNZXNzYWdlSGVhZGVyczsKKwogc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0IHsK
ICAgICBHT2JqZWN0IHBhcmVudDsKIApAQCAtNzEsNiArNzMsOSBAQCB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X2dldF9wYXRoICAgICAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7
CiBXRUJLSVRfQVBJIFdlYktpdFdlYlZpZXcgKgogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9n
ZXRfd2ViX3ZpZXcgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOwogCitXRUJLSVRf
QVBJIFNvdXBNZXNzYWdlSGVhZGVycyAqCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9o
ZWFkZXJzICAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CisKIFdFQktJVF9BUEkg
dm9pZAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2ggICAgICAgKFdlYktpdFVSSVNj
aGVtZVJlcXVlc3QgKnJlcXVlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0lucHV0U3RyZWFtICAgICAgICAgICAqc3RyZWFtLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaAppbmRl
eCA4ZWJlZGE0ZTc3ZjFiYmQxOGUxY2JkYWRjM2Y3ZjI0NmUwOTkxN2IxLi4zNzUyOGQwNDU1NzYy
Njc5YzE1ZjdhMTRjNDlmOGY0Zjg3MGNiY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaApAQCAtNDIsNiAr
NDIsOCBAQCB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUgV2Vi
S2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGU7CiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJW
aWV3IFdlYktpdFdlYlZpZXc7CiAKK3R5cGVkZWYgc3RydWN0IFNvdXBNZXNzYWdlSGVhZGVycyBT
b3VwTWVzc2FnZUhlYWRlcnM7CisKIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCB7CiAg
ICAgR09iamVjdCBwYXJlbnQ7CiAKQEAgLTcyLDYgKzc0LDkgQEAgd2Via2l0X3VyaV9zY2hlbWVf
cmVxdWVzdF9nZXRfcGF0aCAgICAgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOwog
V0VCS0lUX0FQSSBXZWJLaXRXZWJWaWV3ICoKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0
X3dlYl92aWV3IChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKIAorV0VCS0lUX0FQ
SSBTb3VwTWVzc2FnZUhlYWRlcnMgKgord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaGVh
ZGVycyAgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOworCiBXRUJLSVRfQVBJIHZv
aWQKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoICAgICAgIChXZWJLaXRVUklTY2hl
bWVSZXF1ZXN0ICpyZXF1ZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdJbnB1dFN0cmVhbSAgICAgICAgICAgKnN0cmVhbSwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381614</attachid>
            <date>2019-10-22 14:59:28 -0700</date>
            <delta_ts>2021-11-04 05:43:59 -0700</delta_ts>
            <desc>WIP Patch v2</desc>
            <filename>bug-203273-20191023005927.patch</filename>
            <type>text/plain</type>
            <size>10030</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkNmZiOWI3ZTQyNzEwNjA4
N2Y3YTY5Zjg0ZWNlNmI3YzQ3MTJiNzMuLjY5YzIyZGY3ODAxZWVkMTZjOThkYzhmNjA0ZmJjZTZk
MTViNWI5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMTAtMjIgIEFkcmlhbiBQ
ZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IFN1cHBvcnQgc2V0dGluZyByZXNwb25zZSBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIGFkZHMgYSBTb3VwTWVzc2FnZUhlYWRlcnMgaW5zdGFuY2UgaW4gdGhlIFdlYktpdFVSSVNj
aGVtZVJlcXVlc3QgcHJpdmF0ZQorICAgICAgICBzdHJ1Y3QuIER1ZSB0byB0aGUgY29udGVudCB0
eXBlIGFuZCBsZW5ndGggYmVpbmcgc3RvcmVkIGluIHRoZSBTb3VwTWVzc2FnZUhlYWRlcnMsCisg
ICAgICAgIHRoZSBjb3JyZXNwb25kaW5nIG1lbWJlcnMgb2YgdGhlIHByaXZhdGUgc3RydWN0IGFy
ZSByZW1vdmVkLiBBIG5ldyBhY2Nlc3NvciBhbGxvdworICAgICAgICByZXRyaWV2aW5nIHRoZSBT
b3VwTWVzc2FnZUhlYWRlcnMsIHdoaWNoIGFwcGxpY2F0aW9ucyBjYW4gdXNlIHRvIHNldCB0aGUg
aGVhZGVycworICAgICAgICBmb3IgdGhlIGdlbmVyYXRlZCByZXNwb25zZS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2hlYWRlcnMpOiBBZGRlZC4KKyAgICAgICAg
KHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2spOiBVcGRhdGUgdGhlIGdlbmVyYXRl
ZCBSZXNvdXJjZVJlc3BvbnNlIHdpdGggdGhlIHZhbHVlcworICAgICAgICBmcm9tIHRoZSBTb3Vw
TWVzc2FnZUhlYWRlcnMgaW5zdGFuY2UuCisgICAgICAgICh3ZWJraXRfdXJpX3NjaGVtZV9yZXF1
ZXN0X2ZpbmlzaCk6IEFwcGx5IHRoZSBwYXNzZWQgY29udGVudCB0eXBlIGFuZCBsZW5ndGggdG8g
dGhlCisgICAgICAgIFNvdXBNZXNzYWdlSGVhZGVycyBpbnN0YW5jZS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0Lmg6IEFkZCBwcm90b3R5cGUgZm9y
IHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2hlYWRlcnMoKS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dDogQWRkIG5ldyBz
eW1ib2xzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlcXVl
c3QuaDogRGl0dG8uCisgICAgICAgICogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0OiBBZGQgbmV3IHN5bWJvbHMuCisKIDIwMTktMTAtMjIg
IHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBtYXlI
YXZlU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAK
aW5kZXggZDgwODZkYjM3MGJiYjAyNTgyNjA0YjM1YjliZjNhMGU1ZWY3YzViNi4uM2FkZThiMDU1
MDVhNmFlNmQyODY3Y2Y1Y2EwZTVhZmM2ZGI0MzgzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAK
QEAgLTY2LDExICs2NiwxMCBAQCBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRl
IHsKICAgICBHVW5pcXVlUHRyPFNvdXBVUkk+IHNvdXBVUkk7CiAKICAgICBHUmVmUHRyPEdJbnB1
dFN0cmVhbT4gc3RyZWFtOwotICAgIHVpbnQ2NF90IHN0cmVhbUxlbmd0aDsKKyAgICBHUmVmUHRy
PFNvdXBNZXNzYWdlSGVhZGVycz4gaGVhZGVycyB7IGFkb3B0R1JlZihzb3VwX21lc3NhZ2VfaGVh
ZGVyc19uZXcoU09VUF9NRVNTQUdFX0hFQURFUlNfUkVTUE9OU0UpKSB9OwogICAgIEdSZWZQdHI8
R0NhbmNlbGxhYmxlPiBjYW5jZWxsYWJsZTsKICAgICBjaGFyIHJlYWRCdWZmZXJbZ1JlYWRCdWZm
ZXJTaXplXTsKICAgICB1aW50NjRfdCBieXRlc1JlYWQ7Ci0gICAgQ1N0cmluZyBjb250ZW50VHlw
ZTsKIH07CiAKIFdFQktJVF9ERUZJTkVfVFlQRShXZWJLaXRVUklTY2hlbWVSZXF1ZXN0LCB3ZWJr
aXRfdXJpX3NjaGVtZV9yZXF1ZXN0LCBHX1RZUEVfT0JKRUNUKQpAQCAtMTYyLDYgKzE2MSwyNCBA
QCBXZWJLaXRXZWJWaWV3KiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmlldyhX
ZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByZQogICAgIHJldHVybiB3ZWJraXRXZWJDb250ZXh0R2V0
V2ViVmlld0ZvclBhZ2UocmVxdWVzdC0+cHJpdi0+d2ViQ29udGV4dCwgcmVxdWVzdC0+cHJpdi0+
aW5pdGlhdGluZ1BhZ2UuZ2V0KCkpOwogfQogCisvKioKKyAqIHdlYmtpdF91cmlfc2NoZW1lX3Jl
cXVlc3RfZ2V0X2hlYWRlcnM6CisgKiBAcmVxdWVzdDogYSAjV2ViS2l0VVJJU2NoZW1lUmVxdWVz
dAorICoKKyAqIEdldCB0aGUgI1NvdXBNZXNzYWdlSGVhZGVycyB3aGljaCB3aWxsIGJlIHVzZWQg
Zm9yIHRoZSByZXNwb25zZS4gVGhlCisgKiBoZWFkZXJzIG11c3Qgc2V0IGJlZm9yZSBjYWxsaW5n
IHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoKCkuCisgKgorICogUmV0dXJuczogKHRy
YW5zZmVyIG5vbmUpOiB0aGUgI1NvdXBNZXNzYWdlSGVhZGVycyB1c2VkIGZvciB0aGUgcmVzcG9u
c2UuCisgKgorICogU2luY2U6IDIuMjgKKyAqLworU291cE1lc3NhZ2VIZWFkZXJzKiB3ZWJraXRf
dXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9oZWFkZXJzKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QqIHJl
cXVlc3QpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1VSSV9TQ0hFTUVf
UkVRVUVTVChyZXF1ZXN0KSwgbnVsbHB0cik7CisKKyAgICByZXR1cm4gcmVxdWVzdC0+cHJpdi0+
aGVhZGVycy5nZXQoKTsKK30KKwogc3RhdGljIHZvaWQgd2Via2l0VVJJU2NoZW1lUmVxdWVzdFJl
YWRDYWxsYmFjayhHSW5wdXRTdHJlYW0qIGlucHV0U3RyZWFtLCBHQXN5bmNSZXN1bHQqIHJlc3Vs
dCwgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogc2NoZW1lUmVxdWVzdCkKIHsKICAgICBHUmVmUHRy
PFdlYktpdFVSSVNjaGVtZVJlcXVlc3Q+IHJlcXVlc3QgPSBhZG9wdEdSZWYoc2NoZW1lUmVxdWVz
dCk7CkBAIC0xNzksOCArMTk2LDggQEAgc3RhdGljIHZvaWQgd2Via2l0VVJJU2NoZW1lUmVxdWVz
dFJlYWRDYWxsYmFjayhHSW5wdXRTdHJlYW0qIGlucHV0U3RyZWFtLCBHQXN5bmMKICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKCFwcml2LT5ieXRlc1JlYWQpIHsKLSAgICAgICAgUmVzb3VyY2VS
ZXNwb25zZSByZXNwb25zZShwcml2LT50YXNrLT5yZXF1ZXN0KCkudXJsKCksIGV4dHJhY3RNSU1F
VHlwZUZyb21NZWRpYVR5cGUocHJpdi0+Y29udGVudFR5cGUuZGF0YSgpKSwgcHJpdi0+c3RyZWFt
TGVuZ3RoLCBlbXB0eVN0cmluZygpKTsKLSAgICAgICAgcmVzcG9uc2Uuc2V0VGV4dEVuY29kaW5n
TmFtZShleHRyYWN0Q2hhcnNldEZyb21NZWRpYVR5cGUocHJpdi0+Y29udGVudFR5cGUuZGF0YSgp
KSk7CisgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UocHJpdi0+dGFzay0+cmVxdWVz
dCgpLnVybCgpLCBlbXB0eVN0cmluZygpLCAwLCBlbXB0eVN0cmluZygpKTsKKyAgICAgICAgcmVz
cG9uc2UudXBkYXRlRnJvbVNvdXBNZXNzYWdlSGVhZGVycyhwcml2LT5oZWFkZXJzLmdldCgpKTsK
ICAgICAgICAgcHJpdi0+dGFzay0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICB9
CiAKQEAgLTIwMiw3ICsyMTksMTIgQEAgc3RhdGljIHZvaWQgd2Via2l0VVJJU2NoZW1lUmVxdWVz
dFJlYWRDYWxsYmFjayhHSW5wdXRTdHJlYW0qIGlucHV0U3RyZWFtLCBHQXN5bmMKICAqIEBzdHJl
YW1fbGVuZ3RoOiB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJlYW0gb3IgLTEgaWYgbm90IGtub3duCiAg
KiBAY29udGVudF90eXBlOiAoYWxsb3ctbm9uZSk6IHRoZSBjb250ZW50IHR5cGUgb2YgdGhlIHN0
cmVhbSBvciAlTlVMTCBpZiBub3Qga25vd24KICAqCi0gKiBGaW5pc2ggYSAjV2ViS2l0VVJJU2No
ZW1lUmVxdWVzdCBieSBzZXR0aW5nIHRoZSBjb250ZW50cyBvZiB0aGUgcmVxdWVzdCBhbmQgaXRz
IG1pbWUgdHlwZS4KKyAqIEZpbmlzaCBhICNXZWJLaXRVUklTY2hlbWVSZXF1ZXN0IGJ5IHNldHRp
bmcgdGhlIGNvbnRlbnRzIG9mIHRoZSByZXF1ZXN0IGFuZCBpdHMgTUlNRSB0eXBlLgorICoKKyAq
IE5vdGUgdGhhdCBwYXNzaW5nIHZhbHVlcyBmb3IgQHN0cmVhbV9sZW5ndGggYW5kIEBjb250ZW50
X3R5cGUgb3RoZXIgdGhhbiAtMQorICogYW5kICVOVUxMIHdpbGwgb3ZlcnJpZGUgdGhlIGNvcnJl
c3BvbmRpbmcgaGVhZGVycyB3aGljaCBtYXkgaGF2ZSBiZWVuCisgKiBwcmV2aW91c2x5IHNldCBp
biB0aGUgI1NvdXBNZXNzYWdlSGVhZGVycyBvYmplY3QgcmV0dXJuZWQgYnkKKyAqIHdlYmtpdF91
cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2hlYWRlcnMoKS4KICAqLwogdm9pZCB3ZWJraXRfdXJpX3Nj
aGVtZV9yZXF1ZXN0X2ZpbmlzaChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByZXF1ZXN0LCBHSW5w
dXRTdHJlYW0qIGlucHV0U3RyZWFtLCBnaW50NjQgc3RyZWFtTGVuZ3RoLCBjb25zdCBnY2hhciog
Y29udGVudFR5cGUpCiB7CkBAIC0yMTAsMTIgKzIzMiwxNSBAQCB2b2lkIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZmluaXNoKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QqIHJlcXVlc3QsIEdJbnB1
dFN0cgogICAgIGdfcmV0dXJuX2lmX2ZhaWwoR19JU19JTlBVVF9TVFJFQU0oaW5wdXRTdHJlYW0p
KTsKICAgICBnX3JldHVybl9pZl9mYWlsKHN0cmVhbUxlbmd0aCA9PSAtMSB8fCBzdHJlYW1MZW5n
dGggPj0gMCk7CiAKKyAgICBpZiAoc3RyZWFtTGVuZ3RoICE9IC0xKQorICAgICAgICBzb3VwX21l
c3NhZ2VfaGVhZGVyc19zZXRfY29udGVudF9sZW5ndGgocmVxdWVzdC0+cHJpdi0+aGVhZGVycy5n
ZXQoKSwgc3RyZWFtTGVuZ3RoKTsKKworICAgIGlmIChjb250ZW50VHlwZSkKKyAgICAgICAgc291
cF9tZXNzYWdlX2hlYWRlcnNfcmVwbGFjZShyZXF1ZXN0LT5wcml2LT5oZWFkZXJzLmdldCgpLCAi
Q29udGVudC1UeXBlIiwgY29udGVudFR5cGUpOworCiAgICAgcmVxdWVzdC0+cHJpdi0+c3RyZWFt
ID0gaW5wdXRTdHJlYW07Ci0gICAgLy8gV2UgdXNlIC0xIGluIHRoZSBBUEkgZm9yIGNvbnNpc3Rl
bmN5IHdpdGggc291cCB3aGVuIHRoZSBjb250ZW50IGxlbmd0aCBpcyBub3Qga25vd24sIGJ1dCAw
IGludGVybmFsbHkuCi0gICAgcmVxdWVzdC0+cHJpdi0+c3RyZWFtTGVuZ3RoID0gc3RyZWFtTGVu
Z3RoID09IC0xID8gMCA6IHN0cmVhbUxlbmd0aDsKICAgICByZXF1ZXN0LT5wcml2LT5jYW5jZWxs
YWJsZSA9IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKICAgICByZXF1ZXN0LT5wcml2
LT5ieXRlc1JlYWQgPSAwOwotICAgIHJlcXVlc3QtPnByaXYtPmNvbnRlbnRUeXBlID0gY29udGVu
dFR5cGU7CiAgICAgZ19pbnB1dF9zdHJlYW1fcmVhZF9hc3luYyhpbnB1dFN0cmVhbSwgcmVxdWVz
dC0+cHJpdi0+cmVhZEJ1ZmZlciwgZ1JlYWRCdWZmZXJTaXplLCBSdW5Mb29wU291cmNlUHJpb3Jp
dHk6OkFzeW5jSU9OZXR3b3JrLCByZXF1ZXN0LT5wcml2LT5jYW5jZWxsYWJsZS5nZXQoKSwKICAg
ICAgICAgcmVpbnRlcnByZXRfY2FzdDxHQXN5bmNSZWFkeUNhbGxiYWNrPih3ZWJraXRVUklTY2hl
bWVSZXF1ZXN0UmVhZENhbGxiYWNrKSwgZ19vYmplY3RfcmVmKHJlcXVlc3QpKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVx
dWVzdC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVS
ZXF1ZXN0LmgKaW5kZXggZDJiMDZhMTRkYzVhMjA3ZTg3NTY0YTBlYmMzNWJjYzEzOWIxZWM0ZS4u
ZGU3YThmYjY5YTVhMTlhYzc2MDgyM2E2OGRkMDg0OTIyOTUxMzZlMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0
LmgKQEAgLTQxLDYgKzQxLDggQEAgdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVl
c3QgICAgICAgIFdlYktpdFVSSVNjaGVtZVJlcXVlc3Q7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdENsYXNzICAgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdENsYXNzOwogdHlw
ZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlIFdlYktpdFVSSVNjaGVt
ZVJlcXVlc3RQcml2YXRlOwogCit0eXBlZGVmIHN0cnVjdCBTb3VwTWVzc2FnZUhlYWRlcnMgU291
cE1lc3NhZ2VIZWFkZXJzOworCiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3QgewogICAg
IEdPYmplY3QgcGFyZW50OwogCkBAIC03MSw2ICs3Myw5IEBAIHdlYmtpdF91cmlfc2NoZW1lX3Jl
cXVlc3RfZ2V0X3BhdGggICAgIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKIFdF
QktJVF9BUEkgV2ViS2l0V2ViVmlldyAqCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93
ZWJfdmlldyAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CiAKK1dFQktJVF9BUEkg
U291cE1lc3NhZ2VIZWFkZXJzICoKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2hlYWRl
cnMgIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKKwogV0VCS0lUX0FQSSB2b2lk
CiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaCAgICAgICAoV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdCAqcmVxdWVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHSW5wdXRTdHJlYW0gICAgICAgICAgICpzdHJlYW0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0IGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rp
b25zLnR4dAppbmRleCA1ODU2Y2M0NDc0OTIzNDc0NGQ5ZGU0NWExODA2NWU5ODFmN2JkZDY4Li5k
MzljZTUxOGZhMjhkMTM2YTMyZGIwMDg2NDNlM2I2ZTJhOGUxZmM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMu
dHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQKQEAgLTU2Miw2ICs1NjIsNyBAQCBXZWJLaXRVUklSZXF1ZXN0CiB3
ZWJraXRfdXJpX3JlcXVlc3RfbmV3CiB3ZWJraXRfdXJpX3JlcXVlc3RfZ2V0X3VyaQogd2Via2l0
X3VyaV9yZXF1ZXN0X3NldF91cmkKK3dlYmtpdF91cmlfcmVxdWVzdF9nZXRfaGVhZGVycwogd2Vi
a2l0X3VyaV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZAogd2Via2l0X3VyaV9yZXF1ZXN0X2dldF9o
dHRwX2hlYWRlcnMKIApAQCAtNTc1LDYgKzU3Niw3IEBAIFdFQktJVF9JU19VUklfUkVRVUVTVF9D
TEFTUwogV0VCS0lUX1VSSV9SRVFVRVNUX0dFVF9DTEFTUwogCiA8U1VCU0VDVElPTiBQcml2YXRl
PgorU291cE1lc3NhZ2VIZWFkZXJzCiBXZWJLaXRVUklSZXF1ZXN0UHJpdmF0ZQogd2Via2l0X3Vy
aV9yZXF1ZXN0X2dldF90eXBlCiA8L1NFQ1RJT04+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IDhlYmVk
YTRlNzdmMWJiZDE4ZTFjYmRhZGMzZjdmMjQ2ZTA5OTE3YjEuLjM3NTI4ZDA0NTU3NjI2NzljMTVm
N2ExNGM0OWY4ZjRmODcwY2JjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCkBAIC00Miw2ICs0Miw4IEBA
IHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJpdmF0ZSBXZWJLaXRVUklT
Y2hlbWVSZXF1ZXN0UHJpdmF0ZTsKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYlZpZXcgV2Vi
S2l0V2ViVmlldzsKIAordHlwZWRlZiBzdHJ1Y3QgU291cE1lc3NhZ2VIZWFkZXJzIFNvdXBNZXNz
YWdlSGVhZGVyczsKKwogc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0IHsKICAgICBHT2Jq
ZWN0IHBhcmVudDsKIApAQCAtNzIsNiArNzQsOSBAQCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0
X2dldF9wYXRoICAgICAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CiBXRUJLSVRf
QVBJIFdlYktpdFdlYlZpZXcgKgogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3Zp
ZXcgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOwogCitXRUJLSVRfQVBJIFNvdXBN
ZXNzYWdlSGVhZGVycyAqCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9oZWFkZXJzICAo
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CisKIFdFQktJVF9BUEkgdm9pZAogd2Vi
a2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2ggICAgICAgKFdlYktpdFVSSVNjaGVtZVJlcXVl
c3QgKnJlcXVlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0lu
cHV0U3RyZWFtICAgICAgICAgICAqc3RyZWFtLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CmluZGV4IDY3OTAz
ZjVkODYyNGU4OGU1ZDVhZDRlM2JmOTlmZDE0ZTNkYjVhZGQuLjY4ZDFlM2U2ZmU2NzUwZTE4ZjQ2
ZjcyM2MyZGE4YzQ3ODY2NjM2Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKQEAgLTU0OSw2ICs1NDks
NyBAQCBXZWJLaXRVUklSZXF1ZXN0CiB3ZWJraXRfdXJpX3JlcXVlc3RfbmV3CiB3ZWJraXRfdXJp
X3JlcXVlc3RfZ2V0X3VyaQogd2Via2l0X3VyaV9yZXF1ZXN0X3NldF91cmkKK3dlYmtpdF91cmlf
cmVxdWVzdF9nZXRfaGVhZGVycwogd2Via2l0X3VyaV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZAog
d2Via2l0X3VyaV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMKIApAQCAtNTYyLDYgKzU2Myw3IEBA
IFdFQktJVF9JU19VUklfUkVRVUVTVF9DTEFTUwogV0VCS0lUX1VSSV9SRVFVRVNUX0dFVF9DTEFT
UwogCiA8U1VCU0VDVElPTiBQcml2YXRlPgorU291cE1lc3NhZ2VIZWFkZXJzCiBXZWJLaXRVUklS
ZXF1ZXN0UHJpdmF0ZQogd2Via2l0X3VyaV9yZXF1ZXN0X2dldF90eXBlCiA8L1NFQ1RJT04+Cg==
</data>
<flag name="review"
          id="397350"
          type_id="1"
          status="-"
          setter="cgarcia"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443262</attachid>
            <date>2021-11-03 17:44:03 -0700</date>
            <delta_ts>2021-11-05 01:13:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203273-20211103184402.patch</filename>
            <type>text/plain</type>
            <size>15706</size>
            <attacher>liushuyu011</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQyZjY4YjUxMGRiZDc1ODE4
OGYwZGU1Yjk4NWMwMmJiNDEyZGM0NjEuLjFlNTMxN2NkZTk0NTBlMDRmNDIzMDQ0OWMxYjEyM2Vj
MWNkN2U2ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMDIgIFppeGluZyBM
aXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0
IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyk6IEFkZGVkIG5ldyBB
UEkgZnVuY3Rpb24KKyAgICAgICAgKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2sp
OiBJbmNsdWRlIHVzZXItc3BlY2lmaWVkIGhlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwOgorICAgICAgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRIZWFkZXJzKTogQWRkZWQgYSBuZXcgcHJpdmF0ZSBnZXR0ZXIKKyAgICAg
ICAgKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMpOiBBZGRlZCBu
ZXcgQVBJIGZ1bmN0aW9uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuaDogQWRkZWQgZnVuY3Rpb24gcHJvdG90eXBlIGZvciAKKyAgICAg
ICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaDogQWRkZWQgZnVuY3Rp
b24gcHJvdG90eXBlIGZvciAKKyAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9zZXRf
aHR0cF9oZWFkZXJzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQ6IEFkZGVkIG5ldyBzeW1ib2xzCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oOiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5
cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRl
cnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
OiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X3NldF9odHRwX2hlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0OiBBZGRlZCBuZXcgc3ltYm9scworCiAyMDIxLTExLTAy
ICBaaXhpbmcgTGl1ICA8bGl1c2h1eXUwMTFAZ21haWwuY29tPgogCiAgICAgICAgIFtHVEtdW1dQ
RV0gU3VwcG9ydCBzZXR0aW5nIHN0YXR1cyBjb2RlIGFuZCBnZXR0aW5nIEhUVFAgbWV0aG9kIGlu
IGN1c3RvbSBVUkkgc2NoZW1lIGhhbmRsZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwCmluZGV4IDM0
NWQ0NDZmMWQzOGUzNmQ4ODVhZGRkMjk2NWZjN2E3NmZmMzdkYjguLjQ0YTBiODQ4ZTgwMzg4OTNj
OTFjZWNmNzY4YzdmNzc4NjBiNGQ5MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwCkBAIC03MCw2
ICs3MCw3IEBAIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUgewogICAgIGNo
YXIgcmVhZEJ1ZmZlcltnUmVhZEJ1ZmZlclNpemVdOwogICAgIHVpbnQ2NF90IGJ5dGVzUmVhZDsK
ICAgICBjb25zdCBjaGFyKiBodHRwTWV0aG9kOworICAgIEdSZWZQdHI8U291cE1lc3NhZ2VIZWFk
ZXJzPiBoZWFkZXJzOwogfTsKIAogV0VCS0lUX0RFRklORV9UWVBFKFdlYktpdFVSSVNjaGVtZVJl
cXVlc3QsIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3QsIEdfVFlQRV9PQkpFQ1QpCkBAIC0xODEs
NiArMTgyLDI5IEBAIGNvbnN0IGdjaGFyKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9o
dHRwX21ldGhvZChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByCiAgICAgcmV0dXJuIHJlcXVlc3Qt
PnByaXYtPmh0dHBNZXRob2Q7CiB9CiAKKy8qCisgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0
X2dldF9odHRwX2hlYWRlcnM6CisgKiBAcmVxdWVzdDogYSAjV2ViS2l0VVJJU2NoZW1lUmVxdWVz
dAorICoKKyAqIEdldCB0aGUgI1NvdXBNZXNzYWdlSGVhZGVycyBvZiB0aGUgcmVxdWVzdC4KKyAq
CisgKiBSZXR1cm5zOiAodHJhbnNmZXIgbm9uZSk6IHRoZSAjU291cE1lc3NhZ2VIZWFkZXJzIG9m
IHRoZSBAcmVxdWVzdC4KKyAqCisgKiBTaW5jZTogMi4zNgorICovCitTb3VwTWVzc2FnZUhlYWRl
cnMqIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyhXZWJLaXRVUklT
Y2hlbWVSZXF1ZXN0KiByZXF1ZXN0KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJ
VF9JU19VUklfU0NIRU1FX1JFUVVFU1QocmVxdWVzdCksIG51bGxwdHIpOworCisgICAgaWYgKCFy
ZXF1ZXN0LT5wcml2LT5oZWFkZXJzKSB7CisgICAgICAgIGF1dG8gaGVhZGVycyA9IHNvdXBfbWVz
c2FnZV9oZWFkZXJzX25ldyhTT1VQX01FU1NBR0VfSEVBREVSU19SRVFVRVNUKTsKKyAgICAgICAg
cmVxdWVzdC0+cHJpdi0+dGFzay0+cmVxdWVzdCgpLnVwZGF0ZVNvdXBNZXNzYWdlSGVhZGVycyho
ZWFkZXJzKTsKKyAgICAgICAgcmVxdWVzdC0+cHJpdi0+aGVhZGVycyA9IGhlYWRlcnM7CisgICAg
fQorCisgICAgcmV0dXJuIHJlcXVlc3QtPnByaXYtPmhlYWRlcnMuZ2V0KCk7Cit9CisKIHN0YXRp
YyB2b2lkIHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2soR0lucHV0U3RyZWFtKiBp
bnB1dFN0cmVhbSwgR0FzeW5jUmVzdWx0KiByZXN1bHQsIFdlYktpdFVSSVNjaGVtZVJlcXVlc3Qq
IHNjaGVtZVJlcXVlc3QpCiB7CiAgICAgR1JlZlB0cjxXZWJLaXRVUklTY2hlbWVSZXF1ZXN0PiBy
ZXF1ZXN0ID0gYWRvcHRHUmVmKHNjaGVtZVJlcXVlc3QpOwpAQCAtMjEyLDYgKzIzNiw5IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2soR0lucHV0U3RyZWFt
KiBpbnB1dFN0cmVhbSwgR0FzeW5jCiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlc3BvbnNlLm1p
bWVUeXBlKCkuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0TWltZVR5cGUoTUlN
RVR5cGVSZWdpc3RyeTo6bWltZVR5cGVGb3JQYXRoKHJlc3BvbnNlLnVybCgpLnBhdGgoKS50b1N0
cmluZygpKSk7CisgICAgICAgIFNvdXBNZXNzYWdlSGVhZGVycyogaGVhZGVycyA9IFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0SGVhZGVycyhyZXNwKTsKKyAgICAgICAgaWYgKGhlYWRlcnMpCisg
ICAgICAgICAgICByZXNwb25zZS51cGRhdGVGcm9tU291cE1lc3NhZ2VIZWFkZXJzKGhlYWRlcnMp
OwogICAgICAgICBwcml2LT50YXNrLT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2UpOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwCmluZGV4IDQzNDhlNGNjYjhiNGQ0NmZlYzU1Nzkx
ZTIyMjk5MzZhOTg3ZDAyZGEuLjBhMzVmY2FkNjljMTZkOGMzODIyNzkzMmJkYmI4OGI2ZGM0Nzg0
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVS
SVNjaGVtZVJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5jcHAKQEAgLTYyLDYgKzYyLDcgQEAgc3RydWN0IF9X
ZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUgewogICAgIGludCBzdGF0dXNDb2RlIHsgLTEg
fTsKICAgICBDU3RyaW5nIHN0YXR1c01lc3NhZ2U7CiAgICAgQ1N0cmluZyBjb250ZW50VHlwZTsK
KyAgICBHUmVmUHRyPFNvdXBNZXNzYWdlSGVhZGVycz4gaGVhZGVyczsKIH07CiAKIFdFQktJVF9E
RUZJTkVfVFlQRShXZWJLaXRVUklTY2hlbWVSZXNwb25zZSwgd2Via2l0X3VyaV9zY2hlbWVfcmVz
cG9uc2UsIEdfVFlQRV9PQkpFQ1QpCkBAIC0xNDksNiArMTUwLDExIEBAIHVpbnQ2NF90IFdlYktp
dFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtTGVuZ3RoKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlKiByCiAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5zdHJlYW1MZW5ndGg7CiB9CiAK
K1NvdXBNZXNzYWdlSGVhZGVycyogV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJzKFdl
YktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKK3sKKyAgICByZXR1cm4gcmVzcG9uc2Ut
PnByaXYtPmhlYWRlcnMuZ2V0KCk7Cit9CisKIC8qKgogICogd2Via2l0X3VyaV9zY2hlbWVfcmVz
cG9uc2VfbmV3OgogICogQGlucHV0X3N0cmVhbTogYSAjR0lucHV0U3RyZWFtIHRvIHJlYWQgdGhl
IGNvbnRlbnRzIG9mIHRoZSByZXF1ZXN0CkBAIC0xODQsNiArMTkwLDMxIEBAIHZvaWQgd2Via2l0
X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZShXZWJLaXRVUklTY2hlbWVSZXNw
b25zZSogcmVzcG9uCiAgICAgcmVzcG9uc2UtPnByaXYtPmNvbnRlbnRUeXBlID0gY29udGVudFR5
cGU7CiB9CiAKKy8qCisgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9oZWFk
ZXJzOgorICogQHJlc3BvbnNlOiBhICNXZWJLaXRVUklTY2hlbWVSZXNwb25zZQorICogQGhlYWRl
cnM6ICh0cmFuc2ZlciBub25lKTogdGhlIEhUVFAgaGVhZGVycyB0byBiZSBhcHBlbmRlZAorICoK
KyAqIEFwcGVuZCB0aGUgcHJvdmlkZWQgI1NvdXBNZXNzYWdlSGVhZGVycyB0byB0aGUgcmVzcG9u
c2UuCisgKiBBbnkgZXhpc3RpbmcgaGVhZGVycyB3aWxsIG5vdCBiZSBvdmVyd3JpdHRlbi4KKyAq
CisgKiBTaW5jZTogMi4zNgorICovCit2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3Nl
dF9odHRwX2hlYWRlcnMoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlLCBTb3VwTWVz
c2FnZUhlYWRlcnMqIGhlYWRlcnMpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNf
VVJJX1NDSEVNRV9SRVNQT05TRShyZXNwb25zZSkpOworCisgICAgaWYgKCFyZXNwb25zZS0+cHJp
di0+aGVhZGVycykgeworICAgICAgICBhdXRvIGhlYWRlcnMgPSBzb3VwX21lc3NhZ2VfaGVhZGVy
c19uZXcoU09VUF9NRVNTQUdFX0hFQURFUlNfUkVTUE9OU0UpOworICAgICAgICByZXNwb25zZS0+
cHJpdi0+aGVhZGVycyA9IGhlYWRlcnM7CisgICAgfQorCisgICAgLy8gaXRlcmF0ZSBvdmVyIGhl
YWRlcnMgYW5kIGFwcGVuZCB0aGVtIHRvIG91ciByZXNwb25zZSdzIGhlYWRlcnMnCisgICAgc291
cF9tZXNzYWdlX2hlYWRlcnNfZm9yZWFjaChoZWFkZXJzLCBbXShjb25zdCBjaGFyICpuYW1lLCBj
b25zdCBjaGFyICp2YWx1ZSwgZ3BvaW50ZXIgdXNlcl9kYXRhKSB7CisgICAgICAgIHNvdXBfbWVz
c2FnZV9oZWFkZXJzX2FwcGVuZChzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUhlYWRlcnMqPih1c2Vy
X2RhdGEpLCBuYW1lLCB2YWx1ZSk7CisgICAgfSwgcmVzcG9uc2UtPnByaXYtPmhlYWRlcnMuZ2V0
KCkpOworfQorCiAvKioKICAqIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9zdGF0dXM6
CiAgKiBAcmVzcG9uc2U6IGEgI1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVBy
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVt
ZVJlc3BvbnNlUHJpdmF0ZS5oCmluZGV4IDdiMGQ2ZjBhNzZkMzNlODQzMmUxMDhiN2RiMTM5OGVl
M2VkYmJkNzMuLjVhODFlZWM4ZWNhYWE4OWYwYTUyNmEyODVlNmZmNjA0OGQ3YzZjMzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJl
c3BvbnNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCkBAIC0yNywzICsyNyw0IEBAIEdJbnB1dFN0
cmVhbSogV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2UqKTsKIGNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0
U3RhdHVzTWVzc2FnZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwogY29uc3QgQ1N0
cmluZyYgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJLaXRV
UklTY2hlbWVSZXNwb25zZSopOwogdWludDY0X3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRT
dHJlYW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK1NvdXBNZXNzYWdl
SGVhZGVycyogV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJzKFdlYktpdFVSSVNjaGVt
ZVJlc3BvbnNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IDJiODhhYTZhODk3ODQ3YmExNGY2ZTg5
MjI0NjMwNzY4NWYzZGU5OWYuLjE3NWUxZjlkNTlkNTIzODNmNTQ0MGMzNmU1YjBkOWRkZDFkZGVm
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJ
U2NoZW1lUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0VVJJU2NoZW1lUmVxdWVzdC5oCkBAIC0yNSw2ICsyNSw3IEBACiAjZGVmaW5lIFdlYktpdFVS
SVNjaGVtZVJlcXVlc3RfaAogCiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRlIDxs
aWJzb3VwL3NvdXAtbWVzc2FnZS1oZWFkZXJzLmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRE
ZWZpbmVzLmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRGb3J3YXJkRGVjbGFyYXRpb25zLmg+
CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oPgpAQCAtNzUsNiAr
NzYsOSBAQCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmlldyAoV2ViS2l0VVJJ
U2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CiBXRUJLSVRfQVBJIGNvbnN0IGdjaGFyICoKIHdlYmtp
dF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9kIChXZWJLaXRVUklTY2hlbWVSZXF1
ZXN0ICpyZXF1ZXN0KTsKIAorV0VCS0lUX0FQSSBTb3VwTWVzc2FnZUhlYWRlcnMgKgord2Via2l0
X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzIChXZWJLaXRVUklTY2hlbWVSZXF1
ZXN0ICpyZXF1ZXN0KTsKKwogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1
ZXN0X2ZpbmlzaCAgICAgICAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHSW5wdXRTdHJlYW0gICAgICAgICAg
ICpzdHJlYW0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFVSSVNjaGVtZVJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgKaW5kZXggZGM3MGNlNjczZWEyNDRkZTA3MDBmMGY2
MDQxZWU2ZWFiNjBhNzdkZS4uZTdiMWU2OWVhZmU2ZmU4YTc5Nzc0ZDZiMTU1MWE0OTZiYTlkM2Mz
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklT
Y2hlbWVSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2UuaApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGdsaWIt
b2JqZWN0Lmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXREZWZpbmVzLmg+CiAjaW5jbHVkZSA8
d2Via2l0Mi9XZWJLaXRGb3J3YXJkRGVjbGFyYXRpb25zLmg+CisjaW5jbHVkZSA8bGlic291cC9z
b3VwLW1lc3NhZ2UtaGVhZGVycy5oPgogCiBHX0JFR0lOX0RFQ0xTCiAKQEAgLTcyLDYgKzczLDEw
IEBAIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRl
bnRfdHlwZSAgIChXZWJLaXRVUklTY2hlbWVSZXNwb25zZSAqcmVzcG9uc2UsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAg
ICAgICpjb250ZW50X3R5cGUpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF91cmlfc2NoZW1l
X3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMgICAoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgKnJl
c3BvbnNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT
b3VwTWVzc2FnZUhlYWRlcnMgICAgICAqaGVhZGVycyk7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtp
dDJndGstNC4wLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsv
ZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQKaW5kZXggNzdjNDU0YTVhNDIxOTMxMzBm
YzkyMTI3MzQ2OTAxYmI2ZGYzNjhjOS4uYzk4YzliYTdmMGIwZGQ2YmJmZmU5ZmM0NWI0NDg1Zjlh
N2M4OTE4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2Nz
L3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0CkBAIC0xMjc4LDYgKzEy
NzgsNyBAQCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF91cmkKIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZ2V0X3BhdGgKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92
aWV3CiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZAord2Via2l0X3Vy
aV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1
ZXN0X2ZpbmlzaAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfd2l0aF9yZXNwb25z
ZQogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfZXJyb3IKQEAgLTEzMDIsNiArMTMw
Myw3IEBAIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25z
ZV9uZXcKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUKIHdlYmtp
dF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9zdGF0dXMKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3Bv
bnNlX3NldF9odHRwX2hlYWRlcnMKIAogPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CiBXZWJLaXRVUklT
Y2hlbWVSZXNwb25zZUNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IGU4OGNhNzllNTc1ZTQ5YmY2
NzYxNzFjM2M5ZGM0Yzc0M2NkNWIwODAuLmE5YTQxODk0YWIzMDQwMjNlNzEwMmJmYmZiZTdmY2Uz
YmVhNDQ4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2Vi
S2l0VVJJU2NoZW1lUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93
cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCkBAIC0yNSw2ICsyNSw3IEBACiAjZGVmaW5lIFdl
YktpdFVSSVNjaGVtZVJlcXVlc3RfaAogCiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNs
dWRlIDxsaWJzb3VwL3NvdXAtbWVzc2FnZS1oZWFkZXJzLmg+CiAjaW5jbHVkZSA8d3BlL1dlYktp
dERlZmluZXMuaD4KICNpbmNsdWRlIDx3cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaD4KIApA
QCAtNzYsNiArNzcsOSBAQCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmlldyAo
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CiBXRUJLSVRfQVBJIGNvbnN0IGdjaGFy
ICoKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9kIChXZWJLaXRVUklT
Y2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKIAorV0VCS0lUX0FQSSBTb3VwTWVzc2FnZUhlYWRlcnMg
Kgord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzIChXZWJLaXRVUklT
Y2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKKwogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfdXJpX3Nj
aGVtZV9yZXF1ZXN0X2ZpbmlzaCAgICAgICAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVz
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHSW5wdXRTdHJlYW0g
ICAgICAgICAgICpzdHJlYW0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgKaW5kZXggMzIyMGIxZjQ2ODg2NzE2
MzlmNzZhZjgxYzcyNzVmZmU3OTFjYzVmMy4uYzgwOWQxZGMxOGJlMGExMDY0Njg5NmUxZDMwYTdl
ZmE3NWYxMThlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9X
ZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaApAQCAtMjYsNiArMjYsNyBAQAogCiAjaW5j
bHVkZSA8Z2xpYi1vYmplY3QuaD4KICNpbmNsdWRlIDx3cGUvV2ViS2l0RGVmaW5lcy5oPgorI2lu
Y2x1ZGUgPGxpYnNvdXAvc291cC1tZXNzYWdlLWhlYWRlcnMuaD4KIAogR19CRUdJTl9ERUNMUwog
CkBAIC03MSw2ICs3MiwxMCBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2NoZW1lX3Jl
c3BvbnNlX3NldF9jb250ZW50X3R5cGUgICAoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgKnJlc3Bv
bnNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBnY2hhciAgICAgICAgICAgICAqY29udGVudF90eXBlKTsKIAorV0VCS0lUX0FQSSB2b2lkCit3
ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJzICAgKFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlICpyZXNwb25zZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU291cE1lc3NhZ2VIZWFkZXJzICAgICAgKmhlYWRlcnMpOworCiBHX0VO
RF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dAppbmRleCAwYTljZjI0YzczOGQyY2Mw
NTc1ZjAwZDczZGRjZTdjMGI0NmJiZGE3Li5jMGUxMzU5YWJmZjdkMGY2YmYwODg1M2JhYmE4MzFl
NjQzMTJlNDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2Rv
Y3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CkBAIC0xMjE1LDYgKzEyMTUsNyBAQCB3ZWJr
aXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF91cmkKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3Rf
Z2V0X3BhdGgKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3CiB3ZWJraXRf
dXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZAord2Via2l0X3VyaV9zY2hlbWVfcmVx
dWVzdF9nZXRfaHR0cF9oZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaAog
d2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfd2l0aF9yZXNwb25zZQogd2Via2l0X3Vy
aV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfZXJyb3IKQEAgLTEyMzksNiArMTI0MCw3IEBAIFdlYktp
dFVSSVNjaGVtZVJlc3BvbnNlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9uZXcKIHdlYmtp
dF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUKIHdlYmtpdF91cmlfc2NoZW1l
X3Jlc3BvbnNlX3NldF9zdGF0dXMKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRw
X2hlYWRlcnMKIAogPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CiBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZUNsYXNzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggMjdhMGM3MWM2ZjIzNTE4ZjBjMzc0Njk2NjM3YWUyMTI3N2E2MWFiMy4uNjAwY2NjNDQ0ZGFi
YTQxNzNiODY0M2JlMTE2OWVkNzk1NjE4ZmYzZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTExLTAyICBaaXhp
bmcgTGl1ICA8bGl1c2h1eXUwMTFAZ21haWwuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gU3Vw
cG9ydCBnZXR0aW5nIGFuZCBzZXR0aW5nIEhUVFAgaGVhZGVycyBpbiBjdXN0b20gVVJJIHNjaGVt
ZSBoYW5kbGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAzMjczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYkNvbnRleHQu
Y3BwOgorICAgICAgICAodGVzdFdlYkNvbnRleHRVUklTY2hlbWUpOiBBZGRlZCBhIG5ldyB0ZXN0
IHRvIHRlc3QgZ2V0dGluZyBhbmQgc2V0dGluZyBIVFRQIGhlYWRlcnMgaW4gY3VzdG9tIFVSSSBz
Y2hlbWUgaGFuZGxlcnMKKwogMjAyMS0xMS0wMiAgWml4aW5nIExpdSAgPGxpdXNodXl1MDExQGdt
YWlsLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgc2V0dGluZyBzdGF0dXMgY29k
ZSBhbmQgZ2V0dGluZyBIVFRQIG1ldGhvZCBpbiBjdXN0b20gVVJJIHNjaGVtZSBoYW5kbGVycwpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJL
aXRXZWJDb250ZXh0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9U
ZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAKaW5kZXggOTA4YTQ5M2YxNGYwNjkwNTVjNTI2MTg3NmM0
NjMyNmJlMjVhNTgxNC4uM2RiYjFmZGFmNWFhN2VjYzg2ODEyMDhkMTVlNzJlZjU1NGFiODI1NiAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJL
aXRXZWJDb250ZXh0LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdM
aWIvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwCkBAIC0xMjksNiArMTI5LDExIEBAIHB1YmxpYzoK
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgZ19hc3NlcnRfY21wc3RyKG1ldGhvZCwgPT0sICJH
RVQiKTsKIAorICAgICAgICBpZiAoIWdfc3RyY21wMChtZXRob2QsICJoZWFkZXJzIikpIHsKKyAg
ICAgICAgICAgIGF1dG8gaGVhZGVycyA9IHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0
dHBfaGVhZGVycyhyZXF1ZXN0KTsKKyAgICAgICAgICAgIGdfYXNzZXJ0X2NtcHN0cihzb3VwX21l
c3NhZ2VfaGVhZGVyc19nZXRfb25lKGhlYWRlcnMsICJ4LXRlc3QiKSwgPT0sICJBIik7CisgICAg
ICAgIH0KKwogICAgICAgICBjb25zdCBVUklTY2hlbWVIYW5kbGVyJiBoYW5kbGVyID0gdGVzdC0+
bV9oYW5kbGVyc01hcC5nZXQoU3RyaW5nOjpmcm9tVVRGOChzY2hlbWUpKTsKIAogICAgICAgICBH
UmVmUHRyPEdJbnB1dFN0cmVhbT4gaW5wdXRTdHJlYW0gPSBhZG9wdEdSZWYoZ19tZW1vcnlfaW5w
dXRfc3RyZWFtX25ldygpKTsKQEAgLTMzNCw2ICszMzksMTQgQEAgc3RhdGljIHZvaWQgdGVzdFdl
YkNvbnRleHRVUklTY2hlbWUoVVJJU2NoZW1lVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKICAg
ICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNraW5n
VGVzdDo6UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CiAgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+
bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQpKTsKIAor
ICAgIHN0YXRpYyBjb25zdCBjaGFyKiBoZWFkZXJzSFRNTCA9ICI8aHRtbD48Ym9keT48c2NyaXB0
PmZldGNoKCdoZWFkZXJzOmRhdGEnLCB7aGVhZGVyczogeydYLVRlc3QnOiAnQSd9fSk8L3Njcmlw
dD48L2JvZHk+PC9odG1sPiI7CisgICAgdGVzdC0+cmVnaXN0ZXJVUklTY2hlbWVIYW5kbGVyKCJo
ZWFkZXJzIiwgbnVsbHB0ciwgMCwgImFwcGxpY2F0aW9uL2pzb24iLCAyMDQpOworICAgIHRlc3Qt
Pm1fbG9hZEV2ZW50cy5jbGVhcigpOworICAgIHRlc3QtPmxvYWRIdG1sKGhlYWRlcnNIVE1MLCAi
aGVhZGVyczpmb3JtIik7CisgICAgdGVzdC0+d2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7CisgICAg
Z19hc3NlcnRfZmFsc2UodGVzdC0+bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rl
c3Q6OlByb3Zpc2lvbmFsTG9hZEZhaWxlZCkpOworICAgIGdfYXNzZXJ0X2ZhbHNlKHRlc3QtPm1f
bG9hZEV2ZW50cy5jb250YWlucyhMb2FkVHJhY2tpbmdUZXN0OjpMb2FkRmFpbGVkKSk7CisKICAg
ICAvLyBUb3J0dXJlIHRlc3QgdGltZTogbWFrZSBzdXJlIGl0IHN0aWxsIHdvcmtzIGlmIHdlIGlz
c3VlIGEgYnVuY2ggb2YgZGlmZmVyZW50IHJlcXVlc3RzIGFsbCBhdAogICAgIC8vIG9uY2UuIEVh
Y2ggcmVxdWVzdCBzaG91bGQgZmluaXNoIGFuZCByZXR1cm4gZXhhY3RseSB0aGUgc2FtZSBkYXRh
LgogICAgIGludCBudW1JdGVyYXRpb25zID0gMjU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443381</attachid>
            <date>2021-11-05 01:13:27 -0700</date>
            <delta_ts>2021-11-05 02:35:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203273-20211105021327.patch</filename>
            <type>text/plain</type>
            <size>21924</size>
            <attacher>liushuyu011</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA5YmM3ZDNjYWEzODdjM2Vl
MGRmMjc2MTk1ZTY0ZWFjNDkxMDAwNzIuLmNkZDQzMDY3NDY2YTQ5ODg3YmU2ZTE2ZWFiMjZkNGY3
M2Y5NzkwYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMDQgIFppeGluZyBM
aXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0
IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyk6IEFkZGVkIG5ldyBB
UEkgZnVuY3Rpb24KKyAgICAgICAgKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2sp
OiBJbmNsdWRlIHVzZXItc3BlY2lmaWVkIGhlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwOgorICAgICAgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRIZWFkZXJzKTogQWRkZWQgYSBuZXcgcHJpdmF0ZSBnZXR0ZXIKKyAgICAg
ICAgKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMpOiBBZGRlZCBu
ZXcgQVBJIGZ1bmN0aW9uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuaDogQWRkZWQgZnVuY3Rpb24gcHJvdG90eXBlIGZvciAKKyAgICAg
ICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaDogQWRkZWQgZnVuY3Rp
b24gcHJvdG90eXBlIGZvciAKKyAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9zZXRf
aHR0cF9oZWFkZXJzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQ6IEFkZGVkIG5ldyBzeW1ib2xzCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oOiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5
cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRl
cnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
OiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X3NldF9odHRwX2hlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0OiBBZGRlZCBuZXcgc3ltYm9scworCiAyMDIxLTExLTA0
ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBB
UiBRdWlja2xvb2sgYXNzZXQgaXMgc2hhcmVkIGluc3RlYWQgb2YgcGFnZSBVUkwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVl
c3QuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdC5jcHAKaW5kZXggMzQ1ZDQ0NmYxZDM4ZTM2ZDg4NWFkZGQyOTY1ZmM3YTc2ZmYzN2Ri
OC4uZjU1YzJmOTcxZDRiYzc3NzcyNmFiZjZjMzkyMzAxYmQwZTZmNjM5MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdC5jcHAKQEAgLTcwLDYgKzcwLDcgQEAgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1
ZXN0UHJpdmF0ZSB7CiAgICAgY2hhciByZWFkQnVmZmVyW2dSZWFkQnVmZmVyU2l6ZV07CiAgICAg
dWludDY0X3QgYnl0ZXNSZWFkOwogICAgIGNvbnN0IGNoYXIqIGh0dHBNZXRob2Q7CisgICAgR1Vu
aXF1ZVB0cjxTb3VwTWVzc2FnZUhlYWRlcnM+IGhlYWRlcnM7CiB9OwogCiBXRUJLSVRfREVGSU5F
X1RZUEUoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCwgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdCwg
R19UWVBFX09CSkVDVCkKQEAgLTE4MSw2ICsxODIsMzAgQEAgY29uc3QgZ2NoYXIqIHdlYmtpdF91
cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9kKFdlYktpdFVSSVNjaGVtZVJlcXVlc3Qq
IHIKICAgICByZXR1cm4gcmVxdWVzdC0+cHJpdi0+aHR0cE1ldGhvZDsKIH0KIAorLyoKKyAqIHdl
YmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVyczoKKyAqIEByZXF1ZXN0OiBh
ICNXZWJLaXRVUklTY2hlbWVSZXF1ZXN0CisgKgorICogR2V0IHRoZSAjU291cE1lc3NhZ2VIZWFk
ZXJzIG9mIHRoZSByZXF1ZXN0LgorICoKKyAqIFJldHVybnM6ICh0cmFuc2ZlciBub25lKTogdGhl
ICNTb3VwTWVzc2FnZUhlYWRlcnMgb2YgdGhlIEByZXF1ZXN0LgorICoKKyAqIFNpbmNlOiAyLjM2
CisgKi8KK1NvdXBNZXNzYWdlSGVhZGVycyogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRf
aHR0cF9oZWFkZXJzKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1VSSV9TQ0hFTUVfUkVRVUVTVChyZXF1ZXN0KSwg
bnVsbHB0cik7CisKKyAgICBpZiAoIXJlcXVlc3QtPnByaXYtPmhlYWRlcnMpIHsKKyAgICAgICAg
YXV0byogaGVhZGVycyA9IHNvdXBfbWVzc2FnZV9oZWFkZXJzX25ldyhTT1VQX01FU1NBR0VfSEVB
REVSU19SRVFVRVNUKTsKKyAgICAgICAgcmVxdWVzdC0+cHJpdi0+dGFzay0+cmVxdWVzdCgpLnVw
ZGF0ZVNvdXBNZXNzYWdlSGVhZGVycyhoZWFkZXJzKTsKKyAgICAgICAgLy8gVW5mb3J0dW5hdGVs
eSwgU291cE1lc3NhZ2VIZWFkZXJzIGlzIG5vdCBhIEdPYmplY3QuIFNvIHdlIG5lZWQgdG8gdXNl
IEdVbmlxdWVQdHIgaW5zdGVhZCBvZiBHUmVmUHRyLgorICAgICAgICByZXF1ZXN0LT5wcml2LT5o
ZWFkZXJzID0gR1VuaXF1ZVB0cjxTb3VwTWVzc2FnZUhlYWRlcnM+KGhlYWRlcnMpOworICAgIH0K
KworICAgIHJldHVybiByZXF1ZXN0LT5wcml2LT5oZWFkZXJzLmdldCgpOworfQorCiBzdGF0aWMg
dm9pZCB3ZWJraXRVUklTY2hlbWVSZXF1ZXN0UmVhZENhbGxiYWNrKEdJbnB1dFN0cmVhbSogaW5w
dXRTdHJlYW0sIEdBc3luY1Jlc3VsdCogcmVzdWx0LCBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiBz
Y2hlbWVSZXF1ZXN0KQogewogICAgIEdSZWZQdHI8V2ViS2l0VVJJU2NoZW1lUmVxdWVzdD4gcmVx
dWVzdCA9IGFkb3B0R1JlZihzY2hlbWVSZXF1ZXN0KTsKQEAgLTE5OSwxOSArMjI0LDIxIEBAIHN0
YXRpYyB2b2lkIHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2soR0lucHV0U3RyZWFt
KiBpbnB1dFN0cmVhbSwgR0FzeW5jCiAKICAgICBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVz
cCA9IHByaXYtPnJlc3BvbnNlLmdldCgpOwogICAgIGlmICghcHJpdi0+Ynl0ZXNSZWFkKSB7Ci0g
ICAgICAgIENTdHJpbmcgY29udGVudFR5cGUgPSBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldENv
bnRlbnRUeXBlKHJlc3ApOwotICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlKHByaXYt
PnRhc2stPnJlcXVlc3QoKS51cmwoKSwgZXh0cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShjb250
ZW50VHlwZS5kYXRhKCkpLCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChy
ZXNwKSwgZW1wdHlTdHJpbmcoKSk7CisgICAgICAgIENTdHJpbmcgY29udGVudFR5cGUgPSB3ZWJL
aXRVUklTY2hlbWVSZXNwb25zZUdldENvbnRlbnRUeXBlKHJlc3ApOworICAgICAgICBSZXNvdXJj
ZVJlc3BvbnNlIHJlc3BvbnNlKHByaXYtPnRhc2stPnJlcXVlc3QoKS51cmwoKSwgZXh0cmFjdE1J
TUVUeXBlRnJvbU1lZGlhVHlwZShjb250ZW50VHlwZS5kYXRhKCkpLCB3ZWJLaXRVUklTY2hlbWVS
ZXNwb25zZUdldFN0cmVhbUxlbmd0aChyZXNwKSwgZW1wdHlTdHJpbmcoKSk7CiAgICAgICAgIHJl
c3BvbnNlLnNldFRleHRFbmNvZGluZ05hbWUoZXh0cmFjdENoYXJzZXRGcm9tTWVkaWFUeXBlKGNv
bnRlbnRUeXBlLmRhdGEoKSkpOwotICAgICAgICBjb25zdCBDU3RyaW5nJiBzdGF0dXNNZXNzYWdl
ID0gV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNNZXNzYWdlKHJlc3ApOworICAgICAg
ICBjb25zdCBDU3RyaW5nJiBzdGF0dXNNZXNzYWdlID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VH
ZXRTdGF0dXNNZXNzYWdlKHJlc3ApOwogICAgICAgICBpZiAoc3RhdHVzTWVzc2FnZS5pc051bGwo
KSkgewogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c0NvZGUoMjAwKTsKICAgICAg
ICAgICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNUZXh0KCJPSyJfcyk7CiAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQU3RhdHVzQ29kZShXZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldFN0YXR1c0NvZGUocmVzcCkpOworICAgICAgICAgICAgcmVzcG9uc2Uuc2V0
SFRUUFN0YXR1c0NvZGUod2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKHJlc3Ap
KTsKICAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNUZXh0KHN0YXR1c01lc3NhZ2Uu
ZGF0YSgpKTsKICAgICAgICAgfQogICAgICAgICBpZiAocmVzcG9uc2UubWltZVR5cGUoKS5pc0Vt
cHR5KCkpCiAgICAgICAgICAgICByZXNwb25zZS5zZXRNaW1lVHlwZShNSU1FVHlwZVJlZ2lzdHJ5
OjptaW1lVHlwZUZvclBhdGgocmVzcG9uc2UudXJsKCkucGF0aCgpLnRvU3RyaW5nKCkpKTsKKyAg
ICAgICAgaWYgKGF1dG8qIGhlYWRlcnMgPSB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldEhlYWRl
cnMocmVzcCkpCisgICAgICAgICAgICByZXNwb25zZS51cGRhdGVGcm9tU291cE1lc3NhZ2VIZWFk
ZXJzKGhlYWRlcnMpOwogICAgICAgICBwcml2LT50YXNrLT5kaWRSZWNlaXZlUmVzcG9uc2UocmVz
cG9uc2UpOwogICAgIH0KIApAQCAtMjY2LDcgKzI5Myw3IEBAIHZvaWQgd2Via2l0X3VyaV9zY2hl
bWVfcmVxdWVzdF9maW5pc2hfd2l0aF9yZXNwb25zZShXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiBy
ZXF1CiAgICAgcmVxdWVzdC0+cHJpdi0+Y2FuY2VsbGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxs
YWJsZV9uZXcoKSk7CiAgICAgcmVxdWVzdC0+cHJpdi0+cmVzcG9uc2UgPSByZXNwb25zZTsKIAot
ICAgIGdfaW5wdXRfc3RyZWFtX3JlYWRfYXN5bmMoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRT
dHJlYW0ocmVzcG9uc2UpLCByZXF1ZXN0LT5wcml2LT5yZWFkQnVmZmVyLCBnUmVhZEJ1ZmZlclNp
emUsIFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6QXN5bmNJT05ldHdvcmssIHJlcXVlc3QtPnByaXYt
PmNhbmNlbGxhYmxlLmdldCgpLAorICAgIGdfaW5wdXRfc3RyZWFtX3JlYWRfYXN5bmMod2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0ocmVzcG9uc2UpLCByZXF1ZXN0LT5wcml2LT5yZWFk
QnVmZmVyLCBnUmVhZEJ1ZmZlclNpemUsIFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6QXN5bmNJT05l
dHdvcmssIHJlcXVlc3QtPnByaXYtPmNhbmNlbGxhYmxlLmdldCgpLAogICAgICAgICByZWludGVy
cHJldF9jYXN0PEdBc3luY1JlYWR5Q2FsbGJhY2s+KHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFk
Q2FsbGJhY2spLCBnX29iamVjdF9yZWYocmVxdWVzdCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25z
ZS5jcHAKaW5kZXggNDM0OGU0Y2NiOGI0ZDQ2ZmVjNTU3OTFlMjIyOTkzNmE5ODdkMDJkYS4uYzI4
NjUxOWQ3MWI1NWJiNzY4YWUxMTUyNzFmZTU3MTc5NWJlMWNlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlLmNwcApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKICNp
bmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4K
KyNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvV1RG
R1R5cGUuaD4KIAogZW51bSB7CkBAIC02Miw2ICs2Myw3IEBAIHN0cnVjdCBfV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VQcml2YXRlIHsKICAgICBpbnQgc3RhdHVzQ29kZSB7IC0xIH07CiAgICAgQ1N0
cmluZyBzdGF0dXNNZXNzYWdlOwogICAgIENTdHJpbmcgY29udGVudFR5cGU7CisgICAgR1VuaXF1
ZVB0cjxTb3VwTWVzc2FnZUhlYWRlcnM+IGhlYWRlcnM7CiB9OwogCiBXRUJLSVRfREVGSU5FX1RZ
UEUoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UsIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlLCBH
X1RZUEVfT0JKRUNUKQpAQCAtMTI0LDMxICsxMjYsMzYgQEAgc3RhdGljIHZvaWQgd2Via2l0X3Vy
aV9zY2hlbWVfcmVzcG9uc2VfY2xhc3NfaW5pdChXZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNz
KgogfQogCiAvLyBQcml2YXRlIGdldHRlcnMKLWludCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdl
dFN0YXR1c0NvZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQoraW50
IHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShjb25zdCBXZWJLaXRVUklTY2hl
bWVSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5zdGF0
dXNDb2RlOwogfQogCi1HSW5wdXRTdHJlYW0qIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3Ry
ZWFtKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKK0dJbnB1dFN0cmVh
bSogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2UqIHJlc3BvbnNlKQogewogICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+c3RyZWFt
LmdldCgpOwogfQogCi1jb25zdCBDU3RyaW5nJiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0
YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQorY29u
c3QgQ1N0cmluZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNNZXNzYWdlKGNvbnN0
IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVzcG9u
c2UtPnByaXYtPnN0YXR1c01lc3NhZ2U7CiB9CiAKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlR2V0Q29udGVudFR5cGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uq
IHJlc3BvbnNlKQorY29uc3QgQ1N0cmluZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250
ZW50VHlwZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAg
cmV0dXJuIHJlc3BvbnNlLT5wcml2LT5jb250ZW50VHlwZTsKIH0KIAotdWludDY0X3QgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2UqIHJlc3BvbnNlKQordWludDY0X3Qgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJl
YW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQogewogICAg
IHJldHVybiByZXNwb25zZS0+cHJpdi0+c3RyZWFtTGVuZ3RoOwogfQogCitTb3VwTWVzc2FnZUhl
YWRlcnMqIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0SGVhZGVycyhXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZSogcmVzcG9uc2UpCit7CisgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5oZWFkZXJz
LmdldCgpOworfQorCiAvKioKICAqIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX25ldzoKICAq
IEBpbnB1dF9zdHJlYW06IGEgI0dJbnB1dFN0cmVhbSB0byByZWFkIHRoZSBjb250ZW50cyBvZiB0
aGUgcmVxdWVzdApAQCAtMTg0LDYgKzE5MSwyNSBAQCB2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3Jl
c3BvbnNlX3NldF9jb250ZW50X3R5cGUoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3Bvbgog
ICAgIHJlc3BvbnNlLT5wcml2LT5jb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlOwogfQogCisvKgor
ICogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVyczoKKyAqIEByZXNw
b25zZTogYSAjV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UKKyAqIEBoZWFkZXJzOiAodHJhbnNmZXIg
ZnVsbCk6IHRoZSBIVFRQIGhlYWRlcnMgdG8gYmUgc2V0CisgKgorICogQXNzaWduIHRoZSBwcm92
aWRlZCAjU291cE1lc3NhZ2VIZWFkZXJzIHRvIHRoZSByZXNwb25zZS4KKyAqIEBoZWFkZXJzIG5l
ZWQgdG8gYmUgb2YgdGhlIHR5cGUgJVNPVVBfTUVTU0FHRV9IRUFERVJTX1JFU1BPTlNFLgorICog
QW55IGV4aXN0aW5nIGhlYWRlcnMgd2lsbCBiZSBvdmVyd3JpdHRlbi4KKyAqCisgKiBTaW5jZTog
Mi4zNgorICovCit2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRl
cnMoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlLCBTb3VwTWVzc2FnZUhlYWRlcnMq
IGhlYWRlcnMpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfVVJJX1NDSEVNRV9S
RVNQT05TRShyZXNwb25zZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoc291cF9tZXNzYWdlX2hl
YWRlcnNfZ2V0X2hlYWRlcnNfdHlwZShoZWFkZXJzKSA9PSBTT1VQX01FU1NBR0VfSEVBREVSU19S
RVNQT05TRSk7CisKKyAgICByZXNwb25zZS0+cHJpdi0+aGVhZGVycyA9IEdVbmlxdWVQdHI8U291
cE1lc3NhZ2VIZWFkZXJzPihoZWFkZXJzKTsKK30KKwogLyoqCiAgKiB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXNwb25zZV9zZXRfc3RhdHVzOgogICogQHJlc3BvbnNlOiBhICNXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUuaAppbmRleCA3YjBkNmYwYTc2
ZDMzZTg0MzJlMTA4YjdkYjEzOThlZTNlZGJiZDczLi5hNTY0Y2E2YTU5ZmM5MGZlZDE5NjZkNzUz
OWI5M2E4NWFhYjY0MzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUuaApAQCAt
MjIsOCArMjIsOSBAQAogI2luY2x1ZGUgIldlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgiCiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCi1pbnQgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VH
ZXRTdGF0dXNDb2RlKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7Ci1HSW5wdXRTdHJl
YW0qIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtKGNvbnN0IFdlYktpdFVSSVNjaGVt
ZVJlc3BvbnNlKik7Ci1jb25zdCBDU3RyaW5nJiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0
YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKLWNvbnN0IENTdHJp
bmcmIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0Q29udGVudFR5cGUoY29uc3QgV2ViS2l0VVJJ
U2NoZW1lUmVzcG9uc2UqKTsKLXVpbnQ2NF90IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3Ry
ZWFtTGVuZ3RoKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7CitpbnQgd2ViS2l0VVJJ
U2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
Kik7CitHSW5wdXRTdHJlYW0qIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtKGNvbnN0
IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7Citjb25zdCBDU3RyaW5nJiB3ZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldFN0YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uq
KTsKK2NvbnN0IENTdHJpbmcmIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0Q29udGVudFR5cGUo
Y29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK3VpbnQ2NF90IHdlYktpdFVSSVNjaGVt
ZVJlc3BvbnNlR2V0U3RyZWFtTGVuZ3RoKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7
CitTb3VwTWVzc2FnZUhlYWRlcnMqIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0SGVhZGVycyhX
ZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaAppbmRleCAyYjg4YWE2YTg5
Nzg0N2JhMTRmNmU4OTIyNDYzMDc2ODVmM2RlOTlmLi4xMWEzNzg0NDg1YzhlMTY1Y2E2MTJlODJk
ZDI5M2RkNDY3NmQwYzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaApAQCAtNDIsNiArNDIsOCBAQCB0eXBl
ZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAgICAgICAgV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdDsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2xhc3MgICBX
ZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2No
ZW1lUmVxdWVzdFByaXZhdGUgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGU7CiAKK3R5cGVk
ZWYgc3RydWN0IF9Tb3VwTWVzc2FnZUhlYWRlcnMgU291cE1lc3NhZ2VIZWFkZXJzOworCiBzdHJ1
Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3QgewogICAgIEdPYmplY3QgcGFyZW50OwogCkBAIC03
NSw2ICs3Nyw5IEBAIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3IChXZWJL
aXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKIFdFQktJVF9BUEkgY29uc3QgZ2NoYXIgKgog
d2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9tZXRob2QgKFdlYktpdFVSSVNjaGVt
ZVJlcXVlc3QgKnJlcXVlc3QpOwogCitXRUJLSVRfQVBJIFNvdXBNZXNzYWdlSGVhZGVycyAqCit3
ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMgKFdlYktpdFVSSVNjaGVt
ZVJlcXVlc3QgKnJlcXVlc3QpOworCiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZmluaXNoICAgICAgIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdJbnB1dFN0cmVhbSAgICAg
ICAgICAgKnN0cmVhbSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaAppbmRleCBkYzcwY2U2NzNlYTI0NGRlMDcw
MGYwZjYwNDFlZTZlYWI2MGE3N2RlLi44ZjBkNTU4YzE2ZWUxODU4ZjNiOTdhYWUwYWFiNDg4ZDkw
MTAyMTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oCkBAIC00MCw2ICs0MCw3IEBAIEdfQkVHSU5fREVD
TFMKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZSAgICAgICAgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2U7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2VDbGFzcyAgIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlQ2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBf
V2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJp
dmF0ZTsKK3R5cGVkZWYgc3RydWN0IF9Tb3VwTWVzc2FnZUhlYWRlcnMgICAgICAgICAgICAgU291
cE1lc3NhZ2VIZWFkZXJzOwogCiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlIHsKICAg
ICBHT2JqZWN0IHBhcmVudDsKQEAgLTcyLDYgKzczLDEwIEBAIFdFQktJVF9BUEkgdm9pZAogd2Vi
a2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZSAgIChXZWJLaXRVUklTY2hl
bWVSZXNwb25zZSAqcmVzcG9uc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAgICpjb250ZW50X3R5cGUpOwogCitX
RUJLSVRfQVBJIHZvaWQKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRl
cnMgICAoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgKnJlc3BvbnNlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VwTWVzc2FnZUhlYWRlcnMgICAgICAq
aGVhZGVycyk7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0
aW9ucy50eHQKaW5kZXggNzdjNDU0YTVhNDIxOTMxMzBmYzkyMTI3MzQ2OTAxYmI2ZGYzNjhjOS4u
Yzk4YzliYTdmMGIwZGQ2YmJmZmU5ZmM0NWI0NDg1ZjlhN2M4OTE4NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25z
LnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0
ay00LjAtc2VjdGlvbnMudHh0CkBAIC0xMjc4LDYgKzEyNzgsNyBAQCB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X2dldF91cmkKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3BhdGgKIHdl
YmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3CiB3ZWJraXRfdXJpX3NjaGVtZV9y
ZXF1ZXN0X2dldF9odHRwX21ldGhvZAord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0
cF9oZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaAogd2Via2l0X3VyaV9z
Y2hlbWVfcmVxdWVzdF9maW5pc2hfd2l0aF9yZXNwb25zZQogd2Via2l0X3VyaV9zY2hlbWVfcmVx
dWVzdF9maW5pc2hfZXJyb3IKQEAgLTEzMDIsNiArMTMwMyw3IEBAIFdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9uZXcKIHdlYmtpdF91cmlfc2NoZW1l
X3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3Nl
dF9zdGF0dXMKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMKIAog
PFNVQlNFQ1RJT04gU3RhbmRhcmQ+CiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJl
cXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdC5oCmluZGV4IGU4OGNhNzllNTc1ZTQ5YmY2NzYxNzFjM2M5ZGM0Yzc0M2NkNWIwODAu
LjBiOWMwMzQxZmYwNjdmY2MxZmYxOGU1ZmQyYTg1NTAzZTMxNWE1MDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVz
dC5oCkBAIC00Miw2ICs0Miw3IEBAIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1
ZXN0Q2xhc3MgICBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBf
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZh
dGU7CiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJWaWV3IFdlYktpdFdlYlZpZXc7Cit0eXBl
ZGVmIHN0cnVjdCBfU291cE1lc3NhZ2VIZWFkZXJzIFNvdXBNZXNzYWdlSGVhZGVyczsKIAogc3Ry
dWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0IHsKICAgICBHT2JqZWN0IHBhcmVudDsKQEAgLTc2
LDYgKzc3LDkgQEAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcgKFdlYktp
dFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOwogV0VCS0lUX0FQSSBjb25zdCBnY2hhciAqCiB3
ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZCAoV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdCAqcmVxdWVzdCk7CiAKK1dFQktJVF9BUEkgU291cE1lc3NhZ2VIZWFkZXJzICoKK3dl
YmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyAoV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdCAqcmVxdWVzdCk7CisKIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3VyaV9zY2hlbWVf
cmVxdWVzdF9maW5pc2ggICAgICAgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0lucHV0U3RyZWFtICAgICAg
ICAgICAqc3RyZWFtLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dw
ZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oCmluZGV4IDMyMjBiMWY0Njg4NjcxNjM5Zjc2
YWY4MWM3Mjc1ZmZlNzkxY2M1ZjMuLmE3ODBlZDRhMjI0MGNlYjQ5MTE2YzJlNGVkNzgzYWY5OTI2
MmZkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3Bl
L1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgKQEAgLTM5LDYgKzM5LDcgQEAgR19CRUdJTl9ERUNM
UwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlICAgICAgICBXZWJLaXRV
UklTY2hlbWVSZXNwb25zZTsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25z
ZUNsYXNzICAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VDbGFzczsKIHR5cGVkZWYgc3RydWN0IF9X
ZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2
YXRlOwordHlwZWRlZiBzdHJ1Y3QgX1NvdXBNZXNzYWdlSGVhZGVycyAgICAgICAgICAgICBTb3Vw
TWVzc2FnZUhlYWRlcnM7CiAKIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgewogICAg
IEdPYmplY3QgcGFyZW50OwpAQCAtNzEsNiArNzIsMTAgQEAgV0VCS0lUX0FQSSB2b2lkCiB3ZWJr
aXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfY29udGVudF90eXBlICAgKFdlYktpdFVSSVNjaGVt
ZVJlc3BvbnNlICpyZXNwb25zZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICAgKmNvbnRlbnRfdHlwZSk7CiAKK1dF
QktJVF9BUEkgdm9pZAord2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVy
cyAgIChXZWJLaXRVUklTY2hlbWVSZXNwb25zZSAqcmVzcG9uc2UsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXBNZXNzYWdlSGVhZGVycyAgICAgICpo
ZWFkZXJzKTsKKwogR19FTkRfREVDTFMKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKaW5kZXgg
MGE5Y2YyNGM3MzhkMmNjMDU3NWYwMGQ3M2RkY2U3YzBiNDZiYmRhNy4uYzBlMTM1OWFiZmY3ZDBm
NmJmMDg4NTNiYWJhODMxZTY0MzEyZTQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dApAQCAtMTIxNSw2
ICsxMjE1LDcgQEAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfdXJpCiB3ZWJraXRfdXJp
X3NjaGVtZV9yZXF1ZXN0X2dldF9wYXRoCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93
ZWJfdmlldwogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9tZXRob2QKK3dlYmtp
dF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycwogd2Via2l0X3VyaV9zY2hlbWVf
cmVxdWVzdF9maW5pc2gKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoX3dpdGhfcmVz
cG9uc2UKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoX2Vycm9yCkBAIC0xMjM5LDYg
KzEyNDAsNyBAQCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZQogd2Via2l0X3VyaV9zY2hlbWVfcmVz
cG9uc2VfbmV3CiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfY29udGVudF90eXBlCiB3
ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfc3RhdHVzCit3ZWJraXRfdXJpX3NjaGVtZV9y
ZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJzCiAKIDxTVUJTRUNUSU9OIFN0YW5kYXJkPgogV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VDbGFzcwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDUyZmU5ZDAzZDJhMjlkYjUzYTcyZDI5YTBkZWUwMzdlMDIwNTI2
YzkuLmRlN2JmYTAwMzc1MWJiYWM5ZTA4OTBiMzFjYjRjZDAxNDE5ZGE1NTMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMS0xMS0wNCAgWml4aW5nIExpdSAgPGxpdXNodXl1MDExQGdtYWlsLmNvbT4KKworICAgICAg
ICBbR1RLXVtXUEVdIFN1cHBvcnQgZ2V0dGluZyBhbmQgc2V0dGluZyBIVFRQIGhlYWRlcnMgaW4g
Y3VzdG9tIFVSSSBzY2hlbWUgaGFuZGxlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMzI3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RX
ZWJLaXRXZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKHRlc3RXZWJDb250ZXh0VVJJU2NoZW1lKTog
QWRkZWQgYSBuZXcgdGVzdCB0byB0ZXN0IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJz
IGluIGN1c3RvbSBVUkkgc2NoZW1lIGhhbmRsZXJzCisKIDIwMjEtMTEtMDMgIEpvbmF0aGFuIEJl
ZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFtnaXQtd2Via2l0XSBBZGQgbGFu
ZCBjb21tYW5kCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdM
aWIvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcAppbmRleCA5MDhhNDkzZjE0ZjA2OTA1
NWM1MjYxODc2YzQ2MzI2YmUyNWE1ODE0Li44NWYxN2Y0MDg5NzgxYmMxMjY4YzY5OTAxZGY5MDJk
NTNkMjdiZDY5IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdM
aWIvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTIyLDYgKzIyLDcgQEAK
ICNpbmNsdWRlICJMb2FkVHJhY2tpbmdUZXN0LmgiCiAjaW5jbHVkZSAiV2ViS2l0VGVzdFNlcnZl
ci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvU291cFZlcnNpb25pbmcuaD4KKyNpbmNsdWRlIDxsaWJz
b3VwL3NvdXAtbWVzc2FnZS1oZWFkZXJzLmg+CiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVk
ZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KQEAgLTEyOSw2ICsxMzAsMTIg
QEAgcHVibGljOgogICAgICAgICBlbHNlCiAgICAgICAgICAgICBnX2Fzc2VydF9jbXBzdHIobWV0
aG9kLCA9PSwgIkdFVCIpOwogCisgICAgICAgIGlmICghZ19zdHJjbXAwKHNjaGVtZSwgImhlYWRl
cnMiKSkgeworICAgICAgICAgICAgYXV0byogaGVhZGVycyA9IHdlYmtpdF91cmlfc2NoZW1lX3Jl
cXVlc3RfZ2V0X2h0dHBfaGVhZGVycyhyZXF1ZXN0KTsKKyAgICAgICAgICAgIGdfYXNzZXJ0X2Nt
cHN0cihzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfb25lKGhlYWRlcnMsICJ4LXRlc3QiKSwgPT0s
ICJBIik7CisgICAgICAgICAgICBnX2Fzc2VydF9jbXBzdHIoc291cF9tZXNzYWdlX2hlYWRlcnNf
Z2V0X2xpc3QoaGVhZGVycywgIngtdGVzdDIiKSwgPT0sICIxLCAyLCAzLCA0Iik7CisgICAgICAg
IH0KKwogICAgICAgICBjb25zdCBVUklTY2hlbWVIYW5kbGVyJiBoYW5kbGVyID0gdGVzdC0+bV9o
YW5kbGVyc01hcC5nZXQoU3RyaW5nOjpmcm9tVVRGOChzY2hlbWUpKTsKIAogICAgICAgICBHUmVm
UHRyPEdJbnB1dFN0cmVhbT4gaW5wdXRTdHJlYW0gPSBhZG9wdEdSZWYoZ19tZW1vcnlfaW5wdXRf
c3RyZWFtX25ldygpKTsKQEAgLTE2Niw2ICsxNzMsMTEgQEAgcHVibGljOgogICAgICAgICBhdXRv
IHJlc3BvbnNlID0gYWRvcHRHUmVmKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX25ldyhpbnB1
dFN0cmVhbS5nZXQoKSwgaGFuZGxlci5yZXBseUxlbmd0aCkpOwogICAgICAgICB3ZWJraXRfdXJp
X3NjaGVtZV9yZXNwb25zZV9zZXRfc3RhdHVzKHJlc3BvbnNlLmdldCgpLCBoYW5kbGVyLnN0YXR1
c0NvZGUsIG51bGxwdHIpOwogICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRf
Y29udGVudF90eXBlKHJlc3BvbnNlLmdldCgpLCBoYW5kbGVyLm1pbWVUeXBlLmRhdGEoKSk7Cisg
ICAgICAgIGlmICghZ19zdHJjbXAwKHNjaGVtZSwgImhlYWRlcnNyZXNwIikpIHsKKyAgICAgICAg
ICAgIGF1dG8qIGhlYWRlcnMgPSBzb3VwX21lc3NhZ2VfaGVhZGVyc19uZXcoU09VUF9NRVNTQUdF
X0hFQURFUlNfUkVTUE9OU0UpOworICAgICAgICAgICAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBw
ZW5kKGhlYWRlcnMsICJ4LXRlc3QiLCAidGVzdF92YWx1ZSIpOworICAgICAgICAgICAgd2Via2l0
X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVycyhyZXNwb25zZS5nZXQoKSwgaGVh
ZGVycyk7CisgICAgICAgIH0KICAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5p
c2hfd2l0aF9yZXNwb25zZShyZXF1ZXN0LCByZXNwb25zZS5nZXQoKSk7CiAgICAgfQogCkBAIC0z
MzQsNiArMzQ2LDI1IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJDb250ZXh0VVJJU2NoZW1lKFVSSVNj
aGVtZVRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+
bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OlByb3Zpc2lvbmFsTG9hZEZh
aWxlZCkpOwogICAgIGdfYXNzZXJ0X2ZhbHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhM
b2FkVHJhY2tpbmdUZXN0OjpMb2FkRmFpbGVkKSk7CiAKKyAgICBzdGF0aWMgY29uc3QgY2hhciog
aGVhZGVyc0hUTUwgPSAiPGh0bWw+PGJvZHk+PHNjcmlwdD5sZXQgaGRycyA9IG5ldyBIZWFkZXJz
KHsnWC1UZXN0JzogJ0EnLCAnWC1UZXN0Mic6ICcxLCAyLCAzJ30pO2hkcnMuYXBwZW5kKCdYLVRl
c3QyJywgJzQnKTtmZXRjaCgnaGVhZGVyczpkYXRhJywge2hlYWRlcnM6IGhkcnN9KTwvc2NyaXB0
PjwvYm9keT48L2h0bWw+IjsKKyAgICB0ZXN0LT5yZWdpc3RlclVSSVNjaGVtZUhhbmRsZXIoImhl
YWRlcnMiLCBudWxscHRyLCAwLCAiYXBwbGljYXRpb24vanNvbiIsIDIwNCk7CisgICAgdGVzdC0+
bV9sb2FkRXZlbnRzLmNsZWFyKCk7CisgICAgdGVzdC0+bG9hZEh0bWwoaGVhZGVyc0hUTUwsICJo
ZWFkZXJzOmZvcm0iKTsKKyAgICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNoZWQoKTsKKyAgICBn
X2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNraW5nVGVz
dDo6UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CisgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+bV9s
b2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQpKTsKKworICAg
IHN0YXRpYyBjb25zdCBjaGFyKiByZXNwSFRNTCA9ICI8aHRtbD48aGVhZD48c2NyaXB0PmZldGNo
KCdoZWFkZXJzcmVzcDpkYXRhJykudGhlbigoZCk9PntpZihkLmhlYWRlcnMuZ2V0KCdYLVRlc3Qn
KSAhPT0gJ3Rlc3RfdmFsdWUnKSB3aW5kb3cuaGFzRXJyb3I9MX0pLmNhdGNoKChlKT0+IHdpbmRv
dy5oYXNFcnJvcj0xKTwvc2NyaXB0PjwvaGVhZD48L2h0bWw+IjsKKyAgICB0ZXN0LT5yZWdpc3Rl
clVSSVNjaGVtZUhhbmRsZXIoImhlYWRlcnNyZXNwIiwgbnVsbHB0ciwgMCwgImFwcGxpY2F0aW9u
L2pzb24iLCAyMDQpOworICAgIHRlc3QtPm1fbG9hZEV2ZW50cy5jbGVhcigpOworICAgIHRlc3Qt
PmxvYWRIdG1sKHJlc3BIVE1MLCAiaGVhZGVyc3Jlc3A6Zm9ybSIpOworICAgIHRlc3QtPndhaXRV
bnRpbExvYWRGaW5pc2hlZCgpOworICAgIEdVbmlxdWVPdXRQdHI8R0Vycm9yPiByZXNwRXJyb3I7
CisgICAgdGVzdC0+cnVuSmF2YVNjcmlwdEFuZFdhaXRVbnRpbEZpbmlzaGVkKCJpZih3aW5kb3cu
aGFzRXJyb3IpIHRocm93ICdIZWFkZXJzIGFyZSBtaXNzaW5nIG9yIGludmFsaWQnIiwgJnJlc3BF
cnJvci5vdXRQdHIoKSk7CisgICAgZ19hc3NlcnRfbm9fZXJyb3IocmVzcEVycm9yLmdldCgpKTsK
KyAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNr
aW5nVGVzdDo6UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CisgICAgZ19hc3NlcnRfZmFsc2UodGVz
dC0+bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQpKTsK
KwogICAgIC8vIFRvcnR1cmUgdGVzdCB0aW1lOiBtYWtlIHN1cmUgaXQgc3RpbGwgd29ya3MgaWYg
d2UgaXNzdWUgYSBidW5jaCBvZiBkaWZmZXJlbnQgcmVxdWVzdHMgYWxsIGF0CiAgICAgLy8gb25j
ZS4gRWFjaCByZXF1ZXN0IHNob3VsZCBmaW5pc2ggYW5kIHJldHVybiBleGFjdGx5IHRoZSBzYW1l
IGRhdGEuCiAgICAgaW50IG51bUl0ZXJhdGlvbnMgPSAyNTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443383</attachid>
            <date>2021-11-05 02:35:07 -0700</date>
            <delta_ts>2021-11-10 03:56:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203273-20211105033506.patch</filename>
            <type>text/plain</type>
            <size>22662</size>
            <attacher>liushuyu011</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA5YmM3ZDNjYWEzODdjM2Vl
MGRmMjc2MTk1ZTY0ZWFjNDkxMDAwNzIuLmNkZDQzMDY3NDY2YTQ5ODg3YmU2ZTE2ZWFiMjZkNGY3
M2Y5NzkwYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMDQgIFppeGluZyBM
aXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0
IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyk6IEFkZGVkIG5ldyBB
UEkgZnVuY3Rpb24KKyAgICAgICAgKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2sp
OiBJbmNsdWRlIHVzZXItc3BlY2lmaWVkIGhlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwOgorICAgICAgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRIZWFkZXJzKTogQWRkZWQgYSBuZXcgcHJpdmF0ZSBnZXR0ZXIKKyAgICAg
ICAgKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMpOiBBZGRlZCBu
ZXcgQVBJIGZ1bmN0aW9uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuaDogQWRkZWQgZnVuY3Rpb24gcHJvdG90eXBlIGZvciAKKyAgICAg
ICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaDogQWRkZWQgZnVuY3Rp
b24gcHJvdG90eXBlIGZvciAKKyAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9zZXRf
aHR0cF9oZWFkZXJzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQ6IEFkZGVkIG5ldyBzeW1ib2xzCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oOiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5
cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRl
cnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
OiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X3NldF9odHRwX2hlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0OiBBZGRlZCBuZXcgc3ltYm9scworCiAyMDIxLTExLTA0
ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBB
UiBRdWlja2xvb2sgYXNzZXQgaXMgc2hhcmVkIGluc3RlYWQgb2YgcGFnZSBVUkwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVl
c3QuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdC5jcHAKaW5kZXggMzQ1ZDQ0NmYxZDM4ZTM2ZDg4NWFkZGQyOTY1ZmM3YTc2ZmYzN2Ri
OC4uZjU1YzJmOTcxZDRiYzc3NzcyNmFiZjZjMzkyMzAxYmQwZTZmNjM5MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdC5jcHAKQEAgLTcwLDYgKzcwLDcgQEAgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1
ZXN0UHJpdmF0ZSB7CiAgICAgY2hhciByZWFkQnVmZmVyW2dSZWFkQnVmZmVyU2l6ZV07CiAgICAg
dWludDY0X3QgYnl0ZXNSZWFkOwogICAgIGNvbnN0IGNoYXIqIGh0dHBNZXRob2Q7CisgICAgR1Vu
aXF1ZVB0cjxTb3VwTWVzc2FnZUhlYWRlcnM+IGhlYWRlcnM7CiB9OwogCiBXRUJLSVRfREVGSU5F
X1RZUEUoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCwgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdCwg
R19UWVBFX09CSkVDVCkKQEAgLTE4MSw2ICsxODIsMzAgQEAgY29uc3QgZ2NoYXIqIHdlYmtpdF91
cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9kKFdlYktpdFVSSVNjaGVtZVJlcXVlc3Qq
IHIKICAgICByZXR1cm4gcmVxdWVzdC0+cHJpdi0+aHR0cE1ldGhvZDsKIH0KIAorLyoKKyAqIHdl
YmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVyczoKKyAqIEByZXF1ZXN0OiBh
ICNXZWJLaXRVUklTY2hlbWVSZXF1ZXN0CisgKgorICogR2V0IHRoZSAjU291cE1lc3NhZ2VIZWFk
ZXJzIG9mIHRoZSByZXF1ZXN0LgorICoKKyAqIFJldHVybnM6ICh0cmFuc2ZlciBub25lKTogdGhl
ICNTb3VwTWVzc2FnZUhlYWRlcnMgb2YgdGhlIEByZXF1ZXN0LgorICoKKyAqIFNpbmNlOiAyLjM2
CisgKi8KK1NvdXBNZXNzYWdlSGVhZGVycyogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRf
aHR0cF9oZWFkZXJzKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1VSSV9TQ0hFTUVfUkVRVUVTVChyZXF1ZXN0KSwg
bnVsbHB0cik7CisKKyAgICBpZiAoIXJlcXVlc3QtPnByaXYtPmhlYWRlcnMpIHsKKyAgICAgICAg
YXV0byogaGVhZGVycyA9IHNvdXBfbWVzc2FnZV9oZWFkZXJzX25ldyhTT1VQX01FU1NBR0VfSEVB
REVSU19SRVFVRVNUKTsKKyAgICAgICAgcmVxdWVzdC0+cHJpdi0+dGFzay0+cmVxdWVzdCgpLnVw
ZGF0ZVNvdXBNZXNzYWdlSGVhZGVycyhoZWFkZXJzKTsKKyAgICAgICAgLy8gVW5mb3J0dW5hdGVs
eSwgU291cE1lc3NhZ2VIZWFkZXJzIGlzIG5vdCBhIEdPYmplY3QuIFNvIHdlIG5lZWQgdG8gdXNl
IEdVbmlxdWVQdHIgaW5zdGVhZCBvZiBHUmVmUHRyLgorICAgICAgICByZXF1ZXN0LT5wcml2LT5o
ZWFkZXJzID0gR1VuaXF1ZVB0cjxTb3VwTWVzc2FnZUhlYWRlcnM+KGhlYWRlcnMpOworICAgIH0K
KworICAgIHJldHVybiByZXF1ZXN0LT5wcml2LT5oZWFkZXJzLmdldCgpOworfQorCiBzdGF0aWMg
dm9pZCB3ZWJraXRVUklTY2hlbWVSZXF1ZXN0UmVhZENhbGxiYWNrKEdJbnB1dFN0cmVhbSogaW5w
dXRTdHJlYW0sIEdBc3luY1Jlc3VsdCogcmVzdWx0LCBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiBz
Y2hlbWVSZXF1ZXN0KQogewogICAgIEdSZWZQdHI8V2ViS2l0VVJJU2NoZW1lUmVxdWVzdD4gcmVx
dWVzdCA9IGFkb3B0R1JlZihzY2hlbWVSZXF1ZXN0KTsKQEAgLTE5OSwxOSArMjI0LDIxIEBAIHN0
YXRpYyB2b2lkIHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2soR0lucHV0U3RyZWFt
KiBpbnB1dFN0cmVhbSwgR0FzeW5jCiAKICAgICBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVz
cCA9IHByaXYtPnJlc3BvbnNlLmdldCgpOwogICAgIGlmICghcHJpdi0+Ynl0ZXNSZWFkKSB7Ci0g
ICAgICAgIENTdHJpbmcgY29udGVudFR5cGUgPSBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldENv
bnRlbnRUeXBlKHJlc3ApOwotICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlKHByaXYt
PnRhc2stPnJlcXVlc3QoKS51cmwoKSwgZXh0cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShjb250
ZW50VHlwZS5kYXRhKCkpLCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChy
ZXNwKSwgZW1wdHlTdHJpbmcoKSk7CisgICAgICAgIENTdHJpbmcgY29udGVudFR5cGUgPSB3ZWJL
aXRVUklTY2hlbWVSZXNwb25zZUdldENvbnRlbnRUeXBlKHJlc3ApOworICAgICAgICBSZXNvdXJj
ZVJlc3BvbnNlIHJlc3BvbnNlKHByaXYtPnRhc2stPnJlcXVlc3QoKS51cmwoKSwgZXh0cmFjdE1J
TUVUeXBlRnJvbU1lZGlhVHlwZShjb250ZW50VHlwZS5kYXRhKCkpLCB3ZWJLaXRVUklTY2hlbWVS
ZXNwb25zZUdldFN0cmVhbUxlbmd0aChyZXNwKSwgZW1wdHlTdHJpbmcoKSk7CiAgICAgICAgIHJl
c3BvbnNlLnNldFRleHRFbmNvZGluZ05hbWUoZXh0cmFjdENoYXJzZXRGcm9tTWVkaWFUeXBlKGNv
bnRlbnRUeXBlLmRhdGEoKSkpOwotICAgICAgICBjb25zdCBDU3RyaW5nJiBzdGF0dXNNZXNzYWdl
ID0gV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNNZXNzYWdlKHJlc3ApOworICAgICAg
ICBjb25zdCBDU3RyaW5nJiBzdGF0dXNNZXNzYWdlID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VH
ZXRTdGF0dXNNZXNzYWdlKHJlc3ApOwogICAgICAgICBpZiAoc3RhdHVzTWVzc2FnZS5pc051bGwo
KSkgewogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c0NvZGUoMjAwKTsKICAgICAg
ICAgICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNUZXh0KCJPSyJfcyk7CiAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQU3RhdHVzQ29kZShXZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldFN0YXR1c0NvZGUocmVzcCkpOworICAgICAgICAgICAgcmVzcG9uc2Uuc2V0
SFRUUFN0YXR1c0NvZGUod2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKHJlc3Ap
KTsKICAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNUZXh0KHN0YXR1c01lc3NhZ2Uu
ZGF0YSgpKTsKICAgICAgICAgfQogICAgICAgICBpZiAocmVzcG9uc2UubWltZVR5cGUoKS5pc0Vt
cHR5KCkpCiAgICAgICAgICAgICByZXNwb25zZS5zZXRNaW1lVHlwZShNSU1FVHlwZVJlZ2lzdHJ5
OjptaW1lVHlwZUZvclBhdGgocmVzcG9uc2UudXJsKCkucGF0aCgpLnRvU3RyaW5nKCkpKTsKKyAg
ICAgICAgaWYgKGF1dG8qIGhlYWRlcnMgPSB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldEhlYWRl
cnMocmVzcCkpCisgICAgICAgICAgICByZXNwb25zZS51cGRhdGVGcm9tU291cE1lc3NhZ2VIZWFk
ZXJzKGhlYWRlcnMpOwogICAgICAgICBwcml2LT50YXNrLT5kaWRSZWNlaXZlUmVzcG9uc2UocmVz
cG9uc2UpOwogICAgIH0KIApAQCAtMjY2LDcgKzI5Myw3IEBAIHZvaWQgd2Via2l0X3VyaV9zY2hl
bWVfcmVxdWVzdF9maW5pc2hfd2l0aF9yZXNwb25zZShXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiBy
ZXF1CiAgICAgcmVxdWVzdC0+cHJpdi0+Y2FuY2VsbGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxs
YWJsZV9uZXcoKSk7CiAgICAgcmVxdWVzdC0+cHJpdi0+cmVzcG9uc2UgPSByZXNwb25zZTsKIAot
ICAgIGdfaW5wdXRfc3RyZWFtX3JlYWRfYXN5bmMoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRT
dHJlYW0ocmVzcG9uc2UpLCByZXF1ZXN0LT5wcml2LT5yZWFkQnVmZmVyLCBnUmVhZEJ1ZmZlclNp
emUsIFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6QXN5bmNJT05ldHdvcmssIHJlcXVlc3QtPnByaXYt
PmNhbmNlbGxhYmxlLmdldCgpLAorICAgIGdfaW5wdXRfc3RyZWFtX3JlYWRfYXN5bmMod2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0ocmVzcG9uc2UpLCByZXF1ZXN0LT5wcml2LT5yZWFk
QnVmZmVyLCBnUmVhZEJ1ZmZlclNpemUsIFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6QXN5bmNJT05l
dHdvcmssIHJlcXVlc3QtPnByaXYtPmNhbmNlbGxhYmxlLmdldCgpLAogICAgICAgICByZWludGVy
cHJldF9jYXN0PEdBc3luY1JlYWR5Q2FsbGJhY2s+KHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFk
Q2FsbGJhY2spLCBnX29iamVjdF9yZWYocmVxdWVzdCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25z
ZS5jcHAKaW5kZXggNDM0OGU0Y2NiOGI0ZDQ2ZmVjNTU3OTFlMjIyOTkzNmE5ODdkMDJkYS4uYzI4
NjUxOWQ3MWI1NWJiNzY4YWUxMTUyNzFmZTU3MTc5NWJlMWNlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlLmNwcApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKICNp
bmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4K
KyNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvV1RG
R1R5cGUuaD4KIAogZW51bSB7CkBAIC02Miw2ICs2Myw3IEBAIHN0cnVjdCBfV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VQcml2YXRlIHsKICAgICBpbnQgc3RhdHVzQ29kZSB7IC0xIH07CiAgICAgQ1N0
cmluZyBzdGF0dXNNZXNzYWdlOwogICAgIENTdHJpbmcgY29udGVudFR5cGU7CisgICAgR1VuaXF1
ZVB0cjxTb3VwTWVzc2FnZUhlYWRlcnM+IGhlYWRlcnM7CiB9OwogCiBXRUJLSVRfREVGSU5FX1RZ
UEUoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UsIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlLCBH
X1RZUEVfT0JKRUNUKQpAQCAtMTI0LDMxICsxMjYsMzYgQEAgc3RhdGljIHZvaWQgd2Via2l0X3Vy
aV9zY2hlbWVfcmVzcG9uc2VfY2xhc3NfaW5pdChXZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNz
KgogfQogCiAvLyBQcml2YXRlIGdldHRlcnMKLWludCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdl
dFN0YXR1c0NvZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQoraW50
IHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShjb25zdCBXZWJLaXRVUklTY2hl
bWVSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5zdGF0
dXNDb2RlOwogfQogCi1HSW5wdXRTdHJlYW0qIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3Ry
ZWFtKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKK0dJbnB1dFN0cmVh
bSogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2UqIHJlc3BvbnNlKQogewogICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+c3RyZWFt
LmdldCgpOwogfQogCi1jb25zdCBDU3RyaW5nJiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0
YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQorY29u
c3QgQ1N0cmluZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNNZXNzYWdlKGNvbnN0
IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVzcG9u
c2UtPnByaXYtPnN0YXR1c01lc3NhZ2U7CiB9CiAKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlR2V0Q29udGVudFR5cGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uq
IHJlc3BvbnNlKQorY29uc3QgQ1N0cmluZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250
ZW50VHlwZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAg
cmV0dXJuIHJlc3BvbnNlLT5wcml2LT5jb250ZW50VHlwZTsKIH0KIAotdWludDY0X3QgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2UqIHJlc3BvbnNlKQordWludDY0X3Qgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJl
YW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQogewogICAg
IHJldHVybiByZXNwb25zZS0+cHJpdi0+c3RyZWFtTGVuZ3RoOwogfQogCitTb3VwTWVzc2FnZUhl
YWRlcnMqIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0SGVhZGVycyhXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZSogcmVzcG9uc2UpCit7CisgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5oZWFkZXJz
LmdldCgpOworfQorCiAvKioKICAqIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX25ldzoKICAq
IEBpbnB1dF9zdHJlYW06IGEgI0dJbnB1dFN0cmVhbSB0byByZWFkIHRoZSBjb250ZW50cyBvZiB0
aGUgcmVxdWVzdApAQCAtMTg0LDYgKzE5MSwyNSBAQCB2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3Jl
c3BvbnNlX3NldF9jb250ZW50X3R5cGUoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3Bvbgog
ICAgIHJlc3BvbnNlLT5wcml2LT5jb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlOwogfQogCisvKgor
ICogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVyczoKKyAqIEByZXNw
b25zZTogYSAjV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UKKyAqIEBoZWFkZXJzOiAodHJhbnNmZXIg
ZnVsbCk6IHRoZSBIVFRQIGhlYWRlcnMgdG8gYmUgc2V0CisgKgorICogQXNzaWduIHRoZSBwcm92
aWRlZCAjU291cE1lc3NhZ2VIZWFkZXJzIHRvIHRoZSByZXNwb25zZS4KKyAqIEBoZWFkZXJzIG5l
ZWQgdG8gYmUgb2YgdGhlIHR5cGUgJVNPVVBfTUVTU0FHRV9IRUFERVJTX1JFU1BPTlNFLgorICog
QW55IGV4aXN0aW5nIGhlYWRlcnMgd2lsbCBiZSBvdmVyd3JpdHRlbi4KKyAqCisgKiBTaW5jZTog
Mi4zNgorICovCit2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRl
cnMoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlLCBTb3VwTWVzc2FnZUhlYWRlcnMq
IGhlYWRlcnMpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfVVJJX1NDSEVNRV9S
RVNQT05TRShyZXNwb25zZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoc291cF9tZXNzYWdlX2hl
YWRlcnNfZ2V0X2hlYWRlcnNfdHlwZShoZWFkZXJzKSA9PSBTT1VQX01FU1NBR0VfSEVBREVSU19S
RVNQT05TRSk7CisKKyAgICByZXNwb25zZS0+cHJpdi0+aGVhZGVycyA9IEdVbmlxdWVQdHI8U291
cE1lc3NhZ2VIZWFkZXJzPihoZWFkZXJzKTsKK30KKwogLyoqCiAgKiB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXNwb25zZV9zZXRfc3RhdHVzOgogICogQHJlc3BvbnNlOiBhICNXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUuaAppbmRleCA3YjBkNmYwYTc2
ZDMzZTg0MzJlMTA4YjdkYjEzOThlZTNlZGJiZDczLi5hNTY0Y2E2YTU5ZmM5MGZlZDE5NjZkNzUz
OWI5M2E4NWFhYjY0MzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUuaApAQCAt
MjIsOCArMjIsOSBAQAogI2luY2x1ZGUgIldlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgiCiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCi1pbnQgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VH
ZXRTdGF0dXNDb2RlKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7Ci1HSW5wdXRTdHJl
YW0qIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtKGNvbnN0IFdlYktpdFVSSVNjaGVt
ZVJlc3BvbnNlKik7Ci1jb25zdCBDU3RyaW5nJiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0
YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKLWNvbnN0IENTdHJp
bmcmIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0Q29udGVudFR5cGUoY29uc3QgV2ViS2l0VVJJ
U2NoZW1lUmVzcG9uc2UqKTsKLXVpbnQ2NF90IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3Ry
ZWFtTGVuZ3RoKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7CitpbnQgd2ViS2l0VVJJ
U2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
Kik7CitHSW5wdXRTdHJlYW0qIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtKGNvbnN0
IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7Citjb25zdCBDU3RyaW5nJiB3ZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldFN0YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uq
KTsKK2NvbnN0IENTdHJpbmcmIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0Q29udGVudFR5cGUo
Y29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK3VpbnQ2NF90IHdlYktpdFVSSVNjaGVt
ZVJlc3BvbnNlR2V0U3RyZWFtTGVuZ3RoKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7
CitTb3VwTWVzc2FnZUhlYWRlcnMqIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0SGVhZGVycyhX
ZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaAppbmRleCAyYjg4YWE2YTg5
Nzg0N2JhMTRmNmU4OTIyNDYzMDc2ODVmM2RlOTlmLi4xMWEzNzg0NDg1YzhlMTY1Y2E2MTJlODJk
ZDI5M2RkNDY3NmQwYzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaApAQCAtNDIsNiArNDIsOCBAQCB0eXBl
ZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAgICAgICAgV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdDsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2xhc3MgICBX
ZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2No
ZW1lUmVxdWVzdFByaXZhdGUgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGU7CiAKK3R5cGVk
ZWYgc3RydWN0IF9Tb3VwTWVzc2FnZUhlYWRlcnMgU291cE1lc3NhZ2VIZWFkZXJzOworCiBzdHJ1
Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3QgewogICAgIEdPYmplY3QgcGFyZW50OwogCkBAIC03
NSw2ICs3Nyw5IEBAIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3IChXZWJL
aXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKIFdFQktJVF9BUEkgY29uc3QgZ2NoYXIgKgog
d2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9tZXRob2QgKFdlYktpdFVSSVNjaGVt
ZVJlcXVlc3QgKnJlcXVlc3QpOwogCitXRUJLSVRfQVBJIFNvdXBNZXNzYWdlSGVhZGVycyAqCit3
ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMgKFdlYktpdFVSSVNjaGVt
ZVJlcXVlc3QgKnJlcXVlc3QpOworCiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZmluaXNoICAgICAgIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdJbnB1dFN0cmVhbSAgICAg
ICAgICAgKnN0cmVhbSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaAppbmRleCBkYzcwY2U2NzNlYTI0NGRlMDcw
MGYwZjYwNDFlZTZlYWI2MGE3N2RlLi44ZjBkNTU4YzE2ZWUxODU4ZjNiOTdhYWUwYWFiNDg4ZDkw
MTAyMTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oCkBAIC00MCw2ICs0MCw3IEBAIEdfQkVHSU5fREVD
TFMKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZSAgICAgICAgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2U7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2VDbGFzcyAgIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlQ2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBf
V2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJp
dmF0ZTsKK3R5cGVkZWYgc3RydWN0IF9Tb3VwTWVzc2FnZUhlYWRlcnMgICAgICAgICAgICAgU291
cE1lc3NhZ2VIZWFkZXJzOwogCiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlIHsKICAg
ICBHT2JqZWN0IHBhcmVudDsKQEAgLTcyLDYgKzczLDEwIEBAIFdFQktJVF9BUEkgdm9pZAogd2Vi
a2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZSAgIChXZWJLaXRVUklTY2hl
bWVSZXNwb25zZSAqcmVzcG9uc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAgICpjb250ZW50X3R5cGUpOwogCitX
RUJLSVRfQVBJIHZvaWQKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRl
cnMgICAoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgKnJlc3BvbnNlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VwTWVzc2FnZUhlYWRlcnMgICAgICAq
aGVhZGVycyk7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0
aW9ucy50eHQKaW5kZXggNzdjNDU0YTVhNDIxOTMxMzBmYzkyMTI3MzQ2OTAxYmI2ZGYzNjhjOS4u
ZjhmNTY4ZjQ1OGQwMjBlNjBhY2ViNjBhZDFkNzkxMGVjYjAxMzk4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25z
LnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0
ay00LjAtc2VjdGlvbnMudHh0CkBAIC0xMjc4LDYgKzEyNzgsNyBAQCB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X2dldF91cmkKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3BhdGgKIHdl
YmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3CiB3ZWJraXRfdXJpX3NjaGVtZV9y
ZXF1ZXN0X2dldF9odHRwX21ldGhvZAord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0
cF9oZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaAogd2Via2l0X3VyaV9z
Y2hlbWVfcmVxdWVzdF9maW5pc2hfd2l0aF9yZXNwb25zZQogd2Via2l0X3VyaV9zY2hlbWVfcmVx
dWVzdF9maW5pc2hfZXJyb3IKQEAgLTEyOTMsNiArMTI5NCw3IEBAIFdFQktJVF9VUklfU0NIRU1F
X1JFUVVFU1RfR0VUX0NMQVNTCiAKIDxTVUJTRUNUSU9OIFByaXZhdGU+CiBXZWJLaXRVUklTY2hl
bWVSZXF1ZXN0UHJpdmF0ZQorU291cE1lc3NhZ2VIZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9y
ZXF1ZXN0X2dldF90eXBlCiA8L1NFQ1RJT04+CiAKQEAgLTEzMDIsNiArMTMwNCw3IEBAIFdlYktp
dFVSSVNjaGVtZVJlc3BvbnNlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9uZXcKIHdlYmtp
dF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUKIHdlYmtpdF91cmlfc2NoZW1l
X3Jlc3BvbnNlX3NldF9zdGF0dXMKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRw
X2hlYWRlcnMKIAogPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CiBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZUNsYXNzCkBAIC0xMzE0LDYgKzEzMTcsNyBAQCBXRUJLSVRfVVJJX1NDSEVNRV9SRVNQT05TRV9H
RVRfQ0xBU1MKIAogPFNVQlNFQ1RJT04gUHJpdmF0ZT4KIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
UHJpdmF0ZQorU291cE1lc3NhZ2VIZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9n
ZXRfdHlwZQogPC9TRUNUSU9OPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IGU4OGNhNzllNTc1ZTQ5
YmY2NzYxNzFjM2M5ZGM0Yzc0M2NkNWIwODAuLjBiOWMwMzQxZmYwNjdmY2MxZmYxOGU1ZmQyYTg1
NTAzZTMxNWE1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUv
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCkBAIC00Miw2ICs0Miw3IEBAIHR5cGVkZWYg
c3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2xhc3MgICBXZWJLaXRVUklTY2hlbWVSZXF1
ZXN0Q2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUg
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGU7CiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRX
ZWJWaWV3IFdlYktpdFdlYlZpZXc7Cit0eXBlZGVmIHN0cnVjdCBfU291cE1lc3NhZ2VIZWFkZXJz
IFNvdXBNZXNzYWdlSGVhZGVyczsKIAogc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0IHsK
ICAgICBHT2JqZWN0IHBhcmVudDsKQEAgLTc2LDYgKzc3LDkgQEAgd2Via2l0X3VyaV9zY2hlbWVf
cmVxdWVzdF9nZXRfd2ViX3ZpZXcgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOwog
V0VCS0lUX0FQSSBjb25zdCBnY2hhciAqCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9o
dHRwX21ldGhvZCAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CiAKK1dFQktJVF9B
UEkgU291cE1lc3NhZ2VIZWFkZXJzICoKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0
dHBfaGVhZGVycyAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CisKIFdFQktJVF9B
UEkgdm9pZAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2ggICAgICAgKFdlYktpdFVS
SVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0lucHV0U3RyZWFtICAgICAgICAgICAqc3RyZWFtLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
CmluZGV4IDMyMjBiMWY0Njg4NjcxNjM5Zjc2YWY4MWM3Mjc1ZmZlNzkxY2M1ZjMuLmE3ODBlZDRh
MjI0MGNlYjQ5MTE2YzJlNGVkNzgzYWY5OTI2MmZkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgKQEAg
LTM5LDYgKzM5LDcgQEAgR19CRUdJTl9ERUNMUwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlICAgICAgICBXZWJLaXRVUklTY2hlbWVSZXNwb25zZTsKIHR5cGVkZWYgc3Ry
dWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNzICAgV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2VDbGFzczsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUg
V2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlOwordHlwZWRlZiBzdHJ1Y3QgX1NvdXBNZXNz
YWdlSGVhZGVycyAgICAgICAgICAgICBTb3VwTWVzc2FnZUhlYWRlcnM7CiAKIHN0cnVjdCBfV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2UgewogICAgIEdPYmplY3QgcGFyZW50OwpAQCAtNzEsNiArNzIs
MTAgQEAgV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfY29u
dGVudF90eXBlICAgKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlICpyZXNwb25zZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAg
ICAgICAgKmNvbnRlbnRfdHlwZSk7CiAKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3VyaV9zY2hl
bWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVycyAgIChXZWJLaXRVUklTY2hlbWVSZXNwb25zZSAq
cmVzcG9uc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNvdXBNZXNzYWdlSGVhZGVycyAgICAgICpoZWFkZXJzKTsKKwogR19FTkRfREVDTFMKIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3Bl
LTEuMC1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mv
d3BlLTEuMC1zZWN0aW9ucy50eHQKaW5kZXggMGE5Y2YyNGM3MzhkMmNjMDU3NWYwMGQ3M2RkY2U3
YzBiNDZiYmRhNy4uMjAxOGU4YzI0NzkwZDllNGMxM2QxNmU3YzZmMjJhNTllYjIzZDE3YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2Vj
dGlvbnMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUt
MS4wLXNlY3Rpb25zLnR4dApAQCAtMTIxNSw2ICsxMjE1LDcgQEAgd2Via2l0X3VyaV9zY2hlbWVf
cmVxdWVzdF9nZXRfdXJpCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9wYXRoCiB3ZWJr
aXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmlldwogd2Via2l0X3VyaV9zY2hlbWVfcmVx
dWVzdF9nZXRfaHR0cF9tZXRob2QKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBf
aGVhZGVycwogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2gKIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZmluaXNoX3dpdGhfcmVzcG9uc2UKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVl
c3RfZmluaXNoX2Vycm9yCkBAIC0xMjMwLDYgKzEyMzEsNyBAQCBXRUJLSVRfVVJJX1NDSEVNRV9S
RVFVRVNUX0dFVF9DTEFTUwogCiA8U1VCU0VDVElPTiBQcml2YXRlPgogV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdFByaXZhdGUKK1NvdXBNZXNzYWdlSGVhZGVycwogd2Via2l0X3VyaV9zY2hlbWVfcmVx
dWVzdF9nZXRfdHlwZQogPC9TRUNUSU9OPgogCkBAIC0xMjM5LDYgKzEyNDEsNyBAQCBXZWJLaXRV
UklTY2hlbWVSZXNwb25zZQogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2VfbmV3CiB3ZWJraXRf
dXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfY29udGVudF90eXBlCiB3ZWJraXRfdXJpX3NjaGVtZV9y
ZXNwb25zZV9zZXRfc3RhdHVzCit3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9o
ZWFkZXJzCiAKIDxTVUJTRUNUSU9OIFN0YW5kYXJkPgogV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VD
bGFzcwpAQCAtMTI1MSw2ICsxMjU0LDcgQEAgV0VCS0lUX1VSSV9TQ0hFTUVfUkVTUE9OU0VfR0VU
X0NMQVNTCiAKIDxTVUJTRUNUSU9OIFByaXZhdGU+CiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZVBy
aXZhdGUKK1NvdXBNZXNzYWdlSGVhZGVycwogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2VfZ2V0
X3R5cGUKIDwvU0VDVElPTj4KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDUyZmU5ZDAzZDJhMjlkYjUzYTcyZDI5YTBkZWUwMzdlMDIwNTI2Yzku
LmRlN2JmYTAwMzc1MWJiYWM5ZTA4OTBiMzFjYjRjZDAxNDE5ZGE1NTMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAy
MS0xMS0wNCAgWml4aW5nIExpdSAgPGxpdXNodXl1MDExQGdtYWlsLmNvbT4KKworICAgICAgICBb
R1RLXVtXUEVdIFN1cHBvcnQgZ2V0dGluZyBhbmQgc2V0dGluZyBIVFRQIGhlYWRlcnMgaW4gY3Vz
dG9tIFVSSSBzY2hlbWUgaGFuZGxlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMzI3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJL
aXRXZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKHRlc3RXZWJDb250ZXh0VVJJU2NoZW1lKTogQWRk
ZWQgYSBuZXcgdGVzdCB0byB0ZXN0IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGlu
IGN1c3RvbSBVUkkgc2NoZW1lIGhhbmRsZXJzCisKIDIwMjEtMTEtMDMgIEpvbmF0aGFuIEJlZGFy
ZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFtnaXQtd2Via2l0XSBBZGQgbGFuZCBj
b21tYW5kCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIv
VGVzdFdlYktpdFdlYkNvbnRleHQuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRHTGliL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcAppbmRleCA5MDhhNDkzZjE0ZjA2OTA1NWM1
MjYxODc2YzQ2MzI2YmUyNWE1ODE0Li44NWYxN2Y0MDg5NzgxYmMxMjY4YzY5OTAxZGY5MDJkNTNk
MjdiZDY5IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIv
VGVzdFdlYktpdFdlYkNvbnRleHQuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTIyLDYgKzIyLDcgQEAKICNp
bmNsdWRlICJMb2FkVHJhY2tpbmdUZXN0LmgiCiAjaW5jbHVkZSAiV2ViS2l0VGVzdFNlcnZlci5o
IgogI2luY2x1ZGUgPFdlYkNvcmUvU291cFZlcnNpb25pbmcuaD4KKyNpbmNsdWRlIDxsaWJzb3Vw
L3NvdXAtbWVzc2FnZS1oZWFkZXJzLmg+CiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8
c3RkbGliLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KQEAgLTEyOSw2ICsxMzAsMTIgQEAg
cHVibGljOgogICAgICAgICBlbHNlCiAgICAgICAgICAgICBnX2Fzc2VydF9jbXBzdHIobWV0aG9k
LCA9PSwgIkdFVCIpOwogCisgICAgICAgIGlmICghZ19zdHJjbXAwKHNjaGVtZSwgImhlYWRlcnMi
KSkgeworICAgICAgICAgICAgYXV0byogaGVhZGVycyA9IHdlYmtpdF91cmlfc2NoZW1lX3JlcXVl
c3RfZ2V0X2h0dHBfaGVhZGVycyhyZXF1ZXN0KTsKKyAgICAgICAgICAgIGdfYXNzZXJ0X2NtcHN0
cihzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfb25lKGhlYWRlcnMsICJ4LXRlc3QiKSwgPT0sICJB
Iik7CisgICAgICAgICAgICBnX2Fzc2VydF9jbXBzdHIoc291cF9tZXNzYWdlX2hlYWRlcnNfZ2V0
X2xpc3QoaGVhZGVycywgIngtdGVzdDIiKSwgPT0sICIxLCAyLCAzLCA0Iik7CisgICAgICAgIH0K
KwogICAgICAgICBjb25zdCBVUklTY2hlbWVIYW5kbGVyJiBoYW5kbGVyID0gdGVzdC0+bV9oYW5k
bGVyc01hcC5nZXQoU3RyaW5nOjpmcm9tVVRGOChzY2hlbWUpKTsKIAogICAgICAgICBHUmVmUHRy
PEdJbnB1dFN0cmVhbT4gaW5wdXRTdHJlYW0gPSBhZG9wdEdSZWYoZ19tZW1vcnlfaW5wdXRfc3Ry
ZWFtX25ldygpKTsKQEAgLTE2Niw2ICsxNzMsMTEgQEAgcHVibGljOgogICAgICAgICBhdXRvIHJl
c3BvbnNlID0gYWRvcHRHUmVmKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX25ldyhpbnB1dFN0
cmVhbS5nZXQoKSwgaGFuZGxlci5yZXBseUxlbmd0aCkpOwogICAgICAgICB3ZWJraXRfdXJpX3Nj
aGVtZV9yZXNwb25zZV9zZXRfc3RhdHVzKHJlc3BvbnNlLmdldCgpLCBoYW5kbGVyLnN0YXR1c0Nv
ZGUsIG51bGxwdHIpOwogICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfY29u
dGVudF90eXBlKHJlc3BvbnNlLmdldCgpLCBoYW5kbGVyLm1pbWVUeXBlLmRhdGEoKSk7CisgICAg
ICAgIGlmICghZ19zdHJjbXAwKHNjaGVtZSwgImhlYWRlcnNyZXNwIikpIHsKKyAgICAgICAgICAg
IGF1dG8qIGhlYWRlcnMgPSBzb3VwX21lc3NhZ2VfaGVhZGVyc19uZXcoU09VUF9NRVNTQUdFX0hF
QURFUlNfUkVTUE9OU0UpOworICAgICAgICAgICAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBwZW5k
KGhlYWRlcnMsICJ4LXRlc3QiLCAidGVzdF92YWx1ZSIpOworICAgICAgICAgICAgd2Via2l0X3Vy
aV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVycyhyZXNwb25zZS5nZXQoKSwgaGVhZGVy
cyk7CisgICAgICAgIH0KICAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hf
d2l0aF9yZXNwb25zZShyZXF1ZXN0LCByZXNwb25zZS5nZXQoKSk7CiAgICAgfQogCkBAIC0zMzQs
NiArMzQ2LDI1IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJDb250ZXh0VVJJU2NoZW1lKFVSSVNjaGVt
ZVRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+bV9s
b2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OlByb3Zpc2lvbmFsTG9hZEZhaWxl
ZCkpOwogICAgIGdfYXNzZXJ0X2ZhbHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhMb2Fk
VHJhY2tpbmdUZXN0OjpMb2FkRmFpbGVkKSk7CiAKKyAgICBzdGF0aWMgY29uc3QgY2hhciogaGVh
ZGVyc0hUTUwgPSAiPGh0bWw+PGJvZHk+PHNjcmlwdD5sZXQgaGRycyA9IG5ldyBIZWFkZXJzKHsn
WC1UZXN0JzogJ0EnLCAnWC1UZXN0Mic6ICcxLCAyLCAzJ30pO2hkcnMuYXBwZW5kKCdYLVRlc3Qy
JywgJzQnKTtmZXRjaCgnaGVhZGVyczpkYXRhJywge2hlYWRlcnM6IGhkcnN9KTwvc2NyaXB0Pjwv
Ym9keT48L2h0bWw+IjsKKyAgICB0ZXN0LT5yZWdpc3RlclVSSVNjaGVtZUhhbmRsZXIoImhlYWRl
cnMiLCBudWxscHRyLCAwLCAiYXBwbGljYXRpb24vanNvbiIsIDIwNCk7CisgICAgdGVzdC0+bV9s
b2FkRXZlbnRzLmNsZWFyKCk7CisgICAgdGVzdC0+bG9hZEh0bWwoaGVhZGVyc0hUTUwsICJoZWFk
ZXJzOmZvcm0iKTsKKyAgICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNoZWQoKTsKKyAgICBnX2Fz
c2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6
UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CisgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+bV9sb2Fk
RXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQpKTsKKworICAgIHN0
YXRpYyBjb25zdCBjaGFyKiByZXNwSFRNTCA9ICI8aHRtbD48aGVhZD48c2NyaXB0PmZldGNoKCdo
ZWFkZXJzcmVzcDpkYXRhJykudGhlbigoZCk9PntpZihkLmhlYWRlcnMuZ2V0KCdYLVRlc3QnKSAh
PT0gJ3Rlc3RfdmFsdWUnKSB3aW5kb3cuaGFzRXJyb3I9MX0pLmNhdGNoKChlKT0+IHdpbmRvdy5o
YXNFcnJvcj0xKTwvc2NyaXB0PjwvaGVhZD48L2h0bWw+IjsKKyAgICB0ZXN0LT5yZWdpc3RlclVS
SVNjaGVtZUhhbmRsZXIoImhlYWRlcnNyZXNwIiwgbnVsbHB0ciwgMCwgImFwcGxpY2F0aW9uL2pz
b24iLCAyMDQpOworICAgIHRlc3QtPm1fbG9hZEV2ZW50cy5jbGVhcigpOworICAgIHRlc3QtPmxv
YWRIdG1sKHJlc3BIVE1MLCAiaGVhZGVyc3Jlc3A6Zm9ybSIpOworICAgIHRlc3QtPndhaXRVbnRp
bExvYWRGaW5pc2hlZCgpOworICAgIEdVbmlxdWVPdXRQdHI8R0Vycm9yPiByZXNwRXJyb3I7Cisg
ICAgdGVzdC0+cnVuSmF2YVNjcmlwdEFuZFdhaXRVbnRpbEZpbmlzaGVkKCJpZih3aW5kb3cuaGFz
RXJyb3IpIHRocm93ICdIZWFkZXJzIGFyZSBtaXNzaW5nIG9yIGludmFsaWQnIiwgJnJlc3BFcnJv
ci5vdXRQdHIoKSk7CisgICAgZ19hc3NlcnRfbm9fZXJyb3IocmVzcEVycm9yLmdldCgpKTsKKyAg
ICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNraW5n
VGVzdDo6UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CisgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+
bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQpKTsKKwog
ICAgIC8vIFRvcnR1cmUgdGVzdCB0aW1lOiBtYWtlIHN1cmUgaXQgc3RpbGwgd29ya3MgaWYgd2Ug
aXNzdWUgYSBidW5jaCBvZiBkaWZmZXJlbnQgcmVxdWVzdHMgYWxsIGF0CiAgICAgLy8gb25jZS4g
RWFjaCByZXF1ZXN0IHNob3VsZCBmaW5pc2ggYW5kIHJldHVybiBleGFjdGx5IHRoZSBzYW1lIGRh
dGEuCiAgICAgaW50IG51bUl0ZXJhdGlvbnMgPSAyNTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443797</attachid>
            <date>2021-11-10 03:57:01 -0800</date>
            <delta_ts>2021-11-10 14:41:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203273-20211110045700.patch</filename>
            <type>text/plain</type>
            <size>22994</size>
            <attacher>liushuyu011</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA5YmM3ZDNjYWEzODdjM2Vl
MGRmMjc2MTk1ZTY0ZWFjNDkxMDAwNzIuLmNkZDQzMDY3NDY2YTQ5ODg3YmU2ZTE2ZWFiMjZkNGY3
M2Y5NzkwYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMDQgIFppeGluZyBM
aXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0
IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyk6IEFkZGVkIG5ldyBB
UEkgZnVuY3Rpb24KKyAgICAgICAgKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2sp
OiBJbmNsdWRlIHVzZXItc3BlY2lmaWVkIGhlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwOgorICAgICAgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRIZWFkZXJzKTogQWRkZWQgYSBuZXcgcHJpdmF0ZSBnZXR0ZXIKKyAgICAg
ICAgKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMpOiBBZGRlZCBu
ZXcgQVBJIGZ1bmN0aW9uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuaDogQWRkZWQgZnVuY3Rpb24gcHJvdG90eXBlIGZvciAKKyAgICAg
ICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaDogQWRkZWQgZnVuY3Rp
b24gcHJvdG90eXBlIGZvciAKKyAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9zZXRf
aHR0cF9oZWFkZXJzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQ6IEFkZGVkIG5ldyBzeW1ib2xzCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oOiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5
cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRl
cnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
OiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X3NldF9odHRwX2hlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0OiBBZGRlZCBuZXcgc3ltYm9scworCiAyMDIxLTExLTA0
ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBB
UiBRdWlja2xvb2sgYXNzZXQgaXMgc2hhcmVkIGluc3RlYWQgb2YgcGFnZSBVUkwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVl
c3QuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdC5jcHAKaW5kZXggMzQ1ZDQ0NmYxZDM4ZTM2ZDg4NWFkZGQyOTY1ZmM3YTc2ZmYzN2Ri
OC4uZTMwNjUzNTBiYjhlNWQwNmQzZDA3Y2Y2NTAyYmU2ZDg1NDM4MGY0YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdC5jcHAKQEAgLTcwLDYgKzcwLDcgQEAgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1
ZXN0UHJpdmF0ZSB7CiAgICAgY2hhciByZWFkQnVmZmVyW2dSZWFkQnVmZmVyU2l6ZV07CiAgICAg
dWludDY0X3QgYnl0ZXNSZWFkOwogICAgIGNvbnN0IGNoYXIqIGh0dHBNZXRob2Q7CisgICAgR1Vu
aXF1ZVB0cjxTb3VwTWVzc2FnZUhlYWRlcnM+IGhlYWRlcnM7CiB9OwogCiBXRUJLSVRfREVGSU5F
X1RZUEUoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCwgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdCwg
R19UWVBFX09CSkVDVCkKQEAgLTE4MSw2ICsxODIsMzAgQEAgY29uc3QgZ2NoYXIqIHdlYmtpdF91
cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9kKFdlYktpdFVSSVNjaGVtZVJlcXVlc3Qq
IHIKICAgICByZXR1cm4gcmVxdWVzdC0+cHJpdi0+aHR0cE1ldGhvZDsKIH0KIAorLyoKKyAqIHdl
YmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVyczoKKyAqIEByZXF1ZXN0OiBh
ICNXZWJLaXRVUklTY2hlbWVSZXF1ZXN0CisgKgorICogR2V0IHRoZSAjU291cE1lc3NhZ2VIZWFk
ZXJzIG9mIHRoZSByZXF1ZXN0LgorICoKKyAqIFJldHVybnM6ICh0cmFuc2ZlciBub25lKTogdGhl
ICNTb3VwTWVzc2FnZUhlYWRlcnMgb2YgdGhlIEByZXF1ZXN0LgorICoKKyAqIFNpbmNlOiAyLjM2
CisgKi8KK1NvdXBNZXNzYWdlSGVhZGVycyogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRf
aHR0cF9oZWFkZXJzKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1VSSV9TQ0hFTUVfUkVRVUVTVChyZXF1ZXN0KSwg
bnVsbHB0cik7CisKKyAgICBpZiAoIXJlcXVlc3QtPnByaXYtPmhlYWRlcnMpIHsKKyAgICAgICAg
YXV0byogaGVhZGVycyA9IHNvdXBfbWVzc2FnZV9oZWFkZXJzX25ldyhTT1VQX01FU1NBR0VfSEVB
REVSU19SRVFVRVNUKTsKKyAgICAgICAgcmVxdWVzdC0+cHJpdi0+dGFzay0+cmVxdWVzdCgpLnVw
ZGF0ZVNvdXBNZXNzYWdlSGVhZGVycyhoZWFkZXJzKTsKKyAgICAgICAgLy8gVW5mb3J0dW5hdGVs
eSwgU291cE1lc3NhZ2VIZWFkZXJzIGlzIG5vdCBhIEdPYmplY3QuIFNvIHdlIG5lZWQgdG8gdXNl
IEdVbmlxdWVQdHIgaW5zdGVhZCBvZiBHUmVmUHRyLgorICAgICAgICByZXF1ZXN0LT5wcml2LT5o
ZWFkZXJzLnJlc2V0KGhlYWRlcnMpOworICAgIH0KKworICAgIHJldHVybiByZXF1ZXN0LT5wcml2
LT5oZWFkZXJzLmdldCgpOworfQorCiBzdGF0aWMgdm9pZCB3ZWJraXRVUklTY2hlbWVSZXF1ZXN0
UmVhZENhbGxiYWNrKEdJbnB1dFN0cmVhbSogaW5wdXRTdHJlYW0sIEdBc3luY1Jlc3VsdCogcmVz
dWx0LCBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiBzY2hlbWVSZXF1ZXN0KQogewogICAgIEdSZWZQ
dHI8V2ViS2l0VVJJU2NoZW1lUmVxdWVzdD4gcmVxdWVzdCA9IGFkb3B0R1JlZihzY2hlbWVSZXF1
ZXN0KTsKQEAgLTE5OSwxOSArMjI0LDIxIEBAIHN0YXRpYyB2b2lkIHdlYmtpdFVSSVNjaGVtZVJl
cXVlc3RSZWFkQ2FsbGJhY2soR0lucHV0U3RyZWFtKiBpbnB1dFN0cmVhbSwgR0FzeW5jCiAKICAg
ICBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcCA9IHByaXYtPnJlc3BvbnNlLmdldCgpOwog
ICAgIGlmICghcHJpdi0+Ynl0ZXNSZWFkKSB7Ci0gICAgICAgIENTdHJpbmcgY29udGVudFR5cGUg
PSBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldENvbnRlbnRUeXBlKHJlc3ApOwotICAgICAgICBS
ZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlKHByaXYtPnRhc2stPnJlcXVlc3QoKS51cmwoKSwgZXh0
cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShjb250ZW50VHlwZS5kYXRhKCkpLCBXZWJLaXRVUklT
Y2hlbWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChyZXNwKSwgZW1wdHlTdHJpbmcoKSk7CisgICAg
ICAgIENTdHJpbmcgY29udGVudFR5cGUgPSB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldENvbnRl
bnRUeXBlKHJlc3ApOworICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlKHByaXYtPnRh
c2stPnJlcXVlc3QoKS51cmwoKSwgZXh0cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShjb250ZW50
VHlwZS5kYXRhKCkpLCB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChyZXNw
KSwgZW1wdHlTdHJpbmcoKSk7CiAgICAgICAgIHJlc3BvbnNlLnNldFRleHRFbmNvZGluZ05hbWUo
ZXh0cmFjdENoYXJzZXRGcm9tTWVkaWFUeXBlKGNvbnRlbnRUeXBlLmRhdGEoKSkpOwotICAgICAg
ICBjb25zdCBDU3RyaW5nJiBzdGF0dXNNZXNzYWdlID0gV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VH
ZXRTdGF0dXNNZXNzYWdlKHJlc3ApOworICAgICAgICBjb25zdCBDU3RyaW5nJiBzdGF0dXNNZXNz
YWdlID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNNZXNzYWdlKHJlc3ApOwogICAg
ICAgICBpZiAoc3RhdHVzTWVzc2FnZS5pc051bGwoKSkgewogICAgICAgICAgICAgcmVzcG9uc2Uu
c2V0SFRUUFN0YXR1c0NvZGUoMjAwKTsKICAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0
dXNUZXh0KCJPSyJfcyk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICByZXNwb25zZS5z
ZXRIVFRQU3RhdHVzQ29kZShXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c0NvZGUocmVz
cCkpOworICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c0NvZGUod2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKHJlc3ApKTsKICAgICAgICAgICAgIHJlc3BvbnNlLnNl
dEhUVFBTdGF0dXNUZXh0KHN0YXR1c01lc3NhZ2UuZGF0YSgpKTsKICAgICAgICAgfQogICAgICAg
ICBpZiAocmVzcG9uc2UubWltZVR5cGUoKS5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXNwb25z
ZS5zZXRNaW1lVHlwZShNSU1FVHlwZVJlZ2lzdHJ5OjptaW1lVHlwZUZvclBhdGgocmVzcG9uc2Uu
dXJsKCkucGF0aCgpLnRvU3RyaW5nKCkpKTsKKyAgICAgICAgaWYgKGF1dG8qIGhlYWRlcnMgPSB3
ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldEhlYWRlcnMocmVzcCkpCisgICAgICAgICAgICByZXNw
b25zZS51cGRhdGVGcm9tU291cE1lc3NhZ2VIZWFkZXJzKGhlYWRlcnMpOwogICAgICAgICBwcml2
LT50YXNrLT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2UpOwogICAgIH0KIApAQCAtMjY2LDcg
KzI5Myw3IEBAIHZvaWQgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfd2l0aF9yZXNw
b25zZShXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByZXF1CiAgICAgcmVxdWVzdC0+cHJpdi0+Y2Fu
Y2VsbGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSk7CiAgICAgcmVxdWVzdC0+
cHJpdi0+cmVzcG9uc2UgPSByZXNwb25zZTsKIAotICAgIGdfaW5wdXRfc3RyZWFtX3JlYWRfYXN5
bmMoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0ocmVzcG9uc2UpLCByZXF1ZXN0LT5w
cml2LT5yZWFkQnVmZmVyLCBnUmVhZEJ1ZmZlclNpemUsIFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6
QXN5bmNJT05ldHdvcmssIHJlcXVlc3QtPnByaXYtPmNhbmNlbGxhYmxlLmdldCgpLAorICAgIGdf
aW5wdXRfc3RyZWFtX3JlYWRfYXN5bmMod2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0o
cmVzcG9uc2UpLCByZXF1ZXN0LT5wcml2LT5yZWFkQnVmZmVyLCBnUmVhZEJ1ZmZlclNpemUsIFJ1
bkxvb3BTb3VyY2VQcmlvcml0eTo6QXN5bmNJT05ldHdvcmssIHJlcXVlc3QtPnByaXYtPmNhbmNl
bGxhYmxlLmdldCgpLAogICAgICAgICByZWludGVycHJldF9jYXN0PEdBc3luY1JlYWR5Q2FsbGJh
Y2s+KHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2spLCBnX29iamVjdF9yZWYocmVx
dWVzdCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5jcHAKaW5kZXggNDM0OGU0Y2NiOGI0ZDQ2
ZmVjNTU3OTFlMjIyOTkzNmE5ODdkMDJkYS4uY2ZkMTkyZTU5ZGEyMmM3NjJmOGExNDQwMTI5ZDg0
MDdjYzQwNzYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmNwcApAQCAtMjMsNiArMjMsNyBAQAog
I2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKICNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgog
I2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVl
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4KIAogZW51bSB7CkBAIC01NSw2
ICs1NiwxNCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAqCiAgKi8KIAorbmFtZXNwYWNl
IFdURiB7CisjaWYgVVNFKFNPVVAyKQorV1RGX0RFRklORV9HUFRSX0RFTEVURVIoU291cE1lc3Nh
Z2VIZWFkZXJzLCBzb3VwX21lc3NhZ2VfaGVhZGVyc19mcmVlKTsKKyNlbHNlCitXVEZfREVGSU5F
X0dQVFJfREVMRVRFUihTb3VwTWVzc2FnZUhlYWRlcnMsIHNvdXBfbWVzc2FnZV9oZWFkZXJzX3Vu
cmVmKTsKKyNlbmRpZgorfQorCiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0
ZSB7CiAgICAgR1JlZlB0cjxHSW5wdXRTdHJlYW0+IHN0cmVhbTsKICAgICB1aW50NjRfdCBzdHJl
YW1MZW5ndGg7CkBAIC02Miw2ICs3MSw3IEBAIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2VQcml2YXRlIHsKICAgICBpbnQgc3RhdHVzQ29kZSB7IC0xIH07CiAgICAgQ1N0cmluZyBzdGF0
dXNNZXNzYWdlOwogICAgIENTdHJpbmcgY29udGVudFR5cGU7CisgICAgR1VuaXF1ZVB0cjxTb3Vw
TWVzc2FnZUhlYWRlcnM+IGhlYWRlcnM7CiB9OwogCiBXRUJLSVRfREVGSU5FX1RZUEUoV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2UsIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlLCBHX1RZUEVfT0JK
RUNUKQpAQCAtMTI0LDMxICsxMzQsMzYgQEAgc3RhdGljIHZvaWQgd2Via2l0X3VyaV9zY2hlbWVf
cmVzcG9uc2VfY2xhc3NfaW5pdChXZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNzKgogfQogCiAv
LyBQcml2YXRlIGdldHRlcnMKLWludCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c0Nv
ZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQoraW50IHdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZSogcmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5zdGF0dXNDb2RlOwog
fQogCi1HSW5wdXRTdHJlYW0qIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtKGNvbnN0
IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKK0dJbnB1dFN0cmVhbSogd2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uq
IHJlc3BvbnNlKQogewogICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+c3RyZWFtLmdldCgpOwog
fQogCi1jb25zdCBDU3RyaW5nJiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c01lc3Nh
Z2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQorY29uc3QgQ1N0cmlu
ZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNNZXNzYWdlKGNvbnN0IFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYt
PnN0YXR1c01lc3NhZ2U7CiB9CiAKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlR2V0Q29udGVudFR5cGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNl
KQorY29uc3QgQ1N0cmluZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShj
b25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJl
c3BvbnNlLT5wcml2LT5jb250ZW50VHlwZTsKIH0KIAotdWludDY0X3QgV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJl
c3BvbnNlKQordWludDY0X3Qgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgo
Y29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQogewogICAgIHJldHVybiBy
ZXNwb25zZS0+cHJpdi0+c3RyZWFtTGVuZ3RoOwogfQogCitTb3VwTWVzc2FnZUhlYWRlcnMqIHdl
YktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0SGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXNwb25zZSog
cmVzcG9uc2UpCit7CisgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5oZWFkZXJzLmdldCgpOwor
fQorCiAvKioKICAqIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX25ldzoKICAqIEBpbnB1dF9z
dHJlYW06IGEgI0dJbnB1dFN0cmVhbSB0byByZWFkIHRoZSBjb250ZW50cyBvZiB0aGUgcmVxdWVz
dApAQCAtMTg0LDYgKzE5OSwyNSBAQCB2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3Nl
dF9jb250ZW50X3R5cGUoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbgogICAgIHJlc3Bv
bnNlLT5wcml2LT5jb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlOwogfQogCisvKgorICogd2Via2l0
X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVyczoKKyAqIEByZXNwb25zZTogYSAj
V2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UKKyAqIEBoZWFkZXJzOiAodHJhbnNmZXIgbm9uZSk6IHRo
ZSBIVFRQIGhlYWRlcnMgdG8gYmUgc2V0CisgKgorICogQXNzaWduIHRoZSBwcm92aWRlZCAjU291
cE1lc3NhZ2VIZWFkZXJzIHRvIHRoZSByZXNwb25zZS4KKyAqIEBoZWFkZXJzIG5lZWQgdG8gYmUg
b2YgdGhlIHR5cGUgJVNPVVBfTUVTU0FHRV9IRUFERVJTX1JFU1BPTlNFLgorICogQW55IGV4aXN0
aW5nIGhlYWRlcnMgd2lsbCBiZSBvdmVyd3JpdHRlbi4KKyAqCisgKiBTaW5jZTogMi4zNgorICov
Cit2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMoV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlLCBTb3VwTWVzc2FnZUhlYWRlcnMqIGhlYWRlcnMp
Cit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfVVJJX1NDSEVNRV9SRVNQT05TRShy
ZXNwb25zZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoc291cF9tZXNzYWdlX2hlYWRlcnNfZ2V0
X2hlYWRlcnNfdHlwZShoZWFkZXJzKSA9PSBTT1VQX01FU1NBR0VfSEVBREVSU19SRVNQT05TRSk7
CisKKyAgICByZXNwb25zZS0+cHJpdi0+aGVhZGVycy5yZXNldChoZWFkZXJzKTsKK30KKwogLyoq
CiAgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfc3RhdHVzOgogICogQHJlc3BvbnNl
OiBhICNXZWJLaXRVUklTY2hlbWVSZXNwb25zZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZh
dGUuaAppbmRleCA3YjBkNmYwYTc2ZDMzZTg0MzJlMTA4YjdkYjEzOThlZTNlZGJiZDczLi5hNTY0
Y2E2YTU5ZmM5MGZlZDE5NjZkNzUzOWI5M2E4NWFhYjY0MzNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVS
ZXNwb25zZVByaXZhdGUuaApAQCAtMjIsOCArMjIsOSBAQAogI2luY2x1ZGUgIldlYktpdFVSSVNj
aGVtZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCi1pbnQgV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlKik7Ci1HSW5wdXRTdHJlYW0qIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFt
KGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7Ci1jb25zdCBDU3RyaW5nJiBXZWJLaXRV
UklTY2hlbWVSZXNwb25zZUdldFN0YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2UqKTsKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0Q29udGVu
dFR5cGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKLXVpbnQ2NF90IFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtTGVuZ3RoKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlKik7CitpbnQgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKGNvbnN0IFdl
YktpdFVSSVNjaGVtZVJlc3BvbnNlKik7CitHSW5wdXRTdHJlYW0qIHdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlR2V0U3RyZWFtKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7Citjb25zdCBD
U3RyaW5nJiB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c01lc3NhZ2UoY29uc3QgV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK2NvbnN0IENTdHJpbmcmIHdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlR2V0Q29udGVudFR5cGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK3Vp
bnQ2NF90IHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtTGVuZ3RoKGNvbnN0IFdlYktp
dFVSSVNjaGVtZVJlc3BvbnNlKik7CitTb3VwTWVzc2FnZUhlYWRlcnMqIHdlYktpdFVSSVNjaGVt
ZVJlc3BvbnNlR2V0SGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVl
c3QuaAppbmRleCAyYjg4YWE2YTg5Nzg0N2JhMTRmNmU4OTIyNDYzMDc2ODVmM2RlOTlmLi41MWE0
ZTdlYjJmNzYyNWVjYTQ4YjIwZDkzZTgwNWU4MGUxMTRjOWU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaApA
QCAtNDIsNiArNDIsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3Qg
ICAgICAgIFdlYktpdFVSSVNjaGVtZVJlcXVlc3Q7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJ
U2NoZW1lUmVxdWVzdENsYXNzICAgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdENsYXNzOwogdHlwZWRl
ZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlIFdlYktpdFVSSVNjaGVtZVJl
cXVlc3RQcml2YXRlOwogCisjaWYgIVVTRShTT1VQMikKK3R5cGVkZWYgc3RydWN0IF9Tb3VwTWVz
c2FnZUhlYWRlcnMgU291cE1lc3NhZ2VIZWFkZXJzOworI2VuZGlmCisKIHN0cnVjdCBfV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdCB7CiAgICAgR09iamVjdCBwYXJlbnQ7CiAKQEAgLTc1LDYgKzc5LDkg
QEAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcgKFdlYktpdFVSSVNjaGVt
ZVJlcXVlc3QgKnJlcXVlc3QpOwogV0VCS0lUX0FQSSBjb25zdCBnY2hhciAqCiB3ZWJraXRfdXJp
X3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZCAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAq
cmVxdWVzdCk7CiAKK1dFQktJVF9BUEkgU291cE1lc3NhZ2VIZWFkZXJzICoKK3dlYmtpdF91cmlf
c2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAq
cmVxdWVzdCk7CisKIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9m
aW5pc2ggICAgICAgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0lucHV0U3RyZWFtICAgICAgICAgICAqc3Ry
ZWFtLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRV
UklTY2hlbWVSZXNwb25zZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRVUklTY2hlbWVSZXNwb25zZS5oCmluZGV4IGRjNzBjZTY3M2VhMjQ0ZGUwNzAwZjBmNjA0MWVl
NmVhYjYwYTc3ZGUuLjhmMGQ1NThjMTZlZTE4NThmM2I5N2FhZTBhYWI0ODhkOTAxMDIxMzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVS
SVNjaGVtZVJlc3BvbnNlLmgKQEAgLTQwLDYgKzQwLDcgQEAgR19CRUdJTl9ERUNMUwogdHlwZWRl
ZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlICAgICAgICBXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZTsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNzICAg
V2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VDbGFzczsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklT
Y2hlbWVSZXNwb25zZVByaXZhdGUgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlOwordHlw
ZWRlZiBzdHJ1Y3QgX1NvdXBNZXNzYWdlSGVhZGVycyAgICAgICAgICAgICBTb3VwTWVzc2FnZUhl
YWRlcnM7CiAKIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgewogICAgIEdPYmplY3Qg
cGFyZW50OwpAQCAtNzIsNiArNzMsMTAgQEAgV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfdXJpX3Nj
aGVtZV9yZXNwb25zZV9zZXRfY29udGVudF90eXBlICAgKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
ICpyZXNwb25zZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgZ2NoYXIgICAgICAgICAgICAgKmNvbnRlbnRfdHlwZSk7CiAKK1dFQktJVF9BUEkg
dm9pZAord2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVycyAgIChXZWJL
aXRVUklTY2hlbWVSZXNwb25zZSAqcmVzcG9uc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFNvdXBNZXNzYWdlSGVhZGVycyAgICAgICpoZWFkZXJzKTsK
KwogR19FTkRfREVDTFMKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0IGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dApp
bmRleCA3N2M0NTRhNWE0MjE5MzEzMGZjOTIxMjczNDY5MDFiYjZkZjM2OGM5Li5mOGY1NjhmNDU4
ZDAyMGU2MGFjZWI2MGFkMWQ3OTEwZWNiMDEzOTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0CisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0
aW9ucy50eHQKQEAgLTEyNzgsNiArMTI3OCw3IEBAIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3Rf
Z2V0X3VyaQogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfcGF0aAogd2Via2l0X3VyaV9z
Y2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0
X2h0dHBfbWV0aG9kCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMK
IHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1
ZXN0X2ZpbmlzaF93aXRoX3Jlc3BvbnNlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2Zpbmlz
aF9lcnJvcgpAQCAtMTI5Myw2ICsxMjk0LDcgQEAgV0VCS0lUX1VSSV9TQ0hFTUVfUkVRVUVTVF9H
RVRfQ0xBU1MKIAogPFNVQlNFQ1RJT04gUHJpdmF0ZT4KIFdlYktpdFVSSVNjaGVtZVJlcXVlc3RQ
cml2YXRlCitTb3VwTWVzc2FnZUhlYWRlcnMKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0
X3R5cGUKIDwvU0VDVElPTj4KIApAQCAtMTMwMiw2ICsxMzA0LDcgQEAgV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2UKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX25ldwogd2Via2l0X3VyaV9zY2hl
bWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZQogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vf
c2V0X3N0YXR1cword2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVycwog
CiA8U1VCU0VDVElPTiBTdGFuZGFyZD4KIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlQ2xhc3MKQEAg
LTEzMTQsNiArMTMxNyw3IEBAIFdFQktJVF9VUklfU0NIRU1FX1JFU1BPTlNFX0dFVF9DTEFTUwog
CiA8U1VCU0VDVElPTiBQcml2YXRlPgogV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlCitT
b3VwTWVzc2FnZUhlYWRlcnMKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX2dldF90eXBlCiA8
L1NFQ1RJT04+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUv
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dw
ZS9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmgKaW5kZXggZTg4Y2E3OWU1NzVlNDliZjY3NjE3MWMz
YzlkYzRjNzQzY2Q1YjA4MC4uMGI5YzAzNDFmZjA2N2ZjYzFmZjE4ZTVmZDJhODU1MDNlMzE1YTUw
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklT
Y2hlbWVSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJL
aXRVUklTY2hlbWVSZXF1ZXN0LmgKQEAgLTQyLDYgKzQyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdFVSSVNjaGVtZVJlcXVlc3RDbGFzcyAgIFdlYktpdFVSSVNjaGVtZVJlcXVlc3RDbGFzczsK
IHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJpdmF0ZSBXZWJLaXRVUklT
Y2hlbWVSZXF1ZXN0UHJpdmF0ZTsKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYlZpZXcgV2Vi
S2l0V2ViVmlldzsKK3R5cGVkZWYgc3RydWN0IF9Tb3VwTWVzc2FnZUhlYWRlcnMgU291cE1lc3Nh
Z2VIZWFkZXJzOwogCiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3QgewogICAgIEdPYmpl
Y3QgcGFyZW50OwpAQCAtNzYsNiArNzcsOSBAQCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dl
dF93ZWJfdmlldyAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CiBXRUJLSVRfQVBJ
IGNvbnN0IGdjaGFyICoKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9k
IChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKIAorV0VCS0lUX0FQSSBTb3VwTWVz
c2FnZUhlYWRlcnMgKgord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJz
IChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKKwogV0VCS0lUX0FQSSB2b2lkCiB3
ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaCAgICAgICAoV2ViS2l0VVJJU2NoZW1lUmVx
dWVzdCAqcmVxdWVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH
SW5wdXRTdHJlYW0gICAgICAgICAgICpzdHJlYW0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgKaW5kZXggMzIy
MGIxZjQ2ODg2NzE2MzlmNzZhZjgxYzcyNzVmZmU3OTFjYzVmMy4uYTc4MGVkNGEyMjQwY2ViNDkx
MTZjMmU0ZWQ3ODNhZjk5MjYyZmQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaApAQCAtMzksNiArMzks
NyBAQCBHX0JFR0lOX0RFQ0xTCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2UgICAgICAgIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktp
dFVSSVNjaGVtZVJlc3BvbnNlQ2xhc3MgICBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNzOwog
dHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZSBXZWJLaXRVUklT
Y2hlbWVSZXNwb25zZVByaXZhdGU7Cit0eXBlZGVmIHN0cnVjdCBfU291cE1lc3NhZ2VIZWFkZXJz
ICAgICAgICAgICAgIFNvdXBNZXNzYWdlSGVhZGVyczsKIAogc3RydWN0IF9XZWJLaXRVUklTY2hl
bWVSZXNwb25zZSB7CiAgICAgR09iamVjdCBwYXJlbnQ7CkBAIC03MSw2ICs3MiwxMCBAQCBXRUJL
SVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUg
ICAoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgKnJlc3BvbnNlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgICAqY29u
dGVudF90eXBlKTsKIAorV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25z
ZV9zZXRfaHR0cF9oZWFkZXJzICAgKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlICpyZXNwb25zZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cE1lc3Nh
Z2VIZWFkZXJzICAgICAgKmhlYWRlcnMpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rp
b25zLnR4dCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNl
Y3Rpb25zLnR4dAppbmRleCAwYTljZjI0YzczOGQyY2MwNTc1ZjAwZDczZGRjZTdjMGI0NmJiZGE3
Li4yMDE4ZThjMjQ3OTBkOWU0YzEzZDE2ZTdjNmYyMmE1OWViMjNkMTdjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlv
bnMudHh0CkBAIC0xMjE1LDYgKzEyMTUsNyBAQCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dl
dF91cmkKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3BhdGgKIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3CiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9o
dHRwX21ldGhvZAord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCiB3
ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVz
dF9maW5pc2hfd2l0aF9yZXNwb25zZQogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hf
ZXJyb3IKQEAgLTEyMzAsNiArMTIzMSw3IEBAIFdFQktJVF9VUklfU0NIRU1FX1JFUVVFU1RfR0VU
X0NMQVNTCiAKIDxTVUJTRUNUSU9OIFByaXZhdGU+CiBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJp
dmF0ZQorU291cE1lc3NhZ2VIZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF90
eXBlCiA8L1NFQ1RJT04+CiAKQEAgLTEyMzksNiArMTI0MSw3IEBAIFdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9uZXcKIHdlYmtpdF91cmlfc2NoZW1l
X3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3Nl
dF9zdGF0dXMKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMKIAog
PFNVQlNFQ1RJT04gU3RhbmRhcmQ+CiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNzCkBAIC0x
MjUxLDYgKzEyNTQsNyBAQCBXRUJLSVRfVVJJX1NDSEVNRV9SRVNQT05TRV9HRVRfQ0xBU1MKIAog
PFNVQlNFQ1RJT04gUHJpdmF0ZT4KIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZQorU291
cE1lc3NhZ2VIZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9nZXRfdHlwZQogPC9T
RUNUSU9OPgogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggNTJmZTlkMDNkMmEyOWRiNTNhNzJkMjlhMGRlZTAzN2UwMjA1MjZjOS4uZGU3YmZhMDAz
NzUxYmJhYzllMDg5MGIzMWNiNGNkMDE0MTlkYTU1MyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTExLTA0ICBa
aXhpbmcgTGl1ICA8bGl1c2h1eXUwMTFAZ21haWwuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0g
U3VwcG9ydCBnZXR0aW5nIGFuZCBzZXR0aW5nIEhUVFAgaGVhZGVycyBpbiBjdXN0b20gVVJJIHNj
aGVtZSBoYW5kbGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAzMjczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYkNvbnRl
eHQuY3BwOgorICAgICAgICAodGVzdFdlYkNvbnRleHRVUklTY2hlbWUpOiBBZGRlZCBhIG5ldyB0
ZXN0IHRvIHRlc3QgZ2V0dGluZyBhbmQgc2V0dGluZyBIVFRQIGhlYWRlcnMgaW4gY3VzdG9tIFVS
SSBzY2hlbWUgaGFuZGxlcnMKKwogMjAyMS0xMS0wMyAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFy
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgW2dpdC13ZWJraXRdIEFkZCBsYW5kIGNvbW1hbmQKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0
V2ViQ29udGV4dC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVz
dFdlYktpdFdlYkNvbnRleHQuY3BwCmluZGV4IDkwOGE0OTNmMTRmMDY5MDU1YzUyNjE4NzZjNDYz
MjZiZTI1YTU4MTQuLjg1ZjE3ZjQwODk3ODFiYzEyNjhjNjk5MDFkZjkwMmQ1M2QyN2JkNjkgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0
V2ViQ29udGV4dC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGli
L1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgIkxv
YWRUcmFja2luZ1Rlc3QuaCIKICNpbmNsdWRlICJXZWJLaXRUZXN0U2VydmVyLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9Tb3VwVmVyc2lvbmluZy5oPgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC1tZXNz
YWdlLWhlYWRlcnMuaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMTI5LDYgKzEzMCwxMiBAQCBwdWJsaWM6CiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIGdfYXNzZXJ0X2NtcHN0cihtZXRob2QsID09LCAiR0VU
Iik7CiAKKyAgICAgICAgaWYgKCFnX3N0cmNtcDAoc2NoZW1lLCAiaGVhZGVycyIpKSB7CisgICAg
ICAgICAgICBhdXRvKiBoZWFkZXJzID0gd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0
cF9oZWFkZXJzKHJlcXVlc3QpOworICAgICAgICAgICAgZ19hc3NlcnRfY21wc3RyKHNvdXBfbWVz
c2FnZV9oZWFkZXJzX2dldF9vbmUoaGVhZGVycywgIngtdGVzdCIpLCA9PSwgIkEiKTsKKyAgICAg
ICAgICAgIGdfYXNzZXJ0X2NtcHN0cihzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfbGlzdChoZWFk
ZXJzLCAieC10ZXN0MiIpLCA9PSwgIjEsIDIsIDMsIDQiKTsKKyAgICAgICAgfQorCiAgICAgICAg
IGNvbnN0IFVSSVNjaGVtZUhhbmRsZXImIGhhbmRsZXIgPSB0ZXN0LT5tX2hhbmRsZXJzTWFwLmdl
dChTdHJpbmc6OmZyb21VVEY4KHNjaGVtZSkpOwogCiAgICAgICAgIEdSZWZQdHI8R0lucHV0U3Ry
ZWFtPiBpbnB1dFN0cmVhbSA9IGFkb3B0R1JlZihnX21lbW9yeV9pbnB1dF9zdHJlYW1fbmV3KCkp
OwpAQCAtMTY2LDYgKzE3MywxMSBAQCBwdWJsaWM6CiAgICAgICAgIGF1dG8gcmVzcG9uc2UgPSBh
ZG9wdEdSZWYod2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2VfbmV3KGlucHV0U3RyZWFtLmdldCgp
LCBoYW5kbGVyLnJlcGx5TGVuZ3RoKSk7CiAgICAgICAgIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3Bv
bnNlX3NldF9zdGF0dXMocmVzcG9uc2UuZ2V0KCksIGhhbmRsZXIuc3RhdHVzQ29kZSwgbnVsbHB0
cik7CiAgICAgICAgIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUo
cmVzcG9uc2UuZ2V0KCksIGhhbmRsZXIubWltZVR5cGUuZGF0YSgpKTsKKyAgICAgICAgaWYgKCFn
X3N0cmNtcDAoc2NoZW1lLCAiaGVhZGVyc3Jlc3AiKSkgeworICAgICAgICAgICAgYXV0byogaGVh
ZGVycyA9IHNvdXBfbWVzc2FnZV9oZWFkZXJzX25ldyhTT1VQX01FU1NBR0VfSEVBREVSU19SRVNQ
T05TRSk7CisgICAgICAgICAgICBzb3VwX21lc3NhZ2VfaGVhZGVyc19hcHBlbmQoaGVhZGVycywg
IngtdGVzdCIsICJ0ZXN0X3ZhbHVlIik7CisgICAgICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9y
ZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJzKHJlc3BvbnNlLmdldCgpLCBoZWFkZXJzKTsKKyAgICAg
ICAgfQogICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaF93aXRoX3Jlc3Bv
bnNlKHJlcXVlc3QsIHJlc3BvbnNlLmdldCgpKTsKICAgICB9CiAKQEAgLTMzNCw2ICszNDYsMjUg
QEAgc3RhdGljIHZvaWQgdGVzdFdlYkNvbnRleHRVUklTY2hlbWUoVVJJU2NoZW1lVGVzdCogdGVz
dCwgZ2NvbnN0cG9pbnRlcikKICAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMu
Y29udGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CiAgICAg
Z19hc3NlcnRfZmFsc2UodGVzdC0+bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rl
c3Q6OkxvYWRGYWlsZWQpKTsKIAorICAgIHN0YXRpYyBjb25zdCBjaGFyKiBoZWFkZXJzSFRNTCA9
ICI8aHRtbD48Ym9keT48c2NyaXB0PmxldCBoZHJzID0gbmV3IEhlYWRlcnMoeydYLVRlc3QnOiAn
QScsICdYLVRlc3QyJzogJzEsIDIsIDMnfSk7aGRycy5hcHBlbmQoJ1gtVGVzdDInLCAnNCcpO2Zl
dGNoKCdoZWFkZXJzOmRhdGEnLCB7aGVhZGVyczogaGRyc30pPC9zY3JpcHQ+PC9ib2R5PjwvaHRt
bD4iOworICAgIHRlc3QtPnJlZ2lzdGVyVVJJU2NoZW1lSGFuZGxlcigiaGVhZGVycyIsIG51bGxw
dHIsIDAsICJhcHBsaWNhdGlvbi9qc29uIiwgMjA0KTsKKyAgICB0ZXN0LT5tX2xvYWRFdmVudHMu
Y2xlYXIoKTsKKyAgICB0ZXN0LT5sb2FkSHRtbChoZWFkZXJzSFRNTCwgImhlYWRlcnM6Zm9ybSIp
OworICAgIHRlc3QtPndhaXRVbnRpbExvYWRGaW5pc2hlZCgpOworICAgIGdfYXNzZXJ0X2ZhbHNl
KHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhMb2FkVHJhY2tpbmdUZXN0OjpQcm92aXNpb25h
bExvYWRGYWlsZWQpKTsKKyAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29u
dGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6TG9hZEZhaWxlZCkpOworCisgICAgc3RhdGljIGNvbnN0
IGNoYXIqIHJlc3BIVE1MID0gIjxodG1sPjxoZWFkPjxzY3JpcHQ+ZmV0Y2goJ2hlYWRlcnNyZXNw
OmRhdGEnKS50aGVuKChkKT0+e2lmKGQuaGVhZGVycy5nZXQoJ1gtVGVzdCcpICE9PSAndGVzdF92
YWx1ZScpIHdpbmRvdy5oYXNFcnJvcj0xfSkuY2F0Y2goKGUpPT4gd2luZG93Lmhhc0Vycm9yPTEp
PC9zY3JpcHQ+PC9oZWFkPjwvaHRtbD4iOworICAgIHRlc3QtPnJlZ2lzdGVyVVJJU2NoZW1lSGFu
ZGxlcigiaGVhZGVyc3Jlc3AiLCBudWxscHRyLCAwLCAiYXBwbGljYXRpb24vanNvbiIsIDIwNCk7
CisgICAgdGVzdC0+bV9sb2FkRXZlbnRzLmNsZWFyKCk7CisgICAgdGVzdC0+bG9hZEh0bWwocmVz
cEhUTUwsICJoZWFkZXJzcmVzcDpmb3JtIik7CisgICAgdGVzdC0+d2FpdFVudGlsTG9hZEZpbmlz
aGVkKCk7CisgICAgR1VuaXF1ZU91dFB0cjxHRXJyb3I+IHJlc3BFcnJvcjsKKyAgICB0ZXN0LT5y
dW5KYXZhU2NyaXB0QW5kV2FpdFVudGlsRmluaXNoZWQoImlmKHdpbmRvdy5oYXNFcnJvcikgdGhy
b3cgJ0hlYWRlcnMgYXJlIG1pc3Npbmcgb3IgaW52YWxpZCciLCAmcmVzcEVycm9yLm91dFB0cigp
KTsKKyAgICBnX2Fzc2VydF9ub19lcnJvcihyZXNwRXJyb3IuZ2V0KCkpOworICAgIGdfYXNzZXJ0
X2ZhbHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhMb2FkVHJhY2tpbmdUZXN0OjpQcm92
aXNpb25hbExvYWRGYWlsZWQpKTsKKyAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVu
dHMuY29udGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6TG9hZEZhaWxlZCkpOworCiAgICAgLy8gVG9y
dHVyZSB0ZXN0IHRpbWU6IG1ha2Ugc3VyZSBpdCBzdGlsbCB3b3JrcyBpZiB3ZSBpc3N1ZSBhIGJ1
bmNoIG9mIGRpZmZlcmVudCByZXF1ZXN0cyBhbGwgYXQKICAgICAvLyBvbmNlLiBFYWNoIHJlcXVl
c3Qgc2hvdWxkIGZpbmlzaCBhbmQgcmV0dXJuIGV4YWN0bHkgdGhlIHNhbWUgZGF0YS4KICAgICBp
bnQgbnVtSXRlcmF0aW9ucyA9IDI1Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443866</attachid>
            <date>2021-11-10 14:41:19 -0800</date>
            <delta_ts>2021-11-10 21:04:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203273-20211110154118.patch</filename>
            <type>text/plain</type>
            <size>23012</size>
            <attacher>liushuyu011</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA5YmM3ZDNjYWEzODdjM2Vl
MGRmMjc2MTk1ZTY0ZWFjNDkxMDAwNzIuLmNkZDQzMDY3NDY2YTQ5ODg3YmU2ZTE2ZWFiMjZkNGY3
M2Y5NzkwYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMDQgIFppeGluZyBM
aXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0
IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyk6IEFkZGVkIG5ldyBB
UEkgZnVuY3Rpb24KKyAgICAgICAgKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2sp
OiBJbmNsdWRlIHVzZXItc3BlY2lmaWVkIGhlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwOgorICAgICAgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRIZWFkZXJzKTogQWRkZWQgYSBuZXcgcHJpdmF0ZSBnZXR0ZXIKKyAgICAg
ICAgKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMpOiBBZGRlZCBu
ZXcgQVBJIGZ1bmN0aW9uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuaDogQWRkZWQgZnVuY3Rpb24gcHJvdG90eXBlIGZvciAKKyAgICAg
ICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaDogQWRkZWQgZnVuY3Rp
b24gcHJvdG90eXBlIGZvciAKKyAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9zZXRf
aHR0cF9oZWFkZXJzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQ6IEFkZGVkIG5ldyBzeW1ib2xzCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oOiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5
cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRl
cnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
OiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X3NldF9odHRwX2hlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0OiBBZGRlZCBuZXcgc3ltYm9scworCiAyMDIxLTExLTA0
ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBB
UiBRdWlja2xvb2sgYXNzZXQgaXMgc2hhcmVkIGluc3RlYWQgb2YgcGFnZSBVUkwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVl
c3QuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdC5jcHAKaW5kZXggMzQ1ZDQ0NmYxZDM4ZTM2ZDg4NWFkZGQyOTY1ZmM3YTc2ZmYzN2Ri
OC4uZTMwNjUzNTBiYjhlNWQwNmQzZDA3Y2Y2NTAyYmU2ZDg1NDM4MGY0YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdC5jcHAKQEAgLTcwLDYgKzcwLDcgQEAgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1
ZXN0UHJpdmF0ZSB7CiAgICAgY2hhciByZWFkQnVmZmVyW2dSZWFkQnVmZmVyU2l6ZV07CiAgICAg
dWludDY0X3QgYnl0ZXNSZWFkOwogICAgIGNvbnN0IGNoYXIqIGh0dHBNZXRob2Q7CisgICAgR1Vu
aXF1ZVB0cjxTb3VwTWVzc2FnZUhlYWRlcnM+IGhlYWRlcnM7CiB9OwogCiBXRUJLSVRfREVGSU5F
X1RZUEUoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCwgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdCwg
R19UWVBFX09CSkVDVCkKQEAgLTE4MSw2ICsxODIsMzAgQEAgY29uc3QgZ2NoYXIqIHdlYmtpdF91
cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9kKFdlYktpdFVSSVNjaGVtZVJlcXVlc3Qq
IHIKICAgICByZXR1cm4gcmVxdWVzdC0+cHJpdi0+aHR0cE1ldGhvZDsKIH0KIAorLyoKKyAqIHdl
YmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVyczoKKyAqIEByZXF1ZXN0OiBh
ICNXZWJLaXRVUklTY2hlbWVSZXF1ZXN0CisgKgorICogR2V0IHRoZSAjU291cE1lc3NhZ2VIZWFk
ZXJzIG9mIHRoZSByZXF1ZXN0LgorICoKKyAqIFJldHVybnM6ICh0cmFuc2ZlciBub25lKTogdGhl
ICNTb3VwTWVzc2FnZUhlYWRlcnMgb2YgdGhlIEByZXF1ZXN0LgorICoKKyAqIFNpbmNlOiAyLjM2
CisgKi8KK1NvdXBNZXNzYWdlSGVhZGVycyogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRf
aHR0cF9oZWFkZXJzKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1VSSV9TQ0hFTUVfUkVRVUVTVChyZXF1ZXN0KSwg
bnVsbHB0cik7CisKKyAgICBpZiAoIXJlcXVlc3QtPnByaXYtPmhlYWRlcnMpIHsKKyAgICAgICAg
YXV0byogaGVhZGVycyA9IHNvdXBfbWVzc2FnZV9oZWFkZXJzX25ldyhTT1VQX01FU1NBR0VfSEVB
REVSU19SRVFVRVNUKTsKKyAgICAgICAgcmVxdWVzdC0+cHJpdi0+dGFzay0+cmVxdWVzdCgpLnVw
ZGF0ZVNvdXBNZXNzYWdlSGVhZGVycyhoZWFkZXJzKTsKKyAgICAgICAgLy8gVW5mb3J0dW5hdGVs
eSwgU291cE1lc3NhZ2VIZWFkZXJzIGlzIG5vdCBhIEdPYmplY3QuIFNvIHdlIG5lZWQgdG8gdXNl
IEdVbmlxdWVQdHIgaW5zdGVhZCBvZiBHUmVmUHRyLgorICAgICAgICByZXF1ZXN0LT5wcml2LT5o
ZWFkZXJzLnJlc2V0KGhlYWRlcnMpOworICAgIH0KKworICAgIHJldHVybiByZXF1ZXN0LT5wcml2
LT5oZWFkZXJzLmdldCgpOworfQorCiBzdGF0aWMgdm9pZCB3ZWJraXRVUklTY2hlbWVSZXF1ZXN0
UmVhZENhbGxiYWNrKEdJbnB1dFN0cmVhbSogaW5wdXRTdHJlYW0sIEdBc3luY1Jlc3VsdCogcmVz
dWx0LCBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiBzY2hlbWVSZXF1ZXN0KQogewogICAgIEdSZWZQ
dHI8V2ViS2l0VVJJU2NoZW1lUmVxdWVzdD4gcmVxdWVzdCA9IGFkb3B0R1JlZihzY2hlbWVSZXF1
ZXN0KTsKQEAgLTE5OSwxOSArMjI0LDIxIEBAIHN0YXRpYyB2b2lkIHdlYmtpdFVSSVNjaGVtZVJl
cXVlc3RSZWFkQ2FsbGJhY2soR0lucHV0U3RyZWFtKiBpbnB1dFN0cmVhbSwgR0FzeW5jCiAKICAg
ICBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcCA9IHByaXYtPnJlc3BvbnNlLmdldCgpOwog
ICAgIGlmICghcHJpdi0+Ynl0ZXNSZWFkKSB7Ci0gICAgICAgIENTdHJpbmcgY29udGVudFR5cGUg
PSBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldENvbnRlbnRUeXBlKHJlc3ApOwotICAgICAgICBS
ZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlKHByaXYtPnRhc2stPnJlcXVlc3QoKS51cmwoKSwgZXh0
cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShjb250ZW50VHlwZS5kYXRhKCkpLCBXZWJLaXRVUklT
Y2hlbWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChyZXNwKSwgZW1wdHlTdHJpbmcoKSk7CisgICAg
ICAgIENTdHJpbmcgY29udGVudFR5cGUgPSB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldENvbnRl
bnRUeXBlKHJlc3ApOworICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlKHByaXYtPnRh
c2stPnJlcXVlc3QoKS51cmwoKSwgZXh0cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShjb250ZW50
VHlwZS5kYXRhKCkpLCB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChyZXNw
KSwgZW1wdHlTdHJpbmcoKSk7CiAgICAgICAgIHJlc3BvbnNlLnNldFRleHRFbmNvZGluZ05hbWUo
ZXh0cmFjdENoYXJzZXRGcm9tTWVkaWFUeXBlKGNvbnRlbnRUeXBlLmRhdGEoKSkpOwotICAgICAg
ICBjb25zdCBDU3RyaW5nJiBzdGF0dXNNZXNzYWdlID0gV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VH
ZXRTdGF0dXNNZXNzYWdlKHJlc3ApOworICAgICAgICBjb25zdCBDU3RyaW5nJiBzdGF0dXNNZXNz
YWdlID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNNZXNzYWdlKHJlc3ApOwogICAg
ICAgICBpZiAoc3RhdHVzTWVzc2FnZS5pc051bGwoKSkgewogICAgICAgICAgICAgcmVzcG9uc2Uu
c2V0SFRUUFN0YXR1c0NvZGUoMjAwKTsKICAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0
dXNUZXh0KCJPSyJfcyk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICByZXNwb25zZS5z
ZXRIVFRQU3RhdHVzQ29kZShXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c0NvZGUocmVz
cCkpOworICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c0NvZGUod2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKHJlc3ApKTsKICAgICAgICAgICAgIHJlc3BvbnNlLnNl
dEhUVFBTdGF0dXNUZXh0KHN0YXR1c01lc3NhZ2UuZGF0YSgpKTsKICAgICAgICAgfQogICAgICAg
ICBpZiAocmVzcG9uc2UubWltZVR5cGUoKS5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXNwb25z
ZS5zZXRNaW1lVHlwZShNSU1FVHlwZVJlZ2lzdHJ5OjptaW1lVHlwZUZvclBhdGgocmVzcG9uc2Uu
dXJsKCkucGF0aCgpLnRvU3RyaW5nKCkpKTsKKyAgICAgICAgaWYgKGF1dG8qIGhlYWRlcnMgPSB3
ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldEhlYWRlcnMocmVzcCkpCisgICAgICAgICAgICByZXNw
b25zZS51cGRhdGVGcm9tU291cE1lc3NhZ2VIZWFkZXJzKGhlYWRlcnMpOwogICAgICAgICBwcml2
LT50YXNrLT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2UpOwogICAgIH0KIApAQCAtMjY2LDcg
KzI5Myw3IEBAIHZvaWQgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfd2l0aF9yZXNw
b25zZShXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByZXF1CiAgICAgcmVxdWVzdC0+cHJpdi0+Y2Fu
Y2VsbGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSk7CiAgICAgcmVxdWVzdC0+
cHJpdi0+cmVzcG9uc2UgPSByZXNwb25zZTsKIAotICAgIGdfaW5wdXRfc3RyZWFtX3JlYWRfYXN5
bmMoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0ocmVzcG9uc2UpLCByZXF1ZXN0LT5w
cml2LT5yZWFkQnVmZmVyLCBnUmVhZEJ1ZmZlclNpemUsIFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6
QXN5bmNJT05ldHdvcmssIHJlcXVlc3QtPnByaXYtPmNhbmNlbGxhYmxlLmdldCgpLAorICAgIGdf
aW5wdXRfc3RyZWFtX3JlYWRfYXN5bmMod2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0o
cmVzcG9uc2UpLCByZXF1ZXN0LT5wcml2LT5yZWFkQnVmZmVyLCBnUmVhZEJ1ZmZlclNpemUsIFJ1
bkxvb3BTb3VyY2VQcmlvcml0eTo6QXN5bmNJT05ldHdvcmssIHJlcXVlc3QtPnByaXYtPmNhbmNl
bGxhYmxlLmdldCgpLAogICAgICAgICByZWludGVycHJldF9jYXN0PEdBc3luY1JlYWR5Q2FsbGJh
Y2s+KHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2spLCBnX29iamVjdF9yZWYocmVx
dWVzdCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5jcHAKaW5kZXggNDM0OGU0Y2NiOGI0ZDQ2
ZmVjNTU3OTFlMjIyOTkzNmE5ODdkMDJkYS4uY2ZkMTkyZTU5ZGEyMmM3NjJmOGExNDQwMTI5ZDg0
MDdjYzQwNzYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmNwcApAQCAtMjMsNiArMjMsNyBAQAog
I2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKICNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgog
I2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVl
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4KIAogZW51bSB7CkBAIC01NSw2
ICs1NiwxNCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAqCiAgKi8KIAorbmFtZXNwYWNl
IFdURiB7CisjaWYgVVNFKFNPVVAyKQorV1RGX0RFRklORV9HUFRSX0RFTEVURVIoU291cE1lc3Nh
Z2VIZWFkZXJzLCBzb3VwX21lc3NhZ2VfaGVhZGVyc19mcmVlKTsKKyNlbHNlCitXVEZfREVGSU5F
X0dQVFJfREVMRVRFUihTb3VwTWVzc2FnZUhlYWRlcnMsIHNvdXBfbWVzc2FnZV9oZWFkZXJzX3Vu
cmVmKTsKKyNlbmRpZgorfQorCiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0
ZSB7CiAgICAgR1JlZlB0cjxHSW5wdXRTdHJlYW0+IHN0cmVhbTsKICAgICB1aW50NjRfdCBzdHJl
YW1MZW5ndGg7CkBAIC02Miw2ICs3MSw3IEBAIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2VQcml2YXRlIHsKICAgICBpbnQgc3RhdHVzQ29kZSB7IC0xIH07CiAgICAgQ1N0cmluZyBzdGF0
dXNNZXNzYWdlOwogICAgIENTdHJpbmcgY29udGVudFR5cGU7CisgICAgR1VuaXF1ZVB0cjxTb3Vw
TWVzc2FnZUhlYWRlcnM+IGhlYWRlcnM7CiB9OwogCiBXRUJLSVRfREVGSU5FX1RZUEUoV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2UsIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlLCBHX1RZUEVfT0JK
RUNUKQpAQCAtMTI0LDMxICsxMzQsMzYgQEAgc3RhdGljIHZvaWQgd2Via2l0X3VyaV9zY2hlbWVf
cmVzcG9uc2VfY2xhc3NfaW5pdChXZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNzKgogfQogCiAv
LyBQcml2YXRlIGdldHRlcnMKLWludCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c0Nv
ZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQoraW50IHdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZSogcmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5zdGF0dXNDb2RlOwog
fQogCi1HSW5wdXRTdHJlYW0qIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtKGNvbnN0
IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKK0dJbnB1dFN0cmVhbSogd2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uq
IHJlc3BvbnNlKQogewogICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+c3RyZWFtLmdldCgpOwog
fQogCi1jb25zdCBDU3RyaW5nJiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c01lc3Nh
Z2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQorY29uc3QgQ1N0cmlu
ZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNNZXNzYWdlKGNvbnN0IFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYt
PnN0YXR1c01lc3NhZ2U7CiB9CiAKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlR2V0Q29udGVudFR5cGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNl
KQorY29uc3QgQ1N0cmluZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShj
b25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJl
c3BvbnNlLT5wcml2LT5jb250ZW50VHlwZTsKIH0KIAotdWludDY0X3QgV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJl
c3BvbnNlKQordWludDY0X3Qgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgo
Y29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQogewogICAgIHJldHVybiBy
ZXNwb25zZS0+cHJpdi0+c3RyZWFtTGVuZ3RoOwogfQogCitTb3VwTWVzc2FnZUhlYWRlcnMqIHdl
YktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0SGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXNwb25zZSog
cmVzcG9uc2UpCit7CisgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5oZWFkZXJzLmdldCgpOwor
fQorCiAvKioKICAqIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX25ldzoKICAqIEBpbnB1dF9z
dHJlYW06IGEgI0dJbnB1dFN0cmVhbSB0byByZWFkIHRoZSBjb250ZW50cyBvZiB0aGUgcmVxdWVz
dApAQCAtMTg0LDYgKzE5OSwyNSBAQCB2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3Nl
dF9jb250ZW50X3R5cGUoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbgogICAgIHJlc3Bv
bnNlLT5wcml2LT5jb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlOwogfQogCisvKgorICogd2Via2l0
X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVyczoKKyAqIEByZXNwb25zZTogYSAj
V2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UKKyAqIEBoZWFkZXJzOiAodHJhbnNmZXIgbm9uZSk6IHRo
ZSBIVFRQIGhlYWRlcnMgdG8gYmUgc2V0CisgKgorICogQXNzaWduIHRoZSBwcm92aWRlZCAjU291
cE1lc3NhZ2VIZWFkZXJzIHRvIHRoZSByZXNwb25zZS4KKyAqIEBoZWFkZXJzIG5lZWQgdG8gYmUg
b2YgdGhlIHR5cGUgJVNPVVBfTUVTU0FHRV9IRUFERVJTX1JFU1BPTlNFLgorICogQW55IGV4aXN0
aW5nIGhlYWRlcnMgd2lsbCBiZSBvdmVyd3JpdHRlbi4KKyAqCisgKiBTaW5jZTogMi4zNgorICov
Cit2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMoV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlLCBTb3VwTWVzc2FnZUhlYWRlcnMqIGhlYWRlcnMp
Cit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfVVJJX1NDSEVNRV9SRVNQT05TRShy
ZXNwb25zZSkpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoc291cF9tZXNzYWdlX2hlYWRlcnNfZ2V0
X2hlYWRlcnNfdHlwZShoZWFkZXJzKSA9PSBTT1VQX01FU1NBR0VfSEVBREVSU19SRVNQT05TRSk7
CisKKyAgICByZXNwb25zZS0+cHJpdi0+aGVhZGVycy5yZXNldChoZWFkZXJzKTsKK30KKwogLyoq
CiAgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfc3RhdHVzOgogICogQHJlc3BvbnNl
OiBhICNXZWJLaXRVUklTY2hlbWVSZXNwb25zZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZh
dGUuaAppbmRleCA3YjBkNmYwYTc2ZDMzZTg0MzJlMTA4YjdkYjEzOThlZTNlZGJiZDczLi5hNTY0
Y2E2YTU5ZmM5MGZlZDE5NjZkNzUzOWI5M2E4NWFhYjY0MzNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVS
ZXNwb25zZVByaXZhdGUuaApAQCAtMjIsOCArMjIsOSBAQAogI2luY2x1ZGUgIldlYktpdFVSSVNj
aGVtZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCi1pbnQgV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlKik7Ci1HSW5wdXRTdHJlYW0qIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFt
KGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7Ci1jb25zdCBDU3RyaW5nJiBXZWJLaXRV
UklTY2hlbWVSZXNwb25zZUdldFN0YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2UqKTsKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0Q29udGVu
dFR5cGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKLXVpbnQ2NF90IFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtTGVuZ3RoKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlKik7CitpbnQgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKGNvbnN0IFdl
YktpdFVSSVNjaGVtZVJlc3BvbnNlKik7CitHSW5wdXRTdHJlYW0qIHdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlR2V0U3RyZWFtKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7Citjb25zdCBD
U3RyaW5nJiB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c01lc3NhZ2UoY29uc3QgV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK2NvbnN0IENTdHJpbmcmIHdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlR2V0Q29udGVudFR5cGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK3Vp
bnQ2NF90IHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtTGVuZ3RoKGNvbnN0IFdlYktp
dFVSSVNjaGVtZVJlc3BvbnNlKik7CitTb3VwTWVzc2FnZUhlYWRlcnMqIHdlYktpdFVSSVNjaGVt
ZVJlc3BvbnNlR2V0SGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVl
c3QuaAppbmRleCAyYjg4YWE2YTg5Nzg0N2JhMTRmNmU4OTIyNDYzMDc2ODVmM2RlOTlmLi40NDQ2
ZTYzMjIxYzViZjg1NzkzZGVmZGU3ZTIxNDRhOTEyZjdlMDk0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaApA
QCAtNDIsNiArNDIsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3Qg
ICAgICAgIFdlYktpdFVSSVNjaGVtZVJlcXVlc3Q7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJ
U2NoZW1lUmVxdWVzdENsYXNzICAgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdENsYXNzOwogdHlwZWRl
ZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlIFdlYktpdFVSSVNjaGVtZVJl
cXVlc3RQcml2YXRlOwogCisjaWZuZGVmIFNPVVBfVFlQRV9NRVNTQUdFX0hFQURFUlMKK3R5cGVk
ZWYgc3RydWN0IF9Tb3VwTWVzc2FnZUhlYWRlcnMgU291cE1lc3NhZ2VIZWFkZXJzOworI2VuZGlm
CisKIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCB7CiAgICAgR09iamVjdCBwYXJlbnQ7
CiAKQEAgLTc1LDYgKzc5LDkgQEAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3Zp
ZXcgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOwogV0VCS0lUX0FQSSBjb25zdCBn
Y2hhciAqCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZCAoV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CiAKK1dFQktJVF9BUEkgU291cE1lc3NhZ2VIZWFk
ZXJzICoKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyAoV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CisKIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3Vy
aV9zY2hlbWVfcmVxdWVzdF9maW5pc2ggICAgICAgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJl
cXVlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0lucHV0U3Ry
ZWFtICAgICAgICAgICAqc3RyZWFtLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oCmluZGV4IGRjNzBjZTY3M2Vh
MjQ0ZGUwNzAwZjBmNjA0MWVlNmVhYjYwYTc3ZGUuLjhmMGQ1NThjMTZlZTE4NThmM2I5N2FhZTBh
YWI0ODhkOTAxMDIxMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgKQEAgLTQwLDYgKzQwLDcgQEAgR19C
RUdJTl9ERUNMUwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlICAgICAg
ICBXZWJLaXRVUklTY2hlbWVSZXNwb25zZTsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hl
bWVSZXNwb25zZUNsYXNzICAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VDbGFzczsKIHR5cGVkZWYg
c3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUgV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2VQcml2YXRlOwordHlwZWRlZiBzdHJ1Y3QgX1NvdXBNZXNzYWdlSGVhZGVycyAgICAgICAg
ICAgICBTb3VwTWVzc2FnZUhlYWRlcnM7CiAKIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2UgewogICAgIEdPYmplY3QgcGFyZW50OwpAQCAtNzIsNiArNzMsMTAgQEAgV0VCS0lUX0FQSSB2
b2lkCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfY29udGVudF90eXBlICAgKFdlYktp
dFVSSVNjaGVtZVJlc3BvbnNlICpyZXNwb25zZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICAgKmNvbnRlbnRfdHlw
ZSk7CiAKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0
dHBfaGVhZGVycyAgIChXZWJLaXRVUklTY2hlbWVSZXNwb25zZSAqcmVzcG9uc2UsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXBNZXNzYWdlSGVhZGVy
cyAgICAgICpoZWFkZXJzKTsKKwogR19FTkRfREVDTFMKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlv
bnMudHh0IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGst
NC4wLXNlY3Rpb25zLnR4dAppbmRleCA3N2M0NTRhNWE0MjE5MzEzMGZjOTIxMjczNDY5MDFiYjZk
ZjM2OGM5Li5mOGY1NjhmNDU4ZDAyMGU2MGFjZWI2MGFkMWQ3OTEwZWNiMDEzOTgxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAt
c2VjdGlvbnMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93
ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQKQEAgLTEyNzgsNiArMTI3OCw3IEBAIHdlYmtpdF91
cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3VyaQogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRf
cGF0aAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcKIHdlYmtpdF91cmlf
c2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9kCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0
X2dldF9odHRwX2hlYWRlcnMKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoCiB3ZWJr
aXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaF93aXRoX3Jlc3BvbnNlCiB3ZWJraXRfdXJpX3Nj
aGVtZV9yZXF1ZXN0X2ZpbmlzaF9lcnJvcgpAQCAtMTI5Myw2ICsxMjk0LDcgQEAgV0VCS0lUX1VS
SV9TQ0hFTUVfUkVRVUVTVF9HRVRfQ0xBU1MKIAogPFNVQlNFQ1RJT04gUHJpdmF0ZT4KIFdlYktp
dFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlCitTb3VwTWVzc2FnZUhlYWRlcnMKIHdlYmtpdF91cmlf
c2NoZW1lX3JlcXVlc3RfZ2V0X3R5cGUKIDwvU0VDVElPTj4KIApAQCAtMTMwMiw2ICsxMzA0LDcg
QEAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX25l
dwogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZQogd2Via2l0X3Vy
aV9zY2hlbWVfcmVzcG9uc2Vfc2V0X3N0YXR1cword2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vf
c2V0X2h0dHBfaGVhZGVycwogCiA8U1VCU0VDVElPTiBTdGFuZGFyZD4KIFdlYktpdFVSSVNjaGVt
ZVJlc3BvbnNlQ2xhc3MKQEAgLTEzMTQsNiArMTMxNyw3IEBAIFdFQktJVF9VUklfU0NIRU1FX1JF
U1BPTlNFX0dFVF9DTEFTUwogCiA8U1VCU0VDVElPTiBQcml2YXRlPgogV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2VQcml2YXRlCitTb3VwTWVzc2FnZUhlYWRlcnMKIHdlYmtpdF91cmlfc2NoZW1lX3Jl
c3BvbnNlX2dldF90eXBlCiA8L1NFQ1RJT04+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmgKaW5kZXggZTg4Y2E3
OWU1NzVlNDliZjY3NjE3MWMzYzlkYzRjNzQzY2Q1YjA4MC4uMGI5YzAzNDFmZjA2N2ZjYzFmZjE4
ZTVmZDJhODU1MDNlMzE1YTUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmgKQEAgLTQyLDYgKzQyLDcgQEAg
dHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3RDbGFzcyAgIFdlYktpdFVSSVNj
aGVtZVJlcXVlc3RDbGFzczsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0
UHJpdmF0ZSBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJpdmF0ZTsKIAogdHlwZWRlZiBzdHJ1Y3Qg
X1dlYktpdFdlYlZpZXcgV2ViS2l0V2ViVmlldzsKK3R5cGVkZWYgc3RydWN0IF9Tb3VwTWVzc2Fn
ZUhlYWRlcnMgU291cE1lc3NhZ2VIZWFkZXJzOwogCiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJl
cXVlc3QgewogICAgIEdPYmplY3QgcGFyZW50OwpAQCAtNzYsNiArNzcsOSBAQCB3ZWJraXRfdXJp
X3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmlldyAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVx
dWVzdCk7CiBXRUJLSVRfQVBJIGNvbnN0IGdjaGFyICoKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVl
c3RfZ2V0X2h0dHBfbWV0aG9kIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKIAor
V0VCS0lUX0FQSSBTb3VwTWVzc2FnZUhlYWRlcnMgKgord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVz
dF9nZXRfaHR0cF9oZWFkZXJzIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKKwog
V0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaCAgICAgICAo
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHSW5wdXRTdHJlYW0gICAgICAgICAgICpzdHJlYW0sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJl
c3BvbnNlLmgKaW5kZXggMzIyMGIxZjQ2ODg2NzE2MzlmNzZhZjgxYzcyNzVmZmU3OTFjYzVmMy4u
YTc4MGVkNGEyMjQwY2ViNDkxMTZjMmU0ZWQ3ODNhZjk5MjYyZmQ0ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2UuaApAQCAtMzksNiArMzksNyBAQCBHX0JFR0lOX0RFQ0xTCiB0eXBlZGVmIHN0cnVjdCBfV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2UgICAgICAgIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlOwogdHlw
ZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlQ2xhc3MgICBXZWJLaXRVUklTY2hl
bWVSZXNwb25zZUNsYXNzOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNl
UHJpdmF0ZSBXZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGU7Cit0eXBlZGVmIHN0cnVjdCBf
U291cE1lc3NhZ2VIZWFkZXJzICAgICAgICAgICAgIFNvdXBNZXNzYWdlSGVhZGVyczsKIAogc3Ry
dWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZSB7CiAgICAgR09iamVjdCBwYXJlbnQ7CkBAIC03
MSw2ICs3MiwxMCBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNl
X3NldF9jb250ZW50X3R5cGUgICAoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgKnJlc3BvbnNlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hh
ciAgICAgICAgICAgICAqY29udGVudF90eXBlKTsKIAorV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRf
dXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJzICAgKFdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlICpyZXNwb25zZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU291cE1lc3NhZ2VIZWFkZXJzICAgICAgKmhlYWRlcnMpOworCiBHX0VORF9ERUNM
UwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUv
ZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93
cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dAppbmRleCAwYTljZjI0YzczOGQyY2MwNTc1ZjAw
ZDczZGRjZTdjMGI0NmJiZGE3Li4yMDE4ZThjMjQ3OTBkOWU0YzEzZDE2ZTdjNmYyMmE1OWViMjNk
MTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3Bl
LTEuMC1zZWN0aW9ucy50eHQKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CkBAIC0xMjE1LDYgKzEyMTUsNyBAQCB3ZWJraXRfdXJp
X3NjaGVtZV9yZXF1ZXN0X2dldF91cmkKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3Bh
dGgKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3CiB3ZWJraXRfdXJpX3Nj
aGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZAord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9n
ZXRfaHR0cF9oZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaAogd2Via2l0
X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfd2l0aF9yZXNwb25zZQogd2Via2l0X3VyaV9zY2hl
bWVfcmVxdWVzdF9maW5pc2hfZXJyb3IKQEAgLTEyMzAsNiArMTIzMSw3IEBAIFdFQktJVF9VUklf
U0NIRU1FX1JFUVVFU1RfR0VUX0NMQVNTCiAKIDxTVUJTRUNUSU9OIFByaXZhdGU+CiBXZWJLaXRV
UklTY2hlbWVSZXF1ZXN0UHJpdmF0ZQorU291cE1lc3NhZ2VIZWFkZXJzCiB3ZWJraXRfdXJpX3Nj
aGVtZV9yZXF1ZXN0X2dldF90eXBlCiA8L1NFQ1RJT04+CiAKQEAgLTEyMzksNiArMTI0MSw3IEBA
IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9uZXcK
IHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUKIHdlYmtpdF91cmlf
c2NoZW1lX3Jlc3BvbnNlX3NldF9zdGF0dXMKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3Nl
dF9odHRwX2hlYWRlcnMKIAogPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CiBXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZUNsYXNzCkBAIC0xMjUxLDYgKzEyNTQsNyBAQCBXRUJLSVRfVVJJX1NDSEVNRV9SRVNQ
T05TRV9HRVRfQ0xBU1MKIAogPFNVQlNFQ1RJT04gUHJpdmF0ZT4KIFdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlUHJpdmF0ZQorU291cE1lc3NhZ2VIZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNw
b25zZV9nZXRfdHlwZQogPC9TRUNUSU9OPgogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTJmZTlkMDNkMmEyOWRiNTNhNzJkMjlhMGRlZTAzN2Uw
MjA1MjZjOS4uZGU3YmZhMDAzNzUxYmJhYzllMDg5MGIzMWNiNGNkMDE0MTlkYTU1MyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDIxLTExLTA0ICBaaXhpbmcgTGl1ICA8bGl1c2h1eXUwMTFAZ21haWwuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV0gU3VwcG9ydCBnZXR0aW5nIGFuZCBzZXR0aW5nIEhUVFAgaGVhZGVy
cyBpbiBjdXN0b20gVVJJIHNjaGVtZSBoYW5kbGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIv
VGVzdFdlYktpdFdlYkNvbnRleHQuY3BwOgorICAgICAgICAodGVzdFdlYkNvbnRleHRVUklTY2hl
bWUpOiBBZGRlZCBhIG5ldyB0ZXN0IHRvIHRlc3QgZ2V0dGluZyBhbmQgc2V0dGluZyBIVFRQIGhl
YWRlcnMgaW4gY3VzdG9tIFVSSSBzY2hlbWUgaGFuZGxlcnMKKwogMjAyMS0xMS0wMyAgSm9uYXRo
YW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgW2dpdC13ZWJraXRdIEFk
ZCBsYW5kIGNvbW1hbmQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0R0xpYi9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwCmluZGV4IDkwOGE0OTNmMTRm
MDY5MDU1YzUyNjE4NzZjNDYzMjZiZTI1YTU4MTQuLjg1ZjE3ZjQwODk3ODFiYzEyNjhjNjk5MDFk
ZjkwMmQ1M2QyN2JkNjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0R0xpYi9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcApAQCAtMjIsNiArMjIs
NyBAQAogI2luY2x1ZGUgIkxvYWRUcmFja2luZ1Rlc3QuaCIKICNpbmNsdWRlICJXZWJLaXRUZXN0
U2VydmVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Tb3VwVmVyc2lvbmluZy5oPgorI2luY2x1ZGUg
PGxpYnNvdXAvc291cC1tZXNzYWdlLWhlYWRlcnMuaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KICNp
bmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMTI5LDYgKzEz
MCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGdfYXNzZXJ0X2NtcHN0
cihtZXRob2QsID09LCAiR0VUIik7CiAKKyAgICAgICAgaWYgKCFnX3N0cmNtcDAoc2NoZW1lLCAi
aGVhZGVycyIpKSB7CisgICAgICAgICAgICBhdXRvKiBoZWFkZXJzID0gd2Via2l0X3VyaV9zY2hl
bWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzKHJlcXVlc3QpOworICAgICAgICAgICAgZ19hc3Nl
cnRfY21wc3RyKHNvdXBfbWVzc2FnZV9oZWFkZXJzX2dldF9vbmUoaGVhZGVycywgIngtdGVzdCIp
LCA9PSwgIkEiKTsKKyAgICAgICAgICAgIGdfYXNzZXJ0X2NtcHN0cihzb3VwX21lc3NhZ2VfaGVh
ZGVyc19nZXRfbGlzdChoZWFkZXJzLCAieC10ZXN0MiIpLCA9PSwgIjEsIDIsIDMsIDQiKTsKKyAg
ICAgICAgfQorCiAgICAgICAgIGNvbnN0IFVSSVNjaGVtZUhhbmRsZXImIGhhbmRsZXIgPSB0ZXN0
LT5tX2hhbmRsZXJzTWFwLmdldChTdHJpbmc6OmZyb21VVEY4KHNjaGVtZSkpOwogCiAgICAgICAg
IEdSZWZQdHI8R0lucHV0U3RyZWFtPiBpbnB1dFN0cmVhbSA9IGFkb3B0R1JlZihnX21lbW9yeV9p
bnB1dF9zdHJlYW1fbmV3KCkpOwpAQCAtMTY2LDYgKzE3MywxMSBAQCBwdWJsaWM6CiAgICAgICAg
IGF1dG8gcmVzcG9uc2UgPSBhZG9wdEdSZWYod2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2VfbmV3
KGlucHV0U3RyZWFtLmdldCgpLCBoYW5kbGVyLnJlcGx5TGVuZ3RoKSk7CiAgICAgICAgIHdlYmtp
dF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9zdGF0dXMocmVzcG9uc2UuZ2V0KCksIGhhbmRsZXIu
c3RhdHVzQ29kZSwgbnVsbHB0cik7CiAgICAgICAgIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNl
X3NldF9jb250ZW50X3R5cGUocmVzcG9uc2UuZ2V0KCksIGhhbmRsZXIubWltZVR5cGUuZGF0YSgp
KTsKKyAgICAgICAgaWYgKCFnX3N0cmNtcDAoc2NoZW1lLCAiaGVhZGVyc3Jlc3AiKSkgeworICAg
ICAgICAgICAgYXV0byogaGVhZGVycyA9IHNvdXBfbWVzc2FnZV9oZWFkZXJzX25ldyhTT1VQX01F
U1NBR0VfSEVBREVSU19SRVNQT05TRSk7CisgICAgICAgICAgICBzb3VwX21lc3NhZ2VfaGVhZGVy
c19hcHBlbmQoaGVhZGVycywgIngtdGVzdCIsICJ0ZXN0X3ZhbHVlIik7CisgICAgICAgICAgICB3
ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJzKHJlc3BvbnNlLmdldCgp
LCBoZWFkZXJzKTsKKyAgICAgICAgfQogICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0
X2ZpbmlzaF93aXRoX3Jlc3BvbnNlKHJlcXVlc3QsIHJlc3BvbnNlLmdldCgpKTsKICAgICB9CiAK
QEAgLTMzNCw2ICszNDYsMjUgQEAgc3RhdGljIHZvaWQgdGVzdFdlYkNvbnRleHRVUklTY2hlbWUo
VVJJU2NoZW1lVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKICAgICBnX2Fzc2VydF9mYWxzZSh0
ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6UHJvdmlzaW9uYWxM
b2FkRmFpbGVkKSk7CiAgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+bV9sb2FkRXZlbnRzLmNvbnRh
aW5zKExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQpKTsKIAorICAgIHN0YXRpYyBjb25zdCBj
aGFyKiBoZWFkZXJzSFRNTCA9ICI8aHRtbD48Ym9keT48c2NyaXB0PmxldCBoZHJzID0gbmV3IEhl
YWRlcnMoeydYLVRlc3QnOiAnQScsICdYLVRlc3QyJzogJzEsIDIsIDMnfSk7aGRycy5hcHBlbmQo
J1gtVGVzdDInLCAnNCcpO2ZldGNoKCdoZWFkZXJzOmRhdGEnLCB7aGVhZGVyczogaGRyc30pPC9z
Y3JpcHQ+PC9ib2R5PjwvaHRtbD4iOworICAgIHRlc3QtPnJlZ2lzdGVyVVJJU2NoZW1lSGFuZGxl
cigiaGVhZGVycyIsIG51bGxwdHIsIDAsICJhcHBsaWNhdGlvbi9qc29uIiwgMjA0KTsKKyAgICB0
ZXN0LT5tX2xvYWRFdmVudHMuY2xlYXIoKTsKKyAgICB0ZXN0LT5sb2FkSHRtbChoZWFkZXJzSFRN
TCwgImhlYWRlcnM6Zm9ybSIpOworICAgIHRlc3QtPndhaXRVbnRpbExvYWRGaW5pc2hlZCgpOwor
ICAgIGdfYXNzZXJ0X2ZhbHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhMb2FkVHJhY2tp
bmdUZXN0OjpQcm92aXNpb25hbExvYWRGYWlsZWQpKTsKKyAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0
LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6TG9hZEZhaWxlZCkpOwor
CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHJlc3BIVE1MID0gIjxodG1sPjxoZWFkPjxzY3JpcHQ+
ZmV0Y2goJ2hlYWRlcnNyZXNwOmRhdGEnKS50aGVuKChkKT0+e2lmKGQuaGVhZGVycy5nZXQoJ1gt
VGVzdCcpICE9PSAndGVzdF92YWx1ZScpIHdpbmRvdy5oYXNFcnJvcj0xfSkuY2F0Y2goKGUpPT4g
d2luZG93Lmhhc0Vycm9yPTEpPC9zY3JpcHQ+PC9oZWFkPjwvaHRtbD4iOworICAgIHRlc3QtPnJl
Z2lzdGVyVVJJU2NoZW1lSGFuZGxlcigiaGVhZGVyc3Jlc3AiLCBudWxscHRyLCAwLCAiYXBwbGlj
YXRpb24vanNvbiIsIDIwNCk7CisgICAgdGVzdC0+bV9sb2FkRXZlbnRzLmNsZWFyKCk7CisgICAg
dGVzdC0+bG9hZEh0bWwocmVzcEhUTUwsICJoZWFkZXJzcmVzcDpmb3JtIik7CisgICAgdGVzdC0+
d2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7CisgICAgR1VuaXF1ZU91dFB0cjxHRXJyb3I+IHJlc3BF
cnJvcjsKKyAgICB0ZXN0LT5ydW5KYXZhU2NyaXB0QW5kV2FpdFVudGlsRmluaXNoZWQoImlmKHdp
bmRvdy5oYXNFcnJvcikgdGhyb3cgJ0hlYWRlcnMgYXJlIG1pc3Npbmcgb3IgaW52YWxpZCciLCAm
cmVzcEVycm9yLm91dFB0cigpKTsKKyAgICBnX2Fzc2VydF9ub19lcnJvcihyZXNwRXJyb3IuZ2V0
KCkpOworICAgIGdfYXNzZXJ0X2ZhbHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhMb2Fk
VHJhY2tpbmdUZXN0OjpQcm92aXNpb25hbExvYWRGYWlsZWQpKTsKKyAgICBnX2Fzc2VydF9mYWxz
ZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6TG9hZEZhaWxl
ZCkpOworCiAgICAgLy8gVG9ydHVyZSB0ZXN0IHRpbWU6IG1ha2Ugc3VyZSBpdCBzdGlsbCB3b3Jr
cyBpZiB3ZSBpc3N1ZSBhIGJ1bmNoIG9mIGRpZmZlcmVudCByZXF1ZXN0cyBhbGwgYXQKICAgICAv
LyBvbmNlLiBFYWNoIHJlcXVlc3Qgc2hvdWxkIGZpbmlzaCBhbmQgcmV0dXJuIGV4YWN0bHkgdGhl
IHNhbWUgZGF0YS4KICAgICBpbnQgbnVtSXRlcmF0aW9ucyA9IDI1Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443903</attachid>
            <date>2021-11-10 21:04:55 -0800</date>
            <delta_ts>2021-11-11 16:24:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203273-20211110220454.patch</filename>
            <type>text/plain</type>
            <size>23168</size>
            <attacher>liushuyu011</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczMTkxMDc1NGQ2MTc0Zjk2
N2EzY2M2MDU0NGMwMDgxYzUzOGM0YTIuLjAyOTczYjcxNWI1ZTRlNDM1YjIyODFkNjA1YjhmMzQ1
MDUyMzM5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMTAgIFppeGluZyBM
aXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0
IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyk6IEFkZGVkIG5ldyBB
UEkgZnVuY3Rpb24KKyAgICAgICAgKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2sp
OiBJbmNsdWRlIHVzZXItc3BlY2lmaWVkIGhlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwOgorICAgICAgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRIZWFkZXJzKTogQWRkZWQgYSBuZXcgcHJpdmF0ZSBnZXR0ZXIKKyAgICAg
ICAgKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMpOiBBZGRlZCBu
ZXcgQVBJIGZ1bmN0aW9uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuaDogQWRkZWQgZnVuY3Rpb24gcHJvdG90eXBlIGZvciAKKyAgICAg
ICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaDogQWRkZWQgZnVuY3Rp
b24gcHJvdG90eXBlIGZvciAKKyAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9zZXRf
aHR0cF9oZWFkZXJzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQ6IEFkZGVkIG5ldyBzeW1ib2xzCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oOiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5
cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRl
cnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
OiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X3NldF9odHRwX2hlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0OiBBZGRlZCBuZXcgc3ltYm9scworCiAyMDIxLTExLTEw
ICBKIFBhc2NvZSAgPGpfcGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIFVu
aWZ5IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgU1BJIGFuZCBBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IncyBDbGllbnREYXRhSnNvbiBnZW5lcmF0aW9uIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcApp
bmRleCAzNDVkNDQ2ZjFkMzhlMzZkODg1YWRkZDI5NjVmYzdhNzZmZjM3ZGI4Li5lMzA2NTM1MGJi
OGU1ZDA2ZDNkMDdjZjY1MDJiZTZkODU0MzgwZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcApA
QCAtNzAsNiArNzAsNyBAQCBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlIHsK
ICAgICBjaGFyIHJlYWRCdWZmZXJbZ1JlYWRCdWZmZXJTaXplXTsKICAgICB1aW50NjRfdCBieXRl
c1JlYWQ7CiAgICAgY29uc3QgY2hhciogaHR0cE1ldGhvZDsKKyAgICBHVW5pcXVlUHRyPFNvdXBN
ZXNzYWdlSGVhZGVycz4gaGVhZGVyczsKIH07CiAKIFdFQktJVF9ERUZJTkVfVFlQRShXZWJLaXRV
UklTY2hlbWVSZXF1ZXN0LCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0LCBHX1RZUEVfT0JKRUNU
KQpAQCAtMTgxLDYgKzE4MiwzMCBAQCBjb25zdCBnY2hhciogd2Via2l0X3VyaV9zY2hlbWVfcmVx
dWVzdF9nZXRfaHR0cF9tZXRob2QoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogcgogICAgIHJldHVy
biByZXF1ZXN0LT5wcml2LT5odHRwTWV0aG9kOwogfQogCisvKgorICogd2Via2l0X3VyaV9zY2hl
bWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzOgorICogQHJlcXVlc3Q6IGEgI1dlYktpdFVSSVNj
aGVtZVJlcXVlc3QKKyAqCisgKiBHZXQgdGhlICNTb3VwTWVzc2FnZUhlYWRlcnMgb2YgdGhlIHJl
cXVlc3QuCisgKgorICogUmV0dXJuczogKHRyYW5zZmVyIG5vbmUpOiB0aGUgI1NvdXBNZXNzYWdl
SGVhZGVycyBvZiB0aGUgQHJlcXVlc3QuCisgKgorICogU2luY2U6IDIuMzYKKyAqLworU291cE1l
c3NhZ2VIZWFkZXJzKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMo
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogcmVxdWVzdCkKK3sKKyAgICBnX3JldHVybl92YWxfaWZf
ZmFpbChXRUJLSVRfSVNfVVJJX1NDSEVNRV9SRVFVRVNUKHJlcXVlc3QpLCBudWxscHRyKTsKKwor
ICAgIGlmICghcmVxdWVzdC0+cHJpdi0+aGVhZGVycykgeworICAgICAgICBhdXRvKiBoZWFkZXJz
ID0gc291cF9tZXNzYWdlX2hlYWRlcnNfbmV3KFNPVVBfTUVTU0FHRV9IRUFERVJTX1JFUVVFU1Qp
OworICAgICAgICByZXF1ZXN0LT5wcml2LT50YXNrLT5yZXF1ZXN0KCkudXBkYXRlU291cE1lc3Nh
Z2VIZWFkZXJzKGhlYWRlcnMpOworICAgICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBTb3VwTWVzc2Fn
ZUhlYWRlcnMgaXMgbm90IGEgR09iamVjdC4gU28gd2UgbmVlZCB0byB1c2UgR1VuaXF1ZVB0ciBp
bnN0ZWFkIG9mIEdSZWZQdHIuCisgICAgICAgIHJlcXVlc3QtPnByaXYtPmhlYWRlcnMucmVzZXQo
aGVhZGVycyk7CisgICAgfQorCisgICAgcmV0dXJuIHJlcXVlc3QtPnByaXYtPmhlYWRlcnMuZ2V0
KCk7Cit9CisKIHN0YXRpYyB2b2lkIHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2so
R0lucHV0U3RyZWFtKiBpbnB1dFN0cmVhbSwgR0FzeW5jUmVzdWx0KiByZXN1bHQsIFdlYktpdFVS
SVNjaGVtZVJlcXVlc3QqIHNjaGVtZVJlcXVlc3QpCiB7CiAgICAgR1JlZlB0cjxXZWJLaXRVUklT
Y2hlbWVSZXF1ZXN0PiByZXF1ZXN0ID0gYWRvcHRHUmVmKHNjaGVtZVJlcXVlc3QpOwpAQCAtMTk5
LDE5ICsyMjQsMjEgQEAgc3RhdGljIHZvaWQgd2Via2l0VVJJU2NoZW1lUmVxdWVzdFJlYWRDYWxs
YmFjayhHSW5wdXRTdHJlYW0qIGlucHV0U3RyZWFtLCBHQXN5bmMKIAogICAgIFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlKiByZXNwID0gcHJpdi0+cmVzcG9uc2UuZ2V0KCk7CiAgICAgaWYgKCFwcml2
LT5ieXRlc1JlYWQpIHsKLSAgICAgICAgQ1N0cmluZyBjb250ZW50VHlwZSA9IFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlR2V0Q29udGVudFR5cGUocmVzcCk7Ci0gICAgICAgIFJlc291cmNlUmVzcG9u
c2UgcmVzcG9uc2UocHJpdi0+dGFzay0+cmVxdWVzdCgpLnVybCgpLCBleHRyYWN0TUlNRVR5cGVG
cm9tTWVkaWFUeXBlKGNvbnRlbnRUeXBlLmRhdGEoKSksIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
R2V0U3RyZWFtTGVuZ3RoKHJlc3ApLCBlbXB0eVN0cmluZygpKTsKKyAgICAgICAgQ1N0cmluZyBj
b250ZW50VHlwZSA9IHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0Q29udGVudFR5cGUocmVzcCk7
CisgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UocHJpdi0+dGFzay0+cmVxdWVzdCgp
LnVybCgpLCBleHRyYWN0TUlNRVR5cGVGcm9tTWVkaWFUeXBlKGNvbnRlbnRUeXBlLmRhdGEoKSks
IHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtTGVuZ3RoKHJlc3ApLCBlbXB0eVN0cmlu
ZygpKTsKICAgICAgICAgcmVzcG9uc2Uuc2V0VGV4dEVuY29kaW5nTmFtZShleHRyYWN0Q2hhcnNl
dEZyb21NZWRpYVR5cGUoY29udGVudFR5cGUuZGF0YSgpKSk7Ci0gICAgICAgIGNvbnN0IENTdHJp
bmcmIHN0YXR1c01lc3NhZ2UgPSBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c01lc3Nh
Z2UocmVzcCk7CisgICAgICAgIGNvbnN0IENTdHJpbmcmIHN0YXR1c01lc3NhZ2UgPSB3ZWJLaXRV
UklTY2hlbWVSZXNwb25zZUdldFN0YXR1c01lc3NhZ2UocmVzcCk7CiAgICAgICAgIGlmIChzdGF0
dXNNZXNzYWdlLmlzTnVsbCgpKSB7CiAgICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQU3RhdHVz
Q29kZSgyMDApOwogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c1RleHQoIk9LIl9z
KTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXND
b2RlKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShyZXNwKSk7CisgICAgICAg
ICAgICByZXNwb25zZS5zZXRIVFRQU3RhdHVzQ29kZSh3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdl
dFN0YXR1c0NvZGUocmVzcCkpOwogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c1Rl
eHQoc3RhdHVzTWVzc2FnZS5kYXRhKCkpOwogICAgICAgICB9CiAgICAgICAgIGlmIChyZXNwb25z
ZS5taW1lVHlwZSgpLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJlc3BvbnNlLnNldE1pbWVUeXBl
KE1JTUVUeXBlUmVnaXN0cnk6Om1pbWVUeXBlRm9yUGF0aChyZXNwb25zZS51cmwoKS5wYXRoKCku
dG9TdHJpbmcoKSkpOworICAgICAgICBpZiAoYXV0byogaGVhZGVycyA9IHdlYktpdFVSSVNjaGVt
ZVJlc3BvbnNlR2V0SGVhZGVycyhyZXNwKSkKKyAgICAgICAgICAgIHJlc3BvbnNlLnVwZGF0ZUZy
b21Tb3VwTWVzc2FnZUhlYWRlcnMoaGVhZGVycyk7CiAgICAgICAgIHByaXYtPnRhc2stPmRpZFJl
Y2VpdmVSZXNwb25zZShyZXNwb25zZSk7CiAgICAgfQogCkBAIC0yNjYsNyArMjkzLDcgQEAgdm9p
ZCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaF93aXRoX3Jlc3BvbnNlKFdlYktpdFVS
SVNjaGVtZVJlcXVlc3QqIHJlcXUKICAgICByZXF1ZXN0LT5wcml2LT5jYW5jZWxsYWJsZSA9IGFk
b3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKICAgICByZXF1ZXN0LT5wcml2LT5yZXNwb25z
ZSA9IHJlc3BvbnNlOwogCi0gICAgZ19pbnB1dF9zdHJlYW1fcmVhZF9hc3luYyhXZWJLaXRVUklT
Y2hlbWVSZXNwb25zZUdldFN0cmVhbShyZXNwb25zZSksIHJlcXVlc3QtPnByaXYtPnJlYWRCdWZm
ZXIsIGdSZWFkQnVmZmVyU2l6ZSwgUnVuTG9vcFNvdXJjZVByaW9yaXR5OjpBc3luY0lPTmV0d29y
aywgcmVxdWVzdC0+cHJpdi0+Y2FuY2VsbGFibGUuZ2V0KCksCisgICAgZ19pbnB1dF9zdHJlYW1f
cmVhZF9hc3luYyh3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbShyZXNwb25zZSksIHJl
cXVlc3QtPnByaXYtPnJlYWRCdWZmZXIsIGdSZWFkQnVmZmVyU2l6ZSwgUnVuTG9vcFNvdXJjZVBy
aW9yaXR5OjpBc3luY0lPTmV0d29yaywgcmVxdWVzdC0+cHJpdi0+Y2FuY2VsbGFibGUuZ2V0KCks
CiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8R0FzeW5jUmVhZHlDYWxsYmFjaz4od2Via2l0VVJJ
U2NoZW1lUmVxdWVzdFJlYWRDYWxsYmFjayksIGdfb2JqZWN0X3JlZihyZXF1ZXN0KSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFVSSVNjaGVtZVJlc3BvbnNlLmNwcAppbmRleCA0MzQ4ZTRjY2I4YjRkNDZmZWM1NTc5MWUyMjI5
OTM2YTk4N2QwMmRhLi5kZDU1OWViMmIwMGM3NjcwNjEyMGZiMTU1YmY1NDlkZTZjMTljOGFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hl
bWVSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSAiV2Vi
S2l0UHJpdmF0ZS5oIgogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSA8d3Rm
L2dsaWIvR1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KICNpbmNs
dWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgogCiBlbnVtIHsKQEAgLTU1LDYgKzU2LDE0IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogICoKICAqLwogCituYW1lc3BhY2UgV1RGIHsKKyNpZiBV
U0UoU09VUDIpCitXVEZfREVGSU5FX0dQVFJfREVMRVRFUihTb3VwTWVzc2FnZUhlYWRlcnMsIHNv
dXBfbWVzc2FnZV9oZWFkZXJzX2ZyZWUpOworI2Vsc2UKK1dURl9ERUZJTkVfR1BUUl9ERUxFVEVS
KFNvdXBNZXNzYWdlSGVhZGVycywgc291cF9tZXNzYWdlX2hlYWRlcnNfdW5yZWYpOworI2VuZGlm
Cit9CisKIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlIHsKICAgICBHUmVm
UHRyPEdJbnB1dFN0cmVhbT4gc3RyZWFtOwogICAgIHVpbnQ2NF90IHN0cmVhbUxlbmd0aDsKQEAg
LTYyLDYgKzcxLDcgQEAgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUgewog
ICAgIGludCBzdGF0dXNDb2RlIHsgLTEgfTsKICAgICBDU3RyaW5nIHN0YXR1c01lc3NhZ2U7CiAg
ICAgQ1N0cmluZyBjb250ZW50VHlwZTsKKyAgICBHVW5pcXVlUHRyPFNvdXBNZXNzYWdlSGVhZGVy
cz4gaGVhZGVyczsKIH07CiAKIFdFQktJVF9ERUZJTkVfVFlQRShXZWJLaXRVUklTY2hlbWVSZXNw
b25zZSwgd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2UsIEdfVFlQRV9PQkpFQ1QpCkBAIC0xMjQs
MzEgKzEzNCwzNiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9jbGFz
c19pbml0KFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlQ2xhc3MqCiB9CiAKIC8vIFByaXZhdGUgZ2V0
dGVycwotaW50IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShjb25zdCBXZWJL
aXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCitpbnQgd2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2VHZXRTdGF0dXNDb2RlKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkK
IHsKICAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYtPnN0YXR1c0NvZGU7CiB9CiAKLUdJbnB1dFN0
cmVhbSogV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQorR0lucHV0U3RyZWFtKiB3ZWJLaXRVUklTY2hlbWVSZXNw
b25zZUdldFN0cmVhbShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCiB7
CiAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5zdHJlYW0uZ2V0KCk7CiB9CiAKLWNvbnN0IENT
dHJpbmcmIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2FnZShjb25zdCBXZWJL
aXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCitjb25zdCBDU3RyaW5nJiB3ZWJLaXRVUklT
Y2hlbWVSZXNwb25zZUdldFN0YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2UqIHJlc3BvbnNlKQogewogICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+c3RhdHVzTWVzc2Fn
ZTsKIH0KIAotY29uc3QgQ1N0cmluZyYgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50
VHlwZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCitjb25zdCBDU3Ry
aW5nJiB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldENvbnRlbnRUeXBlKGNvbnN0IFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYt
PmNvbnRlbnRUeXBlOwogfQogCi11aW50NjRfdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0
cmVhbUxlbmd0aChjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCit1aW50
NjRfdCB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChjb25zdCBXZWJLaXRV
UklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2
LT5zdHJlYW1MZW5ndGg7CiB9CiAKK1NvdXBNZXNzYWdlSGVhZGVycyogd2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2VHZXRIZWFkZXJzKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKK3sK
KyAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYtPmhlYWRlcnMuZ2V0KCk7Cit9CisKIC8qKgogICog
d2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2VfbmV3OgogICogQGlucHV0X3N0cmVhbTogYSAjR0lu
cHV0U3RyZWFtIHRvIHJlYWQgdGhlIGNvbnRlbnRzIG9mIHRoZSByZXF1ZXN0CkBAIC0xODQsNiAr
MTk5LDI1IEBAIHZvaWQgd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlw
ZShXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uCiAgICAgcmVzcG9uc2UtPnByaXYtPmNv
bnRlbnRUeXBlID0gY29udGVudFR5cGU7CiB9CiAKKy8qCisgKiB3ZWJraXRfdXJpX3NjaGVtZV9y
ZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJzOgorICogQHJlc3BvbnNlOiBhICNXZWJLaXRVUklTY2hl
bWVSZXNwb25zZQorICogQGhlYWRlcnM6ICh0cmFuc2ZlciBmdWxsKTogdGhlIEhUVFAgaGVhZGVy
cyB0byBiZSBzZXQKKyAqCisgKiBBc3NpZ24gdGhlIHByb3ZpZGVkICNTb3VwTWVzc2FnZUhlYWRl
cnMgdG8gdGhlIHJlc3BvbnNlLgorICogQGhlYWRlcnMgbmVlZCB0byBiZSBvZiB0aGUgdHlwZSAl
U09VUF9NRVNTQUdFX0hFQURFUlNfUkVTUE9OU0UuCisgKiBBbnkgZXhpc3RpbmcgaGVhZGVycyB3
aWxsIGJlIG92ZXJ3cml0dGVuLgorICoKKyAqIFNpbmNlOiAyLjM2CisgKi8KK3ZvaWQgd2Via2l0
X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXNw
b25zZSogcmVzcG9uc2UsIFNvdXBNZXNzYWdlSGVhZGVycyogaGVhZGVycykKK3sKKyAgICBnX3Jl
dHVybl9pZl9mYWlsKFdFQktJVF9JU19VUklfU0NIRU1FX1JFU1BPTlNFKHJlc3BvbnNlKSk7Cisg
ICAgZ19yZXR1cm5faWZfZmFpbChzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfaGVhZGVyc190eXBl
KGhlYWRlcnMpID09IFNPVVBfTUVTU0FHRV9IRUFERVJTX1JFU1BPTlNFKTsKKworICAgIHJlc3Bv
bnNlLT5wcml2LT5oZWFkZXJzLnJlc2V0KGhlYWRlcnMpOworfQorCiAvKioKICAqIHdlYmtpdF91
cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9zdGF0dXM6CiAgKiBAcmVzcG9uc2U6IGEgI1dlYktpdFVS
SVNjaGVtZVJlc3BvbnNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCmluZGV4IDdi
MGQ2ZjBhNzZkMzNlODQzMmUxMDhiN2RiMTM5OGVlM2VkYmJkNzMuLmE1NjRjYTZhNTlmYzkwZmVk
MTk2NmQ3NTM5YjkzYTg1YWFiNjQzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0
ZS5oCkBAIC0yMiw4ICsyMiw5IEBACiAjaW5jbHVkZSAiV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uu
aCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKLWludCBXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZUdldFN0YXR1c0NvZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKLUdJ
bnB1dFN0cmVhbSogV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2UqKTsKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlR2V0U3RhdHVzTWVzc2FnZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwotY29u
c3QgQ1N0cmluZyYgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBX
ZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwotdWludDY0X3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2VHZXRTdHJlYW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK2ludCB3
ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c0NvZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2UqKTsKK0dJbnB1dFN0cmVhbSogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJl
YW0oY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK2NvbnN0IENTdHJpbmcmIHdlYktp
dFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2FnZShjb25zdCBXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZSopOworY29uc3QgQ1N0cmluZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250
ZW50VHlwZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwordWludDY0X3Qgd2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2UqKTsKK1NvdXBNZXNzYWdlSGVhZGVycyogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRI
ZWFkZXJzKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IDJi
ODhhYTZhODk3ODQ3YmExNGY2ZTg5MjI0NjMwNzY4NWYzZGU5OWYuLjQ0NDZlNjMyMjFjNWJmODU3
OTNkZWZkZTdlMjE0NGE5MTJmN2UwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCkBAIC00Miw2ICs0Miwx
MCBAQCB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAgICAgICAgV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdDsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0
Q2xhc3MgICBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBfV2Vi
S2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGU7
CiAKKyNpZm5kZWYgU09VUF9UWVBFX01FU1NBR0VfSEVBREVSUwordHlwZWRlZiBzdHJ1Y3QgX1Nv
dXBNZXNzYWdlSGVhZGVycyBTb3VwTWVzc2FnZUhlYWRlcnM7CisjZW5kaWYKKwogc3RydWN0IF9X
ZWJLaXRVUklTY2hlbWVSZXF1ZXN0IHsKICAgICBHT2JqZWN0IHBhcmVudDsKIApAQCAtNzUsNiAr
NzksOSBAQCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmlldyAoV2ViS2l0VVJJ
U2NoZW1lUmVxdWVzdCAqcmVxdWVzdCk7CiBXRUJLSVRfQVBJIGNvbnN0IGdjaGFyICoKIHdlYmtp
dF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9kIChXZWJLaXRVUklTY2hlbWVSZXF1
ZXN0ICpyZXF1ZXN0KTsKIAorV0VCS0lUX0FQSSBTb3VwTWVzc2FnZUhlYWRlcnMgKgord2Via2l0
X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzIChXZWJLaXRVUklTY2hlbWVSZXF1
ZXN0ICpyZXF1ZXN0KTsKKwogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1
ZXN0X2ZpbmlzaCAgICAgICAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHSW5wdXRTdHJlYW0gICAgICAgICAg
ICpzdHJlYW0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFVSSVNjaGVtZVJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgKaW5kZXggZGM3MGNlNjczZWEyNDRkZTA3MDBmMGY2
MDQxZWU2ZWFiNjBhNzdkZS4uOGYwZDU1OGMxNmVlMTg1OGYzYjk3YWFlMGFhYjQ4OGQ5MDEwMjEz
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklT
Y2hlbWVSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2UuaApAQCAtNDAsNiArNDAsNyBAQCBHX0JFR0lOX0RFQ0xTCiB0
eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgICAgICAgIFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlQ2xh
c3MgICBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNzOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktp
dFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZSBXZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGU7
Cit0eXBlZGVmIHN0cnVjdCBfU291cE1lc3NhZ2VIZWFkZXJzICAgICAgICAgICAgIFNvdXBNZXNz
YWdlSGVhZGVyczsKIAogc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZSB7CiAgICAgR09i
amVjdCBwYXJlbnQ7CkBAIC03Miw2ICs3MywxMCBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91
cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUgICAoV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2UgKnJlc3BvbnNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgICAqY29udGVudF90eXBlKTsKIAorV0VCS0lU
X0FQSSB2b2lkCit3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJzICAg
KFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlICpyZXNwb25zZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cE1lc3NhZ2VIZWFkZXJzICAgICAgKmhlYWRl
cnMpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMu
dHh0CmluZGV4IDc3YzQ1NGE1YTQyMTkzMTMwZmM5MjEyNzM0NjkwMWJiNmRmMzY4YzkuLmY4ZjU2
OGY0NThkMDIwZTYwYWNlYjYwYWQxZDc5MTBlY2IwMTM5ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4w
LXNlY3Rpb25zLnR4dApAQCAtMTI3OCw2ICsxMjc4LDcgQEAgd2Via2l0X3VyaV9zY2hlbWVfcmVx
dWVzdF9nZXRfdXJpCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9wYXRoCiB3ZWJraXRf
dXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmlldwogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVz
dF9nZXRfaHR0cF9tZXRob2QKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVh
ZGVycwogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2gKIHdlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZmluaXNoX3dpdGhfcmVzcG9uc2UKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3Rf
ZmluaXNoX2Vycm9yCkBAIC0xMjkzLDYgKzEyOTQsNyBAQCBXRUJLSVRfVVJJX1NDSEVNRV9SRVFV
RVNUX0dFVF9DTEFTUwogCiA8U1VCU0VDVElPTiBQcml2YXRlPgogV2ViS2l0VVJJU2NoZW1lUmVx
dWVzdFByaXZhdGUKK1NvdXBNZXNzYWdlSGVhZGVycwogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVz
dF9nZXRfdHlwZQogPC9TRUNUSU9OPgogCkBAIC0xMzAyLDYgKzEzMDQsNyBAQCBXZWJLaXRVUklT
Y2hlbWVSZXNwb25zZQogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2VfbmV3CiB3ZWJraXRfdXJp
X3NjaGVtZV9yZXNwb25zZV9zZXRfY29udGVudF90eXBlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNw
b25zZV9zZXRfc3RhdHVzCit3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9oZWFk
ZXJzCiAKIDxTVUJTRUNUSU9OIFN0YW5kYXJkPgogV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VDbGFz
cwpAQCAtMTMxNCw2ICsxMzE3LDcgQEAgV0VCS0lUX1VSSV9TQ0hFTUVfUkVTUE9OU0VfR0VUX0NM
QVNTCiAKIDxTVUJTRUNUSU9OIFByaXZhdGU+CiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZh
dGUKK1NvdXBNZXNzYWdlSGVhZGVycwogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2VfZ2V0X3R5
cGUKIDwvU0VDVElPTj4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaAppbmRleCBlODhjYTc5ZTU3NWU0OWJmNjc2
MTcxYzNjOWRjNGM3NDNjZDViMDgwLi4wYjljMDM0MWZmMDY3ZmNjMWZmMThlNWZkMmE4NTUwM2Uz
MTVhNTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3Bl
L1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaApAQCAtNDIsNiArNDIsNyBAQCB0eXBlZGVmIHN0cnVj
dCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdENsYXNzICAgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdENs
YXNzOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlIFdlYktp
dFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlOwogCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2ViVmll
dyBXZWJLaXRXZWJWaWV3OwordHlwZWRlZiBzdHJ1Y3QgX1NvdXBNZXNzYWdlSGVhZGVycyBTb3Vw
TWVzc2FnZUhlYWRlcnM7CiAKIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCB7CiAgICAg
R09iamVjdCBwYXJlbnQ7CkBAIC03Niw2ICs3Nyw5IEBAIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVl
c3RfZ2V0X3dlYl92aWV3IChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKIFdFQktJ
VF9BUEkgY29uc3QgZ2NoYXIgKgogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9t
ZXRob2QgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOwogCitXRUJLSVRfQVBJIFNv
dXBNZXNzYWdlSGVhZGVycyAqCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hl
YWRlcnMgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOworCiBXRUJLSVRfQVBJIHZv
aWQKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoICAgICAgIChXZWJLaXRVUklTY2hl
bWVSZXF1ZXN0ICpyZXF1ZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdJbnB1dFN0cmVhbSAgICAgICAgICAgKnN0cmVhbSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaAppbmRl
eCAzMjIwYjFmNDY4ODY3MTYzOWY3NmFmODFjNzI3NWZmZTc5MWNjNWYzLi43ODM3MjU1ZjA5NTZj
MGZmOGJjNTY2MDRlNjIxNmQ5NzM1NWI4MjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oCkBAIC0zOSw2
ICszOSw5IEBAIEdfQkVHSU5fREVDTFMKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVS
ZXNwb25zZSAgICAgICAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2U7CiB0eXBlZGVmIHN0cnVjdCBf
V2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VDbGFzcyAgIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlQ2xh
c3M7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlIFdlYktp
dFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZTsKKyNpZm5kZWYgU09VUF9UWVBFX01FU1NBR0VfSEVB
REVSUwordHlwZWRlZiBzdHJ1Y3QgX1NvdXBNZXNzYWdlSGVhZGVycyAgICAgICAgICAgICBTb3Vw
TWVzc2FnZUhlYWRlcnM7CisjZW5kaWYKIAogc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25z
ZSB7CiAgICAgR09iamVjdCBwYXJlbnQ7CkBAIC03MSw2ICs3NCwxMCBAQCBXRUJLSVRfQVBJIHZv
aWQKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUgICAoV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2UgKnJlc3BvbnNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgICAqY29udGVudF90eXBl
KTsKIAorV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0
cF9oZWFkZXJzICAgKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlICpyZXNwb25zZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cE1lc3NhZ2VIZWFkZXJz
ICAgICAgKmhlYWRlcnMpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4
dAppbmRleCAwYTljZjI0YzczOGQyY2MwNTc1ZjAwZDczZGRjZTdjMGI0NmJiZGE3Li4yMDE4ZThj
MjQ3OTBkOWU0YzEzZDE2ZTdjNmYyMmE1OWViMjNkMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CkBA
IC0xMjE1LDYgKzEyMTUsNyBAQCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF91cmkKIHdl
YmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3BhdGgKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVl
c3RfZ2V0X3dlYl92aWV3CiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhv
ZAord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCiB3ZWJraXRfdXJp
X3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hf
d2l0aF9yZXNwb25zZQogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfZXJyb3IKQEAg
LTEyMzAsNiArMTIzMSw3IEBAIFdFQktJVF9VUklfU0NIRU1FX1JFUVVFU1RfR0VUX0NMQVNTCiAK
IDxTVUJTRUNUSU9OIFByaXZhdGU+CiBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJpdmF0ZQorU291
cE1lc3NhZ2VIZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF90eXBlCiA8L1NF
Q1RJT04+CiAKQEAgLTEyMzksNiArMTI0MSw3IEBAIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlCiB3
ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9uZXcKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNl
X3NldF9jb250ZW50X3R5cGUKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9zdGF0dXMK
K3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMKIAogPFNVQlNFQ1RJ
T04gU3RhbmRhcmQ+CiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNzCkBAIC0xMjUxLDYgKzEy
NTQsNyBAQCBXRUJLSVRfVVJJX1NDSEVNRV9SRVNQT05TRV9HRVRfQ0xBU1MKIAogPFNVQlNFQ1RJ
T04gUHJpdmF0ZT4KIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZQorU291cE1lc3NhZ2VI
ZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9nZXRfdHlwZQogPC9TRUNUSU9OPgog
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2Rk
MzAzZDk4MTFiMTI0YmM5NGU3NzcxMGIwOWUzYTEzYzBiOTA0Ni4uN2ViYTFmMzEwY2U3MjI5ZWYy
NTU0YzJlZTllNzRjYjZkMzlhNTQ4NyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTExLTEwICBaaXhpbmcgTGl1
ICA8bGl1c2h1eXUwMTFAZ21haWwuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gU3VwcG9ydCBn
ZXR0aW5nIGFuZCBzZXR0aW5nIEhUVFAgaGVhZGVycyBpbiBjdXN0b20gVVJJIHNjaGVtZSBoYW5k
bGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAz
MjczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwOgor
ICAgICAgICAodGVzdFdlYkNvbnRleHRVUklTY2hlbWUpOiBBZGRlZCBhIG5ldyB0ZXN0IHRvIHRl
c3QgZ2V0dGluZyBhbmQgc2V0dGluZyBIVFRQIGhlYWRlcnMgaW4gY3VzdG9tIFVSSSBzY2hlbWUg
aGFuZGxlcnMKKwogMjAyMS0xMS0xMCAgSiBQYXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgW1dlYkF1dGhuXSBVbmlmeSBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIFNQSSBh
bmQgQXV0aGVudGljYXRvckNvb3JkaW5hdG9yJ3MgQ2xpZW50RGF0YUpzb24gZ2VuZXJhdGlvbiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2Vi
S2l0V2ViQ29udGV4dC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIv
VGVzdFdlYktpdFdlYkNvbnRleHQuY3BwCmluZGV4IDkwOGE0OTNmMTRmMDY5MDU1YzUyNjE4NzZj
NDYzMjZiZTI1YTU4MTQuLjg1ZjE3ZjQwODk3ODFiYzEyNjhjNjk5MDFkZjkwMmQ1M2QyN2JkNjkg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2Vi
S2l0V2ViQ29udGV4dC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRH
TGliL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUg
IkxvYWRUcmFja2luZ1Rlc3QuaCIKICNpbmNsdWRlICJXZWJLaXRUZXN0U2VydmVyLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9Tb3VwVmVyc2lvbmluZy5oPgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC1t
ZXNzYWdlLWhlYWRlcnMuaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDxzdGRsaWIu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMTI5LDYgKzEzMCwxMiBAQCBwdWJsaWM6
CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGdfYXNzZXJ0X2NtcHN0cihtZXRob2QsID09LCAi
R0VUIik7CiAKKyAgICAgICAgaWYgKCFnX3N0cmNtcDAoc2NoZW1lLCAiaGVhZGVycyIpKSB7Cisg
ICAgICAgICAgICBhdXRvKiBoZWFkZXJzID0gd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRf
aHR0cF9oZWFkZXJzKHJlcXVlc3QpOworICAgICAgICAgICAgZ19hc3NlcnRfY21wc3RyKHNvdXBf
bWVzc2FnZV9oZWFkZXJzX2dldF9vbmUoaGVhZGVycywgIngtdGVzdCIpLCA9PSwgIkEiKTsKKyAg
ICAgICAgICAgIGdfYXNzZXJ0X2NtcHN0cihzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfbGlzdCho
ZWFkZXJzLCAieC10ZXN0MiIpLCA9PSwgIjEsIDIsIDMsIDQiKTsKKyAgICAgICAgfQorCiAgICAg
ICAgIGNvbnN0IFVSSVNjaGVtZUhhbmRsZXImIGhhbmRsZXIgPSB0ZXN0LT5tX2hhbmRsZXJzTWFw
LmdldChTdHJpbmc6OmZyb21VVEY4KHNjaGVtZSkpOwogCiAgICAgICAgIEdSZWZQdHI8R0lucHV0
U3RyZWFtPiBpbnB1dFN0cmVhbSA9IGFkb3B0R1JlZihnX21lbW9yeV9pbnB1dF9zdHJlYW1fbmV3
KCkpOwpAQCAtMTY2LDYgKzE3MywxMSBAQCBwdWJsaWM6CiAgICAgICAgIGF1dG8gcmVzcG9uc2Ug
PSBhZG9wdEdSZWYod2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2VfbmV3KGlucHV0U3RyZWFtLmdl
dCgpLCBoYW5kbGVyLnJlcGx5TGVuZ3RoKSk7CiAgICAgICAgIHdlYmtpdF91cmlfc2NoZW1lX3Jl
c3BvbnNlX3NldF9zdGF0dXMocmVzcG9uc2UuZ2V0KCksIGhhbmRsZXIuc3RhdHVzQ29kZSwgbnVs
bHB0cik7CiAgICAgICAgIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5
cGUocmVzcG9uc2UuZ2V0KCksIGhhbmRsZXIubWltZVR5cGUuZGF0YSgpKTsKKyAgICAgICAgaWYg
KCFnX3N0cmNtcDAoc2NoZW1lLCAiaGVhZGVyc3Jlc3AiKSkgeworICAgICAgICAgICAgYXV0byog
aGVhZGVycyA9IHNvdXBfbWVzc2FnZV9oZWFkZXJzX25ldyhTT1VQX01FU1NBR0VfSEVBREVSU19S
RVNQT05TRSk7CisgICAgICAgICAgICBzb3VwX21lc3NhZ2VfaGVhZGVyc19hcHBlbmQoaGVhZGVy
cywgIngtdGVzdCIsICJ0ZXN0X3ZhbHVlIik7CisgICAgICAgICAgICB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJzKHJlc3BvbnNlLmdldCgpLCBoZWFkZXJzKTsKKyAg
ICAgICAgfQogICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaF93aXRoX3Jl
c3BvbnNlKHJlcXVlc3QsIHJlc3BvbnNlLmdldCgpKTsKICAgICB9CiAKQEAgLTMzNCw2ICszNDYs
MjUgQEAgc3RhdGljIHZvaWQgdGVzdFdlYkNvbnRleHRVUklTY2hlbWUoVVJJU2NoZW1lVGVzdCog
dGVzdCwgZ2NvbnN0cG9pbnRlcikKICAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVu
dHMuY29udGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CiAg
ICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2lu
Z1Rlc3Q6OkxvYWRGYWlsZWQpKTsKIAorICAgIHN0YXRpYyBjb25zdCBjaGFyKiBoZWFkZXJzSFRN
TCA9ICI8aHRtbD48Ym9keT48c2NyaXB0PmxldCBoZHJzID0gbmV3IEhlYWRlcnMoeydYLVRlc3Qn
OiAnQScsICdYLVRlc3QyJzogJzEsIDIsIDMnfSk7aGRycy5hcHBlbmQoJ1gtVGVzdDInLCAnNCcp
O2ZldGNoKCdoZWFkZXJzOmRhdGEnLCB7aGVhZGVyczogaGRyc30pPC9zY3JpcHQ+PC9ib2R5Pjwv
aHRtbD4iOworICAgIHRlc3QtPnJlZ2lzdGVyVVJJU2NoZW1lSGFuZGxlcigiaGVhZGVycyIsIG51
bGxwdHIsIDAsICJhcHBsaWNhdGlvbi9qc29uIiwgMjA0KTsKKyAgICB0ZXN0LT5tX2xvYWRFdmVu
dHMuY2xlYXIoKTsKKyAgICB0ZXN0LT5sb2FkSHRtbChoZWFkZXJzSFRNTCwgImhlYWRlcnM6Zm9y
bSIpOworICAgIHRlc3QtPndhaXRVbnRpbExvYWRGaW5pc2hlZCgpOworICAgIGdfYXNzZXJ0X2Zh
bHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhMb2FkVHJhY2tpbmdUZXN0OjpQcm92aXNp
b25hbExvYWRGYWlsZWQpKTsKKyAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMu
Y29udGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6TG9hZEZhaWxlZCkpOworCisgICAgc3RhdGljIGNv
bnN0IGNoYXIqIHJlc3BIVE1MID0gIjxodG1sPjxoZWFkPjxzY3JpcHQ+ZmV0Y2goJ2hlYWRlcnNy
ZXNwOmRhdGEnKS50aGVuKChkKT0+e2lmKGQuaGVhZGVycy5nZXQoJ1gtVGVzdCcpICE9PSAndGVz
dF92YWx1ZScpIHdpbmRvdy5oYXNFcnJvcj0xfSkuY2F0Y2goKGUpPT4gd2luZG93Lmhhc0Vycm9y
PTEpPC9zY3JpcHQ+PC9oZWFkPjwvaHRtbD4iOworICAgIHRlc3QtPnJlZ2lzdGVyVVJJU2NoZW1l
SGFuZGxlcigiaGVhZGVyc3Jlc3AiLCBudWxscHRyLCAwLCAiYXBwbGljYXRpb24vanNvbiIsIDIw
NCk7CisgICAgdGVzdC0+bV9sb2FkRXZlbnRzLmNsZWFyKCk7CisgICAgdGVzdC0+bG9hZEh0bWwo
cmVzcEhUTUwsICJoZWFkZXJzcmVzcDpmb3JtIik7CisgICAgdGVzdC0+d2FpdFVudGlsTG9hZEZp
bmlzaGVkKCk7CisgICAgR1VuaXF1ZU91dFB0cjxHRXJyb3I+IHJlc3BFcnJvcjsKKyAgICB0ZXN0
LT5ydW5KYXZhU2NyaXB0QW5kV2FpdFVudGlsRmluaXNoZWQoImlmKHdpbmRvdy5oYXNFcnJvcikg
dGhyb3cgJ0hlYWRlcnMgYXJlIG1pc3Npbmcgb3IgaW52YWxpZCciLCAmcmVzcEVycm9yLm91dFB0
cigpKTsKKyAgICBnX2Fzc2VydF9ub19lcnJvcihyZXNwRXJyb3IuZ2V0KCkpOworICAgIGdfYXNz
ZXJ0X2ZhbHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhMb2FkVHJhY2tpbmdUZXN0OjpQ
cm92aXNpb25hbExvYWRGYWlsZWQpKTsKKyAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRF
dmVudHMuY29udGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6TG9hZEZhaWxlZCkpOworCiAgICAgLy8g
VG9ydHVyZSB0ZXN0IHRpbWU6IG1ha2Ugc3VyZSBpdCBzdGlsbCB3b3JrcyBpZiB3ZSBpc3N1ZSBh
IGJ1bmNoIG9mIGRpZmZlcmVudCByZXF1ZXN0cyBhbGwgYXQKICAgICAvLyBvbmNlLiBFYWNoIHJl
cXVlc3Qgc2hvdWxkIGZpbmlzaCBhbmQgcmV0dXJuIGV4YWN0bHkgdGhlIHNhbWUgZGF0YS4KICAg
ICBpbnQgbnVtSXRlcmF0aW9ucyA9IDI1Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444020</attachid>
            <date>2021-11-11 16:24:26 -0800</date>
            <delta_ts>2021-11-15 01:47:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203273-20211111172426.patch</filename>
            <type>text/plain</type>
            <size>22963</size>
            <attacher>liushuyu011</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczMTkxMDc1NGQ2MTc0Zjk2
N2EzY2M2MDU0NGMwMDgxYzUzOGM0YTIuLjAyOTczYjcxNWI1ZTRlNDM1YjIyODFkNjA1YjhmMzQ1
MDUyMzM5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMTAgIFppeGluZyBM
aXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0
IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyk6IEFkZGVkIG5ldyBB
UEkgZnVuY3Rpb24KKyAgICAgICAgKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2sp
OiBJbmNsdWRlIHVzZXItc3BlY2lmaWVkIGhlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwOgorICAgICAgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRIZWFkZXJzKTogQWRkZWQgYSBuZXcgcHJpdmF0ZSBnZXR0ZXIKKyAgICAg
ICAgKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMpOiBBZGRlZCBu
ZXcgQVBJIGZ1bmN0aW9uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuaDogQWRkZWQgZnVuY3Rpb24gcHJvdG90eXBlIGZvciAKKyAgICAg
ICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaDogQWRkZWQgZnVuY3Rp
b24gcHJvdG90eXBlIGZvciAKKyAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9zZXRf
aHR0cF9oZWFkZXJzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQ6IEFkZGVkIG5ldyBzeW1ib2xzCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oOiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5
cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRl
cnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
OiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X3NldF9odHRwX2hlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0OiBBZGRlZCBuZXcgc3ltYm9scworCiAyMDIxLTExLTEw
ICBKIFBhc2NvZSAgPGpfcGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIFVu
aWZ5IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgU1BJIGFuZCBBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IncyBDbGllbnREYXRhSnNvbiBnZW5lcmF0aW9uIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcApp
bmRleCAzNDVkNDQ2ZjFkMzhlMzZkODg1YWRkZDI5NjVmYzdhNzZmZjM3ZGI4Li5kMzc0MjUzZDc3
ZDdhYmYzYzMzYmYxNDI2NmViNzZlNjhiZTdjNGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcApA
QCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIldlYktpdFdlYkNvbnRleHRQcml2YXRlLmgiCiAj
aW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvR1VuaXF1ZVB0clNvdXAuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBQ
YXJzZXJzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CkBAIC03MCw2ICs3MSw3IEBAIHN0cnVjdCBfV2Vi
S2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUgewogICAgIGNoYXIgcmVhZEJ1ZmZlcltnUmVhZEJ1
ZmZlclNpemVdOwogICAgIHVpbnQ2NF90IGJ5dGVzUmVhZDsKICAgICBjb25zdCBjaGFyKiBodHRw
TWV0aG9kOworICAgIEdVbmlxdWVQdHI8U291cE1lc3NhZ2VIZWFkZXJzPiBoZWFkZXJzOwogfTsK
IAogV0VCS0lUX0RFRklORV9UWVBFKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QsIHdlYmtpdF91cmlf
c2NoZW1lX3JlcXVlc3QsIEdfVFlQRV9PQkpFQ1QpCkBAIC0xODEsNiArMTgzLDI4IEBAIGNvbnN0
IGdjaGFyKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZChXZWJLaXRV
UklTY2hlbWVSZXF1ZXN0KiByCiAgICAgcmV0dXJuIHJlcXVlc3QtPnByaXYtPmh0dHBNZXRob2Q7
CiB9CiAKKy8qCisgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnM6
CisgKiBAcmVxdWVzdDogYSAjV2ViS2l0VVJJU2NoZW1lUmVxdWVzdAorICoKKyAqIEdldCB0aGUg
I1NvdXBNZXNzYWdlSGVhZGVycyBvZiB0aGUgcmVxdWVzdC4KKyAqCisgKiBSZXR1cm5zOiAodHJh
bnNmZXIgbm9uZSk6IHRoZSAjU291cE1lc3NhZ2VIZWFkZXJzIG9mIHRoZSBAcmVxdWVzdC4KKyAq
CisgKiBTaW5jZTogMi4zNgorICovCitTb3VwTWVzc2FnZUhlYWRlcnMqIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByZXF1
ZXN0KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19VUklfU0NIRU1FX1JF
UVVFU1QocmVxdWVzdCksIG51bGxwdHIpOworCisgICAgaWYgKCFyZXF1ZXN0LT5wcml2LT5oZWFk
ZXJzKSB7CisgICAgICAgIHJlcXVlc3QtPnByaXYtPmhlYWRlcnMucmVzZXQoc291cF9tZXNzYWdl
X2hlYWRlcnNfbmV3KFNPVVBfTUVTU0FHRV9IRUFERVJTX1JFUVVFU1QpKTsKKyAgICAgICAgcmVx
dWVzdC0+cHJpdi0+dGFzay0+cmVxdWVzdCgpLnVwZGF0ZVNvdXBNZXNzYWdlSGVhZGVycyhyZXF1
ZXN0LT5wcml2LT5oZWFkZXJzLmdldCgpKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVxdWVzdC0+
cHJpdi0+aGVhZGVycy5nZXQoKTsKK30KKwogc3RhdGljIHZvaWQgd2Via2l0VVJJU2NoZW1lUmVx
dWVzdFJlYWRDYWxsYmFjayhHSW5wdXRTdHJlYW0qIGlucHV0U3RyZWFtLCBHQXN5bmNSZXN1bHQq
IHJlc3VsdCwgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogc2NoZW1lUmVxdWVzdCkKIHsKICAgICBH
UmVmUHRyPFdlYktpdFVSSVNjaGVtZVJlcXVlc3Q+IHJlcXVlc3QgPSBhZG9wdEdSZWYoc2NoZW1l
UmVxdWVzdCk7CkBAIC0xOTksMTkgKzIyMywyMSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRVUklTY2hl
bWVSZXF1ZXN0UmVhZENhbGxiYWNrKEdJbnB1dFN0cmVhbSogaW5wdXRTdHJlYW0sIEdBc3luYwog
CiAgICAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3AgPSBwcml2LT5yZXNwb25zZS5nZXQo
KTsKICAgICBpZiAoIXByaXYtPmJ5dGVzUmVhZCkgewotICAgICAgICBDU3RyaW5nIGNvbnRlbnRU
eXBlID0gV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShyZXNwKTsKLSAgICAg
ICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShwcml2LT50YXNrLT5yZXF1ZXN0KCkudXJsKCks
IGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5cGUoY29udGVudFR5cGUuZGF0YSgpKSwgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgocmVzcCksIGVtcHR5U3RyaW5nKCkpOwor
ICAgICAgICBDU3RyaW5nIGNvbnRlbnRUeXBlID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRD
b250ZW50VHlwZShyZXNwKTsKKyAgICAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShwcml2
LT50YXNrLT5yZXF1ZXN0KCkudXJsKCksIGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5cGUoY29u
dGVudFR5cGUuZGF0YSgpKSwgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgo
cmVzcCksIGVtcHR5U3RyaW5nKCkpOwogICAgICAgICByZXNwb25zZS5zZXRUZXh0RW5jb2RpbmdO
YW1lKGV4dHJhY3RDaGFyc2V0RnJvbU1lZGlhVHlwZShjb250ZW50VHlwZS5kYXRhKCkpKTsKLSAg
ICAgICAgY29uc3QgQ1N0cmluZyYgc3RhdHVzTWVzc2FnZSA9IFdlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlR2V0U3RhdHVzTWVzc2FnZShyZXNwKTsKKyAgICAgICAgY29uc3QgQ1N0cmluZyYgc3RhdHVz
TWVzc2FnZSA9IHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2FnZShyZXNwKTsK
ICAgICAgICAgaWYgKHN0YXR1c01lc3NhZ2UuaXNOdWxsKCkpIHsKICAgICAgICAgICAgIHJlc3Bv
bnNlLnNldEhUVFBTdGF0dXNDb2RlKDIwMCk7CiAgICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQ
U3RhdHVzVGV4dCgiT0siX3MpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcmVzcG9u
c2Uuc2V0SFRUUFN0YXR1c0NvZGUoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2Rl
KHJlc3ApKTsKKyAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNDb2RlKHdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShyZXNwKSk7CiAgICAgICAgICAgICByZXNwb25z
ZS5zZXRIVFRQU3RhdHVzVGV4dChzdGF0dXNNZXNzYWdlLmRhdGEoKSk7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKHJlc3BvbnNlLm1pbWVUeXBlKCkuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVz
cG9uc2Uuc2V0TWltZVR5cGUoTUlNRVR5cGVSZWdpc3RyeTo6bWltZVR5cGVGb3JQYXRoKHJlc3Bv
bnNlLnVybCgpLnBhdGgoKS50b1N0cmluZygpKSk7CisgICAgICAgIGlmIChhdXRvKiBoZWFkZXJz
ID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJzKHJlc3ApKQorICAgICAgICAgICAg
cmVzcG9uc2UudXBkYXRlRnJvbVNvdXBNZXNzYWdlSGVhZGVycyhoZWFkZXJzKTsKICAgICAgICAg
cHJpdi0+dGFzay0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICB9CiAKQEAgLTI2
Niw3ICsyOTIsNyBAQCB2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoX3dpdGhf
cmVzcG9uc2UoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogcmVxdQogICAgIHJlcXVlc3QtPnByaXYt
PmNhbmNlbGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOwogICAgIHJlcXVl
c3QtPnByaXYtPnJlc3BvbnNlID0gcmVzcG9uc2U7CiAKLSAgICBnX2lucHV0X3N0cmVhbV9yZWFk
X2FzeW5jKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtKHJlc3BvbnNlKSwgcmVxdWVz
dC0+cHJpdi0+cmVhZEJ1ZmZlciwgZ1JlYWRCdWZmZXJTaXplLCBSdW5Mb29wU291cmNlUHJpb3Jp
dHk6OkFzeW5jSU9OZXR3b3JrLCByZXF1ZXN0LT5wcml2LT5jYW5jZWxsYWJsZS5nZXQoKSwKKyAg
ICBnX2lucHV0X3N0cmVhbV9yZWFkX2FzeW5jKHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3Ry
ZWFtKHJlc3BvbnNlKSwgcmVxdWVzdC0+cHJpdi0+cmVhZEJ1ZmZlciwgZ1JlYWRCdWZmZXJTaXpl
LCBSdW5Mb29wU291cmNlUHJpb3JpdHk6OkFzeW5jSU9OZXR3b3JrLCByZXF1ZXN0LT5wcml2LT5j
YW5jZWxsYWJsZS5nZXQoKSwKICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxHQXN5bmNSZWFkeUNh
bGxiYWNrPih3ZWJraXRVUklTY2hlbWVSZXF1ZXN0UmVhZENhbGxiYWNrKSwgZ19vYmplY3RfcmVm
KHJlcXVlc3QpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwCmluZGV4IDQzNDhlNGNjYjhi
NGQ0NmZlYzU1NzkxZTIyMjk5MzZhOTg3ZDAyZGEuLjIyNTk2MjI5YTdiOTBlMmIwN2FlNDljYWFl
NWRlYTJhOWIzZTA3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5jcHAKQEAgLTIxLDYgKzIxLDcg
QEAKICNpbmNsdWRlICJXZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUuaCIKIAogI2luY2x1
ZGUgIldlYktpdFByaXZhdGUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0dVbmlxdWVQdHJTb3VwLmg+
CiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4KQEAgLTYyLDYgKzYzLDcgQEAgc3Ry
dWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUgewogICAgIGludCBzdGF0dXNDb2Rl
IHsgLTEgfTsKICAgICBDU3RyaW5nIHN0YXR1c01lc3NhZ2U7CiAgICAgQ1N0cmluZyBjb250ZW50
VHlwZTsKKyAgICBHVW5pcXVlUHRyPFNvdXBNZXNzYWdlSGVhZGVycz4gaGVhZGVyczsKIH07CiAK
IFdFQktJVF9ERUZJTkVfVFlQRShXZWJLaXRVUklTY2hlbWVSZXNwb25zZSwgd2Via2l0X3VyaV9z
Y2hlbWVfcmVzcG9uc2UsIEdfVFlQRV9PQkpFQ1QpCkBAIC0xMjQsMzEgKzEyNiwzNiBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9jbGFzc19pbml0KFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlQ2xhc3MqCiB9CiAKIC8vIFByaXZhdGUgZ2V0dGVycwotaW50IFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZSogcmVzcG9uc2UpCitpbnQgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKGNv
bnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVz
cG9uc2UtPnByaXYtPnN0YXR1c0NvZGU7CiB9CiAKLUdJbnB1dFN0cmVhbSogV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3Bv
bnNlKQorR0lucHV0U3RyZWFtKiB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbShjb25z
dCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3Bv
bnNlLT5wcml2LT5zdHJlYW0uZ2V0KCk7CiB9CiAKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2FnZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZSogcmVzcG9uc2UpCitjb25zdCBDU3RyaW5nJiB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0
YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQogewog
ICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+c3RhdHVzTWVzc2FnZTsKIH0KIAotY29uc3QgQ1N0
cmluZyYgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJLaXRV
UklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCitjb25zdCBDU3RyaW5nJiB3ZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldENvbnRlbnRUeXBlKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiBy
ZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYtPmNvbnRlbnRUeXBlOwogfQog
Ci11aW50NjRfdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChjb25zdCBX
ZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCit1aW50NjRfdCB3ZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSog
cmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5zdHJlYW1MZW5ndGg7CiB9
CiAKK1NvdXBNZXNzYWdlSGVhZGVycyogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJz
KFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKK3sKKyAgICByZXR1cm4gcmVzcG9u
c2UtPnByaXYtPmhlYWRlcnMuZ2V0KCk7Cit9CisKIC8qKgogICogd2Via2l0X3VyaV9zY2hlbWVf
cmVzcG9uc2VfbmV3OgogICogQGlucHV0X3N0cmVhbTogYSAjR0lucHV0U3RyZWFtIHRvIHJlYWQg
dGhlIGNvbnRlbnRzIG9mIHRoZSByZXF1ZXN0CkBAIC0xODQsNiArMTkxLDI1IEBAIHZvaWQgd2Vi
a2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZShXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZSogcmVzcG9uCiAgICAgcmVzcG9uc2UtPnByaXYtPmNvbnRlbnRUeXBlID0gY29udGVu
dFR5cGU7CiB9CiAKKy8qCisgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9o
ZWFkZXJzOgorICogQHJlc3BvbnNlOiBhICNXZWJLaXRVUklTY2hlbWVSZXNwb25zZQorICogQGhl
YWRlcnM6ICh0cmFuc2ZlciBmdWxsKTogdGhlIEhUVFAgaGVhZGVycyB0byBiZSBzZXQKKyAqCisg
KiBBc3NpZ24gdGhlIHByb3ZpZGVkICNTb3VwTWVzc2FnZUhlYWRlcnMgdG8gdGhlIHJlc3BvbnNl
LgorICogQGhlYWRlcnMgbmVlZCB0byBiZSBvZiB0aGUgdHlwZSAlU09VUF9NRVNTQUdFX0hFQURF
UlNfUkVTUE9OU0UuCisgKiBBbnkgZXhpc3RpbmcgaGVhZGVycyB3aWxsIGJlIG92ZXJ3cml0dGVu
LgorICoKKyAqIFNpbmNlOiAyLjM2CisgKi8KK3ZvaWQgd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9u
c2Vfc2V0X2h0dHBfaGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UsIFNv
dXBNZXNzYWdlSGVhZGVycyogaGVhZGVycykKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJ
VF9JU19VUklfU0NIRU1FX1JFU1BPTlNFKHJlc3BvbnNlKSk7CisgICAgZ19yZXR1cm5faWZfZmFp
bChzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfaGVhZGVyc190eXBlKGhlYWRlcnMpID09IFNPVVBf
TUVTU0FHRV9IRUFERVJTX1JFU1BPTlNFKTsKKworICAgIHJlc3BvbnNlLT5wcml2LT5oZWFkZXJz
LnJlc2V0KGhlYWRlcnMpOworfQorCiAvKioKICAqIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNl
X3NldF9zdGF0dXM6CiAgKiBAcmVzcG9uc2U6IGEgI1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hl
bWVSZXNwb25zZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCmluZGV4IDdiMGQ2ZjBhNzZkMzNlODQzMmUx
MDhiN2RiMTM5OGVlM2VkYmJkNzMuLmE1NjRjYTZhNTlmYzkwZmVkMTk2NmQ3NTM5YjkzYTg1YWFi
NjQzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCkBAIC0yMiw4ICsyMiw5
IEBACiAjaW5jbHVkZSAiV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAKLWludCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c0Nv
ZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKLUdJbnB1dFN0cmVhbSogV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uq
KTsKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2Fn
ZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwotY29uc3QgQ1N0cmluZyYgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNw
b25zZSopOwotdWludDY0X3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgo
Y29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK2ludCB3ZWJLaXRVUklTY2hlbWVSZXNw
b25zZUdldFN0YXR1c0NvZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK0dJbnB1
dFN0cmVhbSogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJ
U2NoZW1lUmVzcG9uc2UqKTsKK2NvbnN0IENTdHJpbmcmIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
R2V0U3RhdHVzTWVzc2FnZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOworY29uc3Qg
Q1N0cmluZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJL
aXRVUklTY2hlbWVSZXNwb25zZSopOwordWludDY0X3Qgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VH
ZXRTdHJlYW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK1NvdXBNZXNz
YWdlSGVhZGVycyogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJzKFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IDJiODhhYTZhODk3ODQ3YmExNGY2
ZTg5MjI0NjMwNzY4NWYzZGU5OWYuLjQ0NDZlNjMyMjFjNWJmODU3OTNkZWZkZTdlMjE0NGE5MTJm
N2UwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCkBAIC00Miw2ICs0MiwxMCBAQCB0eXBlZGVmIHN0cnVj
dCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAgICAgICAgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdDsK
IHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2xhc3MgICBXZWJLaXRVUklT
Y2hlbWVSZXF1ZXN0Q2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVz
dFByaXZhdGUgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGU7CiAKKyNpZm5kZWYgU09VUF9U
WVBFX01FU1NBR0VfSEVBREVSUwordHlwZWRlZiBzdHJ1Y3QgX1NvdXBNZXNzYWdlSGVhZGVycyBT
b3VwTWVzc2FnZUhlYWRlcnM7CisjZW5kaWYKKwogc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1
ZXN0IHsKICAgICBHT2JqZWN0IHBhcmVudDsKIApAQCAtNzUsNiArNzksOSBAQCB3ZWJraXRfdXJp
X3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmlldyAoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVx
dWVzdCk7CiBXRUJLSVRfQVBJIGNvbnN0IGdjaGFyICoKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVl
c3RfZ2V0X2h0dHBfbWV0aG9kIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKIAor
V0VCS0lUX0FQSSBTb3VwTWVzc2FnZUhlYWRlcnMgKgord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVz
dF9nZXRfaHR0cF9oZWFkZXJzIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKKwog
V0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaCAgICAgICAo
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdCAqcmVxdWVzdCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHSW5wdXRTdHJlYW0gICAgICAgICAgICpzdHJlYW0sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJl
c3BvbnNlLmgKaW5kZXggZGM3MGNlNjczZWEyNDRkZTA3MDBmMGY2MDQxZWU2ZWFiNjBhNzdkZS4u
OGYwZDU1OGMxNmVlMTg1OGYzYjk3YWFlMGFhYjQ4OGQ5MDEwMjEzOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2UuaApAQCAtNDAsNiArNDAsNyBAQCBHX0JFR0lOX0RFQ0xTCiB0eXBlZGVmIHN0cnVjdCBfV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2UgICAgICAgIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlOwogdHlw
ZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlQ2xhc3MgICBXZWJLaXRVUklTY2hl
bWVSZXNwb25zZUNsYXNzOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNl
UHJpdmF0ZSBXZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGU7Cit0eXBlZGVmIHN0cnVjdCBf
U291cE1lc3NhZ2VIZWFkZXJzICAgICAgICAgICAgIFNvdXBNZXNzYWdlSGVhZGVyczsKIAogc3Ry
dWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZSB7CiAgICAgR09iamVjdCBwYXJlbnQ7CkBAIC03
Miw2ICs3MywxMCBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNl
X3NldF9jb250ZW50X3R5cGUgICAoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgKnJlc3BvbnNlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hh
ciAgICAgICAgICAgICAqY29udGVudF90eXBlKTsKIAorV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRf
dXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJzICAgKFdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlICpyZXNwb25zZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU291cE1lc3NhZ2VIZWFkZXJzICAgICAgKmhlYWRlcnMpOworCiBHX0VORF9ERUNM
UwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsv
ZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0CmluZGV4IDc3YzQ1NGE1
YTQyMTkzMTMwZmM5MjEyNzM0NjkwMWJiNmRmMzY4YzkuLmY4ZjU2OGY0NThkMDIwZTYwYWNlYjYw
YWQxZDc5MTBlY2IwMTM5ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dApAQCAt
MTI3OCw2ICsxMjc4LDcgQEAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfdXJpCiB3ZWJr
aXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9wYXRoCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0
X2dldF93ZWJfdmlldwogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9tZXRob2QK
K3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycwogd2Via2l0X3VyaV9z
Y2hlbWVfcmVxdWVzdF9maW5pc2gKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoX3dp
dGhfcmVzcG9uc2UKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoX2Vycm9yCkBAIC0x
MjkzLDYgKzEyOTQsNyBAQCBXRUJLSVRfVVJJX1NDSEVNRV9SRVFVRVNUX0dFVF9DTEFTUwogCiA8
U1VCU0VDVElPTiBQcml2YXRlPgogV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUKK1NvdXBN
ZXNzYWdlSGVhZGVycwogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfdHlwZQogPC9TRUNU
SU9OPgogCkBAIC0xMzAyLDYgKzEzMDQsNyBAQCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZQogd2Vi
a2l0X3VyaV9zY2hlbWVfcmVzcG9uc2VfbmV3CiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9z
ZXRfY29udGVudF90eXBlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfc3RhdHVzCit3
ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJzCiAKIDxTVUJTRUNUSU9O
IFN0YW5kYXJkPgogV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VDbGFzcwpAQCAtMTMxNCw2ICsxMzE3
LDcgQEAgV0VCS0lUX1VSSV9TQ0hFTUVfUkVTUE9OU0VfR0VUX0NMQVNTCiAKIDxTVUJTRUNUSU9O
IFByaXZhdGU+CiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUKK1NvdXBNZXNzYWdlSGVh
ZGVycwogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2VfZ2V0X3R5cGUKIDwvU0VDVElPTj4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hl
bWVSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNj
aGVtZVJlcXVlc3QuaAppbmRleCBlODhjYTc5ZTU3NWU0OWJmNjc2MTcxYzNjOWRjNGM3NDNjZDVi
MDgwLi4wYjljMDM0MWZmMDY3ZmNjMWZmMThlNWZkMmE4NTUwM2UzMTVhNTAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlcXVlc3Qu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJl
cXVlc3QuaApAQCAtNDIsNiArNDIsNyBAQCB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdENsYXNzICAgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdENsYXNzOwogdHlwZWRlZiBzdHJ1
Y3QgX1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlIFdlYktpdFVSSVNjaGVtZVJlcXVlc3RQ
cml2YXRlOwogCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2ViVmlldyBXZWJLaXRXZWJWaWV3Owor
dHlwZWRlZiBzdHJ1Y3QgX1NvdXBNZXNzYWdlSGVhZGVycyBTb3VwTWVzc2FnZUhlYWRlcnM7CiAK
IHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCB7CiAgICAgR09iamVjdCBwYXJlbnQ7CkBA
IC03Niw2ICs3Nyw5IEBAIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3IChX
ZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKIFdFQktJVF9BUEkgY29uc3QgZ2NoYXIg
Kgogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9tZXRob2QgKFdlYktpdFVSSVNj
aGVtZVJlcXVlc3QgKnJlcXVlc3QpOwogCitXRUJLSVRfQVBJIFNvdXBNZXNzYWdlSGVhZGVycyAq
Cit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMgKFdlYktpdFVSSVNj
aGVtZVJlcXVlc3QgKnJlcXVlc3QpOworCiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZmluaXNoICAgICAgIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdJbnB1dFN0cmVhbSAg
ICAgICAgICAgKnN0cmVhbSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaAppbmRleCAzMjIwYjFmNDY4ODY3MTYz
OWY3NmFmODFjNzI3NWZmZTc5MWNjNWYzLi43ODM3MjU1ZjA5NTZjMGZmOGJjNTY2MDRlNjIxNmQ5
NzM1NWI4MjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dl
YktpdFVSSVNjaGVtZVJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oCkBAIC0zOSw2ICszOSw5IEBAIEdfQkVHSU5f
REVDTFMKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZSAgICAgICAgV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2U7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2VDbGFzcyAgIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlQ2xhc3M7CiB0eXBlZGVmIHN0cnVj
dCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
UHJpdmF0ZTsKKyNpZm5kZWYgU09VUF9UWVBFX01FU1NBR0VfSEVBREVSUwordHlwZWRlZiBzdHJ1
Y3QgX1NvdXBNZXNzYWdlSGVhZGVycyAgICAgICAgICAgICBTb3VwTWVzc2FnZUhlYWRlcnM7Cisj
ZW5kaWYKIAogc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZSB7CiAgICAgR09iamVjdCBw
YXJlbnQ7CkBAIC03MSw2ICs3NCwxMCBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2No
ZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUgICAoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Ug
KnJlc3BvbnNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBnY2hhciAgICAgICAgICAgICAqY29udGVudF90eXBlKTsKIAorV0VCS0lUX0FQSSB2
b2lkCit3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJzICAgKFdlYktp
dFVSSVNjaGVtZVJlc3BvbnNlICpyZXNwb25zZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU291cE1lc3NhZ2VIZWFkZXJzICAgICAgKmhlYWRlcnMpOwor
CiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dAppbmRleCAwYTljZjI0Yzcz
OGQyY2MwNTc1ZjAwZDczZGRjZTdjMGI0NmJiZGE3Li4yMDE4ZThjMjQ3OTBkOWU0YzEzZDE2ZTdj
NmYyMmE1OWViMjNkMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
d3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CkBAIC0xMjE1LDYgKzEyMTUsNyBA
QCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF91cmkKIHdlYmtpdF91cmlfc2NoZW1lX3Jl
cXVlc3RfZ2V0X3BhdGgKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3CiB3
ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZAord2Via2l0X3VyaV9zY2hl
bWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2Zp
bmlzaAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfd2l0aF9yZXNwb25zZQogd2Vi
a2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfZXJyb3IKQEAgLTEyMzAsNiArMTIzMSw3IEBA
IFdFQktJVF9VUklfU0NIRU1FX1JFUVVFU1RfR0VUX0NMQVNTCiAKIDxTVUJTRUNUSU9OIFByaXZh
dGU+CiBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJpdmF0ZQorU291cE1lc3NhZ2VIZWFkZXJzCiB3
ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF90eXBlCiA8L1NFQ1RJT04+CiAKQEAgLTEyMzks
NiArMTI0MSw3IEBAIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlCiB3ZWJraXRfdXJpX3NjaGVtZV9y
ZXNwb25zZV9uZXcKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUK
IHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9zdGF0dXMKK3dlYmtpdF91cmlfc2NoZW1l
X3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMKIAogPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CiBXZWJL
aXRVUklTY2hlbWVSZXNwb25zZUNsYXNzCkBAIC0xMjUxLDYgKzEyNTQsNyBAQCBXRUJLSVRfVVJJ
X1NDSEVNRV9SRVNQT05TRV9HRVRfQ0xBU1MKIAogPFNVQlNFQ1RJT04gUHJpdmF0ZT4KIFdlYktp
dFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZQorU291cE1lc3NhZ2VIZWFkZXJzCiB3ZWJraXRfdXJp
X3NjaGVtZV9yZXNwb25zZV9nZXRfdHlwZQogPC9TRUNUSU9OPgogCmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2RkMzAzZDk4MTFiMTI0YmM5NGU3
NzcxMGIwOWUzYTEzYzBiOTA0Ni4uN2ViYTFmMzEwY2U3MjI5ZWYyNTU0YzJlZTllNzRjYjZkMzlh
NTQ4NyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDIxLTExLTEwICBaaXhpbmcgTGl1ICA8bGl1c2h1eXUwMTFAZ21h
aWwuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gU3VwcG9ydCBnZXR0aW5nIGFuZCBzZXR0aW5n
IEhUVFAgaGVhZGVycyBpbiBjdXN0b20gVVJJIHNjaGVtZSBoYW5kbGVycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjczCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwOgorICAgICAgICAodGVzdFdlYkNv
bnRleHRVUklTY2hlbWUpOiBBZGRlZCBhIG5ldyB0ZXN0IHRvIHRlc3QgZ2V0dGluZyBhbmQgc2V0
dGluZyBIVFRQIGhlYWRlcnMgaW4gY3VzdG9tIFVSSSBzY2hlbWUgaGFuZGxlcnMKKwogMjAyMS0x
MS0xMCAgSiBQYXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkF1dGhu
XSBVbmlmeSBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIFNQSSBhbmQgQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yJ3MgQ2xpZW50RGF0YUpzb24gZ2VuZXJhdGlvbiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYkNvbnRl
eHQuY3BwCmluZGV4IDkwOGE0OTNmMTRmMDY5MDU1YzUyNjE4NzZjNDYzMjZiZTI1YTU4MTQuLmE0
M2M5M2VhOTg0YzNhNmZiNWZiNDA5YTIwN2JjN2Y4NjU3M2NkN2QgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJD
b250ZXh0LmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgIkxvYWRUcmFja2luZ1Rlc3Qu
aCIKICNpbmNsdWRlICJXZWJLaXRUZXN0U2VydmVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Tb3Vw
VmVyc2lvbmluZy5oPgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgogI2luY2x1ZGUgPGxpbWl0
cy5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0x
MjksNiArMTMwLDEyIEBAIHB1YmxpYzoKICAgICAgICAgZWxzZQogICAgICAgICAgICAgZ19hc3Nl
cnRfY21wc3RyKG1ldGhvZCwgPT0sICJHRVQiKTsKIAorICAgICAgICBpZiAoIWdfc3RyY21wMChz
Y2hlbWUsICJoZWFkZXJzIikpIHsKKyAgICAgICAgICAgIGF1dG8qIGhlYWRlcnMgPSB3ZWJraXRf
dXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMocmVxdWVzdCk7CisgICAgICAgICAg
ICBnX2Fzc2VydF9jbXBzdHIoc291cF9tZXNzYWdlX2hlYWRlcnNfZ2V0X29uZShoZWFkZXJzLCAi
eC10ZXN0IiksID09LCAiQSIpOworICAgICAgICAgICAgZ19hc3NlcnRfY21wc3RyKHNvdXBfbWVz
c2FnZV9oZWFkZXJzX2dldF9saXN0KGhlYWRlcnMsICJ4LXRlc3QyIiksID09LCAiMSwgMiwgMywg
NCIpOworICAgICAgICB9CisKICAgICAgICAgY29uc3QgVVJJU2NoZW1lSGFuZGxlciYgaGFuZGxl
ciA9IHRlc3QtPm1faGFuZGxlcnNNYXAuZ2V0KFN0cmluZzo6ZnJvbVVURjgoc2NoZW1lKSk7CiAK
ICAgICAgICAgR1JlZlB0cjxHSW5wdXRTdHJlYW0+IGlucHV0U3RyZWFtID0gYWRvcHRHUmVmKGdf
bWVtb3J5X2lucHV0X3N0cmVhbV9uZXcoKSk7CkBAIC0xNjYsNiArMTczLDExIEBAIHB1YmxpYzoK
ICAgICAgICAgYXV0byByZXNwb25zZSA9IGFkb3B0R1JlZih3ZWJraXRfdXJpX3NjaGVtZV9yZXNw
b25zZV9uZXcoaW5wdXRTdHJlYW0uZ2V0KCksIGhhbmRsZXIucmVwbHlMZW5ndGgpKTsKICAgICAg
ICAgd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X3N0YXR1cyhyZXNwb25zZS5nZXQoKSwg
aGFuZGxlci5zdGF0dXNDb2RlLCBudWxscHRyKTsKICAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVf
cmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZShyZXNwb25zZS5nZXQoKSwgaGFuZGxlci5taW1lVHlw
ZS5kYXRhKCkpOworICAgICAgICBpZiAoIWdfc3RyY21wMChzY2hlbWUsICJoZWFkZXJzcmVzcCIp
KSB7CisgICAgICAgICAgICBhdXRvKiBoZWFkZXJzID0gc291cF9tZXNzYWdlX2hlYWRlcnNfbmV3
KFNPVVBfTUVTU0FHRV9IRUFERVJTX1JFU1BPTlNFKTsKKyAgICAgICAgICAgIHNvdXBfbWVzc2Fn
ZV9oZWFkZXJzX2FwcGVuZChoZWFkZXJzLCAieC10ZXN0IiwgInRlc3RfdmFsdWUiKTsKKyAgICAg
ICAgICAgIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMocmVzcG9u
c2UuZ2V0KCksIGhlYWRlcnMpOworICAgICAgICB9CiAgICAgICAgIHdlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZmluaXNoX3dpdGhfcmVzcG9uc2UocmVxdWVzdCwgcmVzcG9uc2UuZ2V0KCkpOwog
ICAgIH0KIApAQCAtMzM0LDYgKzM0NiwyNSBAQCBzdGF0aWMgdm9pZCB0ZXN0V2ViQ29udGV4dFVS
SVNjaGVtZShVUklTY2hlbWVUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogICAgIGdfYXNzZXJ0
X2ZhbHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhMb2FkVHJhY2tpbmdUZXN0OjpQcm92
aXNpb25hbExvYWRGYWlsZWQpKTsKICAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVu
dHMuY29udGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6TG9hZEZhaWxlZCkpOwogCisgICAgc3RhdGlj
IGNvbnN0IGNoYXIqIGhlYWRlcnNIVE1MID0gIjxodG1sPjxib2R5PjxzY3JpcHQ+bGV0IGhkcnMg
PSBuZXcgSGVhZGVycyh7J1gtVGVzdCc6ICdBJywgJ1gtVGVzdDInOiAnMSwgMiwgMyd9KTtoZHJz
LmFwcGVuZCgnWC1UZXN0MicsICc0Jyk7ZmV0Y2goJ2hlYWRlcnM6ZGF0YScsIHtoZWFkZXJzOiBo
ZHJzfSk8L3NjcmlwdD48L2JvZHk+PC9odG1sPiI7CisgICAgdGVzdC0+cmVnaXN0ZXJVUklTY2hl
bWVIYW5kbGVyKCJoZWFkZXJzIiwgbnVsbHB0ciwgMCwgImFwcGxpY2F0aW9uL2pzb24iLCAyMDQp
OworICAgIHRlc3QtPm1fbG9hZEV2ZW50cy5jbGVhcigpOworICAgIHRlc3QtPmxvYWRIdG1sKGhl
YWRlcnNIVE1MLCAiaGVhZGVyczpmb3JtIik7CisgICAgdGVzdC0+d2FpdFVudGlsTG9hZEZpbmlz
aGVkKCk7CisgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExv
YWRUcmFja2luZ1Rlc3Q6OlByb3Zpc2lvbmFsTG9hZEZhaWxlZCkpOworICAgIGdfYXNzZXJ0X2Zh
bHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhMb2FkVHJhY2tpbmdUZXN0OjpMb2FkRmFp
bGVkKSk7CisKKyAgICBzdGF0aWMgY29uc3QgY2hhciogcmVzcEhUTUwgPSAiPGh0bWw+PGhlYWQ+
PHNjcmlwdD5mZXRjaCgnaGVhZGVyc3Jlc3A6ZGF0YScpLnRoZW4oKGQpPT57aWYoZC5oZWFkZXJz
LmdldCgnWC1UZXN0JykgIT09ICd0ZXN0X3ZhbHVlJykgd2luZG93Lmhhc0Vycm9yPTF9KS5jYXRj
aCgoZSk9PiB3aW5kb3cuaGFzRXJyb3I9MSk8L3NjcmlwdD48L2hlYWQ+PC9odG1sPiI7CisgICAg
dGVzdC0+cmVnaXN0ZXJVUklTY2hlbWVIYW5kbGVyKCJoZWFkZXJzcmVzcCIsIG51bGxwdHIsIDAs
ICJhcHBsaWNhdGlvbi9qc29uIiwgMjA0KTsKKyAgICB0ZXN0LT5tX2xvYWRFdmVudHMuY2xlYXIo
KTsKKyAgICB0ZXN0LT5sb2FkSHRtbChyZXNwSFRNTCwgImhlYWRlcnNyZXNwOmZvcm0iKTsKKyAg
ICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNoZWQoKTsKKyAgICBHVW5pcXVlT3V0UHRyPEdFcnJv
cj4gcmVzcEVycm9yOworICAgIHRlc3QtPnJ1bkphdmFTY3JpcHRBbmRXYWl0VW50aWxGaW5pc2hl
ZCgiaWYod2luZG93Lmhhc0Vycm9yKSB0aHJvdyAnSGVhZGVycyBhcmUgbWlzc2luZyBvciBpbnZh
bGlkJyIsICZyZXNwRXJyb3Iub3V0UHRyKCkpOworICAgIGdfYXNzZXJ0X25vX2Vycm9yKHJlc3BF
cnJvci5nZXQoKSk7CisgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+bV9sb2FkRXZlbnRzLmNvbnRh
aW5zKExvYWRUcmFja2luZ1Rlc3Q6OlByb3Zpc2lvbmFsTG9hZEZhaWxlZCkpOworICAgIGdfYXNz
ZXJ0X2ZhbHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhMb2FkVHJhY2tpbmdUZXN0OjpM
b2FkRmFpbGVkKSk7CisKICAgICAvLyBUb3J0dXJlIHRlc3QgdGltZTogbWFrZSBzdXJlIGl0IHN0
aWxsIHdvcmtzIGlmIHdlIGlzc3VlIGEgYnVuY2ggb2YgZGlmZmVyZW50IHJlcXVlc3RzIGFsbCBh
dAogICAgIC8vIG9uY2UuIEVhY2ggcmVxdWVzdCBzaG91bGQgZmluaXNoIGFuZCByZXR1cm4gZXhh
Y3RseSB0aGUgc2FtZSBkYXRhLgogICAgIGludCBudW1JdGVyYXRpb25zID0gMjU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444224</attachid>
            <date>2021-11-15 01:47:30 -0800</date>
            <delta_ts>2021-11-16 02:13:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203273-20211115024729.patch</filename>
            <type>text/plain</type>
            <size>22605</size>
            <attacher>liushuyu011</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczMTkxMDc1NGQ2MTc0Zjk2
N2EzY2M2MDU0NGMwMDgxYzUzOGM0YTIuLjAyOTczYjcxNWI1ZTRlNDM1YjIyODFkNjA1YjhmMzQ1
MDUyMzM5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMTAgIFppeGluZyBM
aXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0
IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyk6IEFkZGVkIG5ldyBB
UEkgZnVuY3Rpb24KKyAgICAgICAgKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2sp
OiBJbmNsdWRlIHVzZXItc3BlY2lmaWVkIGhlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwOgorICAgICAgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRIZWFkZXJzKTogQWRkZWQgYSBuZXcgcHJpdmF0ZSBnZXR0ZXIKKyAgICAg
ICAgKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMpOiBBZGRlZCBu
ZXcgQVBJIGZ1bmN0aW9uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuaDogQWRkZWQgZnVuY3Rpb24gcHJvdG90eXBlIGZvciAKKyAgICAg
ICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaDogQWRkZWQgZnVuY3Rp
b24gcHJvdG90eXBlIGZvciAKKyAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9zZXRf
aHR0cF9oZWFkZXJzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQ6IEFkZGVkIG5ldyBzeW1ib2xzCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oOiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5
cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRl
cnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
OiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X3NldF9odHRwX2hlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0OiBBZGRlZCBuZXcgc3ltYm9scworCiAyMDIxLTExLTEw
ICBKIFBhc2NvZSAgPGpfcGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIFVu
aWZ5IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgU1BJIGFuZCBBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IncyBDbGllbnREYXRhSnNvbiBnZW5lcmF0aW9uIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcApp
bmRleCAzNDVkNDQ2ZjFkMzhlMzZkODg1YWRkZDI5NjVmYzdhNzZmZjM3ZGI4Li5kMzc0MjUzZDc3
ZDdhYmYzYzMzYmYxNDI2NmViNzZlNjhiZTdjNGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcApA
QCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIldlYktpdFdlYkNvbnRleHRQcml2YXRlLmgiCiAj
aW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvR1VuaXF1ZVB0clNvdXAuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBQ
YXJzZXJzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CkBAIC03MCw2ICs3MSw3IEBAIHN0cnVjdCBfV2Vi
S2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUgewogICAgIGNoYXIgcmVhZEJ1ZmZlcltnUmVhZEJ1
ZmZlclNpemVdOwogICAgIHVpbnQ2NF90IGJ5dGVzUmVhZDsKICAgICBjb25zdCBjaGFyKiBodHRw
TWV0aG9kOworICAgIEdVbmlxdWVQdHI8U291cE1lc3NhZ2VIZWFkZXJzPiBoZWFkZXJzOwogfTsK
IAogV0VCS0lUX0RFRklORV9UWVBFKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QsIHdlYmtpdF91cmlf
c2NoZW1lX3JlcXVlc3QsIEdfVFlQRV9PQkpFQ1QpCkBAIC0xODEsNiArMTgzLDI4IEBAIGNvbnN0
IGdjaGFyKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZChXZWJLaXRV
UklTY2hlbWVSZXF1ZXN0KiByCiAgICAgcmV0dXJuIHJlcXVlc3QtPnByaXYtPmh0dHBNZXRob2Q7
CiB9CiAKKy8qCisgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnM6
CisgKiBAcmVxdWVzdDogYSAjV2ViS2l0VVJJU2NoZW1lUmVxdWVzdAorICoKKyAqIEdldCB0aGUg
I1NvdXBNZXNzYWdlSGVhZGVycyBvZiB0aGUgcmVxdWVzdC4KKyAqCisgKiBSZXR1cm5zOiAodHJh
bnNmZXIgbm9uZSk6IHRoZSAjU291cE1lc3NhZ2VIZWFkZXJzIG9mIHRoZSBAcmVxdWVzdC4KKyAq
CisgKiBTaW5jZTogMi4zNgorICovCitTb3VwTWVzc2FnZUhlYWRlcnMqIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByZXF1
ZXN0KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19VUklfU0NIRU1FX1JF
UVVFU1QocmVxdWVzdCksIG51bGxwdHIpOworCisgICAgaWYgKCFyZXF1ZXN0LT5wcml2LT5oZWFk
ZXJzKSB7CisgICAgICAgIHJlcXVlc3QtPnByaXYtPmhlYWRlcnMucmVzZXQoc291cF9tZXNzYWdl
X2hlYWRlcnNfbmV3KFNPVVBfTUVTU0FHRV9IRUFERVJTX1JFUVVFU1QpKTsKKyAgICAgICAgcmVx
dWVzdC0+cHJpdi0+dGFzay0+cmVxdWVzdCgpLnVwZGF0ZVNvdXBNZXNzYWdlSGVhZGVycyhyZXF1
ZXN0LT5wcml2LT5oZWFkZXJzLmdldCgpKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVxdWVzdC0+
cHJpdi0+aGVhZGVycy5nZXQoKTsKK30KKwogc3RhdGljIHZvaWQgd2Via2l0VVJJU2NoZW1lUmVx
dWVzdFJlYWRDYWxsYmFjayhHSW5wdXRTdHJlYW0qIGlucHV0U3RyZWFtLCBHQXN5bmNSZXN1bHQq
IHJlc3VsdCwgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogc2NoZW1lUmVxdWVzdCkKIHsKICAgICBH
UmVmUHRyPFdlYktpdFVSSVNjaGVtZVJlcXVlc3Q+IHJlcXVlc3QgPSBhZG9wdEdSZWYoc2NoZW1l
UmVxdWVzdCk7CkBAIC0xOTksMTkgKzIyMywyMSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRVUklTY2hl
bWVSZXF1ZXN0UmVhZENhbGxiYWNrKEdJbnB1dFN0cmVhbSogaW5wdXRTdHJlYW0sIEdBc3luYwog
CiAgICAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3AgPSBwcml2LT5yZXNwb25zZS5nZXQo
KTsKICAgICBpZiAoIXByaXYtPmJ5dGVzUmVhZCkgewotICAgICAgICBDU3RyaW5nIGNvbnRlbnRU
eXBlID0gV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShyZXNwKTsKLSAgICAg
ICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShwcml2LT50YXNrLT5yZXF1ZXN0KCkudXJsKCks
IGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5cGUoY29udGVudFR5cGUuZGF0YSgpKSwgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgocmVzcCksIGVtcHR5U3RyaW5nKCkpOwor
ICAgICAgICBDU3RyaW5nIGNvbnRlbnRUeXBlID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRD
b250ZW50VHlwZShyZXNwKTsKKyAgICAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShwcml2
LT50YXNrLT5yZXF1ZXN0KCkudXJsKCksIGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5cGUoY29u
dGVudFR5cGUuZGF0YSgpKSwgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgo
cmVzcCksIGVtcHR5U3RyaW5nKCkpOwogICAgICAgICByZXNwb25zZS5zZXRUZXh0RW5jb2RpbmdO
YW1lKGV4dHJhY3RDaGFyc2V0RnJvbU1lZGlhVHlwZShjb250ZW50VHlwZS5kYXRhKCkpKTsKLSAg
ICAgICAgY29uc3QgQ1N0cmluZyYgc3RhdHVzTWVzc2FnZSA9IFdlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlR2V0U3RhdHVzTWVzc2FnZShyZXNwKTsKKyAgICAgICAgY29uc3QgQ1N0cmluZyYgc3RhdHVz
TWVzc2FnZSA9IHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2FnZShyZXNwKTsK
ICAgICAgICAgaWYgKHN0YXR1c01lc3NhZ2UuaXNOdWxsKCkpIHsKICAgICAgICAgICAgIHJlc3Bv
bnNlLnNldEhUVFBTdGF0dXNDb2RlKDIwMCk7CiAgICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQ
U3RhdHVzVGV4dCgiT0siX3MpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcmVzcG9u
c2Uuc2V0SFRUUFN0YXR1c0NvZGUoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2Rl
KHJlc3ApKTsKKyAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNDb2RlKHdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShyZXNwKSk7CiAgICAgICAgICAgICByZXNwb25z
ZS5zZXRIVFRQU3RhdHVzVGV4dChzdGF0dXNNZXNzYWdlLmRhdGEoKSk7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKHJlc3BvbnNlLm1pbWVUeXBlKCkuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVz
cG9uc2Uuc2V0TWltZVR5cGUoTUlNRVR5cGVSZWdpc3RyeTo6bWltZVR5cGVGb3JQYXRoKHJlc3Bv
bnNlLnVybCgpLnBhdGgoKS50b1N0cmluZygpKSk7CisgICAgICAgIGlmIChhdXRvKiBoZWFkZXJz
ID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJzKHJlc3ApKQorICAgICAgICAgICAg
cmVzcG9uc2UudXBkYXRlRnJvbVNvdXBNZXNzYWdlSGVhZGVycyhoZWFkZXJzKTsKICAgICAgICAg
cHJpdi0+dGFzay0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICB9CiAKQEAgLTI2
Niw3ICsyOTIsNyBAQCB2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoX3dpdGhf
cmVzcG9uc2UoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogcmVxdQogICAgIHJlcXVlc3QtPnByaXYt
PmNhbmNlbGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOwogICAgIHJlcXVl
c3QtPnByaXYtPnJlc3BvbnNlID0gcmVzcG9uc2U7CiAKLSAgICBnX2lucHV0X3N0cmVhbV9yZWFk
X2FzeW5jKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtKHJlc3BvbnNlKSwgcmVxdWVz
dC0+cHJpdi0+cmVhZEJ1ZmZlciwgZ1JlYWRCdWZmZXJTaXplLCBSdW5Mb29wU291cmNlUHJpb3Jp
dHk6OkFzeW5jSU9OZXR3b3JrLCByZXF1ZXN0LT5wcml2LT5jYW5jZWxsYWJsZS5nZXQoKSwKKyAg
ICBnX2lucHV0X3N0cmVhbV9yZWFkX2FzeW5jKHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3Ry
ZWFtKHJlc3BvbnNlKSwgcmVxdWVzdC0+cHJpdi0+cmVhZEJ1ZmZlciwgZ1JlYWRCdWZmZXJTaXpl
LCBSdW5Mb29wU291cmNlUHJpb3JpdHk6OkFzeW5jSU9OZXR3b3JrLCByZXF1ZXN0LT5wcml2LT5j
YW5jZWxsYWJsZS5nZXQoKSwKICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxHQXN5bmNSZWFkeUNh
bGxiYWNrPih3ZWJraXRVUklTY2hlbWVSZXF1ZXN0UmVhZENhbGxiYWNrKSwgZ19vYmplY3RfcmVm
KHJlcXVlc3QpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwCmluZGV4IDQzNDhlNGNjYjhi
NGQ0NmZlYzU1NzkxZTIyMjk5MzZhOTg3ZDAyZGEuLjIyNTk2MjI5YTdiOTBlMmIwN2FlNDljYWFl
NWRlYTJhOWIzZTA3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5jcHAKQEAgLTIxLDYgKzIxLDcg
QEAKICNpbmNsdWRlICJXZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUuaCIKIAogI2luY2x1
ZGUgIldlYktpdFByaXZhdGUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0dVbmlxdWVQdHJTb3VwLmg+
CiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4KQEAgLTYyLDYgKzYzLDcgQEAgc3Ry
dWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUgewogICAgIGludCBzdGF0dXNDb2Rl
IHsgLTEgfTsKICAgICBDU3RyaW5nIHN0YXR1c01lc3NhZ2U7CiAgICAgQ1N0cmluZyBjb250ZW50
VHlwZTsKKyAgICBHVW5pcXVlUHRyPFNvdXBNZXNzYWdlSGVhZGVycz4gaGVhZGVyczsKIH07CiAK
IFdFQktJVF9ERUZJTkVfVFlQRShXZWJLaXRVUklTY2hlbWVSZXNwb25zZSwgd2Via2l0X3VyaV9z
Y2hlbWVfcmVzcG9uc2UsIEdfVFlQRV9PQkpFQ1QpCkBAIC0xMjQsMzEgKzEyNiwzNiBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9jbGFzc19pbml0KFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlQ2xhc3MqCiB9CiAKIC8vIFByaXZhdGUgZ2V0dGVycwotaW50IFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZSogcmVzcG9uc2UpCitpbnQgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKGNv
bnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVz
cG9uc2UtPnByaXYtPnN0YXR1c0NvZGU7CiB9CiAKLUdJbnB1dFN0cmVhbSogV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3Bv
bnNlKQorR0lucHV0U3RyZWFtKiB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbShjb25z
dCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3Bv
bnNlLT5wcml2LT5zdHJlYW0uZ2V0KCk7CiB9CiAKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2FnZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZSogcmVzcG9uc2UpCitjb25zdCBDU3RyaW5nJiB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0
YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQogewog
ICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+c3RhdHVzTWVzc2FnZTsKIH0KIAotY29uc3QgQ1N0
cmluZyYgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJLaXRV
UklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCitjb25zdCBDU3RyaW5nJiB3ZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldENvbnRlbnRUeXBlKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiBy
ZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYtPmNvbnRlbnRUeXBlOwogfQog
Ci11aW50NjRfdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChjb25zdCBX
ZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCit1aW50NjRfdCB3ZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSog
cmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5zdHJlYW1MZW5ndGg7CiB9
CiAKK1NvdXBNZXNzYWdlSGVhZGVycyogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJz
KFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKK3sKKyAgICByZXR1cm4gcmVzcG9u
c2UtPnByaXYtPmhlYWRlcnMuZ2V0KCk7Cit9CisKIC8qKgogICogd2Via2l0X3VyaV9zY2hlbWVf
cmVzcG9uc2VfbmV3OgogICogQGlucHV0X3N0cmVhbTogYSAjR0lucHV0U3RyZWFtIHRvIHJlYWQg
dGhlIGNvbnRlbnRzIG9mIHRoZSByZXF1ZXN0CkBAIC0xODQsNiArMTkxLDI1IEBAIHZvaWQgd2Vi
a2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZShXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZSogcmVzcG9uCiAgICAgcmVzcG9uc2UtPnByaXYtPmNvbnRlbnRUeXBlID0gY29udGVu
dFR5cGU7CiB9CiAKKy8qCisgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9o
ZWFkZXJzOgorICogQHJlc3BvbnNlOiBhICNXZWJLaXRVUklTY2hlbWVSZXNwb25zZQorICogQGhl
YWRlcnM6ICh0cmFuc2ZlciBmdWxsKTogdGhlIEhUVFAgaGVhZGVycyB0byBiZSBzZXQKKyAqCisg
KiBBc3NpZ24gdGhlIHByb3ZpZGVkICNTb3VwTWVzc2FnZUhlYWRlcnMgdG8gdGhlIHJlc3BvbnNl
LgorICogQGhlYWRlcnMgbmVlZCB0byBiZSBvZiB0aGUgdHlwZSAlU09VUF9NRVNTQUdFX0hFQURF
UlNfUkVTUE9OU0UuCisgKiBBbnkgZXhpc3RpbmcgaGVhZGVycyB3aWxsIGJlIG92ZXJ3cml0dGVu
LgorICoKKyAqIFNpbmNlOiAyLjM2CisgKi8KK3ZvaWQgd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9u
c2Vfc2V0X2h0dHBfaGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UsIFNv
dXBNZXNzYWdlSGVhZGVycyogaGVhZGVycykKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJ
VF9JU19VUklfU0NIRU1FX1JFU1BPTlNFKHJlc3BvbnNlKSk7CisgICAgZ19yZXR1cm5faWZfZmFp
bChzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfaGVhZGVyc190eXBlKGhlYWRlcnMpID09IFNPVVBf
TUVTU0FHRV9IRUFERVJTX1JFU1BPTlNFKTsKKworICAgIHJlc3BvbnNlLT5wcml2LT5oZWFkZXJz
LnJlc2V0KGhlYWRlcnMpOworfQorCiAvKioKICAqIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNl
X3NldF9zdGF0dXM6CiAgKiBAcmVzcG9uc2U6IGEgI1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hl
bWVSZXNwb25zZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCmluZGV4IDdiMGQ2ZjBhNzZkMzNlODQzMmUx
MDhiN2RiMTM5OGVlM2VkYmJkNzMuLmE1NjRjYTZhNTlmYzkwZmVkMTk2NmQ3NTM5YjkzYTg1YWFi
NjQzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCkBAIC0yMiw4ICsyMiw5
IEBACiAjaW5jbHVkZSAiV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAKLWludCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c0Nv
ZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKLUdJbnB1dFN0cmVhbSogV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uq
KTsKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2Fn
ZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwotY29uc3QgQ1N0cmluZyYgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNw
b25zZSopOwotdWludDY0X3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgo
Y29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK2ludCB3ZWJLaXRVUklTY2hlbWVSZXNw
b25zZUdldFN0YXR1c0NvZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK0dJbnB1
dFN0cmVhbSogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJ
U2NoZW1lUmVzcG9uc2UqKTsKK2NvbnN0IENTdHJpbmcmIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
R2V0U3RhdHVzTWVzc2FnZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOworY29uc3Qg
Q1N0cmluZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJL
aXRVUklTY2hlbWVSZXNwb25zZSopOwordWludDY0X3Qgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VH
ZXRTdHJlYW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK1NvdXBNZXNz
YWdlSGVhZGVycyogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJzKFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IDJiODhhYTZhODk3ODQ3YmExNGY2
ZTg5MjI0NjMwNzY4NWYzZGU5OWYuLjcwNTMyN2RiYjIzYmNkYWVjNDA3ZTAzNDIwODI4MWM3Zjc1
MjcwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCkBAIC0yNSw2ICsyNSw3IEBACiAjZGVmaW5lIFdlYktp
dFVSSVNjaGVtZVJlcXVlc3RfaAogCiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRl
IDxsaWJzb3VwL3NvdXAuaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdERlZmluZXMuaD4KICNp
bmNsdWRlIDx3ZWJraXQyL1dlYktpdEZvcndhcmREZWNsYXJhdGlvbnMuaD4KICNpbmNsdWRlIDx3
ZWJraXQyL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmg+CkBAIC03NSw2ICs3Niw5IEBAIHdlYmtp
dF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3IChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0
ICpyZXF1ZXN0KTsKIFdFQktJVF9BUEkgY29uc3QgZ2NoYXIgKgogd2Via2l0X3VyaV9zY2hlbWVf
cmVxdWVzdF9nZXRfaHR0cF9tZXRob2QgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3Qp
OwogCitXRUJLSVRfQVBJIFNvdXBNZXNzYWdlSGVhZGVycyAqCit3ZWJraXRfdXJpX3NjaGVtZV9y
ZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3Qp
OworCiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoICAg
ICAgIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdJbnB1dFN0cmVhbSAgICAgICAgICAgKnN0cmVhbSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2UuaAppbmRleCBkYzcwY2U2NzNlYTI0NGRlMDcwMGYwZjYwNDFlZTZlYWI2MGE3
N2RlLi44ZjBkNTU4YzE2ZWUxODU4ZjNiOTdhYWUwYWFiNDg4ZDkwMTAyMTM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVS
ZXNwb25zZS5oCkBAIC00MCw2ICs0MCw3IEBAIEdfQkVHSU5fREVDTFMKIHR5cGVkZWYgc3RydWN0
IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZSAgICAgICAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2U7
CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VDbGFzcyAgIFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlQ2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2VQcml2YXRlIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZTsKK3R5cGVkZWYgc3Ry
dWN0IF9Tb3VwTWVzc2FnZUhlYWRlcnMgICAgICAgICAgICAgU291cE1lc3NhZ2VIZWFkZXJzOwog
CiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlIHsKICAgICBHT2JqZWN0IHBhcmVudDsK
QEAgLTcyLDYgKzczLDEwIEBAIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3VyaV9zY2hlbWVfcmVz
cG9uc2Vfc2V0X2NvbnRlbnRfdHlwZSAgIChXZWJLaXRVUklTY2hlbWVSZXNwb25zZSAqcmVzcG9u
c2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGdjaGFyICAgICAgICAgICAgICpjb250ZW50X3R5cGUpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dl
YmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2UgKnJlc3BvbnNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTb3VwTWVzc2FnZUhlYWRlcnMgICAgICAqaGVhZGVycyk7CisKIEdfRU5E
X0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQKaW5kZXggNzdj
NDU0YTVhNDIxOTMxMzBmYzkyMTI3MzQ2OTAxYmI2ZGYzNjhjOS4uZjhmNTY4ZjQ1OGQwMjBlNjBh
Y2ViNjBhZDFkNzkxMGVjYjAxMzk4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0
CkBAIC0xMjc4LDYgKzEyNzgsNyBAQCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF91cmkK
IHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3BhdGgKIHdlYmtpdF91cmlfc2NoZW1lX3Jl
cXVlc3RfZ2V0X3dlYl92aWV3CiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21l
dGhvZAord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCiB3ZWJraXRf
dXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5p
c2hfd2l0aF9yZXNwb25zZQogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfZXJyb3IK
QEAgLTEyOTMsNiArMTI5NCw3IEBAIFdFQktJVF9VUklfU0NIRU1FX1JFUVVFU1RfR0VUX0NMQVNT
CiAKIDxTVUJTRUNUSU9OIFByaXZhdGU+CiBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJpdmF0ZQor
U291cE1lc3NhZ2VIZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF90eXBlCiA8
L1NFQ1RJT04+CiAKQEAgLTEzMDIsNiArMTMwNCw3IEBAIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
CiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9uZXcKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3Bv
bnNlX3NldF9jb250ZW50X3R5cGUKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9zdGF0
dXMKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMKIAogPFNVQlNF
Q1RJT04gU3RhbmRhcmQ+CiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNzCkBAIC0xMzE0LDYg
KzEzMTcsNyBAQCBXRUJLSVRfVVJJX1NDSEVNRV9SRVNQT05TRV9HRVRfQ0xBU1MKIAogPFNVQlNF
Q1RJT04gUHJpdmF0ZT4KIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZQorU291cE1lc3Nh
Z2VIZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9nZXRfdHlwZQogPC9TRUNUSU9O
PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVS
SVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IGU4OGNhNzllNTc1ZTQ5YmY2NzYxNzFjM2M5ZGM0Yzc0
M2NkNWIwODAuLjc1MDUyZDc3NWIwMTliMTYxZjdkOGE4ODg5OTIxMzc3YjVhM2ViOTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVx
dWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2No
ZW1lUmVxdWVzdC5oCkBAIC0yNSw2ICsyNSw3IEBACiAjZGVmaW5lIFdlYktpdFVSSVNjaGVtZVJl
cXVlc3RfaAogCiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRlIDxsaWJzb3VwL3Nv
dXAuaD4KICNpbmNsdWRlIDx3cGUvV2ViS2l0RGVmaW5lcy5oPgogI2luY2x1ZGUgPHdwZS9XZWJL
aXRVUklTY2hlbWVSZXNwb25zZS5oPgogCkBAIC03Niw2ICs3Nyw5IEBAIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3IChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0
KTsKIFdFQktJVF9BUEkgY29uc3QgZ2NoYXIgKgogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9n
ZXRfaHR0cF9tZXRob2QgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOwogCitXRUJL
SVRfQVBJIFNvdXBNZXNzYWdlSGVhZGVycyAqCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dl
dF9odHRwX2hlYWRlcnMgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOworCiBXRUJL
SVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoICAgICAgIChXZWJL
aXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdJbnB1dFN0cmVhbSAgICAgICAgICAgKnN0cmVhbSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2UuaAppbmRleCAzMjIwYjFmNDY4ODY3MTYzOWY3NmFmODFjNzI3NWZmZTc5MWNjNWYzLi5hNzgw
ZWQ0YTIyNDBjZWI0OTExNmMyZTRlZDc4M2FmOTkyNjJmZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
CkBAIC0zOSw2ICszOSw3IEBAIEdfQkVHSU5fREVDTFMKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRV
UklTY2hlbWVSZXNwb25zZSAgICAgICAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2U7CiB0eXBlZGVm
IHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VDbGFzcyAgIFdlYktpdFVSSVNjaGVtZVJl
c3BvbnNlQ2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2
YXRlIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZTsKK3R5cGVkZWYgc3RydWN0IF9Tb3Vw
TWVzc2FnZUhlYWRlcnMgICAgICAgICAgICAgU291cE1lc3NhZ2VIZWFkZXJzOwogCiBzdHJ1Y3Qg
X1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlIHsKICAgICBHT2JqZWN0IHBhcmVudDsKQEAgLTcxLDYg
KzcyLDEwIEBAIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0
X2NvbnRlbnRfdHlwZSAgIChXZWJLaXRVUklTY2hlbWVSZXNwb25zZSAqcmVzcG9uc2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAg
ICAgICAgICAgICpjb250ZW50X3R5cGUpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF91cmlf
c2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMgICAoV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2UgKnJlc3BvbnNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBTb3VwTWVzc2FnZUhlYWRlcnMgICAgICAqaGVhZGVycyk7CisKIEdfRU5EX0RFQ0xTCiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2Nz
L3dwZS0xLjAtc2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CmluZGV4IDBhOWNmMjRjNzM4ZDJjYzA1NzVmMDBkNzNk
ZGNlN2MwYjQ2YmJkYTcuLjIwMThlOGMyNDc5MGQ5ZTRjMTNkMTZlN2M2ZjIyYTU5ZWIyM2QxN2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4w
LXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mv
d3BlLTEuMC1zZWN0aW9ucy50eHQKQEAgLTEyMTUsNiArMTIxNSw3IEBAIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZ2V0X3VyaQogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfcGF0aAog
d2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcKIHdlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9kCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9o
dHRwX2hlYWRlcnMKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoCiB3ZWJraXRfdXJp
X3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaF93aXRoX3Jlc3BvbnNlCiB3ZWJraXRfdXJpX3NjaGVtZV9y
ZXF1ZXN0X2ZpbmlzaF9lcnJvcgpAQCAtMTIzMCw2ICsxMjMxLDcgQEAgV0VCS0lUX1VSSV9TQ0hF
TUVfUkVRVUVTVF9HRVRfQ0xBU1MKIAogPFNVQlNFQ1RJT04gUHJpdmF0ZT4KIFdlYktpdFVSSVNj
aGVtZVJlcXVlc3RQcml2YXRlCitTb3VwTWVzc2FnZUhlYWRlcnMKIHdlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZ2V0X3R5cGUKIDwvU0VDVElPTj4KIApAQCAtMTIzOSw2ICsxMjQxLDcgQEAgV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2UKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX25ldwogd2Vi
a2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZQogd2Via2l0X3VyaV9zY2hl
bWVfcmVzcG9uc2Vfc2V0X3N0YXR1cword2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0
dHBfaGVhZGVycwogCiA8U1VCU0VDVElPTiBTdGFuZGFyZD4KIFdlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlQ2xhc3MKQEAgLTEyNTEsNiArMTI1NCw3IEBAIFdFQktJVF9VUklfU0NIRU1FX1JFU1BPTlNF
X0dFVF9DTEFTUwogCiA8U1VCU0VDVElPTiBQcml2YXRlPgogV2ViS2l0VVJJU2NoZW1lUmVzcG9u
c2VQcml2YXRlCitTb3VwTWVzc2FnZUhlYWRlcnMKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNl
X2dldF90eXBlCiA8L1NFQ1RJT04+CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCAzZGQzMDNkOTgxMWIxMjRiYzk0ZTc3NzEwYjA5ZTNhMTNjMGI5
MDQ2Li43ZWJhMWYzMTBjZTcyMjllZjI1NTRjMmVlOWU3NGNiNmQzOWE1NDg3IDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMjEtMTEtMTAgIFppeGluZyBMaXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAgICAg
ICAgW0dUS11bV1BFXSBTdXBwb3J0IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGlu
IGN1c3RvbSBVUkkgc2NoZW1lIGhhbmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0
V2ViS2l0V2ViQ29udGV4dC5jcHA6CisgICAgICAgICh0ZXN0V2ViQ29udGV4dFVSSVNjaGVtZSk6
IEFkZGVkIGEgbmV3IHRlc3QgdG8gdGVzdCBnZXR0aW5nIGFuZCBzZXR0aW5nIEhUVFAgaGVhZGVy
cyBpbiBjdXN0b20gVVJJIHNjaGVtZSBoYW5kbGVycworCiAyMDIxLTExLTEwICBKIFBhc2NvZSAg
PGpfcGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIFVuaWZ5IF9XS1dlYkF1
dGhlbnRpY2F0aW9uUGFuZWwgU1BJIGFuZCBBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IncyBDbGll
bnREYXRhSnNvbiBnZW5lcmF0aW9uIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAKaW5kZXggOTA4
YTQ5M2YxNGYwNjkwNTVjNTI2MTg3NmM0NjMyNmJlMjVhNTgxNC4uYTQzYzkzZWE5ODRjM2E2ZmI1
ZmI0MDlhMjA3YmM3Zjg2NTczY2Q3ZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwCkBAIC0y
Miw2ICsyMiw3IEBACiAjaW5jbHVkZSAiTG9hZFRyYWNraW5nVGVzdC5oIgogI2luY2x1ZGUgIldl
YktpdFRlc3RTZXJ2ZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NvdXBWZXJzaW9uaW5nLmg+Cisj
aW5jbHVkZSA8bGlic291cC9zb3VwLmg+CiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8
c3RkbGliLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KQEAgLTEyOSw2ICsxMzAsMTIgQEAg
cHVibGljOgogICAgICAgICBlbHNlCiAgICAgICAgICAgICBnX2Fzc2VydF9jbXBzdHIobWV0aG9k
LCA9PSwgIkdFVCIpOwogCisgICAgICAgIGlmICghZ19zdHJjbXAwKHNjaGVtZSwgImhlYWRlcnMi
KSkgeworICAgICAgICAgICAgYXV0byogaGVhZGVycyA9IHdlYmtpdF91cmlfc2NoZW1lX3JlcXVl
c3RfZ2V0X2h0dHBfaGVhZGVycyhyZXF1ZXN0KTsKKyAgICAgICAgICAgIGdfYXNzZXJ0X2NtcHN0
cihzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfb25lKGhlYWRlcnMsICJ4LXRlc3QiKSwgPT0sICJB
Iik7CisgICAgICAgICAgICBnX2Fzc2VydF9jbXBzdHIoc291cF9tZXNzYWdlX2hlYWRlcnNfZ2V0
X2xpc3QoaGVhZGVycywgIngtdGVzdDIiKSwgPT0sICIxLCAyLCAzLCA0Iik7CisgICAgICAgIH0K
KwogICAgICAgICBjb25zdCBVUklTY2hlbWVIYW5kbGVyJiBoYW5kbGVyID0gdGVzdC0+bV9oYW5k
bGVyc01hcC5nZXQoU3RyaW5nOjpmcm9tVVRGOChzY2hlbWUpKTsKIAogICAgICAgICBHUmVmUHRy
PEdJbnB1dFN0cmVhbT4gaW5wdXRTdHJlYW0gPSBhZG9wdEdSZWYoZ19tZW1vcnlfaW5wdXRfc3Ry
ZWFtX25ldygpKTsKQEAgLTE2Niw2ICsxNzMsMTEgQEAgcHVibGljOgogICAgICAgICBhdXRvIHJl
c3BvbnNlID0gYWRvcHRHUmVmKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX25ldyhpbnB1dFN0
cmVhbS5nZXQoKSwgaGFuZGxlci5yZXBseUxlbmd0aCkpOwogICAgICAgICB3ZWJraXRfdXJpX3Nj
aGVtZV9yZXNwb25zZV9zZXRfc3RhdHVzKHJlc3BvbnNlLmdldCgpLCBoYW5kbGVyLnN0YXR1c0Nv
ZGUsIG51bGxwdHIpOwogICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfY29u
dGVudF90eXBlKHJlc3BvbnNlLmdldCgpLCBoYW5kbGVyLm1pbWVUeXBlLmRhdGEoKSk7CisgICAg
ICAgIGlmICghZ19zdHJjbXAwKHNjaGVtZSwgImhlYWRlcnNyZXNwIikpIHsKKyAgICAgICAgICAg
IGF1dG8qIGhlYWRlcnMgPSBzb3VwX21lc3NhZ2VfaGVhZGVyc19uZXcoU09VUF9NRVNTQUdFX0hF
QURFUlNfUkVTUE9OU0UpOworICAgICAgICAgICAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBwZW5k
KGhlYWRlcnMsICJ4LXRlc3QiLCAidGVzdF92YWx1ZSIpOworICAgICAgICAgICAgd2Via2l0X3Vy
aV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVycyhyZXNwb25zZS5nZXQoKSwgaGVhZGVy
cyk7CisgICAgICAgIH0KICAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hf
d2l0aF9yZXNwb25zZShyZXF1ZXN0LCByZXNwb25zZS5nZXQoKSk7CiAgICAgfQogCkBAIC0zMzQs
NiArMzQ2LDI1IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJDb250ZXh0VVJJU2NoZW1lKFVSSVNjaGVt
ZVRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+bV9s
b2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OlByb3Zpc2lvbmFsTG9hZEZhaWxl
ZCkpOwogICAgIGdfYXNzZXJ0X2ZhbHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhMb2Fk
VHJhY2tpbmdUZXN0OjpMb2FkRmFpbGVkKSk7CiAKKyAgICBzdGF0aWMgY29uc3QgY2hhciogaGVh
ZGVyc0hUTUwgPSAiPGh0bWw+PGJvZHk+PHNjcmlwdD5sZXQgaGRycyA9IG5ldyBIZWFkZXJzKHsn
WC1UZXN0JzogJ0EnLCAnWC1UZXN0Mic6ICcxLCAyLCAzJ30pO2hkcnMuYXBwZW5kKCdYLVRlc3Qy
JywgJzQnKTtmZXRjaCgnaGVhZGVyczpkYXRhJywge2hlYWRlcnM6IGhkcnN9KTwvc2NyaXB0Pjwv
Ym9keT48L2h0bWw+IjsKKyAgICB0ZXN0LT5yZWdpc3RlclVSSVNjaGVtZUhhbmRsZXIoImhlYWRl
cnMiLCBudWxscHRyLCAwLCAiYXBwbGljYXRpb24vanNvbiIsIDIwNCk7CisgICAgdGVzdC0+bV9s
b2FkRXZlbnRzLmNsZWFyKCk7CisgICAgdGVzdC0+bG9hZEh0bWwoaGVhZGVyc0hUTUwsICJoZWFk
ZXJzOmZvcm0iKTsKKyAgICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNoZWQoKTsKKyAgICBnX2Fz
c2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNraW5nVGVzdDo6
UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CisgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+bV9sb2Fk
RXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQpKTsKKworICAgIHN0
YXRpYyBjb25zdCBjaGFyKiByZXNwSFRNTCA9ICI8aHRtbD48aGVhZD48c2NyaXB0PmZldGNoKCdo
ZWFkZXJzcmVzcDpkYXRhJykudGhlbigoZCk9PntpZihkLmhlYWRlcnMuZ2V0KCdYLVRlc3QnKSAh
PT0gJ3Rlc3RfdmFsdWUnKSB3aW5kb3cuaGFzRXJyb3I9MX0pLmNhdGNoKChlKT0+IHdpbmRvdy5o
YXNFcnJvcj0xKTwvc2NyaXB0PjwvaGVhZD48L2h0bWw+IjsKKyAgICB0ZXN0LT5yZWdpc3RlclVS
SVNjaGVtZUhhbmRsZXIoImhlYWRlcnNyZXNwIiwgbnVsbHB0ciwgMCwgImFwcGxpY2F0aW9uL2pz
b24iLCAyMDQpOworICAgIHRlc3QtPm1fbG9hZEV2ZW50cy5jbGVhcigpOworICAgIHRlc3QtPmxv
YWRIdG1sKHJlc3BIVE1MLCAiaGVhZGVyc3Jlc3A6Zm9ybSIpOworICAgIHRlc3QtPndhaXRVbnRp
bExvYWRGaW5pc2hlZCgpOworICAgIEdVbmlxdWVPdXRQdHI8R0Vycm9yPiByZXNwRXJyb3I7Cisg
ICAgdGVzdC0+cnVuSmF2YVNjcmlwdEFuZFdhaXRVbnRpbEZpbmlzaGVkKCJpZih3aW5kb3cuaGFz
RXJyb3IpIHRocm93ICdIZWFkZXJzIGFyZSBtaXNzaW5nIG9yIGludmFsaWQnIiwgJnJlc3BFcnJv
ci5vdXRQdHIoKSk7CisgICAgZ19hc3NlcnRfbm9fZXJyb3IocmVzcEVycm9yLmdldCgpKTsKKyAg
ICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNraW5n
VGVzdDo6UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CisgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+
bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQpKTsKKwog
ICAgIC8vIFRvcnR1cmUgdGVzdCB0aW1lOiBtYWtlIHN1cmUgaXQgc3RpbGwgd29ya3MgaWYgd2Ug
aXNzdWUgYSBidW5jaCBvZiBkaWZmZXJlbnQgcmVxdWVzdHMgYWxsIGF0CiAgICAgLy8gb25jZS4g
RWFjaCByZXF1ZXN0IHNob3VsZCBmaW5pc2ggYW5kIHJldHVybiBleGFjdGx5IHRoZSBzYW1lIGRh
dGEuCiAgICAgaW50IG51bUl0ZXJhdGlvbnMgPSAyNTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444360</attachid>
            <date>2021-11-16 02:13:10 -0800</date>
            <delta_ts>2021-11-16 02:46:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203273-20211116031310.patch</filename>
            <type>text/plain</type>
            <size>21867</size>
            <attacher>liushuyu011</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczMTkxMDc1NGQ2MTc0Zjk2
N2EzY2M2MDU0NGMwMDgxYzUzOGM0YTIuLjAyOTczYjcxNWI1ZTRlNDM1YjIyODFkNjA1YjhmMzQ1
MDUyMzM5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMTAgIFppeGluZyBM
aXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0
IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyk6IEFkZGVkIG5ldyBB
UEkgZnVuY3Rpb24KKyAgICAgICAgKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2sp
OiBJbmNsdWRlIHVzZXItc3BlY2lmaWVkIGhlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwOgorICAgICAgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRIZWFkZXJzKTogQWRkZWQgYSBuZXcgcHJpdmF0ZSBnZXR0ZXIKKyAgICAg
ICAgKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMpOiBBZGRlZCBu
ZXcgQVBJIGZ1bmN0aW9uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuaDogQWRkZWQgZnVuY3Rpb24gcHJvdG90eXBlIGZvciAKKyAgICAg
ICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaDogQWRkZWQgZnVuY3Rp
b24gcHJvdG90eXBlIGZvciAKKyAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9zZXRf
aHR0cF9oZWFkZXJzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQ6IEFkZGVkIG5ldyBzeW1ib2xzCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oOiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5
cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRl
cnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
OiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X3NldF9odHRwX2hlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0OiBBZGRlZCBuZXcgc3ltYm9scworCiAyMDIxLTExLTEw
ICBKIFBhc2NvZSAgPGpfcGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIFVu
aWZ5IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgU1BJIGFuZCBBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IncyBDbGllbnREYXRhSnNvbiBnZW5lcmF0aW9uIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcApp
bmRleCAzNDVkNDQ2ZjFkMzhlMzZkODg1YWRkZDI5NjVmYzdhNzZmZjM3ZGI4Li5kMzc0MjUzZDc3
ZDdhYmYzYzMzYmYxNDI2NmViNzZlNjhiZTdjNGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcApA
QCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIldlYktpdFdlYkNvbnRleHRQcml2YXRlLmgiCiAj
aW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvR1VuaXF1ZVB0clNvdXAuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBQ
YXJzZXJzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CkBAIC03MCw2ICs3MSw3IEBAIHN0cnVjdCBfV2Vi
S2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUgewogICAgIGNoYXIgcmVhZEJ1ZmZlcltnUmVhZEJ1
ZmZlclNpemVdOwogICAgIHVpbnQ2NF90IGJ5dGVzUmVhZDsKICAgICBjb25zdCBjaGFyKiBodHRw
TWV0aG9kOworICAgIEdVbmlxdWVQdHI8U291cE1lc3NhZ2VIZWFkZXJzPiBoZWFkZXJzOwogfTsK
IAogV0VCS0lUX0RFRklORV9UWVBFKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QsIHdlYmtpdF91cmlf
c2NoZW1lX3JlcXVlc3QsIEdfVFlQRV9PQkpFQ1QpCkBAIC0xODEsNiArMTgzLDI4IEBAIGNvbnN0
IGdjaGFyKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZChXZWJLaXRV
UklTY2hlbWVSZXF1ZXN0KiByCiAgICAgcmV0dXJuIHJlcXVlc3QtPnByaXYtPmh0dHBNZXRob2Q7
CiB9CiAKKy8qCisgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnM6
CisgKiBAcmVxdWVzdDogYSAjV2ViS2l0VVJJU2NoZW1lUmVxdWVzdAorICoKKyAqIEdldCB0aGUg
I1NvdXBNZXNzYWdlSGVhZGVycyBvZiB0aGUgcmVxdWVzdC4KKyAqCisgKiBSZXR1cm5zOiAodHJh
bnNmZXIgbm9uZSk6IHRoZSAjU291cE1lc3NhZ2VIZWFkZXJzIG9mIHRoZSBAcmVxdWVzdC4KKyAq
CisgKiBTaW5jZTogMi4zNgorICovCitTb3VwTWVzc2FnZUhlYWRlcnMqIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByZXF1
ZXN0KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19VUklfU0NIRU1FX1JF
UVVFU1QocmVxdWVzdCksIG51bGxwdHIpOworCisgICAgaWYgKCFyZXF1ZXN0LT5wcml2LT5oZWFk
ZXJzKSB7CisgICAgICAgIHJlcXVlc3QtPnByaXYtPmhlYWRlcnMucmVzZXQoc291cF9tZXNzYWdl
X2hlYWRlcnNfbmV3KFNPVVBfTUVTU0FHRV9IRUFERVJTX1JFUVVFU1QpKTsKKyAgICAgICAgcmVx
dWVzdC0+cHJpdi0+dGFzay0+cmVxdWVzdCgpLnVwZGF0ZVNvdXBNZXNzYWdlSGVhZGVycyhyZXF1
ZXN0LT5wcml2LT5oZWFkZXJzLmdldCgpKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVxdWVzdC0+
cHJpdi0+aGVhZGVycy5nZXQoKTsKK30KKwogc3RhdGljIHZvaWQgd2Via2l0VVJJU2NoZW1lUmVx
dWVzdFJlYWRDYWxsYmFjayhHSW5wdXRTdHJlYW0qIGlucHV0U3RyZWFtLCBHQXN5bmNSZXN1bHQq
IHJlc3VsdCwgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogc2NoZW1lUmVxdWVzdCkKIHsKICAgICBH
UmVmUHRyPFdlYktpdFVSSVNjaGVtZVJlcXVlc3Q+IHJlcXVlc3QgPSBhZG9wdEdSZWYoc2NoZW1l
UmVxdWVzdCk7CkBAIC0xOTksMTkgKzIyMywyMSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRVUklTY2hl
bWVSZXF1ZXN0UmVhZENhbGxiYWNrKEdJbnB1dFN0cmVhbSogaW5wdXRTdHJlYW0sIEdBc3luYwog
CiAgICAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3AgPSBwcml2LT5yZXNwb25zZS5nZXQo
KTsKICAgICBpZiAoIXByaXYtPmJ5dGVzUmVhZCkgewotICAgICAgICBDU3RyaW5nIGNvbnRlbnRU
eXBlID0gV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShyZXNwKTsKLSAgICAg
ICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShwcml2LT50YXNrLT5yZXF1ZXN0KCkudXJsKCks
IGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5cGUoY29udGVudFR5cGUuZGF0YSgpKSwgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgocmVzcCksIGVtcHR5U3RyaW5nKCkpOwor
ICAgICAgICBDU3RyaW5nIGNvbnRlbnRUeXBlID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRD
b250ZW50VHlwZShyZXNwKTsKKyAgICAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShwcml2
LT50YXNrLT5yZXF1ZXN0KCkudXJsKCksIGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5cGUoY29u
dGVudFR5cGUuZGF0YSgpKSwgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgo
cmVzcCksIGVtcHR5U3RyaW5nKCkpOwogICAgICAgICByZXNwb25zZS5zZXRUZXh0RW5jb2RpbmdO
YW1lKGV4dHJhY3RDaGFyc2V0RnJvbU1lZGlhVHlwZShjb250ZW50VHlwZS5kYXRhKCkpKTsKLSAg
ICAgICAgY29uc3QgQ1N0cmluZyYgc3RhdHVzTWVzc2FnZSA9IFdlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlR2V0U3RhdHVzTWVzc2FnZShyZXNwKTsKKyAgICAgICAgY29uc3QgQ1N0cmluZyYgc3RhdHVz
TWVzc2FnZSA9IHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2FnZShyZXNwKTsK
ICAgICAgICAgaWYgKHN0YXR1c01lc3NhZ2UuaXNOdWxsKCkpIHsKICAgICAgICAgICAgIHJlc3Bv
bnNlLnNldEhUVFBTdGF0dXNDb2RlKDIwMCk7CiAgICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQ
U3RhdHVzVGV4dCgiT0siX3MpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcmVzcG9u
c2Uuc2V0SFRUUFN0YXR1c0NvZGUoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2Rl
KHJlc3ApKTsKKyAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNDb2RlKHdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShyZXNwKSk7CiAgICAgICAgICAgICByZXNwb25z
ZS5zZXRIVFRQU3RhdHVzVGV4dChzdGF0dXNNZXNzYWdlLmRhdGEoKSk7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKHJlc3BvbnNlLm1pbWVUeXBlKCkuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVz
cG9uc2Uuc2V0TWltZVR5cGUoTUlNRVR5cGVSZWdpc3RyeTo6bWltZVR5cGVGb3JQYXRoKHJlc3Bv
bnNlLnVybCgpLnBhdGgoKS50b1N0cmluZygpKSk7CisgICAgICAgIGlmIChhdXRvKiBoZWFkZXJz
ID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJzKHJlc3ApKQorICAgICAgICAgICAg
cmVzcG9uc2UudXBkYXRlRnJvbVNvdXBNZXNzYWdlSGVhZGVycyhoZWFkZXJzKTsKICAgICAgICAg
cHJpdi0+dGFzay0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICB9CiAKQEAgLTI2
Niw3ICsyOTIsNyBAQCB2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoX3dpdGhf
cmVzcG9uc2UoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogcmVxdQogICAgIHJlcXVlc3QtPnByaXYt
PmNhbmNlbGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOwogICAgIHJlcXVl
c3QtPnByaXYtPnJlc3BvbnNlID0gcmVzcG9uc2U7CiAKLSAgICBnX2lucHV0X3N0cmVhbV9yZWFk
X2FzeW5jKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtKHJlc3BvbnNlKSwgcmVxdWVz
dC0+cHJpdi0+cmVhZEJ1ZmZlciwgZ1JlYWRCdWZmZXJTaXplLCBSdW5Mb29wU291cmNlUHJpb3Jp
dHk6OkFzeW5jSU9OZXR3b3JrLCByZXF1ZXN0LT5wcml2LT5jYW5jZWxsYWJsZS5nZXQoKSwKKyAg
ICBnX2lucHV0X3N0cmVhbV9yZWFkX2FzeW5jKHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3Ry
ZWFtKHJlc3BvbnNlKSwgcmVxdWVzdC0+cHJpdi0+cmVhZEJ1ZmZlciwgZ1JlYWRCdWZmZXJTaXpl
LCBSdW5Mb29wU291cmNlUHJpb3JpdHk6OkFzeW5jSU9OZXR3b3JrLCByZXF1ZXN0LT5wcml2LT5j
YW5jZWxsYWJsZS5nZXQoKSwKICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxHQXN5bmNSZWFkeUNh
bGxiYWNrPih3ZWJraXRVUklTY2hlbWVSZXF1ZXN0UmVhZENhbGxiYWNrKSwgZ19vYmplY3RfcmVm
KHJlcXVlc3QpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwCmluZGV4IDQzNDhlNGNjYjhi
NGQ0NmZlYzU1NzkxZTIyMjk5MzZhOTg3ZDAyZGEuLjIyNTk2MjI5YTdiOTBlMmIwN2FlNDljYWFl
NWRlYTJhOWIzZTA3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5jcHAKQEAgLTIxLDYgKzIxLDcg
QEAKICNpbmNsdWRlICJXZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUuaCIKIAogI2luY2x1
ZGUgIldlYktpdFByaXZhdGUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0dVbmlxdWVQdHJTb3VwLmg+
CiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4KQEAgLTYyLDYgKzYzLDcgQEAgc3Ry
dWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUgewogICAgIGludCBzdGF0dXNDb2Rl
IHsgLTEgfTsKICAgICBDU3RyaW5nIHN0YXR1c01lc3NhZ2U7CiAgICAgQ1N0cmluZyBjb250ZW50
VHlwZTsKKyAgICBHVW5pcXVlUHRyPFNvdXBNZXNzYWdlSGVhZGVycz4gaGVhZGVyczsKIH07CiAK
IFdFQktJVF9ERUZJTkVfVFlQRShXZWJLaXRVUklTY2hlbWVSZXNwb25zZSwgd2Via2l0X3VyaV9z
Y2hlbWVfcmVzcG9uc2UsIEdfVFlQRV9PQkpFQ1QpCkBAIC0xMjQsMzEgKzEyNiwzNiBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9jbGFzc19pbml0KFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlQ2xhc3MqCiB9CiAKIC8vIFByaXZhdGUgZ2V0dGVycwotaW50IFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZSogcmVzcG9uc2UpCitpbnQgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKGNv
bnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVz
cG9uc2UtPnByaXYtPnN0YXR1c0NvZGU7CiB9CiAKLUdJbnB1dFN0cmVhbSogV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3Bv
bnNlKQorR0lucHV0U3RyZWFtKiB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbShjb25z
dCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3Bv
bnNlLT5wcml2LT5zdHJlYW0uZ2V0KCk7CiB9CiAKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2FnZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZSogcmVzcG9uc2UpCitjb25zdCBDU3RyaW5nJiB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0
YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQogewog
ICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+c3RhdHVzTWVzc2FnZTsKIH0KIAotY29uc3QgQ1N0
cmluZyYgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJLaXRV
UklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCitjb25zdCBDU3RyaW5nJiB3ZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldENvbnRlbnRUeXBlKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiBy
ZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYtPmNvbnRlbnRUeXBlOwogfQog
Ci11aW50NjRfdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChjb25zdCBX
ZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCit1aW50NjRfdCB3ZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSog
cmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5zdHJlYW1MZW5ndGg7CiB9
CiAKK1NvdXBNZXNzYWdlSGVhZGVycyogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJz
KFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKK3sKKyAgICByZXR1cm4gcmVzcG9u
c2UtPnByaXYtPmhlYWRlcnMuZ2V0KCk7Cit9CisKIC8qKgogICogd2Via2l0X3VyaV9zY2hlbWVf
cmVzcG9uc2VfbmV3OgogICogQGlucHV0X3N0cmVhbTogYSAjR0lucHV0U3RyZWFtIHRvIHJlYWQg
dGhlIGNvbnRlbnRzIG9mIHRoZSByZXF1ZXN0CkBAIC0xODQsNiArMTkxLDI1IEBAIHZvaWQgd2Vi
a2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZShXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZSogcmVzcG9uCiAgICAgcmVzcG9uc2UtPnByaXYtPmNvbnRlbnRUeXBlID0gY29udGVu
dFR5cGU7CiB9CiAKKy8qCisgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9o
ZWFkZXJzOgorICogQHJlc3BvbnNlOiBhICNXZWJLaXRVUklTY2hlbWVSZXNwb25zZQorICogQGhl
YWRlcnM6ICh0cmFuc2ZlciBmdWxsKTogdGhlIEhUVFAgaGVhZGVycyB0byBiZSBzZXQKKyAqCisg
KiBBc3NpZ24gdGhlIHByb3ZpZGVkICNTb3VwTWVzc2FnZUhlYWRlcnMgdG8gdGhlIHJlc3BvbnNl
LgorICogQGhlYWRlcnMgbmVlZCB0byBiZSBvZiB0aGUgdHlwZSAlU09VUF9NRVNTQUdFX0hFQURF
UlNfUkVTUE9OU0UuCisgKiBBbnkgZXhpc3RpbmcgaGVhZGVycyB3aWxsIGJlIG92ZXJ3cml0dGVu
LgorICoKKyAqIFNpbmNlOiAyLjM2CisgKi8KK3ZvaWQgd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9u
c2Vfc2V0X2h0dHBfaGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UsIFNv
dXBNZXNzYWdlSGVhZGVycyogaGVhZGVycykKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJ
VF9JU19VUklfU0NIRU1FX1JFU1BPTlNFKHJlc3BvbnNlKSk7CisgICAgZ19yZXR1cm5faWZfZmFp
bChzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfaGVhZGVyc190eXBlKGhlYWRlcnMpID09IFNPVVBf
TUVTU0FHRV9IRUFERVJTX1JFU1BPTlNFKTsKKworICAgIHJlc3BvbnNlLT5wcml2LT5oZWFkZXJz
LnJlc2V0KGhlYWRlcnMpOworfQorCiAvKioKICAqIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNl
X3NldF9zdGF0dXM6CiAgKiBAcmVzcG9uc2U6IGEgI1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hl
bWVSZXNwb25zZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCmluZGV4IDdiMGQ2ZjBhNzZkMzNlODQzMmUx
MDhiN2RiMTM5OGVlM2VkYmJkNzMuLmE1NjRjYTZhNTlmYzkwZmVkMTk2NmQ3NTM5YjkzYTg1YWFi
NjQzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCkBAIC0yMiw4ICsyMiw5
IEBACiAjaW5jbHVkZSAiV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAKLWludCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c0Nv
ZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKLUdJbnB1dFN0cmVhbSogV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uq
KTsKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2Fn
ZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwotY29uc3QgQ1N0cmluZyYgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNw
b25zZSopOwotdWludDY0X3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgo
Y29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK2ludCB3ZWJLaXRVUklTY2hlbWVSZXNw
b25zZUdldFN0YXR1c0NvZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK0dJbnB1
dFN0cmVhbSogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJ
U2NoZW1lUmVzcG9uc2UqKTsKK2NvbnN0IENTdHJpbmcmIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
R2V0U3RhdHVzTWVzc2FnZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOworY29uc3Qg
Q1N0cmluZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJL
aXRVUklTY2hlbWVSZXNwb25zZSopOwordWludDY0X3Qgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VH
ZXRTdHJlYW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK1NvdXBNZXNz
YWdlSGVhZGVycyogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJzKFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IDJiODhhYTZhODk3ODQ3YmExNGY2
ZTg5MjI0NjMwNzY4NWYzZGU5OWYuLjcwNTMyN2RiYjIzYmNkYWVjNDA3ZTAzNDIwODI4MWM3Zjc1
MjcwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCkBAIC0yNSw2ICsyNSw3IEBACiAjZGVmaW5lIFdlYktp
dFVSSVNjaGVtZVJlcXVlc3RfaAogCiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRl
IDxsaWJzb3VwL3NvdXAuaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdERlZmluZXMuaD4KICNp
bmNsdWRlIDx3ZWJraXQyL1dlYktpdEZvcndhcmREZWNsYXJhdGlvbnMuaD4KICNpbmNsdWRlIDx3
ZWJraXQyL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmg+CkBAIC03NSw2ICs3Niw5IEBAIHdlYmtp
dF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3IChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0
ICpyZXF1ZXN0KTsKIFdFQktJVF9BUEkgY29uc3QgZ2NoYXIgKgogd2Via2l0X3VyaV9zY2hlbWVf
cmVxdWVzdF9nZXRfaHR0cF9tZXRob2QgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3Qp
OwogCitXRUJLSVRfQVBJIFNvdXBNZXNzYWdlSGVhZGVycyAqCit3ZWJraXRfdXJpX3NjaGVtZV9y
ZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3Qp
OworCiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoICAg
ICAgIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdJbnB1dFN0cmVhbSAgICAgICAgICAgKnN0cmVhbSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2UuaAppbmRleCBkYzcwY2U2NzNlYTI0NGRlMDcwMGYwZjYwNDFlZTZlYWI2MGE3
N2RlLi44ZjBkNTU4YzE2ZWUxODU4ZjNiOTdhYWUwYWFiNDg4ZDkwMTAyMTM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVS
ZXNwb25zZS5oCkBAIC00MCw2ICs0MCw3IEBAIEdfQkVHSU5fREVDTFMKIHR5cGVkZWYgc3RydWN0
IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZSAgICAgICAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2U7
CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VDbGFzcyAgIFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlQ2xhc3M7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2VQcml2YXRlIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZTsKK3R5cGVkZWYgc3Ry
dWN0IF9Tb3VwTWVzc2FnZUhlYWRlcnMgICAgICAgICAgICAgU291cE1lc3NhZ2VIZWFkZXJzOwog
CiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlIHsKICAgICBHT2JqZWN0IHBhcmVudDsK
QEAgLTcyLDYgKzczLDEwIEBAIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3VyaV9zY2hlbWVfcmVz
cG9uc2Vfc2V0X2NvbnRlbnRfdHlwZSAgIChXZWJLaXRVUklTY2hlbWVSZXNwb25zZSAqcmVzcG9u
c2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGdjaGFyICAgICAgICAgICAgICpjb250ZW50X3R5cGUpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dl
YmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2UgKnJlc3BvbnNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTb3VwTWVzc2FnZUhlYWRlcnMgICAgICAqaGVhZGVycyk7CisKIEdfRU5E
X0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQKaW5kZXggNzdj
NDU0YTVhNDIxOTMxMzBmYzkyMTI3MzQ2OTAxYmI2ZGYzNjhjOS4uYzk4YzliYTdmMGIwZGQ2YmJm
ZmU5ZmM0NWI0NDg1ZjlhN2M4OTE4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0
CkBAIC0xMjc4LDYgKzEyNzgsNyBAQCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF91cmkK
IHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3BhdGgKIHdlYmtpdF91cmlfc2NoZW1lX3Jl
cXVlc3RfZ2V0X3dlYl92aWV3CiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21l
dGhvZAord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCiB3ZWJraXRf
dXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5p
c2hfd2l0aF9yZXNwb25zZQogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfZXJyb3IK
QEAgLTEzMDIsNiArMTMwMyw3IEBAIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlCiB3ZWJraXRfdXJp
X3NjaGVtZV9yZXNwb25zZV9uZXcKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250
ZW50X3R5cGUKIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9zdGF0dXMKK3dlYmtpdF91
cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMKIAogPFNVQlNFQ1RJT04gU3RhbmRh
cmQ+CiBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IGU4
OGNhNzllNTc1ZTQ5YmY2NzYxNzFjM2M5ZGM0Yzc0M2NkNWIwODAuLjc1MDUyZDc3NWIwMTliMTYx
ZjdkOGE4ODg5OTIxMzc3YjVhM2ViOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCkBAIC0yNSw2ICsyNSw3
IEBACiAjZGVmaW5lIFdlYktpdFVSSVNjaGVtZVJlcXVlc3RfaAogCiAjaW5jbHVkZSA8Z2xpYi1v
YmplY3QuaD4KKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KICNpbmNsdWRlIDx3cGUvV2ViS2l0
RGVmaW5lcy5oPgogI2luY2x1ZGUgPHdwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oPgogCkBA
IC03Niw2ICs3Nyw5IEBAIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3IChX
ZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0KTsKIFdFQktJVF9BUEkgY29uc3QgZ2NoYXIg
Kgogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9tZXRob2QgKFdlYktpdFVSSVNj
aGVtZVJlcXVlc3QgKnJlcXVlc3QpOwogCitXRUJLSVRfQVBJIFNvdXBNZXNzYWdlSGVhZGVycyAq
Cit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMgKFdlYktpdFVSSVNj
aGVtZVJlcXVlc3QgKnJlcXVlc3QpOworCiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZmluaXNoICAgICAgIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdJbnB1dFN0cmVhbSAg
ICAgICAgICAgKnN0cmVhbSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaAppbmRleCAzMjIwYjFmNDY4ODY3MTYz
OWY3NmFmODFjNzI3NWZmZTc5MWNjNWYzLi5hNzgwZWQ0YTIyNDBjZWI0OTExNmMyZTRlZDc4M2Fm
OTkyNjJmZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dl
YktpdFVSSVNjaGVtZVJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oCkBAIC0zOSw2ICszOSw3IEBAIEdfQkVHSU5f
REVDTFMKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZSAgICAgICAgV2Vi
S2l0VVJJU2NoZW1lUmVzcG9uc2U7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2VDbGFzcyAgIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlQ2xhc3M7CiB0eXBlZGVmIHN0cnVj
dCBfV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VQcml2YXRlIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
UHJpdmF0ZTsKK3R5cGVkZWYgc3RydWN0IF9Tb3VwTWVzc2FnZUhlYWRlcnMgICAgICAgICAgICAg
U291cE1lc3NhZ2VIZWFkZXJzOwogCiBzdHJ1Y3QgX1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlIHsK
ICAgICBHT2JqZWN0IHBhcmVudDsKQEAgLTcxLDYgKzcyLDEwIEBAIFdFQktJVF9BUEkgdm9pZAog
d2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZSAgIChXZWJLaXRVUklT
Y2hlbWVSZXNwb25zZSAqcmVzcG9uc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAgICpjb250ZW50X3R5cGUpOwog
CitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hl
YWRlcnMgICAoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgKnJlc3BvbnNlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VwTWVzc2FnZUhlYWRlcnMgICAg
ICAqaGVhZGVycyk7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0IGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0Cmlu
ZGV4IDBhOWNmMjRjNzM4ZDJjYzA1NzVmMDBkNzNkZGNlN2MwYjQ2YmJkYTcuLmMwZTEzNTlhYmZm
N2QwZjZiZjA4ODUzYmFiYTgzMWU2NDMxMmU0OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKQEAgLTEy
MTUsNiArMTIxNSw3IEBAIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3VyaQogd2Via2l0
X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfcGF0aAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9n
ZXRfd2ViX3ZpZXcKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9kCit3
ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMKIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZmluaXNoCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaF93aXRo
X3Jlc3BvbnNlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaF9lcnJvcgpAQCAtMTIz
OSw2ICsxMjQwLDcgQEAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UKIHdlYmtpdF91cmlfc2NoZW1l
X3Jlc3BvbnNlX25ldwogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlw
ZQogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X3N0YXR1cword2Via2l0X3VyaV9zY2hl
bWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVycwogCiA8U1VCU0VDVElPTiBTdGFuZGFyZD4KIFdl
YktpdFVSSVNjaGVtZVJlc3BvbnNlQ2xhc3MKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzZGQzMDNkOTgxMWIxMjRiYzk0ZTc3NzEwYjA5ZTNhMTNj
MGI5MDQ2Li43ZWJhMWYzMTBjZTcyMjllZjI1NTRjMmVlOWU3NGNiNmQzOWE1NDg3IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMjEtMTEtMTAgIFppeGluZyBMaXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAg
ICAgICAgW0dUS11bV1BFXSBTdXBwb3J0IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJz
IGluIGN1c3RvbSBVUkkgc2NoZW1lIGhhbmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9U
ZXN0V2ViS2l0V2ViQ29udGV4dC5jcHA6CisgICAgICAgICh0ZXN0V2ViQ29udGV4dFVSSVNjaGVt
ZSk6IEFkZGVkIGEgbmV3IHRlc3QgdG8gdGVzdCBnZXR0aW5nIGFuZCBzZXR0aW5nIEhUVFAgaGVh
ZGVycyBpbiBjdXN0b20gVVJJIHNjaGVtZSBoYW5kbGVycworCiAyMDIxLTExLTEwICBKIFBhc2Nv
ZSAgPGpfcGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIFVuaWZ5IF9XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWwgU1BJIGFuZCBBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IncyBD
bGllbnREYXRhSnNvbiBnZW5lcmF0aW9uIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAKaW5kZXgg
OTA4YTQ5M2YxNGYwNjkwNTVjNTI2MTg3NmM0NjMyNmJlMjVhNTgxNC4uYTQzYzkzZWE5ODRjM2E2
ZmI1ZmI0MDlhMjA3YmM3Zjg2NTczY2Q3ZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwCkBA
IC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiTG9hZFRyYWNraW5nVGVzdC5oIgogI2luY2x1ZGUg
IldlYktpdFRlc3RTZXJ2ZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NvdXBWZXJzaW9uaW5nLmg+
CisjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVk
ZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KQEAgLTEyOSw2ICsxMzAsMTIg
QEAgcHVibGljOgogICAgICAgICBlbHNlCiAgICAgICAgICAgICBnX2Fzc2VydF9jbXBzdHIobWV0
aG9kLCA9PSwgIkdFVCIpOwogCisgICAgICAgIGlmICghZ19zdHJjbXAwKHNjaGVtZSwgImhlYWRl
cnMiKSkgeworICAgICAgICAgICAgYXV0byogaGVhZGVycyA9IHdlYmtpdF91cmlfc2NoZW1lX3Jl
cXVlc3RfZ2V0X2h0dHBfaGVhZGVycyhyZXF1ZXN0KTsKKyAgICAgICAgICAgIGdfYXNzZXJ0X2Nt
cHN0cihzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfb25lKGhlYWRlcnMsICJ4LXRlc3QiKSwgPT0s
ICJBIik7CisgICAgICAgICAgICBnX2Fzc2VydF9jbXBzdHIoc291cF9tZXNzYWdlX2hlYWRlcnNf
Z2V0X2xpc3QoaGVhZGVycywgIngtdGVzdDIiKSwgPT0sICIxLCAyLCAzLCA0Iik7CisgICAgICAg
IH0KKwogICAgICAgICBjb25zdCBVUklTY2hlbWVIYW5kbGVyJiBoYW5kbGVyID0gdGVzdC0+bV9o
YW5kbGVyc01hcC5nZXQoU3RyaW5nOjpmcm9tVVRGOChzY2hlbWUpKTsKIAogICAgICAgICBHUmVm
UHRyPEdJbnB1dFN0cmVhbT4gaW5wdXRTdHJlYW0gPSBhZG9wdEdSZWYoZ19tZW1vcnlfaW5wdXRf
c3RyZWFtX25ldygpKTsKQEAgLTE2Niw2ICsxNzMsMTEgQEAgcHVibGljOgogICAgICAgICBhdXRv
IHJlc3BvbnNlID0gYWRvcHRHUmVmKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX25ldyhpbnB1
dFN0cmVhbS5nZXQoKSwgaGFuZGxlci5yZXBseUxlbmd0aCkpOwogICAgICAgICB3ZWJraXRfdXJp
X3NjaGVtZV9yZXNwb25zZV9zZXRfc3RhdHVzKHJlc3BvbnNlLmdldCgpLCBoYW5kbGVyLnN0YXR1
c0NvZGUsIG51bGxwdHIpOwogICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRf
Y29udGVudF90eXBlKHJlc3BvbnNlLmdldCgpLCBoYW5kbGVyLm1pbWVUeXBlLmRhdGEoKSk7Cisg
ICAgICAgIGlmICghZ19zdHJjbXAwKHNjaGVtZSwgImhlYWRlcnNyZXNwIikpIHsKKyAgICAgICAg
ICAgIGF1dG8qIGhlYWRlcnMgPSBzb3VwX21lc3NhZ2VfaGVhZGVyc19uZXcoU09VUF9NRVNTQUdF
X0hFQURFUlNfUkVTUE9OU0UpOworICAgICAgICAgICAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBw
ZW5kKGhlYWRlcnMsICJ4LXRlc3QiLCAidGVzdF92YWx1ZSIpOworICAgICAgICAgICAgd2Via2l0
X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVycyhyZXNwb25zZS5nZXQoKSwgaGVh
ZGVycyk7CisgICAgICAgIH0KICAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5p
c2hfd2l0aF9yZXNwb25zZShyZXF1ZXN0LCByZXNwb25zZS5nZXQoKSk7CiAgICAgfQogCkBAIC0z
MzQsNiArMzQ2LDI1IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJDb250ZXh0VVJJU2NoZW1lKFVSSVNj
aGVtZVRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+
bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OlByb3Zpc2lvbmFsTG9hZEZh
aWxlZCkpOwogICAgIGdfYXNzZXJ0X2ZhbHNlKHRlc3QtPm1fbG9hZEV2ZW50cy5jb250YWlucyhM
b2FkVHJhY2tpbmdUZXN0OjpMb2FkRmFpbGVkKSk7CiAKKyAgICBzdGF0aWMgY29uc3QgY2hhciog
aGVhZGVyc0hUTUwgPSAiPGh0bWw+PGJvZHk+PHNjcmlwdD5sZXQgaGRycyA9IG5ldyBIZWFkZXJz
KHsnWC1UZXN0JzogJ0EnLCAnWC1UZXN0Mic6ICcxLCAyLCAzJ30pO2hkcnMuYXBwZW5kKCdYLVRl
c3QyJywgJzQnKTtmZXRjaCgnaGVhZGVyczpkYXRhJywge2hlYWRlcnM6IGhkcnN9KTwvc2NyaXB0
PjwvYm9keT48L2h0bWw+IjsKKyAgICB0ZXN0LT5yZWdpc3RlclVSSVNjaGVtZUhhbmRsZXIoImhl
YWRlcnMiLCBudWxscHRyLCAwLCAiYXBwbGljYXRpb24vanNvbiIsIDIwNCk7CisgICAgdGVzdC0+
bV9sb2FkRXZlbnRzLmNsZWFyKCk7CisgICAgdGVzdC0+bG9hZEh0bWwoaGVhZGVyc0hUTUwsICJo
ZWFkZXJzOmZvcm0iKTsKKyAgICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNoZWQoKTsKKyAgICBn
X2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNraW5nVGVz
dDo6UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CisgICAgZ19hc3NlcnRfZmFsc2UodGVzdC0+bV9s
b2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQpKTsKKworICAg
IHN0YXRpYyBjb25zdCBjaGFyKiByZXNwSFRNTCA9ICI8aHRtbD48aGVhZD48c2NyaXB0PmZldGNo
KCdoZWFkZXJzcmVzcDpkYXRhJykudGhlbigoZCk9PntpZihkLmhlYWRlcnMuZ2V0KCdYLVRlc3Qn
KSAhPT0gJ3Rlc3RfdmFsdWUnKSB3aW5kb3cuaGFzRXJyb3I9MX0pLmNhdGNoKChlKT0+IHdpbmRv
dy5oYXNFcnJvcj0xKTwvc2NyaXB0PjwvaGVhZD48L2h0bWw+IjsKKyAgICB0ZXN0LT5yZWdpc3Rl
clVSSVNjaGVtZUhhbmRsZXIoImhlYWRlcnNyZXNwIiwgbnVsbHB0ciwgMCwgImFwcGxpY2F0aW9u
L2pzb24iLCAyMDQpOworICAgIHRlc3QtPm1fbG9hZEV2ZW50cy5jbGVhcigpOworICAgIHRlc3Qt
PmxvYWRIdG1sKHJlc3BIVE1MLCAiaGVhZGVyc3Jlc3A6Zm9ybSIpOworICAgIHRlc3QtPndhaXRV
bnRpbExvYWRGaW5pc2hlZCgpOworICAgIEdVbmlxdWVPdXRQdHI8R0Vycm9yPiByZXNwRXJyb3I7
CisgICAgdGVzdC0+cnVuSmF2YVNjcmlwdEFuZFdhaXRVbnRpbEZpbmlzaGVkKCJpZih3aW5kb3cu
aGFzRXJyb3IpIHRocm93ICdIZWFkZXJzIGFyZSBtaXNzaW5nIG9yIGludmFsaWQnIiwgJnJlc3BF
cnJvci5vdXRQdHIoKSk7CisgICAgZ19hc3NlcnRfbm9fZXJyb3IocmVzcEVycm9yLmdldCgpKTsK
KyAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNr
aW5nVGVzdDo6UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CisgICAgZ19hc3NlcnRfZmFsc2UodGVz
dC0+bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQpKTsK
KwogICAgIC8vIFRvcnR1cmUgdGVzdCB0aW1lOiBtYWtlIHN1cmUgaXQgc3RpbGwgd29ya3MgaWYg
d2UgaXNzdWUgYSBidW5jaCBvZiBkaWZmZXJlbnQgcmVxdWVzdHMgYWxsIGF0CiAgICAgLy8gb25j
ZS4gRWFjaCByZXF1ZXN0IHNob3VsZCBmaW5pc2ggYW5kIHJldHVybiBleGFjdGx5IHRoZSBzYW1l
IGRhdGEuCiAgICAgaW50IG51bUl0ZXJhdGlvbnMgPSAyNTsK
</data>
<flag name="commit-queue"
          id="469360"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444361</attachid>
            <date>2021-11-16 02:22:49 -0800</date>
            <delta_ts>2021-11-17 00:53:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203273-20211116032248.patch</filename>
            <type>text/plain</type>
            <size>21440</size>
            <attacher>liushuyu011</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczMTkxMDc1NGQ2MTc0Zjk2
N2EzY2M2MDU0NGMwMDgxYzUzOGM0YTIuLjAyOTczYjcxNWI1ZTRlNDM1YjIyODFkNjA1YjhmMzQ1
MDUyMzM5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMTAgIFppeGluZyBM
aXUgIDxsaXVzaHV5dTAxMUBnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0
IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyk6IEFkZGVkIG5ldyBB
UEkgZnVuY3Rpb24KKyAgICAgICAgKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RSZWFkQ2FsbGJhY2sp
OiBJbmNsdWRlIHVzZXItc3BlY2lmaWVkIGhlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwOgorICAgICAgICAoV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRIZWFkZXJzKTogQWRkZWQgYSBuZXcgcHJpdmF0ZSBnZXR0ZXIKKyAgICAg
ICAgKHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9odHRwX2hlYWRlcnMpOiBBZGRlZCBu
ZXcgQVBJIGZ1bmN0aW9uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNj
aGVtZVJlc3BvbnNlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuaDogQWRkZWQgZnVuY3Rpb24gcHJvdG90eXBlIGZvciAKKyAgICAg
ICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaDogQWRkZWQgZnVuY3Rp
b24gcHJvdG90eXBlIGZvciAKKyAgICAgICAgd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9zZXRf
aHR0cF9oZWFkZXJzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQ6IEFkZGVkIG5ldyBzeW1ib2xzCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oOiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5
cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRl
cnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5o
OiBBZGRlZCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIAorICAgICAgICB3ZWJraXRfdXJpX3NjaGVt
ZV9yZXF1ZXN0X3NldF9odHRwX2hlYWRlcnMKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0OiBBZGRlZCBuZXcgc3ltYm9scworCiAyMDIxLTExLTEw
ICBKIFBhc2NvZSAgPGpfcGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIFVu
aWZ5IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgU1BJIGFuZCBBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IncyBDbGllbnREYXRhSnNvbiBnZW5lcmF0aW9uIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcApp
bmRleCAzNDVkNDQ2ZjFkMzhlMzZkODg1YWRkZDI5NjVmYzdhNzZmZjM3ZGI4Li5kMzc0MjUzZDc3
ZDdhYmYzYzMzYmYxNDI2NmViNzZlNjhiZTdjNGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcApA
QCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIldlYktpdFdlYkNvbnRleHRQcml2YXRlLmgiCiAj
aW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvR1VuaXF1ZVB0clNvdXAuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBQ
YXJzZXJzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CkBAIC03MCw2ICs3MSw3IEBAIHN0cnVjdCBfV2Vi
S2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUgewogICAgIGNoYXIgcmVhZEJ1ZmZlcltnUmVhZEJ1
ZmZlclNpemVdOwogICAgIHVpbnQ2NF90IGJ5dGVzUmVhZDsKICAgICBjb25zdCBjaGFyKiBodHRw
TWV0aG9kOworICAgIEdVbmlxdWVQdHI8U291cE1lc3NhZ2VIZWFkZXJzPiBoZWFkZXJzOwogfTsK
IAogV0VCS0lUX0RFRklORV9UWVBFKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QsIHdlYmtpdF91cmlf
c2NoZW1lX3JlcXVlc3QsIEdfVFlQRV9PQkpFQ1QpCkBAIC0xODEsNiArMTgzLDI4IEBAIGNvbnN0
IGdjaGFyKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZChXZWJLaXRV
UklTY2hlbWVSZXF1ZXN0KiByCiAgICAgcmV0dXJuIHJlcXVlc3QtPnByaXYtPmh0dHBNZXRob2Q7
CiB9CiAKKy8qCisgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX2hlYWRlcnM6
CisgKiBAcmVxdWVzdDogYSAjV2ViS2l0VVJJU2NoZW1lUmVxdWVzdAorICoKKyAqIEdldCB0aGUg
I1NvdXBNZXNzYWdlSGVhZGVycyBvZiB0aGUgcmVxdWVzdC4KKyAqCisgKiBSZXR1cm5zOiAodHJh
bnNmZXIgbm9uZSk6IHRoZSAjU291cE1lc3NhZ2VIZWFkZXJzIG9mIHRoZSBAcmVxdWVzdC4KKyAq
CisgKiBTaW5jZTogMi4zNgorICovCitTb3VwTWVzc2FnZUhlYWRlcnMqIHdlYmtpdF91cmlfc2No
ZW1lX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByZXF1
ZXN0KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19VUklfU0NIRU1FX1JF
UVVFU1QocmVxdWVzdCksIG51bGxwdHIpOworCisgICAgaWYgKCFyZXF1ZXN0LT5wcml2LT5oZWFk
ZXJzKSB7CisgICAgICAgIHJlcXVlc3QtPnByaXYtPmhlYWRlcnMucmVzZXQoc291cF9tZXNzYWdl
X2hlYWRlcnNfbmV3KFNPVVBfTUVTU0FHRV9IRUFERVJTX1JFUVVFU1QpKTsKKyAgICAgICAgcmVx
dWVzdC0+cHJpdi0+dGFzay0+cmVxdWVzdCgpLnVwZGF0ZVNvdXBNZXNzYWdlSGVhZGVycyhyZXF1
ZXN0LT5wcml2LT5oZWFkZXJzLmdldCgpKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVxdWVzdC0+
cHJpdi0+aGVhZGVycy5nZXQoKTsKK30KKwogc3RhdGljIHZvaWQgd2Via2l0VVJJU2NoZW1lUmVx
dWVzdFJlYWRDYWxsYmFjayhHSW5wdXRTdHJlYW0qIGlucHV0U3RyZWFtLCBHQXN5bmNSZXN1bHQq
IHJlc3VsdCwgV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogc2NoZW1lUmVxdWVzdCkKIHsKICAgICBH
UmVmUHRyPFdlYktpdFVSSVNjaGVtZVJlcXVlc3Q+IHJlcXVlc3QgPSBhZG9wdEdSZWYoc2NoZW1l
UmVxdWVzdCk7CkBAIC0xOTksMTkgKzIyMywyMSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRVUklTY2hl
bWVSZXF1ZXN0UmVhZENhbGxiYWNrKEdJbnB1dFN0cmVhbSogaW5wdXRTdHJlYW0sIEdBc3luYwog
CiAgICAgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3AgPSBwcml2LT5yZXNwb25zZS5nZXQo
KTsKICAgICBpZiAoIXByaXYtPmJ5dGVzUmVhZCkgewotICAgICAgICBDU3RyaW5nIGNvbnRlbnRU
eXBlID0gV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShyZXNwKTsKLSAgICAg
ICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShwcml2LT50YXNrLT5yZXF1ZXN0KCkudXJsKCks
IGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5cGUoY29udGVudFR5cGUuZGF0YSgpKSwgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgocmVzcCksIGVtcHR5U3RyaW5nKCkpOwor
ICAgICAgICBDU3RyaW5nIGNvbnRlbnRUeXBlID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRD
b250ZW50VHlwZShyZXNwKTsKKyAgICAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShwcml2
LT50YXNrLT5yZXF1ZXN0KCkudXJsKCksIGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5cGUoY29u
dGVudFR5cGUuZGF0YSgpKSwgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgo
cmVzcCksIGVtcHR5U3RyaW5nKCkpOwogICAgICAgICByZXNwb25zZS5zZXRUZXh0RW5jb2RpbmdO
YW1lKGV4dHJhY3RDaGFyc2V0RnJvbU1lZGlhVHlwZShjb250ZW50VHlwZS5kYXRhKCkpKTsKLSAg
ICAgICAgY29uc3QgQ1N0cmluZyYgc3RhdHVzTWVzc2FnZSA9IFdlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlR2V0U3RhdHVzTWVzc2FnZShyZXNwKTsKKyAgICAgICAgY29uc3QgQ1N0cmluZyYgc3RhdHVz
TWVzc2FnZSA9IHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2FnZShyZXNwKTsK
ICAgICAgICAgaWYgKHN0YXR1c01lc3NhZ2UuaXNOdWxsKCkpIHsKICAgICAgICAgICAgIHJlc3Bv
bnNlLnNldEhUVFBTdGF0dXNDb2RlKDIwMCk7CiAgICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQ
U3RhdHVzVGV4dCgiT0siX3MpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcmVzcG9u
c2Uuc2V0SFRUUFN0YXR1c0NvZGUoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2Rl
KHJlc3ApKTsKKyAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNDb2RlKHdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShyZXNwKSk7CiAgICAgICAgICAgICByZXNwb25z
ZS5zZXRIVFRQU3RhdHVzVGV4dChzdGF0dXNNZXNzYWdlLmRhdGEoKSk7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKHJlc3BvbnNlLm1pbWVUeXBlKCkuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVz
cG9uc2Uuc2V0TWltZVR5cGUoTUlNRVR5cGVSZWdpc3RyeTo6bWltZVR5cGVGb3JQYXRoKHJlc3Bv
bnNlLnVybCgpLnBhdGgoKS50b1N0cmluZygpKSk7CisgICAgICAgIGlmIChhdXRvKiBoZWFkZXJz
ID0gd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJzKHJlc3ApKQorICAgICAgICAgICAg
cmVzcG9uc2UudXBkYXRlRnJvbVNvdXBNZXNzYWdlSGVhZGVycyhoZWFkZXJzKTsKICAgICAgICAg
cHJpdi0+dGFzay0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICB9CiAKQEAgLTI2
Niw3ICsyOTIsNyBAQCB2b2lkIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoX3dpdGhf
cmVzcG9uc2UoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogcmVxdQogICAgIHJlcXVlc3QtPnByaXYt
PmNhbmNlbGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOwogICAgIHJlcXVl
c3QtPnByaXYtPnJlc3BvbnNlID0gcmVzcG9uc2U7CiAKLSAgICBnX2lucHV0X3N0cmVhbV9yZWFk
X2FzeW5jKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RyZWFtKHJlc3BvbnNlKSwgcmVxdWVz
dC0+cHJpdi0+cmVhZEJ1ZmZlciwgZ1JlYWRCdWZmZXJTaXplLCBSdW5Mb29wU291cmNlUHJpb3Jp
dHk6OkFzeW5jSU9OZXR3b3JrLCByZXF1ZXN0LT5wcml2LT5jYW5jZWxsYWJsZS5nZXQoKSwKKyAg
ICBnX2lucHV0X3N0cmVhbV9yZWFkX2FzeW5jKHdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3Ry
ZWFtKHJlc3BvbnNlKSwgcmVxdWVzdC0+cHJpdi0+cmVhZEJ1ZmZlciwgZ1JlYWRCdWZmZXJTaXpl
LCBSdW5Mb29wU291cmNlUHJpb3JpdHk6OkFzeW5jSU9OZXR3b3JrLCByZXF1ZXN0LT5wcml2LT5j
YW5jZWxsYWJsZS5nZXQoKSwKICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxHQXN5bmNSZWFkeUNh
bGxiYWNrPih3ZWJraXRVUklTY2hlbWVSZXF1ZXN0UmVhZENhbGxiYWNrKSwgZ19vYmplY3RfcmVm
KHJlcXVlc3QpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuY3BwCmluZGV4IDQzNDhlNGNjYjhi
NGQ0NmZlYzU1NzkxZTIyMjk5MzZhOTg3ZDAyZGEuLjIyNTk2MjI5YTdiOTBlMmIwN2FlNDljYWFl
NWRlYTJhOWIzZTA3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5jcHAKQEAgLTIxLDYgKzIxLDcg
QEAKICNpbmNsdWRlICJXZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUuaCIKIAogI2luY2x1
ZGUgIldlYktpdFByaXZhdGUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0dVbmlxdWVQdHJTb3VwLmg+
CiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4KQEAgLTYyLDYgKzYzLDcgQEAgc3Ry
dWN0IF9XZWJLaXRVUklTY2hlbWVSZXNwb25zZVByaXZhdGUgewogICAgIGludCBzdGF0dXNDb2Rl
IHsgLTEgfTsKICAgICBDU3RyaW5nIHN0YXR1c01lc3NhZ2U7CiAgICAgQ1N0cmluZyBjb250ZW50
VHlwZTsKKyAgICBHVW5pcXVlUHRyPFNvdXBNZXNzYWdlSGVhZGVycz4gaGVhZGVyczsKIH07CiAK
IFdFQktJVF9ERUZJTkVfVFlQRShXZWJLaXRVUklTY2hlbWVSZXNwb25zZSwgd2Via2l0X3VyaV9z
Y2hlbWVfcmVzcG9uc2UsIEdfVFlQRV9PQkpFQ1QpCkBAIC0xMjQsMzEgKzEyNiwzNiBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9jbGFzc19pbml0KFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlQ2xhc3MqCiB9CiAKIC8vIFByaXZhdGUgZ2V0dGVycwotaW50IFdlYktpdFVS
SVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzQ29kZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZSogcmVzcG9uc2UpCitpbnQgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdGF0dXNDb2RlKGNv
bnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVz
cG9uc2UtPnByaXYtPnN0YXR1c0NvZGU7CiB9CiAKLUdJbnB1dFN0cmVhbSogV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3Bv
bnNlKQorR0lucHV0U3RyZWFtKiB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbShjb25z
dCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3Bv
bnNlLT5wcml2LT5zdHJlYW0uZ2V0KCk7CiB9CiAKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2FnZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25z
ZSogcmVzcG9uc2UpCitjb25zdCBDU3RyaW5nJiB3ZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0
YXR1c01lc3NhZ2UoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqIHJlc3BvbnNlKQogewog
ICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+c3RhdHVzTWVzc2FnZTsKIH0KIAotY29uc3QgQ1N0
cmluZyYgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJLaXRV
UklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCitjb25zdCBDU3RyaW5nJiB3ZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldENvbnRlbnRUeXBlKGNvbnN0IFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiBy
ZXNwb25zZSkKIHsKICAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYtPmNvbnRlbnRUeXBlOwogfQog
Ci11aW50NjRfdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChjb25zdCBX
ZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UpCit1aW50NjRfdCB3ZWJLaXRVUklTY2hl
bWVSZXNwb25zZUdldFN0cmVhbUxlbmd0aChjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSog
cmVzcG9uc2UpCiB7CiAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5zdHJlYW1MZW5ndGg7CiB9
CiAKK1NvdXBNZXNzYWdlSGVhZGVycyogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJz
KFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlKiByZXNwb25zZSkKK3sKKyAgICByZXR1cm4gcmVzcG9u
c2UtPnByaXYtPmhlYWRlcnMuZ2V0KCk7Cit9CisKIC8qKgogICogd2Via2l0X3VyaV9zY2hlbWVf
cmVzcG9uc2VfbmV3OgogICogQGlucHV0X3N0cmVhbTogYSAjR0lucHV0U3RyZWFtIHRvIHJlYWQg
dGhlIGNvbnRlbnRzIG9mIHRoZSByZXF1ZXN0CkBAIC0xODQsNiArMTkxLDI1IEBAIHZvaWQgd2Vi
a2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZShXZWJLaXRVUklTY2hlbWVS
ZXNwb25zZSogcmVzcG9uCiAgICAgcmVzcG9uc2UtPnByaXYtPmNvbnRlbnRUeXBlID0gY29udGVu
dFR5cGU7CiB9CiAKKy8qCisgKiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9o
ZWFkZXJzOgorICogQHJlc3BvbnNlOiBhICNXZWJLaXRVUklTY2hlbWVSZXNwb25zZQorICogQGhl
YWRlcnM6ICh0cmFuc2ZlciBmdWxsKTogdGhlIEhUVFAgaGVhZGVycyB0byBiZSBzZXQKKyAqCisg
KiBBc3NpZ24gdGhlIHByb3ZpZGVkICNTb3VwTWVzc2FnZUhlYWRlcnMgdG8gdGhlIHJlc3BvbnNl
LgorICogQGhlYWRlcnMgbmVlZCB0byBiZSBvZiB0aGUgdHlwZSAlU09VUF9NRVNTQUdFX0hFQURF
UlNfUkVTUE9OU0UuCisgKiBBbnkgZXhpc3RpbmcgaGVhZGVycyB3aWxsIGJlIG92ZXJ3cml0dGVu
LgorICoKKyAqIFNpbmNlOiAyLjM2CisgKi8KK3ZvaWQgd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9u
c2Vfc2V0X2h0dHBfaGVhZGVycyhXZWJLaXRVUklTY2hlbWVSZXNwb25zZSogcmVzcG9uc2UsIFNv
dXBNZXNzYWdlSGVhZGVycyogaGVhZGVycykKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJ
VF9JU19VUklfU0NIRU1FX1JFU1BPTlNFKHJlc3BvbnNlKSk7CisgICAgZ19yZXR1cm5faWZfZmFp
bChzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfaGVhZGVyc190eXBlKGhlYWRlcnMpID09IFNPVVBf
TUVTU0FHRV9IRUFERVJTX1JFU1BPTlNFKTsKKworICAgIHJlc3BvbnNlLT5wcml2LT5oZWFkZXJz
LnJlc2V0KGhlYWRlcnMpOworfQorCiAvKioKICAqIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNl
X3NldF9zdGF0dXM6CiAgKiBAcmVzcG9uc2U6IGEgI1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hl
bWVSZXNwb25zZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCmluZGV4IDdiMGQ2ZjBhNzZkMzNlODQzMmUx
MDhiN2RiMTM5OGVlM2VkYmJkNzMuLmE1NjRjYTZhNTlmYzkwZmVkMTk2NmQ3NTM5YjkzYTg1YWFi
NjQzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlUHJpdmF0ZS5oCkBAIC0yMiw4ICsyMiw5
IEBACiAjaW5jbHVkZSAiV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAKLWludCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZUdldFN0YXR1c0Nv
ZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKLUdJbnB1dFN0cmVhbSogV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2Uq
KTsKLWNvbnN0IENTdHJpbmcmIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlR2V0U3RhdHVzTWVzc2Fn
ZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOwotY29uc3QgQ1N0cmluZyYgV2ViS2l0
VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNw
b25zZSopOwotdWludDY0X3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW1MZW5ndGgo
Y29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK2ludCB3ZWJLaXRVUklTY2hlbWVSZXNw
b25zZUdldFN0YXR1c0NvZGUoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK0dJbnB1
dFN0cmVhbSogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRTdHJlYW0oY29uc3QgV2ViS2l0VVJJ
U2NoZW1lUmVzcG9uc2UqKTsKK2NvbnN0IENTdHJpbmcmIHdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
R2V0U3RhdHVzTWVzc2FnZShjb25zdCBXZWJLaXRVUklTY2hlbWVSZXNwb25zZSopOworY29uc3Qg
Q1N0cmluZyYgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRDb250ZW50VHlwZShjb25zdCBXZWJL
aXRVUklTY2hlbWVSZXNwb25zZSopOwordWludDY0X3Qgd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VH
ZXRTdHJlYW1MZW5ndGgoY29uc3QgV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UqKTsKK1NvdXBNZXNz
YWdlSGVhZGVycyogd2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VHZXRIZWFkZXJzKFdlYktpdFVSSVNj
aGVtZVJlc3BvbnNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IDJiODhhYTZhODk3ODQ3YmExNGY2
ZTg5MjI0NjMwNzY4NWYzZGU5OWYuLjcwNTMyN2RiYjIzYmNkYWVjNDA3ZTAzNDIwODI4MWM3Zjc1
MjcwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCkBAIC0yNSw2ICsyNSw3IEBACiAjZGVmaW5lIFdlYktp
dFVSSVNjaGVtZVJlcXVlc3RfaAogCiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRl
IDxsaWJzb3VwL3NvdXAuaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdERlZmluZXMuaD4KICNp
bmNsdWRlIDx3ZWJraXQyL1dlYktpdEZvcndhcmREZWNsYXJhdGlvbnMuaD4KICNpbmNsdWRlIDx3
ZWJraXQyL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmg+CkBAIC03NSw2ICs3Niw5IEBAIHdlYmtp
dF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3IChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0
ICpyZXF1ZXN0KTsKIFdFQktJVF9BUEkgY29uc3QgZ2NoYXIgKgogd2Via2l0X3VyaV9zY2hlbWVf
cmVxdWVzdF9nZXRfaHR0cF9tZXRob2QgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3Qp
OwogCitXRUJLSVRfQVBJIFNvdXBNZXNzYWdlSGVhZGVycyAqCit3ZWJraXRfdXJpX3NjaGVtZV9y
ZXF1ZXN0X2dldF9odHRwX2hlYWRlcnMgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3Qp
OworCiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoICAg
ICAgIChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdJbnB1dFN0cmVhbSAgICAgICAgICAgKnN0cmVhbSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2No
ZW1lUmVzcG9uc2UuaAppbmRleCBkYzcwY2U2NzNlYTI0NGRlMDcwMGYwZjYwNDFlZTZlYWI2MGE3
N2RlLi40ZTAyZWQxMzZhYjIzNWQ1YmQzMWExYmM5OGZjNTJiZGIyNzRiOWEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVS
ZXNwb25zZS5oCkBAIC0yNSw2ICsyNSw3IEBACiAjZGVmaW5lIFdlYktpdFVSSVNjaGVtZVJlc3Bv
bnNlX2gKIAogI2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+CisjaW5jbHVkZSA8bGlic291cC9zb3Vw
Lmg+CiAjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXREZWZpbmVzLmg+CiAjaW5jbHVkZSA8d2Via2l0
Mi9XZWJLaXRGb3J3YXJkRGVjbGFyYXRpb25zLmg+CiAKQEAgLTcyLDYgKzczLDEwIEBAIFdFQktJ
VF9BUEkgdm9pZAogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2NvbnRlbnRfdHlwZSAg
IChXZWJLaXRVUklTY2hlbWVSZXNwb25zZSAqcmVzcG9uc2UsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAgICpjb250
ZW50X3R5cGUpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNl
X3NldF9odHRwX2hlYWRlcnMgICAoV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2UgKnJlc3BvbnNlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VwTWVzc2Fn
ZUhlYWRlcnMgICAgICAqaGVhZGVycyk7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4w
LXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJr
aXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQKaW5kZXggNzdjNDU0YTVhNDIxOTMxMzBmYzkyMTI3MzQ2
OTAxYmI2ZGYzNjhjOS4uYzk4YzliYTdmMGIwZGQ2YmJmZmU5ZmM0NWI0NDg1ZjlhN2M4OTE4NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJn
dGstNC4wLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0CkBAIC0xMjc4LDYgKzEyNzgsNyBAQCB3
ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF91cmkKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVl
c3RfZ2V0X3BhdGgKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3CiB3ZWJr
aXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9odHRwX21ldGhvZAord2Via2l0X3VyaV9zY2hlbWVf
cmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2Zpbmlz
aAogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfd2l0aF9yZXNwb25zZQogd2Via2l0
X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2hfZXJyb3IKQEAgLTEzMDIsNiArMTMwMyw3IEBAIFdl
YktpdFVSSVNjaGVtZVJlc3BvbnNlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9uZXcKIHdl
YmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUKIHdlYmtpdF91cmlfc2No
ZW1lX3Jlc3BvbnNlX3NldF9zdGF0dXMKK3dlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9o
dHRwX2hlYWRlcnMKIAogPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CiBXZWJLaXRVUklTY2hlbWVSZXNw
b25zZUNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dl
YktpdFVSSVNjaGVtZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUv
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5oCmluZGV4IGU4OGNhNzllNTc1ZTQ5YmY2NzYxNzFjM2M5
ZGM0Yzc0M2NkNWIwODAuLjc1MDUyZDc3NWIwMTliMTYxZjdkOGE4ODg5OTIxMzc3YjVhM2ViOTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2No
ZW1lUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdC5oCkBAIC0yNSw2ICsyNSw3IEBACiAjZGVmaW5lIFdlYktpdFVSSVNj
aGVtZVJlcXVlc3RfaAogCiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRlIDxsaWJz
b3VwL3NvdXAuaD4KICNpbmNsdWRlIDx3cGUvV2ViS2l0RGVmaW5lcy5oPgogI2luY2x1ZGUgPHdw
ZS9XZWJLaXRVUklTY2hlbWVSZXNwb25zZS5oPgogCkBAIC03Niw2ICs3Nyw5IEBAIHdlYmtpdF91
cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3IChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpy
ZXF1ZXN0KTsKIFdFQktJVF9BUEkgY29uc3QgZ2NoYXIgKgogd2Via2l0X3VyaV9zY2hlbWVfcmVx
dWVzdF9nZXRfaHR0cF9tZXRob2QgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOwog
CitXRUJLSVRfQVBJIFNvdXBNZXNzYWdlSGVhZGVycyAqCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1
ZXN0X2dldF9odHRwX2hlYWRlcnMgKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QgKnJlcXVlc3QpOwor
CiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoICAgICAg
IChXZWJLaXRVUklTY2hlbWVSZXF1ZXN0ICpyZXF1ZXN0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdJbnB1dFN0cmVhbSAgICAgICAgICAgKnN0cmVhbSwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1lUmVz
cG9uc2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0VVJJU2NoZW1l
UmVzcG9uc2UuaAppbmRleCAzMjIwYjFmNDY4ODY3MTYzOWY3NmFmODFjNzI3NWZmZTc5MWNjNWYz
Li5kMTE5MjZhNzZiZjk2MjZhMjliZjYzZTE3YTI2MWI4MTM0MDVmYjk1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFVSSVNjaGVtZVJlc3BvbnNlLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRVUklTY2hlbWVSZXNw
b25zZS5oCkBAIC0yNSw2ICsyNSw3IEBACiAjZGVmaW5lIFdlYktpdFVSSVNjaGVtZVJlc3BvbnNl
X2gKIAogI2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+CisjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+
CiAjaW5jbHVkZSA8d3BlL1dlYktpdERlZmluZXMuaD4KIAogR19CRUdJTl9ERUNMUwpAQCAtNzEs
NiArNzIsMTAgQEAgV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9z
ZXRfY29udGVudF90eXBlICAgKFdlYktpdFVSSVNjaGVtZVJlc3BvbnNlICpyZXNwb25zZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIg
ICAgICAgICAgICAgKmNvbnRlbnRfdHlwZSk7CiAKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3Vy
aV9zY2hlbWVfcmVzcG9uc2Vfc2V0X2h0dHBfaGVhZGVycyAgIChXZWJLaXRVUklTY2hlbWVSZXNw
b25zZSAqcmVzcG9uc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFNvdXBNZXNzYWdlSGVhZGVycyAgICAgICpoZWFkZXJzKTsKKwogR19FTkRfREVDTFMK
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2Rv
Y3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3Bl
L2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKaW5kZXggMGE5Y2YyNGM3MzhkMmNjMDU3NWYwMGQ3
M2RkY2U3YzBiNDZiYmRhNy4uYzBlMTM1OWFiZmY3ZDBmNmJmMDg4NTNiYWJhODMxZTY0MzEyZTQ5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0x
LjAtc2VjdGlvbnMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9j
cy93cGUtMS4wLXNlY3Rpb25zLnR4dApAQCAtMTIxNSw2ICsxMjE1LDcgQEAgd2Via2l0X3VyaV9z
Y2hlbWVfcmVxdWVzdF9nZXRfdXJpCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9wYXRo
CiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmlldwogd2Via2l0X3VyaV9zY2hl
bWVfcmVxdWVzdF9nZXRfaHR0cF9tZXRob2QKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0
X2h0dHBfaGVhZGVycwogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2gKIHdlYmtpdF91
cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoX3dpdGhfcmVzcG9uc2UKIHdlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZmluaXNoX2Vycm9yCkBAIC0xMjM5LDYgKzEyNDAsNyBAQCBXZWJLaXRVUklTY2hl
bWVSZXNwb25zZQogd2Via2l0X3VyaV9zY2hlbWVfcmVzcG9uc2VfbmV3CiB3ZWJraXRfdXJpX3Nj
aGVtZV9yZXNwb25zZV9zZXRfY29udGVudF90eXBlCiB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25z
ZV9zZXRfc3RhdHVzCit3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0cF9oZWFkZXJz
CiAKIDxTVUJTRUNUSU9OIFN0YW5kYXJkPgogV2ViS2l0VVJJU2NoZW1lUmVzcG9uc2VDbGFzcwpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNkZDMw
M2Q5ODExYjEyNGJjOTRlNzc3MTBiMDllM2ExM2MwYjkwNDYuLjdlYmExZjMxMGNlNzIyOWVmMjU1
NGMyZWU5ZTc0Y2I2ZDM5YTU0ODcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMS0xMCAgWml4aW5nIExpdSAg
PGxpdXNodXl1MDExQGdtYWlsLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgZ2V0
dGluZyBhbmQgc2V0dGluZyBIVFRQIGhlYWRlcnMgaW4gY3VzdG9tIFVSSSBzY2hlbWUgaGFuZGxl
cnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzI3
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcDoKKyAg
ICAgICAgKHRlc3RXZWJDb250ZXh0VVJJU2NoZW1lKTogQWRkZWQgYSBuZXcgdGVzdCB0byB0ZXN0
IGdldHRpbmcgYW5kIHNldHRpbmcgSFRUUCBoZWFkZXJzIGluIGN1c3RvbSBVUkkgc2NoZW1lIGhh
bmRsZXJzCisKIDIwMjEtMTEtMTAgIEogUGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXZWJBdXRobl0gVW5pZnkgX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCBTUEkgYW5k
IEF1dGhlbnRpY2F0b3JDb29yZGluYXRvcidzIENsaWVudERhdGFKc29uIGdlbmVyYXRpb24gCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktp
dFdlYkNvbnRleHQuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rl
c3RXZWJLaXRXZWJDb250ZXh0LmNwcAppbmRleCA5MDhhNDkzZjE0ZjA2OTA1NWM1MjYxODc2YzQ2
MzI2YmUyNWE1ODE0Li5hNDNjOTNlYTk4NGMzYTZmYjVmYjQwOWEyMDdiYzdmODY1NzNjZDdkIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktp
dFdlYkNvbnRleHQuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xp
Yi9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlICJM
b2FkVHJhY2tpbmdUZXN0LmgiCiAjaW5jbHVkZSAiV2ViS2l0VGVzdFNlcnZlci5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvU291cFZlcnNpb25pbmcuaD4KKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
ICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgpAQCAtMTI5LDYgKzEzMCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIGdfYXNzZXJ0X2NtcHN0cihtZXRob2QsID09LCAiR0VUIik7CiAKKyAgICAgICAg
aWYgKCFnX3N0cmNtcDAoc2NoZW1lLCAiaGVhZGVycyIpKSB7CisgICAgICAgICAgICBhdXRvKiBo
ZWFkZXJzID0gd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzKHJlcXVl
c3QpOworICAgICAgICAgICAgZ19hc3NlcnRfY21wc3RyKHNvdXBfbWVzc2FnZV9oZWFkZXJzX2dl
dF9vbmUoaGVhZGVycywgIngtdGVzdCIpLCA9PSwgIkEiKTsKKyAgICAgICAgICAgIGdfYXNzZXJ0
X2NtcHN0cihzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfbGlzdChoZWFkZXJzLCAieC10ZXN0MiIp
LCA9PSwgIjEsIDIsIDMsIDQiKTsKKyAgICAgICAgfQorCiAgICAgICAgIGNvbnN0IFVSSVNjaGVt
ZUhhbmRsZXImIGhhbmRsZXIgPSB0ZXN0LT5tX2hhbmRsZXJzTWFwLmdldChTdHJpbmc6OmZyb21V
VEY4KHNjaGVtZSkpOwogCiAgICAgICAgIEdSZWZQdHI8R0lucHV0U3RyZWFtPiBpbnB1dFN0cmVh
bSA9IGFkb3B0R1JlZihnX21lbW9yeV9pbnB1dF9zdHJlYW1fbmV3KCkpOwpAQCAtMTY2LDYgKzE3
MywxMSBAQCBwdWJsaWM6CiAgICAgICAgIGF1dG8gcmVzcG9uc2UgPSBhZG9wdEdSZWYod2Via2l0
X3VyaV9zY2hlbWVfcmVzcG9uc2VfbmV3KGlucHV0U3RyZWFtLmdldCgpLCBoYW5kbGVyLnJlcGx5
TGVuZ3RoKSk7CiAgICAgICAgIHdlYmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9zdGF0dXMo
cmVzcG9uc2UuZ2V0KCksIGhhbmRsZXIuc3RhdHVzQ29kZSwgbnVsbHB0cik7CiAgICAgICAgIHdl
YmtpdF91cmlfc2NoZW1lX3Jlc3BvbnNlX3NldF9jb250ZW50X3R5cGUocmVzcG9uc2UuZ2V0KCks
IGhhbmRsZXIubWltZVR5cGUuZGF0YSgpKTsKKyAgICAgICAgaWYgKCFnX3N0cmNtcDAoc2NoZW1l
LCAiaGVhZGVyc3Jlc3AiKSkgeworICAgICAgICAgICAgYXV0byogaGVhZGVycyA9IHNvdXBfbWVz
c2FnZV9oZWFkZXJzX25ldyhTT1VQX01FU1NBR0VfSEVBREVSU19SRVNQT05TRSk7CisgICAgICAg
ICAgICBzb3VwX21lc3NhZ2VfaGVhZGVyc19hcHBlbmQoaGVhZGVycywgIngtdGVzdCIsICJ0ZXN0
X3ZhbHVlIik7CisgICAgICAgICAgICB3ZWJraXRfdXJpX3NjaGVtZV9yZXNwb25zZV9zZXRfaHR0
cF9oZWFkZXJzKHJlc3BvbnNlLmdldCgpLCBoZWFkZXJzKTsKKyAgICAgICAgfQogICAgICAgICB3
ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaF93aXRoX3Jlc3BvbnNlKHJlcXVlc3QsIHJl
c3BvbnNlLmdldCgpKTsKICAgICB9CiAKQEAgLTMzNCw2ICszNDYsMjUgQEAgc3RhdGljIHZvaWQg
dGVzdFdlYkNvbnRleHRVUklTY2hlbWUoVVJJU2NoZW1lVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRl
cikKICAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRy
YWNraW5nVGVzdDo6UHJvdmlzaW9uYWxMb2FkRmFpbGVkKSk7CiAgICAgZ19hc3NlcnRfZmFsc2Uo
dGVzdC0+bV9sb2FkRXZlbnRzLmNvbnRhaW5zKExvYWRUcmFja2luZ1Rlc3Q6OkxvYWRGYWlsZWQp
KTsKIAorICAgIHN0YXRpYyBjb25zdCBjaGFyKiBoZWFkZXJzSFRNTCA9ICI8aHRtbD48Ym9keT48
c2NyaXB0PmxldCBoZHJzID0gbmV3IEhlYWRlcnMoeydYLVRlc3QnOiAnQScsICdYLVRlc3QyJzog
JzEsIDIsIDMnfSk7aGRycy5hcHBlbmQoJ1gtVGVzdDInLCAnNCcpO2ZldGNoKCdoZWFkZXJzOmRh
dGEnLCB7aGVhZGVyczogaGRyc30pPC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4iOworICAgIHRlc3Qt
PnJlZ2lzdGVyVVJJU2NoZW1lSGFuZGxlcigiaGVhZGVycyIsIG51bGxwdHIsIDAsICJhcHBsaWNh
dGlvbi9qc29uIiwgMjA0KTsKKyAgICB0ZXN0LT5tX2xvYWRFdmVudHMuY2xlYXIoKTsKKyAgICB0
ZXN0LT5sb2FkSHRtbChoZWFkZXJzSFRNTCwgImhlYWRlcnM6Zm9ybSIpOworICAgIHRlc3QtPndh
aXRVbnRpbExvYWRGaW5pc2hlZCgpOworICAgIGdfYXNzZXJ0X2ZhbHNlKHRlc3QtPm1fbG9hZEV2
ZW50cy5jb250YWlucyhMb2FkVHJhY2tpbmdUZXN0OjpQcm92aXNpb25hbExvYWRGYWlsZWQpKTsK
KyAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9hZFRyYWNr
aW5nVGVzdDo6TG9hZEZhaWxlZCkpOworCisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHJlc3BIVE1M
ID0gIjxodG1sPjxoZWFkPjxzY3JpcHQ+ZmV0Y2goJ2hlYWRlcnNyZXNwOmRhdGEnKS50aGVuKChk
KT0+e2lmKGQuaGVhZGVycy5nZXQoJ1gtVGVzdCcpICE9PSAndGVzdF92YWx1ZScpIHdpbmRvdy5o
YXNFcnJvcj0xfSkuY2F0Y2goKGUpPT4gd2luZG93Lmhhc0Vycm9yPTEpPC9zY3JpcHQ+PC9oZWFk
PjwvaHRtbD4iOworICAgIHRlc3QtPnJlZ2lzdGVyVVJJU2NoZW1lSGFuZGxlcigiaGVhZGVyc3Jl
c3AiLCBudWxscHRyLCAwLCAiYXBwbGljYXRpb24vanNvbiIsIDIwNCk7CisgICAgdGVzdC0+bV9s
b2FkRXZlbnRzLmNsZWFyKCk7CisgICAgdGVzdC0+bG9hZEh0bWwocmVzcEhUTUwsICJoZWFkZXJz
cmVzcDpmb3JtIik7CisgICAgdGVzdC0+d2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7CisgICAgR1Vu
aXF1ZU91dFB0cjxHRXJyb3I+IHJlc3BFcnJvcjsKKyAgICB0ZXN0LT5ydW5KYXZhU2NyaXB0QW5k
V2FpdFVudGlsRmluaXNoZWQoImlmKHdpbmRvdy5oYXNFcnJvcikgdGhyb3cgJ0hlYWRlcnMgYXJl
IG1pc3Npbmcgb3IgaW52YWxpZCciLCAmcmVzcEVycm9yLm91dFB0cigpKTsKKyAgICBnX2Fzc2Vy
dF9ub19lcnJvcihyZXNwRXJyb3IuZ2V0KCkpOworICAgIGdfYXNzZXJ0X2ZhbHNlKHRlc3QtPm1f
bG9hZEV2ZW50cy5jb250YWlucyhMb2FkVHJhY2tpbmdUZXN0OjpQcm92aXNpb25hbExvYWRGYWls
ZWQpKTsKKyAgICBnX2Fzc2VydF9mYWxzZSh0ZXN0LT5tX2xvYWRFdmVudHMuY29udGFpbnMoTG9h
ZFRyYWNraW5nVGVzdDo6TG9hZEZhaWxlZCkpOworCiAgICAgLy8gVG9ydHVyZSB0ZXN0IHRpbWU6
IG1ha2Ugc3VyZSBpdCBzdGlsbCB3b3JrcyBpZiB3ZSBpc3N1ZSBhIGJ1bmNoIG9mIGRpZmZlcmVu
dCByZXF1ZXN0cyBhbGwgYXQKICAgICAvLyBvbmNlLiBFYWNoIHJlcXVlc3Qgc2hvdWxkIGZpbmlz
aCBhbmQgcmV0dXJuIGV4YWN0bHkgdGhlIHNhbWUgZGF0YS4KICAgICBpbnQgbnVtSXRlcmF0aW9u
cyA9IDI1Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>